/* BrandTheme supplies the global colors from Admin > Settings. */
:root {
    --bg-main:var(--background-color);
    --bg-soft:var(--soft-color);
    --surface:var(--surface-color);
    --primary:var(--primary-color);
    --primary-dark:var(--primary-hover-color);
    --text-main:var(--text-color);
    --text-secondary:var(--muted-color);
    --border:var(--border-color);
    --organic-green:var(--organic-green-color);
    --sale-red:var(--danger-color);
    --ink:var(--text-color);
    --muted:var(--muted-color);
    --line:var(--border-color);
    --paper:var(--background-color);
    --white:var(--surface-color);
    --blue:var(--primary-color);
    --green:var(--primary-color);
    --gold:var(--accent-color);
    --danger:var(--danger-color);
    --premium-blue-soft:var(--soft-color);
    --premium-mint:var(--soft-color);
    --premium-warm:var(--soft-color);
    --premium-shadow:0 18px 52px color-mix(in srgb,var(--text-color) 9%,transparent);
    --premium-shadow-soft:0 10px 28px color-mix(in srgb,var(--text-color) 7%,transparent);
}
body { background:var(--background-color); color:var(--text-color); }
.site-header,.site-header .site-nav { background:var(--navbar-color); }
.cart-drawer-panel { background:var(--surface); }
.announcement-bar { background:var(--text-main); color:var(--on-primary-color); }
.button-primary { background:var(--primary); color:var(--on-primary-color); }
.button-primary:hover { background:var(--primary-hover-color); color:var(--on-primary-color); }
.site-footer { background:var(--text-main); color:var(--on-primary-color); }
.storefront-hero .splide__pagination__page { opacity:.4; }
.storefront-hero .splide__pagination__page.is-active { opacity:1; }
.auth-shell .premium-auth-panel .button { color:var(--on-primary-color); }
.seller-card .seller-cart-form button:not(:disabled),.marketplace-detail .reference-actions .button:not(:disabled) { background:var(--accent-color); color:var(--on-accent-color); border-color:var(--accent-color); }
.seller-card .seller-cart-form button:not(:disabled):hover,.marketplace-detail .reference-actions .button:not(:disabled):hover { background:var(--accent-hover-color); }
.block-text-marquee { --marquee-bg:var(--soft-color)!important; --marquee-color:var(--text-color)!important; }
.block-license-marquee { --license-bg:var(--soft-color)!important; }
.block-promo-products { --promo-products-bg:var(--soft-color)!important; }
.block-customer-reviews { --reviews-bg:var(--background-color)!important; --reviews-accent:var(--primary-color)!important; }
.block-blog-cards { --blogs-bg:var(--background-color)!important; --blogs-accent:var(--primary-color)!important; }

/* Color roles only: preserve every component's existing geometry and typography. */
.site-nav>a,.header-icon-button,.brand-name,.brand-monogram { color:var(--text-main); }
.site-nav>a:hover,.site-nav>a.active,.site-nav>a[aria-current="page"] { color:var(--primary); }
.header-icon-button:hover { color:var(--primary-dark); background:var(--bg-soft); }
.storefront-hero .slider-content h1,.storefront-hero .slider-content h2,
.pantry-hero h1,.auth-copy h1,.section-heading h2,.page-title h1 { color:var(--text-main); }
.eyebrow,.product-kicker,.breadcrumbs,.storefront-hero .slider-content .eyebrow,.auth-copy .eyebrow { color:var(--primary-dark); }
.storefront-hero .slider-content p,.pantry-hero p { color:var(--text-secondary); }
.storefront-hero .slider-button { background:var(--primary); color:var(--on-primary-color); }
.storefront-hero .slider-button:hover { background:var(--primary-dark); color:var(--on-primary-color); }
.storefront-hero .organic-slider .splide__arrow,.storefront-hero .splide__toggle { color:var(--primary-dark); }
.seller-card,.collection-product-grid .seller-card { background:var(--surface); border-color:var(--border); }
.seller-card .seller-name,.seller-card .seller-price strong { color:var(--text-main); }
.seller-regular,.seller-card .seller-compare,.product-price del { color:var(--old-price-color); }
.seller-price-discount,.seller-discount { color:var(--sale-red); }
.product-tabs-nav button { color:var(--text-secondary); }
.product-tabs-nav button.active,.product-tabs-nav button[aria-selected="true"] { color:var(--primary-dark); border-color:var(--primary); }
.product-tabs-nav button:hover { color:var(--primary-dark); }
.product-tabs-nav button.active::after,.product-tabs-nav button[aria-selected="true"]::after { background-color:var(--primary); }
.site-footer h2,.site-footer h3,.site-footer .brand-name,.site-footer .brand-monogram,
.site-footer .footer-contact-link,.site-footer a { color:var(--on-primary-color); }
.site-footer p,.site-footer .footer-link-list a,.site-footer-bottom { color:var(--footer-secondary-color); }
.site-footer a:hover,.site-footer .footer-link-list a:hover { color:var(--primary); }
.site-footer-bottom { border-color:var(--text-secondary); }
:focus-visible { outline-color:var(--primary-dark); }
.auth-shell .premium-auth-panel input:focus { outline-color:var(--primary-dark); border-color:var(--primary-dark); }
.organic-highlight,.organic-badge,.store-promises .lucide { color:var(--organic-green); }

