/* Sabbia: finitura condivisa da gestionale, cassa, tablet e cucina.
   La chiave salina resta invariata per conservare le preferenze salvate.
   Solo comandi, non campi/dati: colori operativi e geometria restano loro. */
:root[data-tema="salina"]{
  --font-comando:15.5px;--font-comando-forte:16px;
  --font-comando-mini:14.5px;--font-selettore:16px;--font-articolo:15.5px;
  --sabbia-neutro-inizio:#F0E7D9;--sabbia-neutro-fine:#D3C3AA;
  --sabbia-scelto-inizio:#335D71;--sabbia-scelto-fine:#244C6D;
  --sabbia-scelto-testo:#FFFFFF;--sabbia-bordo:#465C6B;
  --sabbia-spento-inizio:#687880;--sabbia-spento-fine:#40515C;
  --sabbia-acceso-inizio:#2A5B56;--sabbia-acceso-fine:#1B4832;
  --sabbia-pomello:#F0E7D9;
  --sabbia-conti-testo:#193E59;--sabbia-conti-inizio:#E8E0D4;--sabbia-conti-fine:#C6CFD0;
  --sabbia-sala-testo:#1B4832;--sabbia-sala-inizio:#EBE6D6;--sabbia-sala-fine:#C3CFBA;
  --sabbia-neutro:linear-gradient(135deg,var(--sabbia-neutro-inizio),var(--sabbia-neutro-fine));
  --sabbia-scelto:linear-gradient(135deg,var(--sabbia-scelto-inizio),var(--sabbia-scelto-fine));
  --sabbia-spento:linear-gradient(135deg,var(--sabbia-spento-inizio),var(--sabbia-spento-fine));
  --sabbia-acceso:linear-gradient(135deg,var(--sabbia-acceso-inizio),var(--sabbia-acceso-fine));
  --fondo-comando:var(--sabbia-neutro);
}

/* Centrare il comando, non i prezzi, le righe cucina o i campi del modulo.
   Non convertire in flex le card composte: hanno gia' la propria griglia. */
:root[data-tema="salina"] :is(button,input[type="submit"],input[type="button"],a.btn,a.mini){text-align:center}
:root[data-tema="salina"] :is(.btn,.mini,.barra-pren,.ca-pb,.ca-pbtn,.ca-det,.det-btn,.kd-btn,
  .cfg-seg button,.tema-tablet button,.segmenti .seg,.interr label){
  text-align:center;justify-content:center;align-items:center;
}
:root[data-tema="salina"] .ca-aggiungi .btn{justify-content:space-between}
:root[data-tema="salina"] .ri .t{text-align:left}
:root[data-tema="salina"] .art-btn{align-items:center;text-align:center}
:root[data-tema="salina"] .art-btn .riga-basso{justify-content:center}

/* I primari hanno gia' la loro sfumatura; non coprire con un fondo chiaro
   i pulsanti colorati di pagamento, marcia, trasferimento o annullamento. */
:root[data-tema="salina"] :where(
  .ca-c-det,.ca-c-rip,.ca-c-pre,.ca-c-ris,.ca-pbtn,.ca-det,
  .det-btn:not(.det-cameriere):not(.det-prendi):not(.det-manda):not(.det-mar),
  .barra-pren:not(.barra-conti):not(.carta-btn),.kd-btn,.kd-zoom button,
  .comando-schermo,.solo-icona,
  .scheda,.vista .v-btn,.cfg-seg button,.kd-temi button,.tema-tablet button,
  .sede.tema-scelta .menu button,.segmenti .seg,.co-sw
):not(:disabled):not([aria-disabled="true"]):not(.spento):not(:has(input:disabled)){
  background-image:var(--sabbia-neutro);
}
:root[data-tema="salina"] body[data-veglia] .primario:not(:disabled):not([aria-disabled="true"]):not(.spento){
  background:linear-gradient(135deg,var(--sabbia-acceso-inizio),var(--sabbia-scelto-fine))!important;
}
:root[data-tema="salina"] :where(.scheda[aria-pressed="true"],.vista .v-btn[aria-pressed="true"],
  .cfg-seg button[aria-pressed="true"],.kd-temi button[aria-pressed="true"],
  .tema-tablet button[aria-current="true"],.sede.tema-scelta .menu button[aria-current="true"],
  .segmenti .seg:has(input:checked)
):not(:disabled):not([aria-disabled="true"]):not(.spento):not(:has(input:disabled)){
  background-image:var(--sabbia-scelto);color:var(--sabbia-scelto-testo);
  border-color:var(--sabbia-scelto-fine);
}
:root[data-tema="salina"] .interr input:not(:disabled) + label{background-image:var(--sabbia-neutro)}
:root[data-tema="salina"] .interr input:checked:not(:disabled) + label{
  background-image:var(--sabbia-scelto);color:var(--sabbia-scelto-testo);
}
:root[data-tema="salina"] .cfg-seg{border-color:var(--sabbia-bordo)}
:root[data-tema="salina"] .cfg-seg button{border-color:var(--sabbia-bordo)}
:root[data-tema="salina"] .kd-temi button{position:relative;justify-content:center;padding-inline:48px}
:root[data-tema="salina"] .kd-temi button[aria-pressed="true"]::after{
  position:absolute;right:16px;margin:0;color:inherit;
}

