/* Public storefront themes. Product photos and flag colours stay true to the originals. */
:root { color-scheme: light; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 44px;
  padding: .5rem .75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper-soft);
  color: var(--ink);
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}
.theme-toggle svg { width: 20px; height: 20px; flex-shrink: 0; }
.theme-toggle:hover { border-color: var(--brown); }
.theme-toggle:focus-visible { outline: 3px solid var(--sage-deep); outline-offset: 3px; }
[data-theme="dark"] .theme-toggle { border-color: var(--sage-deep); background: #334436; }

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f6eadb;
  --text: #d9c9b8;
  --muted: #bfae9c;
  --paper: #211d19;
  --paper-soft: #2c2621;
  --brown: #f0caa1;
  --sage-deep: #b0d0a9;
  --line: rgba(235, 210, 180, .24);
  --shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
[data-theme="dark"] body {
  background: radial-gradient(circle at 86% 0%, #46332488, transparent 26rem),
    radial-gradient(circle at 0% 52%, #33423255, transparent 24rem),
    linear-gradient(180deg, #1a1714, #231e19 52%, #181613);
}
[data-theme="dark"] body::before { opacity: .08; filter: invert(1); }
[data-theme="dark"] .site-header { background: rgba(29, 25, 21, .94); border-color: var(--line); }
[data-theme="dark"] :is(.mini-product, .category-card, .product-card, .process-list article,
  .cart-preview, .category-hero-card, .cart-empty, .cart-note, .cart-item, .checkout-form,
  .site-footer, .cart-link, .cart-remove, .button.secondary, .modal-close,
  .image-lightbox-close, .image-lightbox-meta, .gallery-badge, .image-lightbox-panel) {
  background: var(--paper-soft);
  border-color: var(--line);
}
[data-theme="dark"] :is(.language-switch a[aria-current="true"], .language-switch a:hover) {
  background: var(--paper-soft);
}
[data-theme="dark"] :is(.button.primary, .skip-link) { background: #e9bc8c; color: #241a12; }
[data-theme="dark"] :is(.cart-count, .video-badge, .process-list article > span) {
  background: #45634b;
  color: #fff4e8;
}
[data-theme="dark"] :is(.card-label, .status, .eyebrow) {
  background: #44382c;
  color: #f3d5b2;
  border-color: var(--line);
}
[data-theme="dark"] .modal-panel { border-color: var(--line); }
[data-theme="dark"] :is(.modal-backdrop, .image-lightbox-backdrop) { background: rgba(0, 0, 0, .78); }
[data-theme="dark"] :is(.comment-field textarea, .cart-item textarea, .checkout-form input, .checkout-form textarea) {
  background: #1d1916;
  color: var(--ink);
  border-color: #80705e;
}
[data-theme="dark"] ::placeholder { color: var(--muted); opacity: 1; }
[data-theme="dark"] .order-panel { background: #343026; border-color: var(--line); }
[data-theme="dark"] .cart-inner .cart-reservation-warning {
  background: #3b2d19;
  color: #ffe2ac;
  border-color: #c18e49;
}
[data-theme="dark"] :is(a, button, input, textarea):focus-visible {
  outline: 3px solid #b0d0a9;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
