/** Shopify CDN: Minification failed

Line 109:0 All "@import" rules must come first

**/
/* ============================================
   I LOVE ME MORE EVERYDAY — Brand Design System
   Cream + Dusty Rose
   ============================================ */

:root {
  --brand-white: #FFFFFF;
  --brand-cream: #F3ECD0;
  --brand-cream-light: #FBF9F5;
  --brand-off-white: #F3ECD0;
  --brand-charcoal: #2C2620;
  --brand-black: #2C2620;
  --brand-dark: #4A3F38;
  --brand-gray: #8A7F75;
  --brand-light-gray: #B5A99E;
  --brand-border: #E8DDD0;
  --brand-divider: #ECE3D6;
  --brand-rose: #D4A297;
  --brand-rose-dark: #C18B7E;
  --brand-gold: #D4A297;
  --brand-sale: #B5524A;

  --color-bg-primary: var(--brand-white);
  --color-bg-secondary: var(--brand-cream);
  --color-bg-inverse: var(--brand-rose);
  --color-text-primary: var(--brand-charcoal);
  --color-text-secondary: var(--brand-gray);
  --color-text-muted: var(--brand-light-gray);
  --color-text-inverse: var(--brand-white);
  --color-cta: var(--brand-rose);
  --color-cta-hover: var(--brand-rose-dark);
  --color-cta-text: var(--brand-white);
  --color-border: var(--brand-border);
  --color-divider: var(--brand-divider);

  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Karla', 'Helvetica Neue', Arial, sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.9375rem;
  --font-size-base: 1.0625rem;
  --font-size-lg: 1.1875rem;
  --font-size-xl: 1.625rem;
  --font-size-2xl: 2.375rem;
  --font-size-3xl: 3.125rem;

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 5rem;

  --radius-default: 8px;
  --radius-buttons: 16px;
  --radius-cards: 12px;
  --radius-sm: 4px;
  --shadow-none: none;
  --shadow-modal: 0 4px 12px rgba(44,38,32,0.1);
  --transition-fast: 0.15s ease;
  --transition-base: 0.25s ease;
  --container-max: 1280px;
  --header-height: 64px;
}

*, *::before, *::after { box-sizing: border-box; }
*:focus { outline: none !important; box-shadow: none !important; }

body {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text-primary);
}
h1 { font-size: var(--font-size-3xl); text-transform: uppercase; letter-spacing: 0.05em; }
h2 { font-size: var(--font-size-2xl); text-transform: uppercase; letter-spacing: 0.04em; }
h3 { font-size: var(--font-size-xl); }

a { color: var(--color-text-primary); text-decoration: none; transition: opacity var(--transition-fast); }
a:hover { opacity: 0.7; }

.btn, .button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
  padding: 14px 36px; font-family: var(--font-body); font-size: var(--font-size-sm);
  font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
  border: 2px solid transparent; border-radius: var(--radius-buttons);
  cursor: pointer; transition: all var(--transition-base); text-decoration: none; outline: none; box-shadow: none;
}
.btn--primary, .button--primary { background-color: var(--color-cta); color: var(--color-cta-text); border-color: var(--color-cta); }
.btn--primary:hover, .button--primary:hover { background-color: var(--color-cta-hover); border-color: var(--color-cta-hover); }
.btn--secondary, .button--secondary { background-color: transparent; color: var(--color-text-primary); border-color: var(--color-text-primary); }
.btn--secondary:hover, .button--secondary:hover { background-color: var(--color-text-primary); color: var(--brand-cream); }

/* Script accent font for hero (loaded from Google Fonts) */
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

/* Hero image — shift focal point so the subject (woman) is visually centered.
   The source image has the model right of center; anchor at 70% so we crop more from the left. */
[id*="hero_banner"] .banner__media img,
[id*="hero_banner"] .banner__media-image {
  object-position: 70% center !important;
}

/* Mobile — ensure header sticks above the hero banner and the menu icon is reachable.
   Defensive z-index on the header above any banner content. */
@media (max-width: 749px) {
  .ilmme-header { z-index: 200 !important; }
  .ilmme-header__menu-toggle { z-index: 201 !important; position: relative; }
  /* Make sure announcement bar doesn't overlap into the header on small screens */
  .utility-bar { padding: 10px 0; }
  .utility-bar .announcement-bar__message { font-size: 0.7rem; line-height: 1.3; padding: 0 12px; }
}