/* Leva e pomello cambiano finitura, non posizione o stato. Focus e attributi
   accessibili restano quelli dei controlli esistenti, senza nuovo JS. */
:root[data-tema="salina"] .cfg-sw:not(:disabled),
:root[data-tema="salina"] .co-sw:not(:disabled) i,
:root[data-tema="salina"] .interruttore input:not(:disabled) + .leva{
  background-image:var(--sabbia-spento);border:1px solid var(--sabbia-bordo);
}
:root[data-tema="salina"] .cfg-sw[aria-checked="true"]:not(:disabled),
:root[data-tema="salina"] .co-sw[aria-pressed="true"]:not(:disabled) i,
:root[data-tema="salina"] .interruttore input:checked:not(:disabled) + .leva{
  background-image:var(--sabbia-acceso);border-color:var(--sabbia-acceso-fine);
}
:root[data-tema="salina"] :is(.cfg-sw,.co-sw i,.interruttore .leva)::after{background:var(--sabbia-pomello)}
:root[data-tema="salina"] :is(.cfg-sw,.co-sw):disabled,
:root[data-tema="salina"] .co-sw:disabled i,
:root[data-tema="salina"] .interruttore input:disabled + .leva,
:root[data-tema="salina"] :is(.segmenti .seg,.interr label):is(.spento,:has(input:disabled)){
  opacity:1;background:var(--disabled-bg);background-image:none;color:var(--disabled-ink);
  border:1px dashed var(--disabled-border);box-shadow:none;cursor:not-allowed;
}
:root[data-tema="salina"] .interr input:disabled + label{
  background:var(--disabled-bg);background-image:none;color:var(--disabled-ink);cursor:not-allowed;
}
:root[data-tema="salina"] .cfg-sw:disabled::after,
:root[data-tema="salina"] .co-sw:disabled i::after,
:root[data-tema="salina"] .interruttore input:disabled + .leva::after{background:var(--disabled-ink)}

/* Le due scorciatoie del tablet avevano testo/icone bianchi sui vecchi
   fondi pieni. Con Sabbia tutta l'etichetta usa inchiostro scuro; gli SVG
   esistenti seguono currentColor. Specificita' pari alla finitura neutra,
   dichiarata dopo: non lasciare un fondo chiaro sotto un'icona bianca. */
:root[data-tema="salina"] .top>.comando-schermo.comando-conti:not(:disabled){
  color:var(--sabbia-conti-testo);border-color:var(--sabbia-conti-testo);
  background:linear-gradient(135deg,var(--sabbia-conti-inizio),var(--sabbia-conti-fine));
}
:root[data-tema="salina"] .top>.comando-schermo.comando-sala:not(:disabled){
  color:var(--sabbia-sala-testo);border-color:var(--sabbia-sala-testo);
  background:linear-gradient(135deg,var(--sabbia-sala-inizio),var(--sabbia-sala-fine));
}
:root[data-tema="salina"] .top>.comando-sala[aria-current="page"]{box-shadow:inset 0 0 0 1px currentColor}

@media(max-width:560px){
  :root[data-tema="salina"] .cfg-riga:has(.cfg-seg){flex-wrap:wrap}
  :root[data-tema="salina"] .cfg-riga:has(.cfg-seg) .t{flex-basis:100%}
  :root[data-tema="salina"] .cfg-seg{max-width:100%;flex-wrap:wrap}
  :root[data-tema="salina"] .cfg-seg button{flex:1;min-width:0;padding-inline:12px}
}
