:root {
  --color-primary:#182B38; --color-primary-dark:#172027;
  --color-slate:#3D4A50; --color-mineral-light:#AEBFC7;
  --color-background:#F2F5F6; --color-surface:#FFFFFF;
  --color-border:#DCE4E7; --color-accent:#B49158;
  --color-accent-hover:#967846; --color-text:#172027;
  --color-text-muted:#3D4A50; --color-text-light:#FFFFFF;
  --color-success:#3F7058; --color-warning:#956D32;
  --color-error:#B2383E; --color-info:#35677E;
  --focus-ring:0 0 0 3px rgba(174,191,199,.58);

  --color-secondary:var(--color-mineral-light);
  --color-bg:var(--color-background); --color-muted:var(--color-text-muted);
  --c-bg:var(--color-background); --c-surface:var(--color-surface);
  --c-border:var(--color-border); --c-primary:var(--color-primary);
  --c-accent:var(--color-accent); --c-accent-dk:var(--color-accent-hover);
  --c-text:var(--color-text); --c-muted:var(--color-text-muted);
  --c-success:var(--color-success); --c-warning:var(--color-warning);
  --c-error:var(--color-error); --c-info:var(--color-info);
}

html,body{background:var(--color-background);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-accent)!important;outline-offset:3px;box-shadow:var(--focus-ring)}
button:disabled,.btn:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.55)}

/* Public UI */
.site-header,.hero--no-img,.site-footer,.info-dialog__header{background:var(--color-primary)!important;color:var(--color-text-light)!important}
.hero__kicker,.footer-brand__eyebrow,.info-dialog__eyebrow,.footer-contacts svg{color:var(--color-accent)!important}
.hero__subtitle,.site-footer p,.site-footer address{color:var(--color-mineral-light)!important}
.menu-selector__title,.menu-overview,.menu-trail__current{color:var(--color-text)!important}
.menu-trail{background:var(--color-surface)!important;border-color:var(--color-border)!important}
.menu-trail__home,.menu-trail__menu,.menu-trail__current{color:var(--color-text-muted)!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important;text-decoration:none!important}
.menu-trail__menu.is-current,.menu-trail__current{color:var(--color-primary)!important;font-weight:800!important;background:transparent!important}
.menu-trail__progress span{background-color:var(--color-accent)!important}
.menu-trail__category{display:contents}.menu-trail__category[hidden]{display:none}
.menu-trail__separator{display:grid!important;width:18px!important;height:18px!important;flex:0 0 18px!important;place-items:center;background:transparent!important}
.menu-trail__separator svg{width:15px;height:15px;fill:none;stroke:var(--color-mineral-light);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.menu-card,.menu-card:nth-child(even),.category-block__summary,.category-block--tone-1 .category-block__summary,.category-block--tone-2 .category-block__summary,.category-block--tone-3 .category-block__summary{background:var(--color-mineral-light)!important;border-color:var(--color-border)!important;color:var(--color-text)!important;box-shadow:0 5px 18px rgba(23,32,39,.08)}
.menu-card__name,.category-block__title{color:var(--color-text)!important}.menu-card__desc,.category-block__description{color:var(--color-text-muted)!important}.category-block__meta,.category-block__chevron{color:var(--color-primary)!important}
.menu-card__arrow{background:var(--color-surface)!important;color:var(--color-primary)!important}
.category-block[open]{border-color:var(--color-mineral-light)!important;box-shadow:0 9px 28px rgba(23,32,39,.11)}
.category-block[open] .category-block__summary,.category-block[open] .category-block__content{background:var(--color-mineral-light)!important;border-color:var(--color-border)!important}
.category-block[open] .category-block__title{color:var(--color-text)!important}.category-block[open] .category-block__description{color:var(--color-text-muted)!important}.category-block[open] .category-block__meta,.category-block[open] .category-block__chevron{color:var(--color-primary)!important}
.category-block:not(:has(.product-card)){opacity:.62}.category-block:not(:has(.product-card)) .category-block__summary{cursor:not-allowed;pointer-events:none;background:color-mix(in srgb,var(--color-mineral-light) 55%,var(--color-surface))!important}
.product-card--menu,.product-card--tone-1,.product-card--tone-2{background:var(--color-surface)!important;border-color:var(--color-border)!important;box-shadow:0 2px 9px rgba(23,32,39,.06)}
.product-card--menu .product-card__name,.product-card--menu .product-card__price{color:var(--color-text)!important}.product-card--menu .product-card__desc{color:var(--color-text-muted)!important}
.allergen-pill,.product-card--menu .allergen-pill,.allergen-dialog-item{background:var(--color-background)!important;border-color:var(--color-border)!important;color:var(--color-text-muted)!important}.allergen-pill:focus,.allergen-pill.is-active{border-color:var(--color-accent)!important}
.allergen-pill--none{background:var(--color-border)!important}.allergen-dialog-item__icon{background:var(--color-mineral-light)!important;color:var(--color-primary)!important}
.page-utility--accent{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:var(--color-primary-dark)!important}.page-utility--accent:hover{background:var(--color-accent-hover)!important}
.page-utility,.category-nav__button,.category-nav__overview{background:var(--color-surface)!important;border-color:var(--color-mineral-light)!important;color:var(--color-text)!important}.page-utility:hover,.category-nav__button:hover,.category-nav__overview:hover{background:var(--color-background)!important}
.page-utility--back{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-text-light)!important}
.info-dialog{background:var(--color-surface)!important;color:var(--color-text)!important}.info-dialog__text,.allergen-dialog-item small{color:var(--color-text-muted)!important}
.footer-socials a{color:var(--color-text-light)!important;border-color:color-mix(in srgb,var(--color-mineral-light) 45%,transparent)!important}.footer-socials a:hover{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:var(--color-primary-dark)!important}.footer-links button:hover,.footer-credits a:hover{color:var(--color-accent)!important}

