/** Shopify CDN: Minification failed

Line 356:0 Unexpected "60%"
Line 356:48 Unexpected "}"

**/
/* ===== Glossed by MJ — product cards, shade dots, quick add, shade picker ===== */

/* ---------- Homepage grid: the WRAPPER is the visual card, so quick add sits inside ---------- */
.gmj .gmj-grid .gmj-card-wrap{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.gmj .gmj-grid .gmj-card-wrap:hover{transform:translateY(-8px);box-shadow:0 24px 50px rgba(10,10,10,.10)}
.gmj .gmj-grid .gmj-card-wrap .gmj-card{background:transparent;border:0;border-radius:0;box-shadow:none;flex:1 1 auto;display:flex;flex-direction:column;transition:none}
.gmj .gmj-grid .gmj-card-wrap .gmj-card:hover{transform:none;box-shadow:none}
.gmj .gmj-grid .gmj-card-wrap:hover .gmj-card-img img{transform:scale(1.06)}
.gmj .gmj-grid .gmj-card-wrap .gmj-card:focus-visible{outline:3px solid var(--pink);outline-offset:-3px;border-radius:20px}

/* card body: centred, and stretches so every card in the row ends level */
.gmj .gmj-card-wrap .gmj-card-body{padding:22px 18px 16px;text-align:center;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.gmj .gmj-card-wrap .gmj-card-body h3{width:100%}
.gmj .gmj-card-wrap .gmj-card-body .price{width:100%}

/* ---------- Sale: Save badge on the image, was-price crossed out ---------- */
.gmj .gmj-tag--sale{background:var(--pink);color:#fff;font-weight:600;z-index:2}
.gmj .gmj-card-body .price--sale{display:flex;align-items:baseline;justify-content:center;gap:9px;flex-wrap:wrap}
.gmj .gmj-card-body .price-was{color:var(--muted);font-weight:300;text-decoration-thickness:1px;text-underline-offset:2px}
.gmj .gmj-card-body .price-now{color:var(--ink);font-weight:500}

/* ---------- Shade dot + name row (homepage cards) ---------- */
.gmj .shade-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:9px;flex-wrap:wrap;text-align:center;width:100%}
.gmj .shade-dots{display:inline-flex;align-items:center;flex:0 0 auto}
.gmj .shade-dot{width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px rgba(10,10,10,.28)}
.gmj .shade-dots--multi .shade-dot{width:12px;height:12px;margin-right:-4px}
.gmj .shade-dots--multi .shade-dot:last-child{margin-right:0}
.gmj .shade-row .shade-note{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:0;line-height:1.35}

/* ---------- Quick add button (homepage cards) ---------- */
.gmj .gmj-qa-form{margin:0 18px 20px;padding:0}
.gmj .gmj-qa-btn{display:block;width:100%;border:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:12px 10px;border-radius:40px;cursor:pointer;text-align:center;transition:background .2s ease,color .2s ease,border-color .2s ease}
.gmj .gmj-qa-btn:hover{background:var(--pink-deep);border-color:var(--pink-deep);color:#fff}
.gmj .gmj-qa-btn:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.gmj .gmj-qa-btn--out{display:block;margin:0 18px 20px;border:1px solid #d8cfc8;color:#6b625c;cursor:default;text-align:center;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:12px 10px;border-radius:40px}
.gmj .gmj-qa-btn--out:hover{background:transparent;border-color:#d8cfc8;color:#6b625c}

/* ---------- Shade dots injected into Dawn collection / search cards ---------- */
.gmj-swatch-row{display:flex;align-items:center;gap:7px;margin-top:6px}
.gmj-swatch-dot{width:14px;height:14px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px rgba(10,10,10,.28)}
.gmj-swatch-row--multi .gmj-swatch-dot{width:12px;height:12px;margin-right:-4px}
.gmj-swatch-row--multi .gmj-swatch-dot:last-child{margin-right:0}
.gmj-swatch-name{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b625c;line-height:1.35}

/* ---------- Product page shade picker ----------
   NOTE: class prefix is gmj-pick, NOT gmj-shade.
   `.gmj-shade` is already used by the homepage Find Your Shade banner in gmj.css,
   which paints a 330px decorative sparkle via ::after. Reusing that name put a
   giant grey glyph behind every swatch. Do not rename these back. */
.gmj-pick{margin:18px 0 22px}
.gmj-pick__label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b625c;margin-bottom:11px}
.gmj-pick__label b{color:#141414;font-weight:600}
.gmj-pick__row{display:flex;flex-wrap:wrap;gap:14px}
.gmj-pick__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:#6b625c;width:58px;background:none;padding:0}
.gmj-pick__item::before,.gmj-pick__item::after{content:none!important}
.gmj-pick__dot{width:36px;height:36px;border-radius:50%;display:block;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(10,10,10,.28);transition:transform .18s ease,box-shadow .18s ease}
.gmj-pick__item:hover .gmj-pick__dot{transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(10,10,10,.45)}
.gmj-pick__item.is-active .gmj-pick__dot{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E0137A}
.gmj-pick__name{font-size:10.5px;letter-spacing:.06em;text-align:center;line-height:1.25}
.gmj-pick__item.is-active .gmj-pick__name{color:#141414;font-weight:600}
.gmj-pick__item:focus-visible{outline:3px solid #E0137A;outline-offset:3px;border-radius:8px}
.gmj-pick__out{position:relative}
.gmj-pick__out::after{content:""!important;position:absolute;left:50%;top:50%;width:44px;height:1.5px;background:rgba(20,20,20,.55);transform:translate(-50%,-50%) rotate(-45deg)}

@media(max-width:600px){
  .gmj .gmj-qa-btn,.gmj .gmj-qa-btn--out{font-size:10.5px;letter-spacing:.12em;padding:11px 8px}
  .gmj .shade-dot{width:12px;height:12px}
  .gmj .gmj-tag--sale{font-size:9.5px;padding:5px 9px}
  .gmj-pick__item{width:52px}
  .gmj-pick__dot{width:32px;height:32px}
}
/* ---------- Shade dot life ----------
   Dots pop in with a small spring, staggered left to right, wherever a
   row of them appears (homepage cards, injected Dawn cards, product
   picker). The active picker shade breathes a slow pink ring. One-shot
   pops fill 'both'; the breathe is ambient so the global pause class
   and reduced-motion both stop it. */
@keyframes gmj-dot-pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes gmj-pick-breathe{
  0%,100%{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E0137A}
  50%{box-shadow:0 0 0 2px #fff,0 0 0 5.5px rgba(224,19,122,.45)}
}
.gmj .shade-dot,.gmj-swatch-dot,.gmj-pick__dot{animation:gmj-dot-pop .45s cubic-bezier(.34,1.56,.64,1) both}
.gmj .shade-dots .shade-dot:nth-child(2),.gmj-swatch-row .gmj-swatch-dot:nth-child(2),.gmj-pick__item:nth-child(2) .gmj-pick__dot{animation-delay:.06s}
.gmj .shade-dots .shade-dot:nth-child(3),.gmj-swatch-row .gmj-swatch-dot:nth-child(3),.gmj-pick__item:nth-child(3) .gmj-pick__dot{animation-delay:.12s}
.gmj .shade-dots .shade-dot:nth-child(4),.gmj-swatch-row .gmj-swatch-dot:nth-child(4),.gmj-pick__item:nth-child(4) .gmj-pick__dot{animation-delay:.18s}
.gmj .shade-dots .shade-dot:nth-child(5),.gmj-swatch-row .gmj-swatch-dot:nth-child(5),.gmj-pick__item:nth-child(5) .gmj-pick__dot{animation-delay:.24s}
.gmj .shade-dots .shade-dot:nth-child(6),.gmj-swatch-row .gmj-swatch-dot:nth-child(6),.gmj-pick__item:nth-child(6) .gmj-pick__dot{animation-delay:.30s}
.gmj .shade-dots .shade-dot:nth-child(7),.gmj-swatch-row .gmj-swatch-dot:nth-child(7),.gmj-pick__item:nth-child(7) .gmj-pick__dot{animation-delay:.36s}
.gmj-pick__item.is-active .gmj-pick__dot{animation:gmj-dot-pop .5s cubic-bezier(.34,1.56,.64,1) both,gmj-pick-breathe 2.8s ease-in-out .9s infinite}

@media(prefers-reduced-motion:reduce){
  .gmj .gmj-grid .gmj-card-wrap,.gmj .gmj-qa-btn,.gmj-pick__dot{transition:none}
  .gmj .gmj-grid .gmj-card-wrap:hover{transform:none}
  .gmj .gmj-grid .gmj-card-wrap:hover .gmj-card-img img{transform:none}
  .gmj-pick__item:hover .gmj-pick__dot{transform:none}
  .gmj .shade-dot,.gmj-swatch-dot,.gmj-pick__dot,.gmj-pick__item.is-active .gmj-pick__dot{animation:none}
}

/* ---------- 3D tilt + gloss glare (homepage grid cards) ----------
   JS (gmj-reveal.js) sets --rx/--ry/--gx/--gy on pointermove and adds
   .gmj-tilting; pointer:fine + reduced-motion gated there. While tilting,
   transform transition is off so the card tracks the cursor 1:1; on leave
   the class drops and the base .4s transition eases it home. */
.gmj .gmj-grid .gmj-card-wrap.gmj-tilting{transform:perspective(900px) translateY(-8px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:box-shadow .4s ease;box-shadow:0 24px 50px rgba(10,10,10,.10)}
.gmj .gmj-grid .gmj-card-wrap::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.30),transparent 55%);transition:opacity .3s ease;z-index:3}
.gmj .gmj-grid .gmj-card-wrap.gmj-tilting::after{opacity:1}

/* ---------- Cart badge pop on count change ---------- */
@media(prefers-reduced-motion:no-preference){
  @keyframes gmj-cart-pop{0%{transform:scale(1)}40%{transform:scale(1.32) rotate(4deg)}100%{transform:scale(1)}}
  #cart-icon-bubble.gmj-pop{animation:gmj-cart-pop .45s cubic-bezier(.34,1.56,.64,1)}
}

/* ---------- Delivery trust line under buy buttons ---------- */
.gmj-trust{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6b625c;margin:14px 0 0}
.gmj-trust::before{content:"✦";color:#E0137A;font-size:13px}


/* ---------- Cart drawer: keep item price inside the edge, one line ---------- */
cart-drawer td.cart-item__totals{padding-right:18px!important}
cart-drawer .cart-item .price{white-space:nowrap;font-size:1.35rem}
cart-drawer th.right{padding-right:18px!important}

/* One price per item in the bag: every GMJ product is single-variant, so
   the per-unit price under the name just duplicates the line total.
   ponytail: if variantful products ever launch, scope this back to
   price-only options. */
.cart-item__details > .product-option{display:none}
cart-drawer .totals{padding-right:18px!important}

/* ---------- Bestseller / New card badges ---------- */
.gmj .gmj-tag--best{background:#E0137A;color:#fff;font-weight:600;z-index:2}
.gmj .gmj-tag--new{background:#fff;color:#E0137A;border:1px solid #E0137A;font-weight:600;z-index:2}

/* ---------- "Complete your look" drawer upsell ---------- */
.gmj-pair{margin:18px 0 4px;border-top:1px solid rgba(10,10,10,.08);padding-top:16px;text-align:left}
.gmj-pair__title{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#6b625c;margin:0 0 10px;font-weight:600}
.gmj-pair__row{display:flex;align-items:center;gap:10px;padding:7px 18px 7px 0}
.gmj-pair__dot{width:20px;height:20px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px rgba(10,10,10,.28)}
.gmj-pair__name{flex:1 1 auto;font-size:14.5px;color:#141414;text-decoration:none}
.gmj-pair__name:hover{color:#C71B6F}
.gmj-pair__price{font-size:13px;color:#6b625c;white-space:nowrap}
.gmj-pair__form{margin:0}
.gmj-pair__form button{display:grid;place-items:center;padding:0;width:32px;height:32px;border-radius:50%;border:1px solid #141414;background:transparent;color:#141414;font-size:18px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.gmj-pair__form button:hover{background:#E0137A;border-color:#E0137A;color:#fff}
.gmj-pair__form button:focus-visible{outline:3px solid #E0137A;outline-offset:2px}

/* Bestseller/New badges on Dawn collection & search cards */
.badge.gmj-badge--best{background:#E0137A;color:#fff;border-color:#E0137A}
.badge.gmj-badge--new{background:#fff;color:#E0137A;border-color:#E0137A}

/* Bag greeting — where other stores put discount codes */
.gmj-hello{margin:-4px 0 2px;padding:0 var(--drawer-padding,1.5rem);font-size:1.35rem;font-style:italic;color:#7a5e6c}

/* Benefits row on gloss pages — one quiet line */
.gmj-benefits{display:flex;gap:14px;flex-wrap:wrap;list-style:none;padding:10px 0 0;margin:0}
.gmj-benefits li{font-size:1.2rem;letter-spacing:.09em;text-transform:uppercase;color:#7a5e6c}
.gmj-benefits li::before{content:"\2726";color:#E0137A;margin-right:6px}

/* Wear it with — slim pairing chips, room to breathe */
.gmj-ww{margin:22px 0 2px}
.gmj-ww-label{font-size:1.2rem;letter-spacing:.15em;text-transform:uppercase;color:#7a5e6c;margin:0 0 8px;font-weight:600}
.gmj-ww-row{display:flex;gap:9px;flex-wrap:wrap}
.gmj-ww-card{display:flex;align-items:center;gap:9px;border:1px solid rgba(10,10,10,.13);border-radius:12px;padding:5px 13px 5px 5px;text-decoration:none;color:inherit;background:#fff;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.gmj-ww-card:hover{border-color:#E0137A;transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,19,122,.13)}
.gmj-ww-card img{display:block;border-radius:8px;width:42px;height:42px;object-fit:cover}
.gmj-ww-name{font-weight:600;font-size:1.2rem}
.gmj-ww-price{color:#8a6e7c;font-size:1.25rem}

/* Restock notify — appears only when a shade is sold out */
.gmj-restock{margin:16px 0 4px;padding:14px 16px;border:1px solid rgba(224,19,122,.25);border-radius:14px;background:rgba(224,19,122,.04)}
.gmj-restock__t{margin:0 0 9px;font-size:1.3rem;font-weight:600}
.gmj-restock__form{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.gmj-restock__form[hidden]{display:none}
.gmj-restock__form input[type=email]{flex:1 1 170px;border:1px solid rgba(10,10,10,.25);border-radius:30px;padding:9px 15px;font-size:1.6rem}
.gmj-restock__form button{border:0;border-radius:30px;padding:9px 18px;background:#E0137A;color:#fff;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;cursor:pointer}
.gmj-restock__form button:hover{background:#c01069}
.gmj-restock__ok{margin:9px 0 0;font-size:1.25rem;color:#C71B6F}

/* Footer locality line */
.gmj-locale{margin:0 0 8px;font-size:1.15rem;letter-spacing:.08em;opacity:.7;text-align:center}

/* ——— 20 Aug polish pack ——— */

/* Marquee pauses under the cursor so it can be read */
.gmj-marquee:hover .gmj-marquee-track{animation-play-state:paused}

/* Cart count odometer roll */
.gmj-odo{display:inline-flex;flex-direction:column;overflow:hidden;height:1em;line-height:1em;vertical-align:baseline;transform:translateY(0);transition:transform .28s cubic-bezier(.3,.8,.3,1);will-change:transform}
.gmj-odo>span{display:block;height:1em;line-height:1em}
.gmj-odo-go{transform:translateY(-1em)}

/* Magnetic CTA buttons settle back softly */
.gmj-mag{transition:transform .22s cubic-bezier(.3,.8,.4,1)}

/* Fly-to-cart gloss drop */
.gmj-fly{position:fixed;z-index:1500;width:16px;height:16px;border-radius:50%;background:#E0137A;box-shadow:0 0 14px rgba(224,19,122,.65),0 0 3px rgba(255,255,255,.7) inset;pointer-events:none;opacity:.97;transition:transform .5s cubic-bezier(.32,.72,.3,1),opacity .16s ease .38s}

/* Nav-link word roll — the whole word glides up once, calm and clean */
.gmj-wr{display:inline-block;overflow:hidden;height:1.5em;vertical-align:top}
.gmj-wr-in{display:block;transform:translateY(0);transition:transform .34s cubic-bezier(.33,.7,.2,1)}
.gmj-wr-in b{display:block;height:1.5em;line-height:1.5em;font-weight:inherit}
.header__menu-item:hover .gmj-wr-in,
.header__menu-item:focus-visible .gmj-wr-in{transform:translateY(-1.5em)}

/* Deep maroon footer — ported from v2 editorial draft on owner's call (22 Aug) */
.footer{background:radial-gradient(1100px 420px at 82% 100%,rgba(224,19,122,.45),transparent 66%),radial-gradient(900px 400px at 10% 100%,rgba(170,20,95,.4),transparent 66%),linear-gradient(180deg,#2A0C1B 0%,#1C0A13 100%)!important;border-top:none;margin-top:0!important}
.footer, .footer *{color:#FBE9F2}
.footer a:hover{color:#FF9BC9}
.footer .gmj-locale{opacity:.7}
.footer input, .footer .field__input{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}
.footer .copyright__content, .footer .copyright__content a{color:rgba(251,233,242,.72)}

/* ===== v2 editorial ports to live v1 (owner's call, 22 Aug) ===== */
/* Warmer paper background */
body{background:#F8F0E9!important}
/* Liquid-glass sticky header */
.shopify-section-header-sticky .header-wrapper,
.shopify-section-header-hidden .header-wrapper{
  background:rgba(248,240,233,.72);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid rgba(224,19,122,.10);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .shopify-section-header-sticky .header-wrapper{background:rgba(248,240,233,.96)}
}
/* Word-by-word heading reveals (JS in gmj-reveal.js splits .gmj .gmj-head h2) */
.gmj-v2w{display:inline-block;overflow:hidden;vertical-align:top}
.gmj-v2w>span{display:inline-block;transform:translateY(110%);transition:transform .6s cubic-bezier(.22,.75,.2,1);transition-delay:calc(var(--wi)*70ms)}
.gmj-head.is-in .gmj-v2w>span{transform:translateY(0)}
@media (prefers-reduced-motion: reduce){.gmj-v2w>span{transform:none;transition:none}}

/* Judge.me review carousel - brand polish. The widget that actually renders is
   .jdgm-cards-carousel; .jdgm-testimonials-carousel is kept for older widget versions (27 Aug). */
.jdgm-testimonials-carousel .jdgm-card,
.jdgm-testimonials-carousel .jdgm-carousel-item,
.jdgm-testimonials-carousel .jdgm-card-content,
.jdgm-cards-carousel .jdgm-card,
.jdgm-cards-carousel .jdgm-carousel-item,
.jdgm-cards-carousel .jdgm-card-content{background:#ffffff!important;border-radius:22px!important;box-shadow:none!important;border:none!important}
.jdgm-testimonials-carousel .jdgm-header,
.jdgm-cards-carousel .jdgm-header{background:transparent!important}
.jdgm-testimonials-carousel .jdgm-title,
.jdgm-cards-carousel .jdgm-title{color:#241016}
.jdgm-testimonials-carousel .jdgm-text,
.jdgm-cards-carousel .jdgm-text{color:#3a2630}
.jdgm-testimonials-carousel .jdgm-reviewer-name,
.jdgm-cards-carousel .jdgm-reviewer-name{color:#241016;font-weight:600}
.jdgm-testimonials-carousel .jdgm-product-name,
.jdgm-testimonials-carousel .jdgm-product-name a,
.jdgm-cards-carousel .jdgm-product-name,
.jdgm-cards-carousel .jdgm-product-name a{color:#C71B6F}
.jdgm-testimonials-carousel .jdgm-arrow,
.jdgm-cards-carousel .jdgm-arrow{color:#E0137A}
/* the app ships #7b7b7b at 5-selector specificity, so match it exactly to win */
.jdgm-cards-carousel .jdgm-media-card .jdgm-rating-section .jdgm-product-name a,
.jdgm-cards-carousel .jdgm-media-card .jdgm-rating-section .jdgm-product-name.jdgm-product-name--unlinked{color:#C71B6F}

/* ===== Liquid-glass chrome sitewide (owner's call, 22 Aug) =====
   Every floating surface becomes frosted glass: cart drawer, mobile
   menu, search popup, quick-add modal. Higher opacity than the header
   (.82) keeps dense text readable; solid fallback where blur unsupported. */
cart-drawer .drawer__inner,
.menu-drawer,
.search-modal,
.quick-add-modal__content{
  background:rgba(248,240,233,.82)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.35);
  backdrop-filter:blur(18px) saturate(1.35);
}
cart-drawer .drawer__inner{border-left:1px solid rgba(224,19,122,.10)}
.menu-drawer{border-right:1px solid rgba(224,19,122,.10)}
.search-modal{border-bottom:1px solid rgba(224,19,122,.10)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  cart-drawer .drawer__inner,
  .menu-drawer,
  .search-modal,
  .quick-add-modal__content{background:rgba(248,240,233,.97)!important}
}

/* Judge.me star badges on cards + product title (22 Aug) */
.gmj-card-stars, .gmj-pdp-stars{margin:2px 0 4px}
.gmj-card-stars .jdgm-prev-badge, .gmj-pdp-stars .jdgm-prev-badge{display:block!important}
.gmj-card-stars{font-size:12px}
.gmj-card-stars .jdgm-prev-badge__text{font-size:11px;color:#6b625c;margin-left:4px}
.gmj-pdp-stars{margin:6px 0 2px}
.gmj-pdp-stars .jdgm-prev-badge__text{font-size:13px;color:#6b625c;margin-left:6px}

/* Cards carousel + reviews grid polish (22 Aug) */
.jdgm-cards-carousel .jdgm-card{background:#ffffff!important;border-radius:22px!important;box-shadow:none!important;border:none!important}
.jdgm-widget .jdgm-star{color:#E0137A!important}
.jdgm-widget .jdgm-arrow{color:#E0137A!important}

/* Glass round 2 (22 Aug): photo zoom, search suggestions, password dialog */
.product-media-modal{background:rgba(248,240,233,.90);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}
.search-modal .predictive-search{background:rgba(248,240,233,.97);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);box-shadow:0 18px 40px rgba(36,16,22,.18);border-radius:0 0 14px 14px;border:1px solid rgba(36,16,22,.08);border-top:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .product-media-modal{background:rgba(248,240,233,.98)}
}
.product-media-modal__dialog,.product-media-modal__content{background:transparent!important}

/* Password dialog: make the close X visible on the dark card (22 Aug) */
.password-modal .modal__close-button{color:#FF6EB0!important;opacity:1;filter:drop-shadow(0 0 6px rgba(255,47,146,.6))}
.password-modal .modal__close-button svg{width:20px;height:20px;stroke:currentColor}
.password-modal .modal__close-button:hover{color:#fff}

/* Micro effects A-D, G (22 Aug): cart pop, photo breathe, focus glow, button squish, heart pulse */
@media (prefers-reduced-motion: no-preference){
  .card .card__media img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .card:hover .card__media img{transform:scale(1.04)}
  .button,.gmj-quiz__cta,.gmj-quiz__bag,.quick-add__submit,.shopify-payment-button__button{transition:transform .12s ease}
  .button:active,.gmj-quiz__cta:active,.gmj-quiz__bag:active,.quick-add__submit:active,.shopify-payment-button__button:active{transform:scale(.97)}
  .gmj-heart-pulse{animation:gmjHeart 2.8s ease-in-out infinite}
  @keyframes gmjHeart{0%,100%{transform:scale(1)}12%{transform:scale(1.22)}24%{transform:scale(1)}}
  img.gmj-img-in{opacity:0;transition:opacity .5s ease}
  img.gmj-img-in.is-loaded{opacity:1}
}
.field__input:focus-visible,.search__input:focus-visible,.field input:focus-visible{outline-color:#E0137A!important;box-shadow:0 0 0 4px rgba(224,19,122,.18)!important;border-radius:6px}

/* Bag drawer close X: breathing room from the edge (22 Aug) */
/* Both close buttons, not just the header one. When the bag is empty Dawn hides
   .drawer__header, so the X that shows is the one in .cart-drawer__warnings --
   which falls back to Dawn's right:5px and sits on the very edge. */
cart-drawer .drawer__header .drawer__close,
cart-drawer .cart-drawer__warnings .drawer__close{right:16px;top:14px;padding:8px}

/* Glowy hearts everywhere (22 Aug): pink + soft light, white on the pink banner */
.gmj-heart-pulse{display:inline-block;color:#FF6EB0;text-shadow:0 0 7px rgba(255,110,176,.75),0 0 14px rgba(255,47,146,.4)}
.announcement-bar .gmj-heart-pulse,.utility-bar .gmj-heart-pulse{color:#FF6EB0}

/* Welcome bar: countdown night like hero + footer (22 Aug) */
.utility-bar{background:linear-gradient(100deg,#2A0B1C 0%,#6E1140 45%,#C71B6F 100%)!important}
.utility-bar, .utility-bar *{color:#FBE9F2}
.utility-bar a:hover{color:#FF9BC9}

/* Bag greeting: animated pink gradient shimmer + glow; heart keeps its own beat (22 Aug) */
cart-drawer .gmj-hello{background:linear-gradient(90deg,#7a2748,#E0137A,#C71B6F,#E0137A,#7a2748);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#C71B6F;filter:drop-shadow(0 0 9px rgba(255,110,176,.35))}
cart-drawer .gmj-hello .gmj-heart-pulse{-webkit-text-fill-color:#FF6EB0;background:none}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){cart-drawer .gmj-hello{background:none;-webkit-text-fill-color:currentColor;color:#C71B6F}}
@media (prefers-reduced-motion: no-preference){
  cart-drawer .gmj-hello{animation:gmjShimmer 4s linear infinite}
}
@keyframes gmjShimmer{0%{background-position:0% 0}100%{background-position:220% 0}}

/* Bag greeting sparkle: twinkles beside the heart (22 Aug) */
@media (prefers-reduced-motion: no-preference){
  }
60%{transform:scale(.9) rotate(-8deg);opacity:1}}
cart-drawer .gmj-trust{line-height:1.7}

/* Site-wide pink sparkles: twinkle + glow like the quiz bullets (22 Aug) */
.gmj-spark-pulse{display:inline-block;color:#FF6EB0;text-shadow:0 0 7px rgba(255,110,176,.75),0 0 14px rgba(255,47,146,.4)}
@media (prefers-reduced-motion: no-preference){
  .gmj-spark-pulse{animation:gmjSparkTw 2.6s ease-in-out infinite}
}
@keyframes gmjSparkTw{0%,100%{transform:scale(1) rotate(0deg);opacity:1}30%{transform:scale(1.25) rotate(18deg);opacity:.85}60%{transform:scale(.92) rotate(-10deg);opacity:1}}

/* Pink pseudo-sparkles twinkle + glow too: benefits bullets, trust line (22 Aug) */
.gmj-benefits li::before,.gmj-trust::before{display:inline-block;text-shadow:0 0 7px rgba(255,110,176,.75),0 0 14px rgba(255,47,146,.4)}
@media (prefers-reduced-motion: no-preference){
  .gmj-benefits li::before,.gmj-trust::before{animation:gmjSparkTw 2.6s ease-in-out infinite}
  .gmj-benefits li:nth-child(2)::before{animation-delay:.45s}
  .gmj-benefits li:nth-child(3)::before{animation-delay:.9s}
}

/* Footer links readable on the dusk melt (22 Aug) */
.footer a, .footer .link--text, .footer .list-menu__item--link{color:#FBE9F2!important}
.footer a:hover, .footer .list-menu__item--link:hover{color:#FF9BC9!important}
.footer .gmj-heart-pulse{color:#FF6EB0!important}

/* Footer keeps position for spark layer (22 Aug) */
.footer{position:relative;overflow:hidden}


/* Find Your Shade band: countdown night + twinkling stars, matching hero/footer (22 Aug) */
.gmj-shade{background:radial-gradient(1100px 520px at 82% 12%,rgba(224,19,122,.5),transparent 64%),radial-gradient(800px 420px at 12% 85%,rgba(170,20,95,.4),transparent 66%),linear-gradient(165deg,#42102A 0%,#1C0A13 100%)!important}


/* Find Your Shade band: real hero-style sparkle stars (22 Aug) */
.gmj-shade-sparks{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.gmj-shade-sparks i{position:absolute;display:block;background:#fff;opacity:.72;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);filter:drop-shadow(0 0 6px rgba(255,214,236,.75))}
.gmj-shade-sparks i:nth-child(1){left:7%;top:18%;width:20px;height:20px}
.gmj-shade-sparks i:nth-child(2){left:14%;top:66%;width:12px;height:12px}
.gmj-shade-sparks i:nth-child(3){left:24%;top:36%;width:10px;height:10px}
.gmj-shade-sparks i:nth-child(4){left:78%;top:24%;width:14px;height:14px}
.gmj-shade-sparks i:nth-child(5){left:87%;top:62%;width:22px;height:22px}
.gmj-shade-sparks i:nth-child(6){left:70%;top:76%;width:11px;height:11px}
@media (prefers-reduced-motion: no-preference){
  .gmj-shade-sparks i{animation:gmjShadeTw 5.5s ease-in-out infinite}
  .gmj-shade-sparks i:nth-child(2){animation-delay:-2.1s}
  .gmj-shade-sparks i:nth-child(3){animation-delay:-3.6s}
  .gmj-shade-sparks i:nth-child(4){animation-delay:-1.3s}
  .gmj-shade-sparks i:nth-child(5){animation-delay:-4.7s}
  .gmj-shade-sparks i:nth-child(6){animation-delay:-2.9s}
}
@keyframes gmjShadeTw{0%,100%{opacity:.3;transform:scale(.72) rotate(0deg)}45%{opacity:.95;transform:scale(1.12) rotate(18deg)}70%{opacity:.55;transform:scale(.92) rotate(8deg)}}

/* Footer: real hero-style sparkle stars (22 Aug) */
.gmj-footer-sparks{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gmj-footer-sparks i{position:absolute;display:block;background:#fff;opacity:.72;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);filter:drop-shadow(0 0 6px rgba(255,214,236,.75))}
.gmj-footer-sparks i:nth-child(1){left:5%;top:14%;width:18px;height:18px}
.gmj-footer-sparks i:nth-child(2){left:12%;top:64%;width:11px;height:11px}
.gmj-footer-sparks i:nth-child(3){left:46%;top:12%;width:12px;height:12px}
.gmj-footer-sparks i:nth-child(4){left:60%;top:70%;width:10px;height:10px}
.gmj-footer-sparks i:nth-child(5){left:84%;top:18%;width:20px;height:20px}
.gmj-footer-sparks i:nth-child(6){left:93%;top:58%;width:13px;height:13px}
@media (prefers-reduced-motion: no-preference){
  .gmj-footer-sparks i{animation:gmjShadeTw 5.5s ease-in-out infinite}
  .gmj-footer-sparks i:nth-child(2){animation-delay:-2.1s}
  .gmj-footer-sparks i:nth-child(3){animation-delay:-3.6s}
  .gmj-footer-sparks i:nth-child(4){animation-delay:-1.3s}
  .gmj-footer-sparks i:nth-child(5){animation-delay:-4.7s}
  .gmj-footer-sparks i:nth-child(6){animation-delay:-2.9s}
}
.footer .footer__content-top, .footer .footer__content-bottom{position:relative;z-index:1}

/* Hero: painted-star JPG replaced by pure CSS countdown night - same recipe as band + footer (22 Aug) */
.gmj-hero{background-image:radial-gradient(1300px 900px at 76% 42%,rgba(224,19,122,.5),transparent 62%),radial-gradient(1000px 760px at 98% 85%,rgba(170,20,95,.38),transparent 66%),linear-gradient(105deg,#0F0509 0%,#2A0B1C 38%,#6E1140 75%,#B0125F 108%)!important}

/* Remove the giant static star watermark from the shade band (22 Aug) */
.gmj-shade::after{content:none!important}

/* Old-browser guard: no clip-path = hide decorative sparks (else white squares) (22 Aug) */
@supports not (clip-path: polygon(0 0, 0 0, 0 0)){
  .gmj .gmj-hero-sparks i,.gmj-shade-sparks i,.gmj-footer-sparks i{display:none}
  .gmj-news-sparks i{display:none}
}

/* Join The List band: countdown night + CSS star sparks, syncing the rhythm (22 Aug) */
.newsletter__wrapper{position:relative;overflow:hidden;background:radial-gradient(900px 260px at 82% 0%,rgba(224,19,122,.45),transparent 70%),linear-gradient(180deg,#42102A 0%,#2A0C1B 100%)!important} /* ends on #2A0C1B; the footer starts on the same tone so the two bands read as one */
.newsletter__wrapper h2,.newsletter__wrapper .h1{color:#FBE9F2}
.newsletter__subheading,.newsletter__subheading p{color:#F6D9E8}
.newsletter__wrapper .newsletter-form__message{color:#FBE9F2}
.gmj-news-sparks{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gmj-news-sparks i{position:absolute;display:block;background:#fff;opacity:.72;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);filter:drop-shadow(0 0 6px rgba(255,214,236,.75))}
.gmj-news-sparks i:nth-child(1){left:24%;top:20%;width:18px;height:18px}
.gmj-news-sparks i:nth-child(2){left:31%;top:66%;width:11px;height:11px}
.gmj-news-sparks i:nth-child(3){left:40%;top:34%;width:10px;height:10px}
.gmj-news-sparks i:nth-child(4){left:62%;top:24%;width:13px;height:13px}
.gmj-news-sparks i:nth-child(5){left:71%;top:58%;width:20px;height:20px}
.gmj-news-sparks i:nth-child(6){left:56%;top:74%;width:11px;height:11px}
@media (prefers-reduced-motion: no-preference){
  .gmj-news-sparks i{animation:gmjShadeTw 5.5s ease-in-out infinite}
  .gmj-news-sparks i:nth-child(2){animation-delay:-2.1s}
  .gmj-news-sparks i:nth-child(3){animation-delay:-3.6s}
  .gmj-news-sparks i:nth-child(4){animation-delay:-1.3s}
  .gmj-news-sparks i:nth-child(5){animation-delay:-4.7s}
  .gmj-news-sparks i:nth-child(6){animation-delay:-2.9s}
}
.newsletter__wrapper>*:not(.gmj-news-sparks){position:relative;z-index:1}

/* Bidi isolation for review text: Arabic + mixed-direction reviews render correctly (22 Aug) */
.jdgm-rev__body, .jdgm-rev__body p, .jdgm-carousel-item__review-body{unicode-bidi:plaintext;text-align:start}

/* Descenders (y, g, j) were clipped by line-height:1.05 on serif headings (22 Aug) */
.gmj h1,.gmj h2,.gmj h3{line-height:1.18;padding-bottom:.06em;overflow:visible}

/* Header nav: clearer, bolder, brand-pink underline (22 Aug) */
.header__menu-item, .header__menu-item span{color:#241016;font-weight:500}
.header__menu-item:hover, .header__menu-item:hover span{color:#C71B6F}
.header__active-menu-item, .header__active-menu-item span{color:#241016;font-weight:600}
.header__active-menu-item{text-decoration-color:#E0137A!important;text-decoration-thickness:2px;text-underline-offset:6px}
.header__menu-item:hover{text-decoration-color:#E0137A}

/* Bestseller badge on the product page (22 Aug). Dawn's .badge is inline-block and
   gmj-badge--best already carries the brand pink, so this only needs spacing. */
.gmj-pdp-best{display:inline-block;margin-bottom:.9rem}

/* Announcement bar: keep the welcome line to one line on phones (26 Aug audit) */
@media (max-width: 480px){
  .utility-bar .announcement-bar__message,.announcement-bar__message{font-size:1.02rem;letter-spacing:.02em}
}

/* Policy pages (Privacy/Refund/Terms/Shipping/Contact info): editorial treatment to match the site (27 Aug) */
.shopify-policy__container{max-width:72rem;padding:56px 24px 96px}
.shopify-policy__title{padding:0 0 8px;text-align:left}
.shopify-policy__title h1{font-size:clamp(30px,4.5vw,42px);margin:0 0 6px}
.shopify-policy__title:after{content:"";display:block;width:56px;height:3px;margin-top:14px;border-radius:3px;background:linear-gradient(90deg,#E0137A,#C71B6F)}
.shopify-policy__body{margin-top:26px;line-height:1.75;font-size:1.55rem;color:#3a2c33}
.shopify-policy__body h2{font-size:2rem;margin:2.2em 0 .6em}
.shopify-policy__body h3{font-size:1.7rem;margin:1.8em 0 .5em}
.shopify-policy__body p{margin:0 0 1.1em}
.shopify-policy__body ul,.shopify-policy__body ol{margin:0 0 1.2em;padding-left:2.2rem}
.shopify-policy__body li{margin-bottom:.45em}
.shopify-policy__container .shopify-policy__body a{color:#C71B6F;text-underline-offset:3px}
.shopify-policy__container .shopify-policy__body a:hover{color:#C71B6F}
.shopify-policy__body strong{color:#241016}
@media (max-width: 600px){.shopify-policy__container{padding:40px 20px 72px}}

/* ===== GMJ polish 27 Aug: motion that serves, never decorates ===== */

/* Accordions (FAQ + product collapsibles) glide instead of snapping */
summary .icon-caret{transition:transform .25s cubic-bezier(.2,.9,.3,1.1)}
details[open] > summary .icon-caret{transform:rotate(180deg)}
.accordion__content,.gmj-faq .gmj-faq__a{animation:gmjAccordion .28s cubic-bezier(.2,.9,.3,1) both}
@keyframes gmjAccordion{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* The loading spinner wears the brand, not Dawn's grey */
.button.loading > .loading__spinner .path,.loading__spinner .path{stroke:#E0137A}

/* Bag lines rise in when the drawer opens - capped so a full bag never feels slow */
cart-drawer.active .cart-item{animation:gmjRise .35s cubic-bezier(.2,.9,.3,1) both}
cart-drawer.active .cart-item:nth-child(1){animation-delay:.02s}
cart-drawer.active .cart-item:nth-child(2){animation-delay:.08s}
cart-drawer.active .cart-item:nth-child(3){animation-delay:.14s}
cart-drawer.active .cart-item:nth-child(4){animation-delay:.2s}
cart-drawer.active .cart-item:nth-child(5){animation-delay:.26s}
@keyframes gmjRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* The total settles when it changes, so the eye follows the new number */
.totals__total-value{animation:gmjSettle .45s cubic-bezier(.2,.9,.3,1.1) both}
@keyframes gmjSettle{0%{transform:translateY(-3px);opacity:.5}60%{transform:translateY(1px);opacity:1}100%{transform:none}}

@media (prefers-reduced-motion: reduce){
  .accordion__content,.gmj-faq .gmj-faq__a,cart-drawer.active .cart-item,.totals__total-value{animation:none}
  summary .icon-caret{transition:none}
}

/* 404: lost, not glossed (27 Aug) */
.gmj-404{padding:72px 20px 96px}
.gmj-404 .gmj-404-heart{font-size:44px;line-height:1;margin:0 0 10px;color:#E0137A}
.gmj-404 .title{font-size:clamp(30px,5vw,46px);margin:0 0 10px}
.gmj-404 p{color:#6b625c}
.gmj-404 .button{margin-top:18px}
