/* Customer-facing components share validated storefront colors. Module inline styles take precedence. */
:root{--c-accent:var(--shop-primary);--c-accent-dark:var(--shop-primary-dark);--c-ink:var(--shop-text);--c-muted:var(--shop-muted);--c-line:var(--shop-border);--c-bg:var(--shop-background);--c-success:var(--shop-success);--c-danger:var(--shop-danger);--bs-body-bg:var(--shop-background);--bs-body-color:var(--shop-text);--bs-border-color:var(--shop-border);--bs-link-color:var(--shop-primary-dark);--bs-link-hover-color:var(--shop-primary)}
html,body{background:var(--shop-background);color:var(--shop-text)}h1,h2,h3,h4,h5,h6{color:var(--shop-heading)}.text-muted{color:var(--shop-muted)!important}.bg-white,.card{background-color:var(--shop-card)!important;color:var(--shop-text)}.bg-light{background-color:var(--shop-subtle)!important}.border,.card{border-color:var(--shop-border)!important}
.shop-header{background:var(--shop-header);border-color:var(--shop-border)}.shop-header a,.shop-topbar,.shop-action,.shop-action-icon{color:var(--shop-header-text)}.shop-brand{color:var(--shop-primary)!important}.shop-brand-mark,.shop-search-button{background:var(--shop-primary);color:var(--shop-on-primary)}.shop-topbar a,.shop-topbar a:hover{color:var(--shop-header-text)}.shop-categorybar{background:var(--shop-nav);border-color:var(--shop-border)}.shop-categorybar a,.shop-categorybar .shop-category-link{color:var(--shop-nav-text)}.shop-categorybar a:hover{color:var(--shop-primary)}.shop-search-input{background:var(--shop-subtle);color:var(--shop-text)}.shop-mobile-menu,.shop-mobile-drawer,.shop-mobile-nav{background:var(--shop-card);color:var(--shop-text)}.shop-search-results{background:var(--shop-card);color:var(--shop-text);border-color:var(--shop-border)}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea{background-color:var(--shop-card);color:var(--shop-text);border-color:var(--shop-border)}input::placeholder,textarea::placeholder{color:var(--shop-muted)}input[type=checkbox],input[type=radio]{accent-color:var(--shop-primary)}.form-control:focus,.form-select:focus{background:var(--shop-card);color:var(--shop-text);border-color:var(--shop-primary);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--shop-primary) 14%,transparent)}
.btn-primary,.btn-warning{--bs-btn-bg:var(--shop-primary);--bs-btn-border-color:var(--shop-primary);--bs-btn-color:var(--shop-on-primary);--bs-btn-hover-bg:var(--shop-primary-dark);--bs-btn-hover-border-color:var(--shop-primary-dark);--bs-btn-hover-color:var(--shop-on-primary);--bs-btn-active-bg:var(--shop-primary-dark);--bs-btn-active-border-color:var(--shop-primary-dark);--bs-btn-active-color:var(--shop-on-primary)}.btn-outline-warning,.btn-outline-primary{--bs-btn-color:var(--shop-primary-dark);--bs-btn-border-color:var(--shop-primary);--bs-btn-hover-bg:var(--shop-primary);--bs-btn-hover-border-color:var(--shop-primary);--bs-btn-hover-color:var(--shop-on-primary);--bs-btn-active-bg:var(--shop-primary);--bs-btn-active-border-color:var(--shop-primary)}.btn-light{--bs-btn-bg:var(--shop-card);--bs-btn-border-color:var(--shop-border);--bs-btn-color:var(--shop-text);--bs-btn-hover-bg:var(--shop-subtle);--bs-btn-hover-color:var(--shop-text)}
.table{--bs-table-bg:var(--shop-card);--bs-table-color:var(--shop-text);--bs-table-border-color:var(--shop-border);--bs-table-hover-bg:var(--shop-subtle);--bs-table-hover-color:var(--shop-text)}.text-success{color:var(--shop-success)!important}.text-danger{color:var(--shop-danger)!important}.text-warning{color:var(--shop-warning)!important}.alert-success,.bg-success-subtle{background:var(--shop-success-soft);color:var(--shop-success);border-color:var(--shop-success)}.alert-danger,.bg-danger-subtle{background:var(--shop-danger-soft);color:var(--shop-danger);border-color:var(--shop-danger)}.alert-warning{background:var(--shop-warning-soft);color:var(--shop-warning-dark);border-color:var(--shop-warning)}
.contact-hero,.member-promise,.site-newsletter{background:var(--shop-secondary);color:var(--shop-hero-text)}.contact-hero h1,.contact-hero p,.contact-breadcrumb a,.member-promise h1,.member-promise>p,.site-newsletter h2,.site-newsletter-copy p{color:var(--shop-hero-text)}.site-newsletter-form{background:var(--shop-card)}.site-newsletter-form button{background:var(--shop-primary);color:var(--shop-on-primary)}
.site-footer{background:var(--shop-footer);color:var(--shop-footer-text)}.site-footer h2,.site-footer h3,.site-footer strong,.site-footer summary,.site-footer a,.site-footer-legal button{color:var(--shop-footer-text)}.site-footer p,.site-footer small,.site-footer-specialty,.site-footer-trust,.site-footer-bottom,.site-footer-brand p{color:var(--shop-footer-muted)}.site-footer a:hover{color:var(--shop-primary)}.site-footer-bottom,.site-footer-trust{border-color:color-mix(in srgb,var(--shop-footer-text) 14%,transparent)}
/* A module with its own background/gradient or title color keeps that explicit choice. */
.home-product-module:not([style*="background:"]){background:var(--shop-background)}.home-product-module h2{color:var(--shop-heading)}.home-product-module .btn-outline-warning:hover{color:var(--shop-on-primary)}
/* Card and form foregrounds remain legible with independently chosen page/card backgrounds. */
:is(.card,.commerce-card,.commerce-product-card,.contact-form-card,.checkout-card,.cart-items-panel,.account-panel,.order-detail-card,.order-summary-card,.product-detail-info-card,.product-purchase-panel){color:var(--shop-card-text)}
:is(.card,.commerce-product-card,.contact-form-card,.checkout-card,.account-panel,.order-summary-card) :is(h2,h3,h4,strong,label){color:var(--shop-card-text)}
.commerce-product-card :is(.commerce-product-title,.commerce-product-title a){color:var(--shop-card-text)}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea{color:var(--shop-card-text)}
.form-control:focus,.form-select:focus{color:var(--shop-card-text)}
/* Image overlays use hero text, independently from the main button foreground. */
.home-category strong,.home-banner strong,.home-banner span,.hero-slide h1,.hero-slide h2,.hero-slide p{color:var(--shop-hero-text)}
.shop-categorybar .shop-category-pill{background:var(--shop-primary);color:var(--shop-on-primary);border-color:var(--shop-primary)}
.text-dark{color:var(--shop-text)!important}.text-white{color:var(--shop-hero-text)!important}.bg-dark,.text-bg-dark{background-color:var(--shop-secondary)!important;color:var(--shop-hero-text)!important}
/* Shared accents replace former section-specific and badge palettes. */
.home-category{background:var(--shop-primary-soft);color:var(--shop-text)}.home-category img{background:var(--shop-primary-soft);color:var(--shop-text)}.home-category strong{background:var(--shop-primary);color:var(--shop-on-primary)}
.site-newsletter{background:var(--shop-secondary);color:var(--shop-hero-text)}.site-newsletter-copy>span{color:var(--shop-hero-text)}
.site-footer-ambient{background:radial-gradient(ellipse at left top,color-mix(in srgb,var(--shop-primary) 18%,transparent),transparent 70%)}
.site-footer-mark,.site-footer-trust b{background:color-mix(in srgb,var(--shop-primary) 22%,transparent);color:var(--shop-footer-text)}
.commerce-product-badges>b,.product-detail-badges>b{--badge-bg:var(--shop-primary);--badge-color:var(--shop-on-primary)}
.commerce-product-badges>b.stock,.product-detail-badges>b.stock{--badge-bg:var(--shop-warning-soft);--badge-color:var(--shop-warning-dark)}
.commerce-product-badges>b.free-shipping,.product-detail-badges>b.free-shipping{--badge-bg:var(--shop-success);--badge-color:var(--shop-on-primary)}

