/* Finestra di prenotazione: usa i colori della landing, con valori di riserva se manca. */
.pren{
  --p-bg:var(--card,#1a1510); --p-bg2:var(--bg,#0c0a08); --p-gold:var(--gold,#e0c08a); --p-gold-d:var(--gold-d,#b8924f);
  --p-text:var(--text,#f1e8d8); --p-muted:var(--muted,#a99d8a); --p-line:var(--line,rgba(224,192,138,.22));
  width:min(680px,calc(100% - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:0; overflow:auto; border:1px solid var(--p-line);
  border-radius:4px; background:var(--p-bg); color:var(--p-text); font:400 16px/1.5 var(--sans,system-ui,sans-serif);
}
.pren::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.pren *{box-sizing:border-box}
.pren-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--p-line);position:sticky;top:0;background:var(--p-bg);z-index:1}
.pren-head h2{margin:0;font-family:var(--serif,Georgia,serif);font-size:1.7rem;color:var(--p-gold);line-height:1.1}
.pren-lingue{display:flex;gap:4px;margin-left:auto}
.pren-lingue button,.pren-chiudi{background:none;border:1px solid transparent;color:var(--p-muted);font:600 .75rem var(--sans,system-ui);letter-spacing:.1em;padding:6px 8px;border-radius:3px;cursor:pointer}
.pren-lingue button[aria-pressed="true"]{color:var(--p-gold);border-color:var(--p-line)}
.pren-chiudi{font-size:1.4rem;line-height:1;padding:4px 10px}
.pren-chiudi:hover,.pren-lingue button:hover{color:var(--p-text)}
.pren-body{padding:20px 22px 24px}
.pren form{display:grid;gap:16px}
.pren-riga{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.pren-riga{grid-template-columns:1fr}}
.pren label{display:grid;gap:6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted);font-weight:600}
.pren input,.pren select,.pren textarea{width:100%;padding:12px 14px;background:var(--p-bg2);color:var(--p-text);border:1px solid var(--p-line);border-radius:3px;font:400 1rem var(--sans,system-ui);letter-spacing:0;text-transform:none;color-scheme:dark}
.pren textarea{min-height:72px;resize:vertical}
.pren input:focus,.pren select:focus,.pren textarea:focus{outline:2px solid var(--p-gold-d);outline-offset:1px}
.pren-fasce{display:grid;gap:12px}
.pren-fasce h3{margin:0 0 6px;font:600 .78rem var(--sans,system-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted)}
.pren-orari{display:flex;flex-wrap:wrap;gap:8px}
.pren-orari button{min-width:72px;padding:10px 12px;background:var(--p-bg2);color:var(--p-text);border:1px solid var(--p-line);border-radius:3px;font:600 .95rem var(--sans,system-ui);cursor:pointer}
.pren-orari button:hover:not(:disabled){border-color:var(--p-gold)}
.pren-orari button[aria-pressed="true"]{background:linear-gradient(135deg,var(--p-gold),var(--p-gold-d));color:#1a1208;border-color:transparent}
.pren-orari button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.pren-info{margin:0;color:var(--p-muted);font-size:.92rem}
.pren-info a,.pren-privacy a{color:var(--p-gold);text-decoration:underline}
.pren-privacy{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-size:.88rem!important}
.pren-privacy input{width:18px;height:18px;margin-top:2px;flex:none}
.pren-trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pren-errore{margin:0;padding:10px 14px;border:1px solid #c0583f;border-radius:3px;color:#f0b4a4;background:rgba(192,88,63,.12);font-size:.92rem}
.pren-invia{width:100%;padding:15px;border:0;border-radius:2px;background:linear-gradient(135deg,var(--p-gold),var(--p-gold-d));color:#1a1208;font:600 .85rem var(--sans,system-ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.pren-invia:disabled{opacity:.6;cursor:wait}
.pren-ok{text-align:center;display:grid;gap:12px;padding:10px 0}
.pren-ok .codice{font:600 2rem var(--serif,Georgia,serif);color:var(--p-gold);letter-spacing:.12em}
.pren-tavoli{display:grid;gap:10px}
.pren-tavoli h3{margin:0;font:600 .78rem var(--sans,system-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted)}
.pren-mappa{background:var(--p-bg2);border:1px solid var(--p-line);border-radius:4px;padding:6px}
.pren-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:.82rem;color:var(--p-muted)}
.pren-legenda li::before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;vertical-align:-1px;border:2px solid}
.pren-legenda .l-libero::before{background:#2f3a26;border-color:#8fbf73}
.pren-legenda .l-occupato::before{background:#3a2420;border-color:#7a3e33}
.pren-legenda .l-non::before{background:#2b241c;border-color:#6b5a43;opacity:.5}
.pren-elenco-tavoli button{min-width:0}

/* Finché non si sa se le prenotazioni sono aperte, i tasti "Prenota" non si vedono (niente sfarfallio). */
a[href="#prenota"]{visibility:hidden}
.prenota-pronto a[href="#prenota"]{visibility:visible}

/* Pre-apertura */
.btn-apertura,.btn-apertura:hover{background:transparent!important;color:var(--gold,#e0c08a)!important;border:1px dashed var(--gold-d,#b8924f);cursor:default;transform:none!important;filter:none!important}
.apertura{max-width:640px;margin:0 auto 34px;padding:22px 28px;border:1px solid var(--line,rgba(224,192,138,.22));border-radius:3px;background:rgba(12,10,8,.6);backdrop-filter:blur(6px)}
.apertura-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--wood,#c98b3f);font-weight:600}
.apertura-punto{width:9px;height:9px;border-radius:50%;background:var(--wood,#c98b3f);box-shadow:0 0 0 0 rgba(201,139,63,.6);animation:apertura-battito 2.4s infinite}
@keyframes apertura-battito{0%{box-shadow:0 0 0 0 rgba(201,139,63,.55)}70%{box-shadow:0 0 0 12px rgba(201,139,63,0)}100%{box-shadow:0 0 0 0 rgba(201,139,63,0)}}
.apertura-frase{margin:10px 0 8px!important;font-family:var(--serif,Georgia,serif);font-style:italic;font-size:clamp(1.9rem,4.5vw,2.7rem)!important;line-height:1.1;color:var(--gold,#e0c08a)!important}
.apertura-testo{color:var(--text,#f1e8d8);margin:0 0 8px}
.apertura-es{color:var(--muted,#a99d8a);font-style:italic;font-size:.95rem;margin:0}
@media(prefers-reduced-motion:reduce){.apertura-punto{animation:none}}
