/* SD: self-hosted Outfit @font-face — the generated variables.s.min.css lost it, so Outfit was silently relying on Klaviyo @import (~5.8s FOUT). Restores original same-origin CDN load. */
@font-face { font-family: Outfit; font-weight: 400; font-style: normal; font-display: swap; src: url("//sleepydeepy.com/cdn/fonts/outfit/outfit_n4.387c2e2715c484a1f1075eb90d64808f1b37ac58.woff2") format("woff2"), url("//sleepydeepy.com/cdn/fonts/outfit/outfit_n4.aca8c81f18f62c9baa15c2dc5d1f6dd5442cdc50.woff") format("woff"); }
@font-face { font-family: Outfit; font-weight: 700; font-style: normal; font-display: swap; src: url("//sleepydeepy.com/cdn/fonts/outfit/outfit_n7.bfc2ca767cd7c6962e82c320123933a7812146d6.woff2") format("woff2"), url("//sleepydeepy.com/cdn/fonts/outfit/outfit_n7.f0b22ea9a32b6f1f6f493dd3a7113aae3464d8b2.woff") format("woff"); }
.product-item .card .product-item-img{width:100%}

/* SD: announcement bar */
.announcement-bar.hide {
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}
.announcement-bar { position: relative; }
.announcement-bar .btn-close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.announcement-bar .rte {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* === curve-blog-images (SleepyDeepy) === */
/* Article hero: remove the dated thumbnail frame, keep one clean rounded image */
.article-img,
.article-img.img-thumbnail {
  border-radius: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
/* In-body article images: rounded */
.article-content img,
.article-content.rte img {
  border-radius: 14px !important;
}
/* Blog thumbnails: keep the frame's own curve, clip image to match it */
.article-item .card,
.blog-list .card {
  overflow: hidden;
}

/* === sd-anc-nogap: closing the announcement bar removes it AND its wrapper, no white gap === */
.announcement-bar.hide{display:none!important;}
.shopify-section:has(> .announcement-bar.hide){display:none!important;}

/* === sd-anc-closebtn: light-grey close button, dark X, visible on mobile === */
.announcement-bar .btn-close{
  display:flex !important; align-items:center; justify-content:center;
  opacity:1 !important; filter:none !important;
  background-color:#d9d3c7 !important; border-radius:50% !important;
  width:1.5rem; height:1.5rem; padding:0 !important;
  background-size:.55rem auto; background-position:center; background-repeat:no-repeat;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.announcement-bar .btn-close:hover{opacity:1 !important; background-color:#cabfac !important;}

/* === sd-hero-frosted: frosted-glass secondary button in hero carousel === */
.carousel-caption .btn-outline-light{
  background-color:rgba(46,42,94,0.35) !important;
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  border-color:rgba(255,255,255,0.9) !important;
  color:#fff !important;
}
.carousel-caption .btn-outline-light:hover,
.carousel-caption .btn-outline-light:focus,
.carousel-caption .btn-outline-light:active{
  background-color:rgba(46,42,94,0.55) !important;
  border-color:#fff !important; color:#fff !important; box-shadow:none !important;
}

/* === sd-anc-navoffset: when announcement bar is closed, clear the navbar sticky 44px offset (removes white gap) === */
.shopify-section:has(> .announcement-bar.hide) + .shopify-section-group-header-group.sticky-top{ top:0 !important; }

/* === sd-cookie-skin: brand skin for Shopify native consent banner (Huel-style) === */
#shopify-pc__banner .shopify-pc__banner__dialog{
  border-radius:16px !important; border:none !important;
  box-shadow:0 12px 44px rgba(46,42,94,.28) !important;
  background:#faf7f0 !important; font-family:inherit !important;
  padding:1.6rem 1.8rem !important;
}
#shopify-pc__banner, #shopify-pc__banner .shopify-pc__banner__body, #shopify-pc__banner p, #shopify-pc__banner h1, #shopify-pc__banner h2, #shopify-pc__banner strong{ color:#2e2a5e !important; }
#shopify-pc__banner a{ color:#2e2a5e !important; text-underline-offset:2px; }
#shopify-pc__banner .shopify-pc__banner__body::before{ content:none !important; }
#shopify-pc__banner .shopify-pc__banner__body > :first-child::before{ content:"☁️  " !important; display:inline !important; }
#shopify-pc__banner .shopify-pc__banner__btn,
#shopify-pc__banner button{
  border-radius:999px !important; font-weight:700 !important;
  border:2px solid #2e2a5e !important; color:#2e2a5e !important; background:transparent !important;
  padding:.6rem 1.4rem !important;
}
#shopify-pc__banner .shopify-pc__banner__btn-accept,
#shopify-pc__banner .shopify-pc__banner__btn--primary{
  background:#2e2a5e !important; color:#fff !important; border-color:#2e2a5e !important;
}
#shopify-pc__banner .shopify-pc__banner__btn-accept:hover{ background:#241f4a !important; }
#shopify-pc__banner .shopify-pc__banner__btn-manage-prefs{ border:none !important; text-decoration:underline !important; }

/* sd-cookie-manage-left: flush Manage preferences to the left */
#shopify-pc__banner .shopify-pc__banner__btns{ justify-content:flex-start !important; align-items:center !important; }
#shopify-pc__banner .shopify-pc__banner__btn-manage-prefs{ margin-right:auto !important; padding-left:0 !important; }

/* sd-cookie-manage-align2: zero left inset so Manage aligns with body text */
#shopify-pc__banner .shopify-pc__banner__btns{ padding-left:0 !important; margin-left:0 !important; }
#shopify-pc__banner .shopify-pc__banner__btn-manage-prefs{ margin-left:0 !important; padding-left:0 !important; text-indent:0 !important; }

/* sd-cookie-mobile: full-width stacked cookie buttons on mobile */
@media (max-width:600px){
  #shopify-pc__banner .shopify-pc__banner__btns{ flex-direction:column !important; align-items:stretch !important; gap:.55rem !important; }
  #shopify-pc__banner .shopify-pc__banner__btn{ width:100% !important; margin:0 !important; justify-content:center !important; text-align:center !important; }
  #shopify-pc__banner .shopify-pc__banner__btn-accept{ order:1 !important; }
  #shopify-pc__banner .shopify-pc__banner__btn-decline{ order:2 !important; }
  #shopify-pc__banner .shopify-pc__banner__btn-manage-prefs{ order:3 !important; padding-left:0 !important; }
}

/* === sd-upsell-modal: on-brand ATC cross-sell modal === */
#product-upsell-modal .modal-content{ border:none !important; border-radius:16px !important; overflow:hidden; box-shadow:0 20px 60px rgba(46,42,94,.30); }
#product-upsell-modal .modal-header{ background:#2e2a5e; border-bottom:none; padding:1.15rem 1.4rem; }
#product-upsell-modal .modal-title{ color:#fff !important; font-weight:700; }
#product-upsell-modal .modal-header .btn-close{ filter:invert(1) grayscale(1) brightness(2); opacity:.85; }
#product-upsell-modal .modal-body{ padding:1.3rem 1.4rem .5rem; }
#product-upsell-modal .product-item-img{ border-radius:12px !important; }
#product-upsell-modal .product-item-title{ color:#2e2a5e; }
#product-upsell-modal .btn-atc{ border-radius:999px !important; background:#2e2a5e !important; border-color:#2e2a5e !important; color:#fff !important; font-weight:700; padding:.7rem 1rem; }
#product-upsell-modal .btn-atc:hover{ background:#241f4a !important; }
#product-upsell-modal .modal-footer{ border-top:none; padding:.4rem 1.4rem 1.3rem; }
#product-upsell-modal .modal-footer .btn{ background:transparent !important; border:none !important; color:#6f6b85 !important; text-decoration:underline; font-weight:600; }

/* sd-upsell-compact: keep the Add button above the fold */
#product-upsell-modal .product-item-img{ max-width:185px !important; height:auto !important; margin:0 auto .8rem !important; }
#product-upsell-modal .product-item{ padding-top:.4rem !important; }
#product-upsell-modal .product-item-price{ margin-bottom:.7rem !important; }

/* sd-upsell-pitch: pairing line in modal ink header */
#product-upsell-modal .sd-upsell-pitch{ background:#f3ecde !important; color:#2e2a5e !important; font-size:.95rem; line-height:1.45; font-weight:500; padding:.9rem 1rem; border-radius:10px; margin:0 0 1.1rem; text-align:left; }
#product-upsell-modal .sd-upsell-pitch strong{ display:inline; }

/* sd-hide-cart-upsell-panel: hide empty desktop cart-drawer upsell column */


/* SD cart upsell display: side column on desktop, in-drawer on mobile */
@media(min-width:992px){#offcanvas-cart-deskop-upsells{display:block !important;}}
@media(max-width:991px){#offcanvas-cart #cart-upsell[data-layout="vertical"]{display:block !important;visibility:visible !important;}}

/* SD Boost-like cart: warm beige body, pill add buttons */
#offcanvas-cart .offcanvas-body{background:#f3ecde;}
#offcanvas-cart .offcanvas-footer{background:#f3ecde;}
#offcanvas-cart #cart-upsell .btn-atc,#offcanvas-cart-deskop-upsells .btn-atc{border-radius:2rem !important;}

/* SD cart headers: matched bars, clean Outfit font, beige left / purple right */
#offcanvas-cart .offcanvas-title,#offcanvas-cart-deskop-upsells #cart-upsell-title{font-family:Outfit,sans-serif !important;font-weight:600 !important;font-size:20px !important;}
#offcanvas-cart-deskop-upsells{padding-top:0 !important;}
#offcanvas-cart-deskop-upsells #cart-upsell-title{background:#f3ecde;color:#2e2a5e !important;height:62px;display:flex;align-items:center;margin:0 -1rem 1rem -1rem !important;padding:0 1.25rem !important;border-bottom:none !important;border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0;}

/* SD cart testimonial: white card so it stands out on the beige body */
#offcanvas-cart #cart-testimonial{background:#ffffff !important;border:1px solid rgba(46,42,94,.10);}

/* SD tighter cart line items: smaller image, less padding, more title room (scoped to cart items only) */
#offcanvas-cart .offcanvas-body .product-item[data-cart-line-item]{padding-top:.5rem !important;padding-bottom:.5rem !important;}
#offcanvas-cart .offcanvas-body .product-item[data-cart-line-item] > .row > .col-4{flex:0 0 26% !important;max-width:26% !important;}
#offcanvas-cart .offcanvas-body .product-item[data-cart-line-item] > .row > .col-8{flex:0 0 74% !important;max-width:74% !important;}
#offcanvas-cart .offcanvas-body .product-item[data-cart-line-item] .product-item-title{font-size:15px !important;}


/* SD drawer white cards: gold stars mush into beige (1.05:1). Put product lists on white instead - keeps the gold. */
#offcanvas-cart #cart-upsell .product-item,#offcanvas-cart .offcanvas-body .product-list .product-item:not([data-cart-line-item]){background:#fff;border:1px solid rgba(46,42,94,.08);border-radius:10px;padding:.75rem !important;margin-bottom:.6rem;}



/* SD transparent header v6 (clean): header ALWAYS fixed -> no position change -> no fold. Only background blurs in. */
@media(min-width:992px){ [id*='__announcement-bar']{ position:sticky !important; top:0 !important; z-index:1031 !important; } }
html .navbar.navbar-transparent,
html .navbar.navbar-transparent:not(:hover){
  position:fixed !important; top:var(--sd-bar-h, 0px) !important; left:0 !important; right:0 !important; width:100% !important; z-index:1030 !important;
  transition:background-color .35s ease, backdrop-filter .35s ease, box-shadow .35s ease !important;
}
html:not(.sd-nav-stuck) .navbar.navbar-transparent,
html:not(.sd-nav-stuck) .navbar.navbar-transparent:not(:hover){
  background:transparent !important; background-color:transparent !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; box-shadow:none !important;
}
html:not(.sd-nav-stuck) .navbar.navbar-transparent::before{ content:''; position:absolute; left:0; right:0; top:0; height:190px; background:linear-gradient(to bottom, rgba(18,10,42,.60) 0%, rgba(18,10,42,.28) 45%, rgba(18,10,42,0) 100%); pointer-events:none; z-index:-1; opacity:1; transition:opacity .35s ease; }
html.sd-nav-stuck .navbar.navbar-transparent::before{ opacity:0; }
html.sd-nav-stuck .navbar.navbar-transparent,
html.sd-nav-stuck .navbar.navbar-transparent:not(:hover){
  background-color:rgb(var(--bs-dark-rgb)) !important;
  
  box-shadow:0 2px 12px rgba(0,0,0,.18) !important;
}


/* SD about story top-align: image-with-text row is align-items-center, so the image sat vertically centred
   against a tall text column and started too low. Pin to top. Suffix match: Shopify prefixes JSON-template
   section ids with template--<id>__ , so match the end of the id. */
[id$="__about_story_iwt"] .row.align-items-center{ align-items:flex-start !important; }

/* SD currency z-index cap: the currency converter app runs at z-index 100,000,000 - above EVERYTHING incl the
   cart drawer (1045) and the Klaviyo teaser. Cap it to 1044 (above header 1030 + content, below cart 1045).
   Result: teaser (max-int) sits in front of the currency, and currency can no longer cover the cart. */
.currency-converter-chooser,
.currency-converter-currency-button,
[class*="currency-converter-wrapper"],
.cbb-mobile-view,
[class*="cbb"].currency-converter-chooser{ z-index:1044 !important; }


/* ── SleepyDeepy blog article heading hierarchy ────────────────�����────── */
.article-content h2 {
  font-size: 1.9rem;
  line-height: 1.25;
  margin-top: 2.75rem;
  margin-bottom: 0.9rem;
  padding-bottom: 0.45rem;
  color: #1a0047;
  border-bottom: 2px solid #7b5ea7;   /* brand purple divider */
}

.article-content h2:first-child {
  margin-top: 0;                        /* no gap if an h2 opens the body */
}

.article-content h3 {
  font-size: 1.25rem;
  line-height: 1.35;
  color: #1a0047;                       /* brand purple, sits below h2 */
  margin-top: 1.6rem;
  margin-bottom: 0.35rem;
}

@media (max-width: 767px) {
  .article-content h2 { font-size: 1.55rem; margin-top: 2.25rem; }
  .article-content h3 { font-size: 1.15rem; }
}

/* SD: mobile transparent-header hero clearance. The homepage hero caption is pinned to the TOP of the hero on
   mobile (carousel-caption-mobile-top); once the header is transparent+fixed it overlaps the heading. Push the
   caption clear of the header - homepage + mobile only, so nothing else is affected. */
@media (max-width: 991px){ .page-type-index .carousel-caption-mobile-top{ padding-top: 76px; } }
/* sd: white text inside dark icon-block callout cards */
.icon-blocks .card.bg-dark,.icon-blocks .card.bg-dark .title,.icon-blocks .card.bg-dark p,.icon-blocks .card.bg-dark .description{color:#fff!important}

/* sd: unified ethereal sky header on all collections */
.collection-header{background:#1a0047!important;margin-top:-40px!important;padding:7rem 0 3rem!important;margin-bottom:1.5rem!important}
.collection-header,.collection-header *{color:#fff!important}

/* sd: keep collection headers on the clean gradient - hide any bleed-through collection image */
.collection-header img{display:none!important}


/* SD nav fit - tighten desktop primary nav so all items (incl BUNDLE) sit on one line */
@media (min-width:992px){
  .navbar-transparent .nav-link{ padding-left:8px !important; padding-right:8px !important; }
}

/* SD bundle top-bar stacking - keep the Simple Bundles builder beneath the sticky announcement bar + header so product prices can never paint over the top bar (fixes price-in-announcement-bar flash) */
body:has(byob-bundle) main#main{ position:relative !important; z-index:0 !important; }


/* SD header icons nowrap - keep the 4 desktop nav icons (incl basket) on one line in their column */
#navbar-desktop .nav-icons{ flex-wrap:nowrap !important; }

/* SD hero-logo align - nudge the logo in ~20px and anchor the hero carousel caption to the SAME left line (container margin + logo gutter + nudge), tracking Bootstrap container widths per breakpoint */
@media (min-width:992px){
  #navbar-desktop .navbar-brand{ margin-left:20px !important; }
  .carousel-caption-desktop-left{ left: calc((100% - 960px)/2 + 36px) !important; right:auto !important; }
}
@media (min-width:1200px){ .carousel-caption-desktop-left{ left: calc((100% - 1140px)/2 + 36px) !important; } }
@media (min-width:1400px){ .carousel-caption-desktop-left{ left: calc((100% - 1320px)/2 + 36px) !important; } }


/* === SD SHOP mega menu (desktop) === */
.sd-shop-mega{ width:100% !important; left:0 !important; right:0 !important; border:0 !important; border-radius:0 0 18px 18px !important; box-shadow:0 24px 48px rgba(26,0,71,.16) !important; padding:0 !important; margin-top:0 !important; background:#fff !important; }
.sd-shop-mega > .container,.sd-shop-mega > .container-fluid{ padding-top:28px; padding-bottom:28px; }
.sd-mega{ display:grid; grid-template-columns:190px 1.4fr 190px 250px; gap:26px; align-items:start; }
.sd-mega__rail{ display:flex; flex-direction:column; gap:2px; border-right:1px solid #ece8f2; padding-right:18px; }
.sd-mega__rail-item{ display:block; padding:9px 12px; border-radius:10px; text-decoration:none; color:#1a0047; }
.sd-mega__rail-item span{ display:block; font-weight:600; font-size:14px; }
.sd-mega__rail-item small{ display:block; color:#8a83a0; font-size:12px; margin-top:1px; }
.sd-mega__rail-item:hover{ background:#f5f2fb; }
.sd-mega__heading{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#8a83a0; font-weight:700; margin:0 0 14px; }
.sd-mega__cards{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.sd-mega__card{ display:flex; align-items:center; gap:12px; padding:8px; border-radius:12px; text-decoration:none; color:#1a0047; }
.sd-mega__card:hover{ background:#f5f2fb; }
.sd-mega__card-img{ flex:0 0 56px; width:56px; height:56px; border-radius:10px; background:#f3f0f9; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sd-mega__card-img img{ width:100%; height:100%; object-fit:contain; }
.sd-mega__card-name{ display:block; font-weight:600; font-size:14px; line-height:1.2; }
.sd-mega__card-price{ display:block; font-size:12px; color:#8a83a0; margin-top:2px; }
.sd-mega__problems{ list-style:none; margin:0; padding:0; }
.sd-mega__problems a{ display:block; padding:7px 10px; border-radius:8px; text-decoration:none; color:#3a3350; font-size:14px; font-weight:500; }
.sd-mega__problems a:hover{ background:#f5f2fb; color:#1a0047; }
.sd-mega__col--promos{ display:flex; flex-direction:column; gap:14px; }
.sd-mega__promo{ position:relative; display:flex; flex-direction:column; min-height:120px; padding:16px; border-radius:14px; text-decoration:none; overflow:hidden; }
.sd-mega__promo--a{ background:linear-gradient(135deg,#241a4d,#4a3a86); color:#fff; }
.sd-mega__promo--b{ background:linear-gradient(135deg,#e9defb,#f6e7f0); color:#1a0047; }
.sd-mega__promo-img{ position:absolute; right:-12px; bottom:-12px; width:120px; height:120px; object-fit:contain; pointer-events:none; }
.sd-mega__promo-chip{ align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:#fff; color:#1a0047; padding:3px 9px; border-radius:20px; position:relative; z-index:1; }
.sd-mega__promo-chip--light{ background:#1a0047; color:#fff; }
.sd-mega__promo-title{ font-size:20px; font-weight:800; line-height:1.05; margin-top:auto; position:relative; z-index:1; }
.sd-mega__promo-cta{ font-size:13px; font-weight:600; text-decoration:underline; margin-top:6px; position:relative; z-index:1; }
@media (max-width:991px){ .sd-shop-mega{ display:none !important; } }


/* === SD SHOP mega polish v2 === */
.sd-mega__promo-title{ font-family:'Outfit',sans-serif !important; font-weight:800; letter-spacing:-.01em; }
.sd-mega__card-img{ background:#fff !important; border:1px solid #efeaf6; padding:6px; }
.sd-mega__card-img img{ mix-blend-mode:multiply; }
.sd-mega__promo-img{ width:130px !important; height:130px !important; right:-14px !important; bottom:-14px !important; }
.sd-mega__promo--a .sd-mega__promo-img{ filter:drop-shadow(0 6px 14px rgba(0,0,0,.25)); }
.sd-mega__heading{ font-weight:800; }
.sd-mega__promo{ min-height:128px; }


/* === SD SHOP mega polish v3 === */
/* force Outfit everywhere in the mega (theme applies RocaTwo to h6 headings by default) */
.sd-shop-mega, .sd-shop-mega *{ font-family:'Outfit',sans-serif !important; }
/* stronger, clearer section headers */
.sd-mega__heading{ font-size:13px !important; font-weight:800 !important; color:#1a0047 !important; letter-spacing:.09em; text-transform:uppercase; margin:0 0 14px; }
.sd-mega__heading--rail{ padding-left:12px; margin-bottom:8px; }


/* === SD SHOP mega polish v4 === */
/* underline segmenting each section header */
.sd-mega__heading{ border-bottom:1px solid #e8e3f0; padding-bottom:8px; }
/* taller promo tiles + bigger badge image */
.sd-mega__promo{ min-height:154px; }
.sd-mega__promo-img{ width:152px !important; height:152px !important; }
/* photographic promo tile (full-bleed image + dark overlay) */
.sd-mega__promo--photo{ color:#fff !important; }
.sd-mega__promo-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.sd-mega__promo--photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(16,7,34,.9) 8%, rgba(16,7,34,.4) 55%, rgba(16,7,34,.12)); z-index:1; }
.sd-mega__promo--photo .sd-mega__promo-chip{ background:#fff !important; color:#1a0047 !important; z-index:2; }
.sd-mega__promo--photo .sd-mega__promo-title, .sd-mega__promo--photo .sd-mega__promo-cta{ color:#fff !important; z-index:2; }


/* === SD SHOP mega polish v5 (bundle tile crop) === */
.sd-mega__promo--photo .sd-mega__promo-bg{ object-position:right center; }
.sd-mega__promo--photo::after{ background:linear-gradient(100deg, rgba(16,7,34,.92) 0%, rgba(16,7,34,.6) 42%, rgba(16,7,34,.18) 100%) !important; }


/* === SD SHOP mega polish v6 (best seller photo tile) === */
.sd-mega__promo-bg--tape{ object-position:center 30% !important; }


/* === SD SHOP mega polish v7 (vertical dividers) === */
.sd-mega__col--problems, .sd-mega__col--promos{ border-left:1px solid #e8e3f0; padding-left:24px; }


/* === SD SHOP mega polish v8 (shift tile crops right) === */
.sd-mega__promo-bg{ transform:scale(1.14); }
.sd-mega__promo-bg--tape{ object-position:74% 22% !important; }
.sd-mega__promo--photo .sd-mega__promo-bg:not(.sd-mega__promo-bg--tape){ object-position:82% center !important; }


/* === SD SHOP mega polish v9 (header pills + tape crop) === */
.sd-mega__heading{ display:inline-block !important; background:#f1ecfb !important; color:#1a0047 !important; border-bottom:0 !important; padding:6px 13px !important; border-radius:20px !important; font-size:11.5px !important; letter-spacing:.09em; margin:0 0 16px !important; }
.sd-mega__heading--rail{ margin-left:0 !important; }
.sd-mega__promo-bg{ transform:scale(1.22); }
.sd-mega__promo-bg--tape{ object-position:14% 22% !important; }


/* === SD SHOP mega polish v10 (tape tile fade-to-colour) === */
.sd-mega__promo--tape{ background:#1a0047 !important; }
.sd-mega__promo--tape::after{ display:none !important; }
.sd-mega__promo--tape .sd-mega__promo-bg{ transform:scale(1.06); object-position:58% 46% !important; -webkit-mask-image:linear-gradient(to right, transparent 0%, transparent 16%, #000 52%); mask-image:linear-gradient(to right, transparent 0%, transparent 16%, #000 52%); }


/* === SD SHOP mega polish v11 (tape image right panel) === */
.sd-mega__promo--tape .sd-mega__promo-bg{ left:auto !important; right:0 !important; width:62% !important; top:0; bottom:0; height:100%; object-fit:cover; object-position:center 40% !important; transform:none !important; -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 20%, #000 44%) !important; mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 20%, #000 44%) !important; }


/* === SD Mix & Match subscription teaser tile === */
.sd-mixmatch{ padding:6px 0 44px; }
.sd-mixmatch__tile{ position:relative; display:flex; align-items:center; min-height:230px; border-radius:20px; overflow:hidden; background:linear-gradient(120deg,#1a0047 0%,#3a2170 100%); color:#fff; }
.sd-mixmatch__img{ position:absolute; right:0; top:0; height:100%; width:52%; object-fit:cover; object-position:center; -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.4) 18%, #000 46%); mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.4) 18%, #000 46%); }
.sd-mixmatch__text{ position:relative; z-index:2; padding:34px 44px; max-width:560px; }
.sd-mixmatch__eyebrow{ display:inline-block; background:#fff; color:#1a0047; font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:5px 13px; border-radius:20px; }
.sd-mixmatch__title{ font-size:30px; line-height:1.05; margin:14px 0 10px; color:#fff !important; }
.sd-mixmatch__sub{ font-family:'Outfit',sans-serif; font-size:15px; line-height:1.5; opacity:.92; margin:0 0 18px; max-width:430px; }
.sd-mixmatch__cta{ display:inline-block; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.45); padding:9px 20px; border-radius:26px; font-weight:600; font-size:14px; font-family:'Outfit',sans-serif; }
@media (max-width:767px){ .sd-mixmatch__img{ width:100%; opacity:.35; -webkit-mask-image:none; mask-image:none; } .sd-mixmatch__text{ max-width:100%; } .sd-mixmatch__title{ font-size:24px; } }


/* === SD subscribe-save 5-up grid === */
@media (min-width:992px){ body.coll-subscribe-save .product-list > *{ flex:0 0 20% !important; max-width:20% !important; width:20% !important; } }


/* === SD mega trust strip === */
.sd-mega-trust{ background:#f7f5fb; border-top:1px solid #ece8f2; margin-top:8px; padding:15px 0; font-family:'Outfit',sans-serif; border-radius:0 0 18px 18px; }
.sd-mega-trust__inner{ display:grid; grid-template-columns:1.1fr 0.9fr 1.3fr; gap:28px; align-items:center; }
.sd-mega-trust__points{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:#3a3350; }
.sd-mega-trust__points span{ padding-left:22px; position:relative; }
.sd-mega-trust__points span::before{ content:"¹3"; position:absolute; left:0; color:#1a0047; font-weight:700; }
.sd-mega-trust__rating{ text-align:center; }
.sd-mega-trust__stars{ display:block; color:#f5b301; letter-spacing:3px; font-size:16px; }
.sd-mega-trust__rating-text{ font-size:12px; color:#8a83a0; }
.sd-mega-trust__quote{ margin:0; font-style:italic; color:#1a0047; font-size:14px; line-height:1.4; }
.sd-mega-trust__quote cite{ display:block; font-style:normal; font-size:12px; color:#8a83a0; margin-top:5px; }


/* === SD mega trust strip fix (stack full-width) === */
.sd-shop-mega{ flex-direction:column !important; }
.sd-mega-trust{ width:100%; clear:both; }


/* === SD mega polish v12 (inset + wider darker trust + tick fix) === */
.sd-shop-mega{ left:24px !important; right:24px !important; width:auto !important; border-radius:20px !important; margin-top:8px !important; overflow:hidden !important; }
.sd-mega-trust{ background:#e7e1f2 !important; border-radius:0 0 20px 20px; }
.sd-mega-trust > .container{ max-width:none !important; width:100% !important; padding-left:44px; padding-right:44px; }
.sd-mega-trust__inner{ grid-template-columns:1.1fr 0.8fr 1.2fr; }
.sd-mega-trust__points span::before{ content:"✓" !important; }


/* === SD SHOP mega polish v13 (white panel + navy pills + navy trust strip) === */
/* Panel stays white/light (as before). Only two changes vs the pastel version:
   (1) the heading pills go brand-navy, (2) the bottom trust strip goes brand-navy. */

/* heading pills -> brand navy */
.sd-mega__heading{ background:#12022e !important; color:#ffffff !important; }

/* trust strip -> brand navy with light text */
.sd-mega-trust{ background:#12022e !important; border-top:0 !important; border-radius:0 0 20px 20px !important; }
.sd-mega-trust *{ color:#ffffff; }
.sd-mega-trust__points{ color:#e3ddf1 !important; }
.sd-mega-trust__points span::before{ content:"✓" !important; color:#b79cec !important; }
.sd-mega-trust__rating-text{ color:#a99fc9 !important; }
.sd-mega-trust__stars{ color:#ffc043 !important; }
.sd-mega-trust__quote{ color:#ffffff !important; }
.sd-mega-trust__quote cite{ color:#a99fc9 !important; }


/* === SD SHOP mega polish v14 (attach flush to bar, match simple dropdown) === */
.sd-shop-mega{ margin-top:0 !important; border-radius:0 0 20px 20px !important; }


/* === SD mega trust strip v15 (live Judge.me rating: half-star fill + count) === */
.sd-mega-trust__stars{ display:inline-block; position:relative; font-size:16px; line-height:1; letter-spacing:0 !important; }
.sd-mega-trust__stars::before{ content:"\2605\2605\2605\2605\2605"; color:rgba(255,255,255,.28); }
.sd-mega-trust__stars::after{ content:"\2605\2605\2605\2605\2605"; color:#ffc043; position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; width:var(--sd-star,90%); }


/* === SD mobile nav promos (feature cards in offcanvas drawer) === */
.sd-mnav-promos{ display:flex; flex-direction:column; gap:12px; padding:2px 20px 10px; }
.sd-mnav-promo{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:118px; border-radius:16px; overflow:hidden; text-decoration:none; padding:14px 16px; }
.sd-mnav-promo__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.sd-mnav-promo--tape .sd-mnav-promo__bg{ object-position:center 28%; }
.sd-mnav-promo--build .sd-mnav-promo__bg{ object-position:center 60%; }
.sd-mnav-promo::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(16,7,34,.92) 8%, rgba(16,7,34,.4) 58%, rgba(16,7,34,.08)); z-index:1; }
.sd-mnav-promo > *{ position:relative; z-index:2; color:#fff !important; }
.sd-mnav-promo__chip{ align-self:flex-start; font-family:'Outfit',sans-serif; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:#fff; color:#1a0047 !important; padding:3px 10px; border-radius:20px; margin-bottom:auto; }
.sd-mnav-promo__title{ font-family:'Outfit',sans-serif; font-weight:800; font-size:20px; line-height:1.05; margin-top:8px; }
.sd-mnav-promo__cta{ font-family:'Outfit',sans-serif; font-size:13px; font-weight:600; text-decoration:underline; margin-top:3px; }


/* === SD mobile nav promos img-cover fix (beat theme img position:relative) === */
#offcanvas-menu .sd-mnav-promo{ height:120px; min-height:120px; }
#offcanvas-menu .sd-mnav-promo__bg{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; border:0 !important; border-radius:0 !important; margin:0 !important; padding:0 !important; max-width:none !important; }


/* === SD mobile nav promos oblong (shorter wide banners, less scroll) === */
#offcanvas-menu .sd-mnav-promos{ gap:10px !important; padding:2px 20px 8px !important; }
#offcanvas-menu .sd-mnav-promo{ height:92px !important; min-height:92px !important; padding:10px 14px !important; border-radius:14px !important; }
#offcanvas-menu .sd-mnav-promo .sd-mnav-promo__title{ font-size:18px !important; margin-top:5px !important; }
#offcanvas-menu .sd-mnav-promo .sd-mnav-promo__chip{ font-size:10px !important; padding:2px 8px !important; }
#offcanvas-menu .sd-mnav-promo .sd-mnav-promo__cta{ font-size:12px !important; margin-top:2px !important; }


/* === SD mobile nav promos swap+tape-gradient (Option A visibility + Karris fade-right) === */
#offcanvas-menu .sd-mnav-promos{ display:none !important; }
#offcanvas-menu .sd-mnav-promos.sd-show{ display:flex !important; }
/* DreamTape banner: navy ground, image faded in from the left so Karris sits right, text on colour */
#offcanvas-menu .sd-mnav-promo--tape{ background:#1a0047 !important; }
#offcanvas-menu .sd-mnav-promo--tape::after{ display:none !important; }
#offcanvas-menu .sd-mnav-promo--tape .sd-mnav-promo__bg{ object-position:58% 24% !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 20%, #000 52%) !important;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 20%, #000 52%) !important; }
/* stacked build title reads better at 2 lines */
#offcanvas-menu .sd-mnav-promo--build .sd-mnav-promo__title{ font-size:17px !important; line-height:1.08 !important; }


/* === SD mobile nav promos build taller (2-line title needs more air) === */
#offcanvas-menu .sd-mnav-promo--build{ height:116px !important; min-height:116px !important; padding-top:12px !important; }


/* === SD mobile nav tape right-panel (actually move Karris right: image = right panel over navy) === */
#offcanvas-menu .sd-mnav-promo--tape .sd-mnav-promo__bg{
  left:auto !important; right:0 !important; width:64% !important; top:0 !important; bottom:0 !important; height:100% !important;
  object-fit:cover !important; object-position:center 30% !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 16%, #000 46%) !important;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 16%, #000 46%) !important; }


/* === SD mobile nav tape right-panel v2 (wider panel, softer fade, show more of Karris) === */
#offcanvas-menu .sd-mnav-promo--tape .sd-mnav-promo__bg{
  width:74% !important; object-position:56% 24% !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 12%, #000 34%) !important;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 12%, #000 34%) !important; }


/* === SD mobile nav tape match-height+lower (match Build height; drop Karris so face isn't cut at top) === */
#offcanvas-menu .sd-mnav-promo--tape{ height:116px !important; min-height:116px !important; }
#offcanvas-menu .sd-mnav-promo--tape .sd-mnav-promo__bg{ object-position:56% 12% !important; }

/* SD product-card review quote */
.product-item .sd-card-quote{margin:-6px 0 12px;font-family:'Outfit',sans-serif;font-style:italic;font-size:13px;line-height:1.35;color:#4a4358;}
@media (max-width:767px){.product-item .sd-card-quote{font-size:12px;margin:-4px 0 10px;}}

/* sd-hub-seam: close transparent seam between navy hero and beige quiz body */
.quiz.bg-light{margin-top:-24px!important;}
/* hide redundant theme blog-listing title (navy hero already titles it); kept in DOM for SEO */
[id$="__template-blog"] h1.title{position:absolute!important;width:1px;height:1px;padding:0!important;margin:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* sd collection header stars/moon */
.collection-header{position:relative;overflow:hidden}
.collection-header .container{position:relative;z-index:1}
.collection-sky{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* Bundle 'Combine Products & Save' header -> brand navy + white (gradient off) */
[id$="__richtext_LbWVTt"] .richtext{background:#1a0047!important;}
[id$="__richtext_LbWVTt"] .richtext,[id$="__richtext_LbWVTt"] .richtext *{color:#fff!important;-webkit-text-fill-color:#fff!important;}

/* collection header eyebrow (matches page-hero eyebrows) */
.collection-header .collection-eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:12.5px;font-weight:700;color:#c9bfe6!important;margin:0 0 .5rem;}

/* collab: hide redundant app intro block */
.collabs-page__header-above{display:none!important;}


/* sd-navy-var: repaint legacy charcoal default (#302d3e) as brand navy; explicit white stays white */
:root{--bs-body-color:#1a0047;--bs-body-color-rgb:26,0,71;}


/* sd-star-gold: standardise Judge.me filled stars to brand gold #ffc043 (was lemon #ffea00) */
.jdgm-star.jdgm--on,.jdgm-star.jdgm--half{color:#ffc043 !important;}

/* sd: currency-converter price boxes (z-index 1044) showed through the bundle builder sticky bar - 30 Sep 2026 */byob-bundle .currency-converter-wrapper-amount-box{z-index:auto!important}