.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;}
