/* ============================================================
   Leggibilità menu cliente — contrasto e token mancanti
   Caricare DOPO themes.css su ogni pagina layout.
   ============================================================ */

/* Evita che il dark mode di sistema sovrascriva i temi chiari */
:root[data-theme="base"],
:root[data-theme="vas"],
:root[data-theme="orange"] {
  color-scheme: light;
}

:root[data-theme="elegant"],
:root[data-theme="blue-dark"],
:root[data-theme="aurora"] {
  color-scheme: dark;
}

/* Fallback token usati da componenti sparsi */
:root[data-theme] {
  --color-text-inv: var(--color-primary-ink);
  --color-primary-light: color-mix(in oklab, var(--color-primary), var(--color-surface) 82%);
  --color-muted-ink: var(--color-text-weak);
}

:root[data-theme="elegant"],
:root[data-theme="blue-dark"],
:root[data-theme="aurora"] {
  --color-text-inv: var(--color-text);
  --color-primary-light: color-mix(in oklab, var(--color-primary), var(--color-elev) 72%);
}

/* Tipografia base più leggibile su mobile */
html[data-theme] body {
  font-size: clamp(15px, 3.6vw, 16px);
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

html[data-theme] h1,
html[data-theme] h2,
html[data-theme] h3,
html[data-theme] h4,
html[data-theme] h5 {
  color: var(--color-text);
  line-height: 1.25;
}

html[data-theme] p,
html[data-theme] .sottotitolo-piatti,
html[data-theme] .special-page__subtitle,
html[data-theme] .menu-fisso-card__footnote {
  color: var(--color-text-weak);
}

/* Placeholder input leggibili */
html[data-theme] ::placeholder {
  color: color-mix(in oklab, var(--color-text-weak), var(--color-text) 28%);
  opacity: 1;
}

/* Banner home / categorie */
.img-header-banner {
  background-color: var(--color-muted) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

/* Badge tavolo nel carrello */
.cart-tavolo-badge {
  background: color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));
  color: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
}

/* Titoli piatti — niente colore fisso legacy */
.rows-nome-piatto {
  color: var(--color-text) !important;
}

/* Disponibilità piatti */
.pallino.verde,
.verde.pallino {
  background: var(--success-500) !important;
  background-color: var(--success-500) !important;
}

.pallino.rosso,
.rosso.pallino {
  background: var(--danger-500) !important;
  background-color: var(--danger-500) !important;
}

/* Footer coerente col tema (non nero fisso) */
.container-footer {
  background: var(--color-elev);
  color: var(--color-text);
}

.container-footer a {
  color: var(--color-primary);
}

/* Intestazioni card categorie */
.header-category {
  color: var(--color-text);
  background: var(--color-primary-light, var(--color-muted));
  border-bottom: 1px solid var(--color-border);
}

/* Prezzi e CTA */
.prezzo-piatto,
.rows-prezzo,
.text-totale-carello {
  color: var(--color-primary);
}

.btn-action-add-to-cart:disabled {
  background: var(--color-muted);
  color: var(--color-text-weak);
  border: 1px solid var(--color-border);
}

/* Nav bottom — icone sempre visibili */
.container-menu-buttom .icon-footer {
  color: var(--color-text);
}

.container-menu-buttom .language,
.container-menu-buttom .text-lingua {
  color: var(--color-text);
}

/* Striscia navigazione back/forward */
.nav-history-strip,
.btn-history {
  background: var(--color-surface);
  color: var(--color-text);
}

/* Menu fissi — testo secondario coerente col tema */
.menu-fissi-header p,
.menu-fisso-card__meta,
.menu-fisso-card__note,
.menu-fisso-card__footnote,
.menu-fisso-card__state-label,
.menu-fisso-card__price small,
.menu-fisso-card__options--empty {
  color: var(--color-text-weak);
}

.menu-fisso-card__status {
  background: var(--success-500);
}

/* Popup / modali cliente */
.menu-notif-modal__backdrop,
.dettaglio-overlay {
  background: hsl(var(--shadow-color) / 0.45);
}

.menu-notif-item,
.menu-notif-modal__content {
  background: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

.menu-notif-item {
  background: var(--color-elev);
}

.menu-notif-item__title {
  color: var(--color-text);
}

.menu-notif-item__time {
  color: color-mix(in oklab, var(--color-text-weak), var(--color-text) 45%);
}

.menu-notif-item__text {
  color: color-mix(in oklab, var(--color-text-weak), var(--color-text) 28%);
}

.menu-notif-modal__subtitle {
  color: color-mix(in oklab, var(--color-text-weak), var(--color-text) 35%);
}

/* Carrello drawer */
.cart,
.cart-footer,
.closed-cart {
  background: var(--color-surface);
  color: var(--color-text);
}

.closed-cart {
  background: var(--color-primary);
  color: var(--color-primary-ink);
}

.rows-article {
  background: var(--color-muted);
  border-color: var(--color-border);
  color: var(--color-text);
}

.rows-selezioni__item,
.rows-selezioni__label {
  color: var(--color-text-weak);
}

/* Dark: testo secondario un filo più chiaro */
:root[data-theme="elegant"] {
  --color-text-weak: #c8c8c8;
}

:root[data-theme="blue-dark"] {
  --color-text-weak: hsl(210 18% 76%);
}

:root[data-theme="aurora"] {
  --color-text-weak: hsl(180 18% 78%);
}

/* Light: testo secondario più scuro (WCAG su surface) */
:root[data-theme="base"] {
  --color-text-weak: #4b5563;
}

:root[data-theme="vas"] {
  --color-text-weak: #4a4f5c;
}

:root[data-theme="orange"] {
  --color-text-weak: hsl(20 18% 32%);
}