/* Hero — heading + subhead in white for high contrast on image background.
   Script word (.banner__script) and heart (.banner__heart) keep their own colors. */
[id*="hero_banner"] .banner__heading,
[id*="hero_banner"] .banner__heading *:not(.banner__script):not(.banner__heart),
[id*="hero_banner"] .banner__text.subtitle,
[id*="hero_banner"] .banner__text.subtitle p {
  color: #FFFFFF !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35), 0 1px 3px rgba(0,0,0,0.25);
}

/* Eyebrow — white uppercase label above headline.
   Triggered by text block with text_style="body". */
[id*="hero_banner"] .banner__text.body,
[id*="hero_banner"] .banner__text.body p {
  color: #FFFFFF !important;
  font-family: 'Karla', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  margin: 0 0 1.25rem !important;
  line-height: 1.4;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4), 0 1px 3px rgba(0,0,0,0.3);
}

/* Subhead — body copy below headline, slightly larger for readability */
[id*="hero_banner"] .banner__text.subtitle,
[id*="hero_banner"] .banner__text.subtitle p {
  font-family: 'Karla', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  opacity: 1;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Script accent — wrap a word inside the heading with [script]...[/script].
   Preserves source case (so "Everyday" stays "Everyday", not uppercased). */
[id*="hero_banner"] .banner__script {
  font-family: 'Great Vibes', 'Brush Script MT', cursive !important;
  color: #B71C1C !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 1.45em !important;
  text-transform: none !important;
  letter-spacing: 0.01em;
  line-height: 1;
  display: inline-block;
  margin-left: -0.05em;
  vertical-align: -0.1em;
}

/* Hero heading icon accent (image, sized as heart glyph) */
.banner__heart,
[id*="hero_banner"] .banner__heart {
  height: 1.1em !important;
  width: auto !important;
  display: inline-block !important;
  vertical-align: -0.15em;
  margin-left: 0.2em;
  object-fit: contain;
}

/* Announcement bar — full-width rose strip */
.utility-bar { background-color: var(--brand-rose) !important; color: var(--brand-white) !important; border-bottom: 0 !important; }
.utility-bar .page-width { max-width: 100% !important; }
.announcement-bar { background: transparent !important; color: var(--brand-white) !important; }
.announcement-bar a, .announcement-bar p, .announcement-bar span,
.announcement-bar .h5, .announcement-bar__message {
  color: var(--brand-white) !important;
  font-size: var(--font-size-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Header — white */
.header, .section-header, .shopify-section-header { background-color: var(--brand-white) !important; border-bottom: 1px solid var(--color-divider); }
.ilmme-header { background-color: var(--brand-white) !important; border-bottom: 1px solid var(--color-divider) !important; }
.ilmme-search-drawer { background: var(--brand-white) !important; border-bottom-color: var(--color-divider) !important; }
.header__icon, .header__icon svg, .ilmme-header__icon-btn, .ilmme-header__icon-btn svg { color: var(--brand-charcoal) !important; fill: none !important; }
.ilmme-header__nav-link, .header__menu-item { color: var(--brand-charcoal) !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--font-size-sm); }
.ilmme-header__nav-link:hover, .header__menu-item:hover { opacity: 0.6; }
.ilmme-header__nav-link::after { background-color: var(--brand-rose) !important; }
.ilmme-header__cart-count { background: var(--brand-rose) !important; color: var(--brand-white) !important; }
.ilmme-header__logo-text { color: var(--brand-charcoal) !important; }

.collection-card, .card-wrapper, .card { border-radius: var(--radius-cards) !important; box-shadow: var(--shadow-none) !important; border: none !important; overflow: hidden; }
.collection-card:hover, .card-wrapper:hover, .card:hover { box-shadow: var(--shadow-none) !important; transform: none !important; }
.collection-card__image, .card__media img, .media img { border-radius: var(--radius-cards) !important; }

.product-card, .card--product { border-radius: var(--radius-cards) !important; box-shadow: var(--shadow-none) !important; background: transparent; }
.product-card:hover, .card--product:hover { transform: none !important; box-shadow: var(--shadow-none) !important; }
.product-card__title, .card__heading { font-family: var(--font-body); font-weight: 600; font-size: var(--font-size-sm); text-transform: uppercase; letter-spacing: 0.05em; }
.product-card__price, .price-item { font-weight: 700; color: var(--color-text-primary); }

.section-heading, .collection-hero__title, .title { text-align: center; text-transform: uppercase; letter-spacing: 0.05em; }

.ilmme-marquee { background: var(--brand-white) !important; border-top: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider); }
.ilmme-marquee__content span:not(.ilmme-marquee__dot) { color: var(--brand-charcoal) !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
.ilmme-marquee__dot { background: var(--brand-rose) !important; }

.testimonial-card { background: var(--brand-white); border: 1px solid var(--color-border); border-radius: var(--radius-buttons); box-shadow: var(--shadow-none); }
.testimonial-card__stars { color: var(--brand-rose); }

/* Newsletter section */
.newsletter, .newsletter-form { background: var(--brand-white) !important; }
.newsletter__input, .field__input { border: 1px solid var(--brand-border); border-radius: var(--radius-sm); font-family: var(--font-body); background: var(--brand-white); }
.newsletter__input:focus, .field__input:focus { border-color: var(--brand-rose); box-shadow: none; outline: none; }
.newsletter__button { background: var(--brand-rose) !important; color: var(--brand-white) !important; border-color: var(--brand-rose) !important; }

/* Footer — white with charcoal text */
.footer, .section-footer { background: var(--brand-white) !important; color: var(--brand-charcoal) !important; border-top: 1px solid var(--color-divider); }
.footer a, .footer__link { color: var(--brand-charcoal) !important; opacity: 0.75; }
.footer a:hover, .footer__link:hover { color: var(--brand-rose) !important; opacity: 1; }
.footer h2, .footer h3, .footer h4, .footer__heading, .ilmme-footer__heading { color: var(--brand-charcoal) !important; }
.footer__bottom, .ilmme-footer__bottom { border-top: 1px solid var(--color-divider); }

.she-blooms-banner__overlay, .ilmme-blooms__overlay { background: linear-gradient(135deg, rgba(44,38,32,0.25) 0%, rgba(44,38,32,0.55) 100%) !important; }

.button, .shopify-challenge__button { border-radius: var(--radius-cards) !important; }
.card--card, .card--standard { border-radius: var(--radius-cards) !important; }
.badge { border-radius: var(--radius-sm); }
.product-form__submit, .shopify-payment-button .shopify-payment-button__button { border-radius: var(--radius-cards) !important; text-transform: uppercase; letter-spacing: 0.15em; font-weight: 700; }
.variant-input .variant__label { border-radius: var(--radius-cards) !important; }
.cart-notification, .drawer { border-radius: var(--radius-cards) !important; background: var(--brand-white) !important; }

/* Cart drawer — sticky footer so CHECK OUT button never clips */
cart-drawer .drawer__inner { display: flex !important; flex-direction: column !important; height: 100% !important; overflow: hidden !important; }
cart-drawer .drawer__header { flex-shrink: 0 !important; }
cart-drawer .drawer__contents { flex: 1 1 0 !important; min-height: 0 !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; }
cart-drawer .drawer__footer { flex-shrink: 0 !important; position: sticky; bottom: 0; background: var(--brand-white); }
cart-drawer .cart-drawer__footer { flex-shrink: 0 !important; }

/* Kill Dawn's ::after pseudo-element border/outline on buttons */
.button:after,
.button::after,
.shopify-challenge__button:after,
.shopify-challenge__button::after,
.customer button:after,
.customer button::after,
.shopify-payment-button__button--unbranded:after,
.shopify-payment-button__button--unbranded::after,
.shopify-payment-button__button:after,
.shopify-payment-button__button::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}

/* Kill Dawn's ::after/::before pseudo-element border on inputs/fields */
.field:after,
.field::after,
.field:before,
.field::before,
.select:after,
.select::after,
.select:before,
.select::before,
.customer .field:after,
.customer .field::after,
.customer select:after,
.customer select::after,
.localization-form__select:after,
.localization-form__select::after,
.quantity:after,
.quantity::after,
.quantity:before,
.quantity::before {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
}

.field:hover.field:after,
.select:hover.select:after,
.field input:focus-visible,
.field input:focus,
.customer .field input:focus-visible,
.customer .field input:focus {
  box-shadow: none !important;
  outline: none !important;
}

@media (max-width: 768px) {
  :root { --font-size-3xl: 2rem; --font-size-2xl: 1.75rem; --font-size-xl: 1.25rem; }
}

/* ============================================
   STATIC PAGE TYPOGRAPHY (FAQ, Our Story, Policies, etc.)
   Unified scale — small, controlled steps between heading levels.
   ============================================ */
.template-page main,
.template-page .page-width,
.template-page .article-template,
.template-page .rte,
.template-page .main-page-wrapper {
  font-family: var(--font-body);
}

.template-page h1,
.template-page .h1,
.template-page .page-title {
  font-family: var(--font-heading) !important;
  font-size: 2.25rem !important;        /* 36px — page title */
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  color: var(--brand-charcoal) !important;
  margin: 0 0 2rem !important;
  text-align: center;
}

.template-page h2,
.template-page .h2 {
  font-family: var(--font-heading) !important;
  font-size: 1.5rem !important;          /* 24px — section heading */
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  color: var(--brand-charcoal) !important;
  margin: 2.5rem 0 1rem !important;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--brand-border);
}

