/* prenotazioni.css: stile delle pagine pubbliche di prenotazione.
   Va caricato DOPO style.css (usa le stesse variabili). */

.pren-main{ padding:56px 0 90px; min-height:60vh; }
.pren-box{ max-width:640px; }
.pren-evento{ margin-bottom:34px; }
.pren-tipo{ font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ivy); margin-bottom:10px; }
.pren-evento h1{ font-family:'Big Shoulders Display', sans-serif; text-transform:uppercase; font-size:clamp(32px,5vw,52px); line-height:1; margin:0 0 14px; }
.pren-quando{ font-size:17px; margin:0 0 4px; }
.pren-ingresso{ font-size:14.5px; color:var(--ink-soft); margin:0; }

.pren-form label.pren-label{ display:block; font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); margin:20px 0 8px; }
.pren-form input[type=text],
.pren-form input[type=email],
.pren-form input[type=tel],
.pren-form input[type=number]{
  width:100%; background:var(--paper); border:1px solid var(--stone-line); color:var(--ink);
  padding:12px 14px; font-family:'IBM Plex Sans', sans-serif; font-size:16px; border-radius:0;
}
.pren-form input:focus{ outline:2px solid var(--rust); outline-offset:1px; }
.pren-form input::placeholder{ color:var(--stone); opacity:1; }
.pren-riga2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:560px){ .pren-riga2{ grid-template-columns:1fr; } }
.pren-form .pren-hint{ font-size:13px; color:var(--stone); margin-top:6px; }
.pren-form .pren-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.pren-consenso{ display:flex; align-items:flex-start; gap:10px; margin-top:26px; font-size:14.5px; color:var(--ink-soft); line-height:1.5; }
.pren-consenso input{ width:auto; margin-top:4px; flex:none; }
.pren-info{ margin-top:12px; font-size:13px; color:var(--stone); }
.pren-info summary{ cursor:pointer; color:var(--ink-soft); }
.pren-info p{ margin:8px 0 0; line-height:1.55; }

.pren-azioni{ margin-top:30px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.pren-azioni .btn{ cursor:pointer; font-family:inherit; }

.pren-msg{ padding:16px 20px; border:1px solid var(--stone-line); margin-bottom:26px; font-size:15.5px; line-height:1.5; }
.pren-msg.err{ border-color:var(--rust); color:var(--rust); }
.pren-msg.ok{ border-color:var(--ivy); color:var(--ivy); }
.pren-msg.info{ background:var(--paper); color:var(--ink); }
.pren-testo{ font-size:16px; line-height:1.6; max-width:60ch; }
.pren-testo a{ color:var(--rust); }
.pren-link-annulla{ word-break:break-all; font-family:'IBM Plex Mono', monospace; font-size:13px; }