/* One integrated footer: newsletter, navigation and legal details share the palette. */
.site-footer.modern-footer{padding:0;background:var(--shop-footer);color:var(--shop-footer-text);overflow:visible;font-size:14px}.modern-footer>.container{max-width:1240px}.footer-subscribe{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:center;gap:64px;padding:44px 0 38px;border-bottom:1px solid color-mix(in srgb,var(--shop-footer-text) 15%,transparent)}.footer-subscribe-copy>span{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--shop-footer-muted)}.site-footer .footer-subscribe h2{max-width:530px;margin:8px 0 10px;color:var(--shop-footer-text);font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.035em}.site-footer .footer-subscribe p{margin:0;color:var(--shop-footer-muted);font-size:13px;line-height:1.6}.footer-subscribe-form{margin:0}.footer-subscribe-form>div{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 15px;border:1px solid color-mix(in srgb,var(--shop-footer-text) 22%,transparent);border-radius:11px;background:color-mix(in srgb,var(--shop-footer-text) 6%,var(--shop-footer))}.footer-subscribe-form svg{flex:0 0 20px;width:20px;height:20px;color:var(--shop-footer-muted)}.footer-subscribe-form input[type=email]{min-width:0;flex:1;width:100%;height:42px;padding:8px 0;border:0;border-radius:0;outline:0;background:transparent;color:var(--shop-footer-text);font-size:13px}.footer-subscribe-form input::placeholder{color:var(--shop-footer-muted)}.footer-subscribe-form button{display:flex;align-items:center;gap:15px;white-space:nowrap;height:42px;padding:0 17px;border:0;border-radius:7px;background:var(--shop-primary);color:var(--shop-on-primary);font-size:12px;font-weight:650}.footer-subscribe-form button:hover{background:var(--shop-primary-dark)}.footer-subscribe-form button span{font-size:18px}.footer-subscribe-form>small{display:block;margin-top:10px;color:var(--shop-footer-muted);font-size:10px}.footer-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(0,1fr));gap:48px;padding:40px 0 35px}.footer-wordmark{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--shop-footer-text)}.footer-wordmark>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--shop-footer-text) 30%,transparent);border-radius:11px;color:var(--shop-footer-text);font-size:21px;font-weight:600}.footer-wordmark img{max-width:120px;max-height:44px;object-fit:contain}.footer-wordmark strong{font-size:24px;font-weight:650;letter-spacing:-.045em}.site-footer .footer-identity>p{max-width:285px;margin:16px 0 20px;color:var(--shop-footer-muted);font-size:12px;line-height:1.8}.site-footer .footer-contact-link{display:inline-flex;align-items:center;gap:15px;color:var(--shop-footer-text);font-size:12px;text-decoration:none}.footer-contact-detail{display:block;width:fit-content;margin-top:9px;color:var(--shop-footer-muted)!important;font-size:11px;text-decoration:none}.footer-link-column{margin:0;padding:4px 0 0;border:0}.footer-link-column>summary{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px;padding:0;color:var(--shop-footer-text);font-size:12px;font-weight:650;letter-spacing:.015em;list-style:none;cursor:default}.footer-link-column>summary::-webkit-details-marker{display:none}.footer-link-column>summary>span{display:none}.site-footer.modern-footer .site-footer-menu{display:grid;gap:12px;padding:0}.site-footer.modern-footer .site-footer-menu a{display:block;width:fit-content;padding:0;color:var(--shop-footer-muted);font-size:12px;line-height:1.5;font-weight:400;text-decoration:none;transition:color .15s}.site-footer.modern-footer .site-footer-menu a:hover{color:var(--shop-footer-text);text-decoration:underline;text-underline-offset:4px}.footer-assurances{display:flex;align-items:center;flex-wrap:wrap;gap:30px;padding:20px 0;border-top:1px solid color-mix(in srgb,var(--shop-footer-text) 15%,transparent);border-bottom:1px solid color-mix(in srgb,var(--shop-footer-text) 15%,transparent)}.footer-assurances>span{display:inline-flex;align-items:center;gap:9px;color:var(--shop-footer-muted);font-size:11px}.footer-assurances svg{width:20px;height:20px;color:var(--shop-footer-text)}.footer-registry{display:flex;gap:10px;align-items:center;margin-left:auto;font-size:9px;color:var(--shop-footer-muted)}.footer-registry img{padding:4px;border-radius:5px;background:var(--shop-card);object-fit:contain}.footer-fineprint{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:22px 0 26px;color:var(--shop-footer-muted);font-size:10px}.footer-fineprint>small{font-size:10px}.footer-fineprint>div{display:flex;gap:20px}.site-footer .footer-fineprint a,.site-footer .footer-fineprint button{margin:0;padding:0;border:0;background:none;color:var(--shop-footer-muted);font-size:10px;font-family:inherit;text-decoration:none}.site-footer .footer-fineprint a:hover,.site-footer .footer-fineprint button:hover{color:var(--shop-footer-text);text-decoration:underline}.footer-currency{font-size:10px;white-space:nowrap}
@media(max-width:991px){.footer-subscribe{gap:30px;grid-template-columns:1fr 1fr}.footer-grid{gap:28px;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(0,1fr))}.site-footer .footer-subscribe h2{font-size:24px}.footer-fineprint{gap:14px}.footer-currency{display:none}}
@media(max-width:767px){.modern-footer>.container{padding:0 22px}.footer-subscribe{grid-template-columns:1fr;gap:23px;padding:30px 0}.site-footer .footer-subscribe h2{max-width:400px;font-size:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px;padding:30px 0}.footer-identity{grid-column:1/-1}.site-footer .footer-identity>p{max-width:420px;margin:12px 0 14px}.footer-assurances{gap:15px 22px}.footer-assurances>span{font-size:10px}.footer-registry{margin-left:0}.footer-fineprint{align-items:flex-start;flex-direction:column;padding:20px 0}}
@media(max-width:650px){.footer-grid{grid-template-columns:1fr;gap:0;padding-bottom:10px}.footer-identity{padding-bottom:25px}.footer-link-column{padding:0;border-top:1px solid color-mix(in srgb,var(--shop-footer-text) 15%,transparent)}.footer-link-column>summary{padding:16px 0;margin:0;cursor:pointer;font-size:13px}.footer-link-column>summary>span{display:block;font-size:20px;font-weight:400}.footer-link-column[open]>summary>span{transform:rotate(45deg)}.site-footer.modern-footer .footer-link-column:not([open]) .site-footer-menu{display:none!important}.site-footer.modern-footer .footer-link-column[open] .site-footer-menu{display:grid!important;padding:0 0 18px;gap:12px}.footer-subscribe-form>div{gap:8px;padding-left:11px}.footer-subscribe-form button{padding:0 12px;gap:10px}.footer-subscribe-form svg{display:none}.footer-assurances{display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer-assurances>span:last-of-type{grid-column:1/-1}.footer-fineprint>div{gap:22px}.footer-subscribe-copy>span{font-size:9px}}

:root{--bs-primary-rgb:var(--shop-primary-rgb);--bs-secondary-rgb:var(--shop-secondary-rgb);--bs-success-rgb:var(--shop-success-rgb);--bs-warning-rgb:var(--shop-warning-rgb);--bs-danger-rgb:var(--shop-danger-rgb);--bs-info-rgb:var(--shop-info-rgb);--bs-link-color-rgb:var(--shop-primary-rgb);--bs-link-hover-color-rgb:var(--shop-primary-dark-rgb);--bs-body-color-rgb:var(--shop-text-rgb);--bs-secondary-color:var(--shop-muted);--bs-emphasis-color:var(--shop-heading)}
.commerce-product-card :is(a,strong),.product-detail-info-card :is(label,strong){color:var(--shop-card-text)}
.site-footer.modern-footer .footer-subscribe-form input[type=email]{background:transparent!important;color:var(--shop-footer-text)!important;border:0!important;box-shadow:none!important;min-height:42px}.site-footer.modern-footer .footer-subscribe-form input[type=email]::placeholder{color:var(--shop-footer-muted)}.footer-subscribe-form>div:focus-within{border-color:var(--shop-footer-text)}.footer-subscribe-form button svg{width:16px;height:16px;flex:0 0 16px;color:var(--shop-on-primary)}
