/* v1.19.6: Only demo2 components except explicitly exposed classic mobile-menu tokens. */
body.storefront.theme-demo2{
  --d2-accent:var(--theme-modern-accent,#294239);
  --d2-ink:var(--theme-modern-text,#253a33);
  --d2-muted:var(--theme-modern-muted,#7b8581);
  --d2-line:var(--theme-modern-border,#edece7);
  --d2-cream:var(--theme-modern-card-image-bg,#f7f6f2);
  --d2-panel:var(--theme-modern-surface,#ffffff);
  background:var(--theme-modern-page-bg,#fafaf8)!important;
  color:var(--d2-ink);
}
.theme-demo2 .demo2-home [data-home-section],
.theme-demo2 .demo2-shop-card,.theme-demo2 .demo2-shop-layout,
.theme-demo2 .demo2-product-shell .product-hero{border-color:var(--d2-line)}
.theme-demo2 .d2-primary-link,.theme-demo2 .demo2-card-action .d2-add-button,
.theme-demo2 .demo2-product-shell .buy-button,
.theme-demo2 .demo2-toolbar-sorts a.active{background:var(--d2-accent)!important;color:var(--theme-modern-accent-text,#fff)!important}
.theme-demo2 .demo2-shop-card,.theme-demo2 .d2-widget:not(.d2-spacer-widget){background:var(--d2-panel)}
.theme-demo2 .demo2-shop-card-media,.theme-demo2 .d2-category-media{background:var(--d2-cream)}
.theme-demo2 .demo2-shop-card-body h3 a,.theme-demo2 .demo2-shop-card-price strong{color:var(--d2-ink)}
/* The add-to-cart symbol is an actual centered vector, never a displaced text glyph. */
.theme-demo2 .demo2-card-action .d2-add-button,
.theme-demo2 .demo2-card-action .card-cart-add.d2-add-button{
  width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
  max-width:36px!important;max-height:36px!important;aspect-ratio:1!important;
  display:grid!important;place-items:center!important;flex:0 0 36px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:11px!important;
  line-height:1!important;box-sizing:border-box!important;
}
.theme-demo2 .demo2-card-action .d2-add-button svg{display:block!important;position:static!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;transform:none!important;stroke:currentColor!important;margin:0!important}
/* One real slide visible at once; hero and custom banners have independent controls. */
.theme-demo2 .d2-hero-carousel{display:block!important;position:relative!important;min-height:0!important;padding:0!important;overflow:hidden}
.theme-demo2 .d2-hero-track,.theme-demo2 .d2-banner-track{position:relative;width:100%;min-width:0;isolation:isolate}
.theme-demo2 .d2-hero-slide{display:grid;grid-template-columns:1.12fr .88fr;min-height:320px;gap:22px;align-items:stretch}
.theme-demo2 .d2-hero-slide:not(.is-active),.theme-demo2 .d2-banner-item:not(.is-active){display:none!important;visibility:hidden!important;pointer-events:none!important}
.theme-demo2 .d2-hero-slide .d2-hero-media{grid-column:1;grid-row:1;background:var(--theme-modern-hero-bg,#f1eee7);border-radius:0;height:auto;min-width:0}
.theme-demo2 .d2-hero-slide .d2-hero-copy{grid-column:2;grid-row:1;min-width:0}
.theme-demo2 .d2-hero-slide .d2-hero-media img{display:block;width:100%;height:100%;max-height:440px;object-fit:cover}
.theme-demo2 .d2-carousel-controls{display:flex;align-items:center;justify-content:center;gap:14px;position:absolute;z-index:3;inset-inline:0;bottom:13px;width:max-content;max-width:calc(100% - 26px);margin:auto;border-radius:99px;padding:5px 9px;background:color-mix(in srgb,var(--d2-panel) 91%,transparent);box-shadow:0 4px 15px #00000012}
.theme-demo2 .d2-carousel-controls button{display:grid;place-items:center;border:0;background:transparent;color:var(--d2-accent);font:inherit;cursor:pointer;width:30px;height:30px;border-radius:50%}
.theme-demo2 .d2-carousel-controls>button{font-size:22px}
.theme-demo2 .d2-carousel-dots{display:flex;align-items:center;gap:7px}
.theme-demo2 .d2-carousel-dots button{width:7px;height:7px;background:#c3cac1;border-radius:999px;padding:0;border:0;transition:width .15s ease,background .15s ease}
.theme-demo2 .d2-carousel-dots button[aria-current=true]{width:22px;background:var(--d2-accent)}
.theme-demo2 .d2-banner-carousel{display:block!important;position:relative;min-width:0;overflow:hidden;border-radius:var(--widget-radius,16px)}
.theme-demo2 .d2-banner-carousel .d2-banner-track{width:100%;display:block;min-width:0}
.theme-demo2 .d2-banner-carousel .d2-banner-item{display:block;width:100%;border-radius:0;background:var(--d2-cream)}
.theme-demo2 .d2-banner-carousel .d2-banner-item picture,
.theme-demo2 .d2-banner-carousel .d2-banner-item a{display:block;width:100%}
.theme-demo2 .d2-banner-carousel .d2-banner-item img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
/* Distinct story rings and correct brand/cover media. */
.theme-demo2 .d2-category-list.story-rail{display:flex;overflow-x:auto;gap:13px;padding:5px 2px 10px;scrollbar-width:thin;min-width:0}
.theme-demo2 .d2-story-widget .story-bubble{display:flex!important;flex:0 0 93px;flex-direction:column;align-items:center;gap:7px;width:93px;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;color:var(--d2-ink)!important;font:inherit;cursor:pointer;text-align:center}
.theme-demo2 .d2-story-widget .story-bubble .d2-category-media{width:77px;height:77px;border-radius:50%;padding:4px;border:2px solid var(--d2-accent);background:transparent;box-sizing:border-box;overflow:hidden;display:grid;place-items:center}
.theme-demo2 .d2-story-widget .story-bubble img{width:100%;height:100%;padding:0;border-radius:50%;object-fit:cover;background:var(--d2-cream)}
.theme-demo2 .d2-story-widget .story-bubble strong{display:block;font-size:11px;font-weight:700;line-height:1.5;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.theme-demo2 .d2-brand-widget .d2-category-media{background:#fff;border:1px solid var(--d2-line);border-radius:16px}
.theme-demo2 .d2-brand-widget .d2-category-media img{width:100%;height:100%;padding:12px;object-fit:contain}
.theme-demo2 .d2-image-fallback{display:grid;place-items:center;height:100%;width:100%;font-weight:800;font-size:28px;color:var(--d2-accent)}
/* One neutral footer surface; no dark inherited underlay or pale nested islands. */
body.theme-demo2 .site-footer.demo2-footer,
body.theme-demo2 .demo2-footer,
body.theme-demo2 .demo2-footer-grid,
body.theme-demo2 .demo2-footer-bottom{
 background:var(--theme-modern-footer-bg,#fff)!important;
 color:var(--theme-modern-footer-text,#253a33)!important;
}
body.theme-demo2 .site-footer.demo2-footer{border-top:1px solid var(--d2-line)!important;box-shadow:none!important;margin-bottom:0!important;padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
body.theme-demo2 .demo2-footer-grid{border:0!important;border-radius:0!important;box-shadow:none!important;margin-block:0!important}
body.theme-demo2 .demo2-footer-grid :is(h3,b,strong),body.theme-demo2 .demo2-footer-grid a{color:var(--theme-modern-footer-text,#253a33)!important}
body.theme-demo2 .demo2-footer-badge-list article{background:var(--theme-modern-footer-bg,#fff)!important;border:1px solid var(--d2-line)!important}
/* Cart slide-out, full cart and checkout share the same modern palette. */
body.theme-demo2 .cart-drawer,
body.theme-demo2 #mini-cart-content,
body.theme-demo2 .mini-cart-head,
body.theme-demo2 .mini-cart-items,
body.theme-demo2 .mini-cart-footer,
body.theme-demo2 .cart-page,
body.theme-demo2 .cart-list,
body.theme-demo2 .cart-summary-card,
body.theme-demo2 .cart-empty-card,
body.theme-demo2 .checkout-page,
body.theme-demo2 .checkout-main,
body.theme-demo2 .checkout-sidebar{
 --red:var(--theme-modern-cart-button,#294239);
 --neo-red:var(--theme-modern-cart-button,#294239);
 --theme-primary:var(--theme-modern-cart-button,#294239);
 color:var(--theme-modern-cart-text,#253a33)!important;
}
body.theme-demo2 .cart-drawer,
body.theme-demo2 #mini-cart-content,
body.theme-demo2 .mini-cart-head,
body.theme-demo2 .mini-cart-footer{background:var(--theme-modern-cart-bg,#fff)!important;border-color:var(--theme-modern-cart-border,#e6eae3)!important}
body.theme-demo2 :is(.cart-line,.cart-list,.cart-summary-card,.cart-empty-card,.mini-cart-item,.mini-cart-image,.checkout-step,.checkout-panel){border-color:var(--theme-modern-cart-border,#e6eae3)!important;background:var(--theme-modern-cart-bg,#fff)!important}
body.theme-demo2 :is(.cart-primary,.mini-cart-actions .cart-primary,.checkout-main-button,.checkout-steps .active i,.coupon-input-row button,.mini-cart-empty>a,.checkout-primary,.mini-cart-close){background:var(--theme-modern-cart-button,#294239)!important;color:var(--theme-modern-cart-button-text,#fff)!important;border-color:var(--theme-modern-cart-button,#294239)!important}
body.theme-demo2 :is(.cart-line-title,.mini-cart-copy>a,.summary-total strong,.mini-cart-footer strong,.cart-line-price strong){color:var(--theme-modern-cart-text,#253a33)!important}
body.theme-demo2 :is(.qty-control button,.mini-remove,.cart-secondary){color:var(--theme-modern-cart-button,#294239)!important;border-color:var(--theme-modern-cart-border,#e6eae3)!important}
/* Palette controls for classic menu too; colors persist through both themes. */
.storefront .mobile-menu-footer .drawer-main-action{background:var(--theme-mobile-drawer-login-bg,#ef233c)!important;color:var(--theme-mobile-drawer-login-text,#fff)!important;border:1px solid var(--theme-mobile-drawer-login-border,#ef233c)!important;border-radius:13px!important;padding:12px 15px!important}
.storefront .mobile-menu-head>button{background:var(--theme-mobile-drawer-close-bg,#f1f4fa)!important;color:var(--theme-mobile-drawer-close-icon,#26334a)!important;border-color:var(--theme-mobile-drawer-border,#e5eaf2)!important}
.storefront .mobile-custom-menu a:hover,.storefront .mobile-custom-menu a:focus-visible{background:var(--theme-mobile-drawer-item-hover,#f5f6fb)!important}
.storefront .mobile-custom-menu a svg,.storefront .mobile-custom-menu a i{color:var(--theme-mobile-drawer-icon,#6d5dfc)!important}
/* Modern menu takes priority over classic palette with separate design tokens. */
body.theme-demo2 .mobile-menu-drawer,
body.theme-demo2 .mobile-menu-head,
body.theme-demo2 .mobile-menu-footer{background:var(--theme-modern-drawer-bg,#fff)!important;color:var(--theme-modern-drawer-text,#253a33)!important}
body.theme-demo2 .mobile-custom-menu a{background:var(--theme-modern-drawer-item,#f8f9f6)!important;color:var(--theme-modern-drawer-text,#253a33)!important;border:1px solid var(--theme-modern-drawer-border,#e7ebe4)!important;border-radius:10px!important;margin-bottom:7px!important;padding-inline:13px!important}
body.theme-demo2 .mobile-custom-menu a:before{background:var(--theme-modern-drawer-item,#f8f9f6)!important;color:var(--theme-modern-drawer-icon,#294239)!important}
body.theme-demo2 .mobile-custom-menu a svg,body.theme-demo2 .mobile-custom-menu a i{color:var(--theme-modern-drawer-icon,#294239)!important}
body.theme-demo2 .mobile-menu-footer .drawer-main-action{background:var(--theme-modern-drawer-login-bg,#294239)!important;color:var(--theme-modern-drawer-login-text,#fff)!important;border-color:var(--theme-modern-drawer-login-bg,#294239)!important}
/* Floating pill belongs only to Demo 2; respects device safe area and keyboard. */
@media(max-width:740px){
 body.theme-demo2{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav{
  position:fixed!important;
  left:14px!important;right:14px!important;
  bottom:calc(12px + env(safe-area-inset-bottom))!important;
  width:auto!important;max-width:550px!important;margin-inline:auto!important;
  height:var(--cms-nav-height,64px)!important;min-height:52px!important;
  display:grid!important;grid-template-columns:repeat(var(--cms-nav-columns,5),minmax(0,1fr))!important;
  padding:5px 7px!important;box-sizing:border-box!important;
  background:var(--theme-modern-nav-bg,#fff)!important;
  color:var(--theme-modern-nav-text,#85928a)!important;
  border:1px solid var(--theme-modern-nav-border,#e7ece7)!important;
  border-radius:24px!important;
  box-shadow:0 13px 35px #23362b20,0 3px 10px #23362b0d!important;
  backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
  z-index:90!important;
 }
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav.theme-floating{background:color-mix(in srgb,var(--theme-modern-nav-bg,#fff) 89%,transparent)!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav.theme-dark{background:var(--theme-modern-accent,#294239)!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav :is(a,button){color:var(--theme-modern-nav-text,#85928a)!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:17px!important;padding:5px 3px!important;gap:3px!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav :is(a,button).is-active{color:var(--theme-modern-nav-active,#294239)!important;background:var(--theme-modern-nav-indicator,#eff5ef)!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav :is(a,button) .cms-icon{width:21px!important;height:21px!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav b{font-size:10px!important;line-height:1.2!important;font-weight:700!important;white-space:nowrap!important}
 body.theme-demo2 .cms-mobile-nav.d2-floating-nav em{background:var(--theme-modern-nav-active,#294239)!important;color:var(--theme-modern-nav-bg,#fff)!important}
 body.theme-demo2 .demo2-footer{margin-bottom:0!important}
 body.theme-demo2 .d2-hero-carousel{display:block!important;overflow:hidden!important}
 body.theme-demo2 .d2-hero-slide{display:flex!important;flex-direction:column;min-height:0;gap:0}
 body.theme-demo2 .d2-hero-slide:not(.is-active){display:none!important}
 body.theme-demo2 .d2-hero-slide .d2-hero-copy{order:1;width:100%;padding:21px 17px 32px}
 body.theme-demo2 .d2-hero-slide .d2-hero-media{order:2;grid-column:auto;grid-row:auto;width:100%;aspect-ratio:16 / 10;height:auto;min-height:0}
 body.theme-demo2 .d2-hero-slide .d2-hero-media img{height:100%;max-height:unset;object-fit:cover}
 body.theme-demo2 .d2-carousel-controls{bottom:9px}
 body.theme-demo2 .d2-banner-carousel .d2-banner-item img{height:auto;max-height:none;object-fit:contain}
 body.theme-demo2 .d2-story-widget .story-bubble{flex-basis:78px;width:78px}
 body.theme-demo2 .d2-story-widget .story-bubble .d2-category-media{width:62px;height:62px}
 body.theme-demo2 .d2-story-widget .story-bubble strong{font-size:10px}
 body.theme-demo2 .demo2-card-action .d2-add-button,body.theme-demo2 .demo2-card-action .card-cart-add.d2-add-button{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;flex-basis:32px!important;border-radius:9px!important}
 body.theme-demo2 .demo2-card-action .d2-add-button svg{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important}
}
@media(prefers-reduced-motion:reduce){.theme-demo2 .d2-carousel-controls *{transition:none!important}}
.theme-demo2 .d2-logo-strip{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.theme-demo2 .d2-logo-strip .d2-feature-item{flex:1 1 130px;min-width:100px;max-width:230px;flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:14px;border:1px solid var(--d2-line);border-radius:14px}
.theme-demo2 .d2-logo-strip .d2-logo-image{width:100px;height:64px;max-width:100%;background:var(--d2-panel);display:grid;place-items:center}
.theme-demo2 .d2-logo-strip .d2-logo-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