.template-page h3,
.template-page .h3,
.template-page h4 {
  font-family: var(--font-body) !important;
  font-size: 1.0625rem !important;       /* 17px — question / sub-heading */
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  color: var(--brand-charcoal) !important;
  margin: 1.25rem 0 0.5rem !important;
}

.template-page p,
.template-page li {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;            /* 16px — body */
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--brand-charcoal) !important;
  margin: 0 0 1rem !important;
}

.template-page a {
  color: var(--brand-rose) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.template-page a:hover { opacity: 0.8; }

.template-page ul, .template-page ol {
  margin: 0 0 1.25rem !important;
  padding-left: 1.5rem;
}

/* Constrain page content width for readability */
.template-page .page-width,
.template-page .article-template__content {
  max-width: 760px !important;
  padding-top: 3rem;
  padding-bottom: 4rem;
}

/* Product page — hide redundant outlined "Find My Size" button.
   Keep the rose filled .smartrecom-main-button. */
button.fms-trigger,
.fms-trigger {
  display: none !important;
}

/* Product page — bump body / accordion text for readability */
.product__description,
.product__description p,
.product__accordion .accordion__content,
.product__accordion .accordion__content p,
.product__accordion .accordion__content li,
.ilmme-care .accordion__content,
.ilmme-care .accordion__content p,
.ilmme-care .accordion__content ul,
.ilmme-care .accordion__content li {
  font-size: 1rem !important;
  line-height: 1.7;
}

/* Soft gradient transitions between cream and white sections.
   Cream section gets a white-to-transparent fade at the top (where it meets a white section above)
   and a transparent-to-white fade at the bottom (where it meets a white section below).
   Adjacent same-color sections (perks→story) skip their meeting-edge fade. */
.ilmme-vp,
.ilmme-srb,
.ilmme-perks,
.ilmme-story {
  position: relative;
}

/* TOP fades — for cream sections preceded by a white section */
.ilmme-vp::before,         /* hero → vp */
.ilmme-srb::before {       /* best_sellers → size_range */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 96px;
  background: linear-gradient(to bottom, #FFFFFF 0%, rgba(255,255,255,0) 100%);
  pointer-events: none;
  z-index: 1;
}

/* BOTTOM fades — for cream sections followed by a white section */
.ilmme-vp::after,          /* vp → featured_spotlight */
.ilmme-story::after {      /* story → newsletter */
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 96px;
  background: linear-gradient(to top, #FFFFFF 0%, rgba(255,255,255,0) 100%);
  pointer-events: none;
  z-index: 1;
}

/* Keep section content above the gradient overlays */
.ilmme-vp__inner,
.ilmme-srb__inner,
.ilmme-perks__inner,
.ilmme-story__inner {
  position: relative;
  z-index: 2;
}
