/* Store layouts inherit the merchant's six root colors. Layout presets never reset them. */
:is(.store-page, .merchant-privacy-page) {
  --store-surface: color-mix(in srgb, var(--paper) 94%, var(--on-paper) 6%);
  --store-soft: color-mix(in srgb, var(--paper) 90%, var(--on-paper) 10%);
  --store-line: color-mix(in srgb, var(--on-paper) 18%, transparent);
  --store-muted: color-mix(in srgb, var(--on-paper) 80%, var(--paper) 20%);
  --store-highlight-text: color-mix(in srgb, var(--primary) 35%, var(--on-paper) 65%);
  --ink: var(--on-paper);
  --clay: var(--primary);
  --cream: var(--paper);
  --line: var(--store-line);
  background: var(--paper);
  color: var(--on-paper);
  accent-color: var(--primary);
  color-scheme: normal;
}
.store-page .shop-products,
.theme-atelier.store-page .shop-products,
.theme-cinema.store-page .shop-products,
.store-page .product-page-main {
  background: var(--paper);
  color: var(--on-paper);
  border-color: var(--store-line);
}
.store-page .shop-card,
.theme-cinema.store-page .shop-card {
  background: var(--store-surface);
  color: var(--on-paper);
  border-color: var(--store-line);
  box-shadow: 0 16px 38px color-mix(in srgb, var(--on-paper) 8%, transparent);
}
.store-page.cards-clean .shop-card,
.theme-minimal.store-page .shop-card { background: transparent; }
.store-page .shop-products > header,
.theme-editorial.store-page .shop-products > header,
.theme-minimal.store-page .shop-products > header,
.store-page .product-facts,
.store-page .product-facts > div,
.store-page .related-products,
.theme-cinema.product-page .product-reviews,
.store-page .product-reviews,
.store-page .product-back { border-color: var(--store-line); }
.store-page .shop-products > header p,
.store-page .shop-card p,
.store-page .variant-picker span,
.store-page .catalog-empty,
.store-page .cart-empty,
.store-page .cart-rule,
.store-page .product-description,
.store-page .product-back,
.store-page .product-facts dt,
.store-page .related-products span,
.theme-cinema.store-page .shop-products > header p,
.theme-cinema.store-page .shop-card p,
.theme-cinema.store-page .variant-picker span,
.theme-cinema.product-page .product-description,
.theme-cinema.product-page .product-back,
.theme-cinema.product-page .product-facts dt,
.store-page .shop-social > header p { color: var(--store-muted); }
.store-page .shop-products header > span,
.store-page .shop-card small,
.store-page .product-card-link,
.store-page .product-eyebrow,
.store-page .related-products > header span,
.store-page .flavor-dna header > span,
.store-page .shop-social > header span { color: var(--store-highlight-text); }
.store-page .shop-story,
.theme-cinema.store-page .shop-story {
  background: var(--primary);
  color: var(--on-primary);
}
.theme-kinetic.store-page .shop-story { background: var(--accent); color: var(--on-accent); }
.store-page .shop-footer,
.theme-cinema.store-page .shop-footer { background: var(--primary); color: var(--on-primary); border-top: 1px solid color-mix(in srgb, var(--on-primary) 20%, transparent); }
.store-page .shop-card footer button,
.store-page .product-purchase .cta,
.store-page .cart .cta,
.store-page .cart .btn,
.store-page .match-submit { background: var(--primary); color: var(--on-primary); }
.store-page.buttons-outline .shop-card footer button { background: transparent; color: var(--store-highlight-text); border-color: var(--primary); }
.store-page .shop-nav { color: #fff; text-shadow: 0 1px 12px #0008; }
.store-page.nav-solid .shop-nav,
.theme-minimal.store-page .shop-nav,
.product-page .product-nav,
.theme-cinema.product-page .product-nav {
  background: var(--paper);
  color: var(--on-paper);
  border-color: var(--store-line);
  text-shadow: none;
}
.store-page.nav-solid .cart-open,
.theme-minimal.store-page .cart-open,
.product-page .product-nav .cart-open,
.theme-cinema.product-page .product-nav .cart-open { color: var(--on-paper); border-color: var(--store-line); }
.store-page .cart,
.store-page .coffee-match { background: var(--paper); color: var(--on-paper); border-color: var(--store-line); }
.store-page .cart-x { color: var(--on-paper); }
.store-page .cart-item { border-color: var(--store-line); }
.store-page .cart :is(input, select, textarea),
.store-page .variant-picker select,
.store-page .catalog-tools input,
.store-page .coffee-meta span,
.theme-cinema.store-page .variant-picker select,
.theme-cinema.store-page .catalog-tools input,
.theme-cinema.store-page .coffee-meta span { background: var(--store-surface); color: var(--on-paper); border-color: var(--store-line); }
.store-page input::placeholder,
.store-page textarea::placeholder { color: var(--store-muted); opacity: 1; }
.store-page :is(input, select, textarea, button, a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.store-page .category-filters button,
.theme-cinema.store-page .category-filters button { color: var(--on-paper); border-color: var(--store-line); }
.store-page .category-filters button.active,
.theme-cinema.store-page .category-filters button.active { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.store-page .category-filters button small { color: inherit; background: color-mix(in srgb, currentColor 12%, transparent); }
.store-page .product-main-image,
.theme-cinema.product-page .product-main-image { background: var(--store-soft); }
.store-page .flavor-dna,
.theme-cinema .flavor-dna { background: var(--store-surface); border-color: var(--store-line); }
.store-page .flavor-bars i,
.theme-cinema .flavor-bars i { background: var(--store-soft); }
.store-page .flavor-bars em,
.theme-cinema .flavor-bars em { color: var(--store-muted); }
.store-page .coffee-match-launch,
.theme-cinema .coffee-match-launch { color: var(--on-paper); background: color-mix(in srgb, var(--accent) 17%, var(--paper)); border-color: var(--store-line); }
.store-page .coffee-match > header { background: var(--primary); color: var(--on-primary); border-color: color-mix(in srgb, var(--on-primary) 20%, transparent); }
.store-page .coffee-match > header > span,
.store-page .coffee-match > header p,
.store-page .match-result > span,
.store-page .match-result p,
.store-page .match-result a { color: inherit; border-color: currentColor; }
.store-page .coffee-match fieldset label small { color: var(--store-muted); }
.store-page .match-result { background: var(--primary); color: var(--on-primary); }
.store-page .review-list article { background: var(--store-surface); border-color: var(--store-line); }
.store-page .review-form input::placeholder,
.store-page .review-form textarea::placeholder { color: color-mix(in srgb, var(--on-primary) 80%, var(--primary)); }
.store-page .review-form .form-error { color: var(--on-primary); }
.store-page .product-stock,
.store-page .product-stock.out { color: var(--store-muted); }
.store-page .benefit-instructions { background: var(--store-surface); color: var(--on-paper); border-color: var(--store-line); }
.store-page .benefit-instructions > span,
.store-page .benefit-instructions em { color: var(--store-highlight-text); }
.store-page .benefit-instructions p { border-color: var(--store-line); }
.store-page .benefit-instructions p small { color: var(--store-muted); }
.store-page.cards-elevated .shop-card { box-shadow: 0 20px 45px color-mix(in srgb, var(--on-paper) 10%, transparent); }
.store-page.cards-elevated .shop-card:hover { box-shadow: 0 28px 60px color-mix(in srgb, var(--on-paper) 15%, transparent); }
.store-page .shop-social { background: var(--store-surface); color: var(--on-paper); }
.store-page .shop-social-item { background: var(--primary); }
.store-page .shop-social-item > i { background: var(--accent); color: var(--on-accent); }
.merchant-privacy-page .legal-nav { background: var(--paper); color: var(--on-paper); border-color: var(--store-line); }
.merchant-privacy-page .legal-shell > header { border-color: var(--store-line); }
.merchant-privacy-page .legal-shell > header > span,
.merchant-privacy-page .legal-content h2 { color: var(--store-highlight-text); }
.merchant-privacy-page .legal-shell > header p,
.merchant-privacy-page .legal-content p { color: var(--store-muted); }
.merchant-privacy-page .legal-shell > aside { background: var(--store-surface); color: var(--on-paper); border-color: var(--store-line); }
.merchant-privacy-page .legal-shell > aside b { color: var(--store-highlight-text); }
.merchant-privacy-page .legal-shell > aside p { color: var(--store-muted); }
.merchant-privacy-page .legal-content section { border-color: var(--store-line); }
.merchant-privacy-page .legal-footer { background: var(--primary); color: var(--on-primary); }
.merchant-privacy-page .legal-footer a { color: inherit; }
