/* 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; }