/* Shopping clarity: dark readable content, restrained gold accents and clear actions. */
.checkout-card-head h2,.checkout-summary-card h2,.cart-total-card h2,
.cart-section-head h2,.account-profile-card h2,.account-orders-card h2,
.checkout-form-card label,.premium-auth-panel label,
.checkout-item b,.cart-line-total,.summary-total { color:var(--text-main); }
.summary-line { color:var(--text-secondary); }
.summary-line.muted span:last-child { color:var(--organic-green); }
.checkout-edit-cart,.cart-inline-link { color:var(--primary-dark); }
.checkout-form-card :is(input,select,textarea),.premium-auth-panel input {
    border-color:var(--border); color:var(--text-main); background:var(--surface);
}
.checkout-form-card :is(input,select,textarea):focus,
.premium-auth-panel input:focus {
    border-color:var(--primary-dark); outline:2px solid var(--primary-dark); outline-offset:2px;
}
.button-primary,.storefront-hero .slider-button,
.seller-card .seller-cart-form button:not(:disabled),
.marketplace-detail .reference-actions .button:not(:disabled),
.checkout-submit,.auth-shell .premium-auth-panel .button {
    background:var(--primary-dark); color:var(--on-primary-color); border-color:var(--primary-dark);
    min-height:44px;
}
.button-primary:hover,.storefront-hero .slider-button:hover,
.seller-card .seller-cart-form button:not(:disabled):hover,
.marketplace-detail .reference-actions .button:not(:disabled):hover,
.checkout-submit:hover,.auth-shell .premium-auth-panel .button:hover {
    background:var(--text-main); color:var(--on-primary-color); border-color:var(--text-main);
}
.seller-card,.collection-product-grid .seller-card {
    border-radius:14px; box-shadow:0 2px 12px color-mix(in srgb,var(--text-main) 5%,transparent);
}
.seller-card:hover { box-shadow:0 4px 18px color-mix(in srgb,var(--text-main) 10%,transparent); }
.seller-card .seller-image { border-radius:14px 14px 0 0; }
.seller-card .seller-name {
    white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
    line-height:1.5; min-height:3em; font-weight:600;
}
.seller-card .pack-choices legend { font-size:12px; color:var(--text-secondary); }
.pack-choice span { font-weight:600; }
.pack-choice input:checked + span {
    color:var(--text-main); background:var(--bg-soft); border-color:var(--primary-dark);
    box-shadow:inset 0 0 0 1px var(--primary-dark);
}
.pack-choice input:checked + span::before { background:var(--primary-dark); border-color:var(--primary-dark); }
.product-tabs-nav button { min-height:44px; }
@media(max-width:600px) {
    .header-icon-button { min-width:44px; min-height:44px; }
    .checkout-form-card :is(input,select,textarea),.premium-auth-panel input { font-size:16px; }
}

.pack-choice .pack-label-full { font-weight:inherit; }
.pack-choice .pack-label-compact { display:none; }
@media(max-width:600px) {
    .seller-card .seller-card-body { padding:10px; gap:7px; }
    .seller-card .seller-price { flex-wrap:wrap; gap:5px; }
    .seller-card .seller-price strong { font-size:18px; }
    .seller-card .seller-price-discount { font-size:13px; }
    .seller-card .seller-regular { font-size:10px; }
    .seller-card .pack-choice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    .seller-card .pack-choice:only-child { grid-column:1/-1; }
    .seller-card .pack-choice span { padding:5px; min-height:44px; gap:0; border-radius:8px; }
    .seller-card .pack-choice span::before { display:none; }
    .seller-card .pack-label-full { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .seller-card .pack-label-compact { display:block; font-size:11px; font-weight:600; line-height:1.35; }
    .seller-card .pack-choices legend { font-size:11px; margin-bottom:5px; }
    .seller-card .seller-cart-form { gap:8px; }
    .seller-card .seller-cart-form button { border-radius:10px; font-size:12px; gap:5px; }
}

.seller-card .seller-view-product { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin-top:8px; padding:10px; border-radius:10px; background:var(--primary-dark); color:var(--on-primary-color); text-decoration:none; font-size:13px; font-weight:600; }
.seller-card .seller-view-product:hover { background:var(--text-main); }
.seller-card .seller-view-product:focus-visible { outline:2px solid var(--primary-dark); outline-offset:3px; }
.seller-view-product .lucide { width:16px; height:16px; }
.marketplace-detail .pack-card-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; overflow:visible; padding:3px; }
.marketplace-detail .pack-card-option { display:flex; flex-direction:column; align-items:stretch; gap:0; position:relative; padding:0; min-height:0; overflow:hidden; border:1px solid var(--border); border-radius:10px; background:var(--surface); text-align:left; cursor:pointer; }
.marketplace-detail .pack-card-option input { position:absolute; width:1px; height:1px; opacity:0; }
.marketplace-detail .pack-card-option>strong { display:block; margin:0; padding:12px; min-height:60px; border-bottom:1px solid var(--border); color:var(--text-main); font-size:14px; line-height:1.35; background:var(--bg-main); }
.marketplace-detail .pack-card-option>span { margin:0; padding:10px 12px 4px; font-size:15px; font-weight:600; color:var(--text-main); }
.marketplace-detail .pack-card-option .pack-original-price { padding:0 12px; color:var(--text-secondary); font-size:12px; }
.marketplace-detail .pack-card-option>small { margin:0; padding:4px 12px 10px; color:var(--primary-dark); font-size:12px; }
.marketplace-detail .pack-card-option:has(input:checked) { border-color:var(--primary-dark); box-shadow:0 0 0 2px var(--primary-dark); }
.marketplace-detail .pack-card-option:has(input:checked)>strong { background:var(--bg-soft); }
.marketplace-detail .pack-card-option:has(input:focus-visible) { outline:2px solid var(--text-main); outline-offset:4px; }
.marketplace-detail .pack-card-option:has(input[data-stock="0"]) { border-style:dashed; }