/* Admin UI */
.admin-sidebar{background:var(--color-primary)!important;color:var(--color-text-light)!important}.sidebar-link{color:var(--color-mineral-light)!important}.sidebar-link:hover,.sidebar-link.is-active{background:var(--color-primary-dark)!important;color:var(--color-text-light)!important}.sidebar-link.is-active::before{background:var(--color-accent)!important}.sidebar-section{color:color-mix(in srgb,var(--color-mineral-light) 72%,transparent)!important}
.admin-topbar{background:var(--color-surface)!important;border-color:var(--color-border)!important}.topbar-breadcrumb{color:var(--color-text-muted)!important}.topbar-breadcrumb strong,.topbar-breadcrumb a:hover{color:var(--color-primary)!important}
.platform-trail{background:var(--color-surface)!important;border-color:var(--color-border)!important}.platform-trail__item{color:var(--color-text-muted)!important}.platform-trail__item a:hover{color:var(--color-primary)!important}.platform-trail__current{color:var(--color-accent)!important}
.admin-main,.admin-content,.login-page{background:var(--color-background)!important}.card,.stat-card,.table-wrap,.modal,.dropdown-menu,.empty-state,.login-card{background:var(--color-surface)!important;border-color:var(--color-border)!important;box-shadow:0 3px 14px rgba(23,32,39,.07)!important}
.page-header__title,.card-title,.stat-value,.form-label,th{color:var(--color-text)!important}.page-header__subtitle,.stat-label,.form-help,td{color:var(--color-text-muted)!important}
table,thead,tbody,tr,td,th{border-color:var(--color-border)!important}thead th{background:var(--color-background)!important}tbody tr{background:var(--color-surface)!important}tbody tr:hover{background:var(--color-background)!important}.is-selected{background:color-mix(in srgb,var(--color-mineral-light) 32%,var(--color-surface))!important;box-shadow:inset 3px 0 var(--color-primary)!important}
.form-control,input,textarea,select{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-muted)!important;opacity:.78}.form-control:hover,input:hover,textarea:hover,select:hover{border-color:var(--color-mineral-light)!important}.form-control:focus,input:focus,textarea:focus,select:focus{border-color:var(--color-primary)!important;box-shadow:var(--focus-ring)!important}
.btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-text-light)!important}.btn-primary:hover{background:var(--color-primary-dark)!important}.btn-outline,.btn-secondary{background:var(--color-surface)!important;border-color:var(--color-mineral-light)!important;color:var(--color-text)!important}.btn-outline:hover,.btn-secondary:hover,.btn-ghost:hover{background:var(--color-background)!important}.btn-danger{background:var(--color-error)!important;color:var(--color-text-light)!important;border-color:var(--color-error)!important}
.tabs a.is-active,.tab.is-active{color:var(--color-text)!important;border-color:var(--color-accent)!important}.pagination .is-active{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--color-text-light)!important}
.badge-success{background:#E3EFE8!important;color:#2F5B44!important}.badge-warning{background:#F3E9D9!important;color:#75501E!important}.badge-error,.badge-danger{background:#F5E0E2!important;color:#8D282E!important}.badge-info{background:#E0ECF1!important;color:#28566B!important}
.alert-success{background:#E3EFE8!important;color:#2F5B44!important;border-color:#BCD4C5!important}.alert-warning{background:#F3E9D9!important;color:#75501E!important;border-color:#DBC49D!important}.alert-error{background:#F5E0E2!important;color:#8D282E!important;border-color:#DEB4B8!important}.alert-info{background:#E0ECF1!important;color:#28566B!important;border-color:#B7CFDA!important}
.modal-overlay{background:rgba(23,32,39,.68)!important}.spinner,.loading-spinner{border-color:var(--color-border)!important;border-top-color:var(--color-accent)!important}.dropdown-menu a:hover,.dropdown-menu button:hover{background:var(--color-background)!important}

@media (max-width:640px){.site-footer{padding:24px 16px 18px!important}.footer-inner{gap:0!important}.footer-brand,.footer-brand--centered{margin:0!important}.footer-contacts{margin-top:16px!important;gap:7px!important}.footer-socials{margin-top:14px!important}.footer-links{margin-top:14px!important}.footer-legal-ids{margin-top:9px!important}.footer-credits{margin-top:14px!important;padding-top:12px!important}}


/* ============================================================
   MENULLO SHARED THEME — proposta 01 — 2026-08-24.2
   Sorgente cromatica centrale per pubblico, admin e login
   ============================================================ */
:root{
  --color-primary:#1D1D1B;
  --color-primary-dark:#111111;
  --color-slate:#5E6875;
  --color-mineral-light:#C6D9F5;
  --color-background:#F4F7FC;
  --color-surface:#FFFFFF;
  --color-border:#D9E4F2;
  --color-accent:#0067FE;
  --color-accent-hover:#0056D6;
  --color-text:#1D1D1B;
  --color-text-muted:#5E6875;
  --color-text-light:#FFFFFF;
  --color-info:#0067FE;
  --focus-ring:0 0 0 3px rgba(0,103,254,.22);
  --color-secondary:#EAF2FF;
  --color-bg:#F4F7FC;
  --color-muted:#5E6875;
  --c-bg:#F4F7FC;
  --c-surface:#FFFFFF;
  --c-border:#D9E4F2;
  --c-primary:#1D1D1B;
  --c-accent:#0067FE;
  --c-accent-dk:#0056D6;
  --c-text:#1D1D1B;
  --c-muted:#5E6875;
  --c-info:#0067FE;
}
html,body,.admin-main,.admin-content,.login-page{background:#F4F7FC!important;color:#1D1D1B!important}

/* Menù pubblico */
.menu-card,.menu-card:nth-child(even),
.category-block__summary,
.category-block--tone-1 .category-block__summary,
.category-block--tone-2 .category-block__summary,
.category-block--tone-3 .category-block__summary,
.category-block[open] .category-block__summary{
  background:#0067FE!important;
  border-color:#0067FE!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,103,254,.18)!important;
}
.menu-card:hover{background:#0056D6!important;border-color:#0056D6!important}
.menu-card__name,.menu-card__desc,.category-block__title,
.category-block__description,.category-block__meta,.category-block__chevron,
.category-block[open] .category-block__title,
.category-block[open] .category-block__description,
.category-block[open] .category-block__meta,
.category-block[open] .category-block__chevron{color:#fff!important}
.menu-card__desc,.category-block__description,.category-block__meta{opacity:.78}
.menu-card__arrow{background:rgba(255,255,255,.18)!important;color:#fff!important}
.category-block[open]{border-color:#0067FE!important}
.category-block[open] .category-block__content{background:#1D1D1B!important;border-color:#1D1D1B!important}
.product-card--menu,.product-card--tone-1,.product-card--tone-2{background:#fff!important;border-color:#D9E4F2!important;color:#1D1D1B!important}
.product-card--menu .product-card__name{color:#1D1D1B!important}
.product-card--menu .product-card__price{color:#0067FE!important}
.product-card--menu .product-card__desc{color:#5E6875!important}
.allergen-pill,.product-card--menu .allergen-pill,.allergen-dialog-item{background:#EAF2FF!important;border-color:#C6D9F5!important;color:#31577F!important}
.menu-trail__menu.is-current,.menu-trail__current{color:#0067FE!important}
.menu-trail__progress span{background:#0067FE!important}
.page-utility--accent,.page-utility--back{background:#0067FE!important;border-color:#0067FE!important;color:#fff!important}
.allergen-fab{background:#0067FE!important;border-color:#0067FE!important}
.allergen-fab__icon{background:#fff!important;color:#0067FE!important}
.footer-brand__eyebrow,.footer-contacts svg,.footer-links button:hover,.footer-credits a:hover{color:#7DB0FF!important}
.footer-socials a:hover{background:#0067FE!important;border-color:#0067FE!important;color:#fff!important}

/* Amministrazione e login */
.admin-sidebar{background:#1D1D1B!important}
.sidebar-link:hover{background:rgba(0,103,254,.12)!important;color:#fff!important}
.sidebar-link.is-active{background:rgba(0,103,254,.22)!important;color:#fff!important}
.sidebar-link.is-active::before{background:#0067FE!important}
.topbar-avatar{background:#0067FE!important;color:#fff!important}
.platform-trail__current,.platform-trail__item a:hover{color:#0067FE!important}
.btn-primary,.btn-dark{background:#0067FE!important;border-color:#0067FE!important;color:#fff!important}
.btn-primary:hover,.btn-dark:hover{background:#0056D6!important;border-color:#0056D6!important}
.form-control:focus,input:focus,textarea:focus,select:focus{border-color:#0067FE!important;box-shadow:var(--focus-ring)!important}
.pagination .is-active,.pagination .is-current{background:#0067FE!important;border-color:#0067FE!important;color:#fff!important}
.tabs a.is-active,.tab.is-active{color:#1D1D1B!important;border-color:#0067FE!important}
