/* StoreSuite Officina – listino, prenotazioni, garage. Colori dal tema (--sl-*). */
.sso-listino { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.sso-voce { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--sl-soft, #17191f); border: 1px solid var(--sl-line, #2a2e37); border-radius: 12px; }
.sso-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sso-testa h3 { margin: 0; font-size: 1.15rem; }
.sso-prezzo { white-space: nowrap; font-weight: 800; color: var(--sl-accent, #e11d2e); }
.sso-voce p { margin: 0; color: var(--sl-muted, #a3a9b5); font-size: .95rem; flex: 1; }
.sso-meta { font-size: .8rem; color: var(--sl-muted, #a3a9b5); text-transform: uppercase; letter-spacing: .06em; }
.sso-link { font-weight: 700; color: var(--sl-ink, #fff); text-decoration: none; }
.sso-link:hover { color: var(--sl-accent, #e11d2e); }
.sso-nota { margin-top: 14px; font-size: .85rem; color: var(--sl-muted, #a3a9b5); }
.sso, .ssg { max-width: 820px; display: grid; gap: 18px; }
.sso-form { display: grid; gap: 22px; }
.sso fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 12px; min-width: 0; }
.sso legend { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; color: var(--sl-accent, #e11d2e); margin-bottom: 6px; }
.sso-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.sso label, .ssg label { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; font-weight: 600; color: var(--sl-ink, #fff); }
.sso input:not([type=radio]):not([type=checkbox]), .sso select, .sso textarea, .ssg input:not([type=checkbox]) { font: inherit; font-weight: 400; padding: 12px 14px; border: 1px solid var(--sl-line, #2a2e37); background: var(--sl-bg, #0e0f12); color: var(--sl-ink, #fff); border-radius: 8px; width: 100%; }
.sso input:focus, .sso select:focus, .sso textarea:focus { outline: 2px solid var(--sl-accent, #e11d2e); outline-offset: 1px; }
.sso-scelta, .sso-tipi { display: flex; flex-wrap: wrap; gap: 8px; }
.sso-scelta label, .sso-tipi label { flex-direction: row !important; align-items: center; gap: 8px !important; padding: 10px 16px; border: 1px solid var(--sl-line, #2a2e37); border-radius: 999px; cursor: pointer; }
.sso-scelta label:has(input:checked), .sso-tipi label:has(input:checked) { border-color: var(--sl-accent, #e11d2e); background: color-mix(in srgb, var(--sl-accent, #e11d2e) 15%, transparent); }
.sso-scelta input, .sso-tipi input, .sso-check input { accent-color: var(--sl-accent, #e11d2e); }
.sso-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; }
.sso-check input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.sso button, .ssg button, .ssg #wp-submit { justify-self: start; font: inherit; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; padding: 14px 28px; border: 0; border-radius: 8px; background: var(--sl-accent, #e11d2e); color: #fff; cursor: pointer; }
.sso-ok { padding: 18px 22px; border-left: 3px solid #22c55e; background: rgba(34,197,94,.1); }
.sso-err { padding: 14px 18px; border-left: 3px solid var(--sl-accent, #e11d2e); background: rgba(225,29,46,.1); }
.sso-hp { position: absolute; left: -9999px; }
/* Garage */
.ssg-ciao { color: var(--sl-muted, #a3a9b5); margin: 0; }
.ssg-veicolo { padding: 22px; background: var(--sl-soft, #17191f); border: 1px solid var(--sl-line, #2a2e37); border-radius: 14px; display: grid; gap: 14px; }
.ssg-veicolo h3 { margin: 0; font-size: 1.3rem; }
.ssg-targa { display: inline-block; font-family: ui-monospace, monospace; font-weight: 700; padding: 3px 10px; border: 2px solid var(--sl-ink, #fff); border-radius: 4px; background: #fff; color: #111; margin-left: 8px; font-size: .9rem; vertical-align: middle; }
.ssg-scadenze { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.ssg-scad { padding: 12px 14px; border-radius: 10px; background: var(--sl-bg, #0e0f12); border: 1px solid var(--sl-line, #2a2e37); }
.ssg-scad small { display: block; text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; color: var(--sl-muted, #a3a9b5); }
.ssg-scad strong { font-size: 1.05rem; }
.ssg-scad.vicina { border-color: #f59e0b; }
.ssg-scad.scaduta { border-color: var(--sl-accent, #e11d2e); }
.ssg-storico { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sl-line, #2a2e37); }
.ssg-storico li { padding: 12px 0; border-bottom: 1px solid var(--sl-line, #2a2e37); display: grid; grid-template-columns: 110px 1fr auto; gap: 12px; }
.ssg-storico time, .ssg-storico .km { color: var(--sl-muted, #a3a9b5); font-size: .9rem; }
@media (max-width: 560px) { .ssg-storico li { grid-template-columns: 1fr; gap: 2px; } }
.ssg #loginform p { display: flex; flex-direction: column; gap: 6px; }
.ssg #loginform .login-remember { flex-direction: row; }
