/* Prenotazione online + pagine di servizio (gestione, azioni, agenda). Stessa palette del sito. */
:root{--sd:#4F5F50;--sg:#7A8B72;--ss:#A8B5A3;--sm:#DCE3D7;--iv:#F7F3EC;--iw:#F1EBE0;--ch:#26352D;--mu:#45584A;--li:rgba(38,53,45,.12)}

/* ---------- pagina /prenota (dentro il layout del sito) ---------- */
.pr-wrap{max-width:760px;margin:0 auto}
.pr-passo{background:#FFFDFA;border:1px solid var(--li);border-radius:22px;padding:28px;margin-bottom:20px}
.pr-passo h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:0 0 .9rem}
.pr-passo h2:focus{outline:none}
.pr-n{font-family:'Manrope',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--sd);text-transform:uppercase;margin:0 0 .3rem}
.pr-giorni{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.pr-giorno{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;min-height:96px;border-radius:14px;border:1px solid var(--li);background:#fff;cursor:pointer;font:inherit;color:var(--ch);transition:border-color .16s,background-color .16s}
.pr-giorno:hover{border-color:var(--sd)}
.pr-giorno[aria-checked="true"]{background:var(--sd);border-color:var(--sd);color:#fff}
.pr-gs,.pr-gm{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.pr-gn{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1}
.pr-gc{font-size:11.5px;opacity:.8;margin-top:2px}
.pr-sel{font-weight:600;margin:0 0 .8rem}
.pr-orari{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pr-orario{min-height:52px;border-radius:999px;border:1px solid var(--sd);background:#fff;color:var(--ch);font:600 16px 'Manrope',sans-serif;cursor:pointer;transition:background-color .16s,color .16s}
.pr-orario:hover{background:var(--sm)}
.pr-orario[aria-checked="true"]{background:var(--sd);color:#fff}
.pr-giorno:focus-visible,.pr-orario:focus-visible,.pr-form input:focus-visible,.pr-form button:focus-visible{outline:2px solid var(--sd);outline-offset:3px}
.pr-nota{font-size:14px;color:var(--mu);margin:.9rem 0 0}
.pr-attesa,.pr-vuoto,.pr-errore{color:var(--mu)}
.pr-errore{color:#8a3b2f}
.pr-scelta{background:var(--sm);border-radius:12px;padding:12px 16px;font-weight:600;margin:0 0 1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pr-scelta button{background:none;border:0;color:var(--sd);text-decoration:underline;font:inherit;font-weight:500;cursor:pointer;padding:0}
.pr-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.pr-form .pr-full{grid-column:1/-1}
.pr-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ch)}
.pr-form input[type=text],.pr-form input[type=email],.pr-form input[type=tel]{min-height:50px;border:1px solid rgba(38,53,45,.25);border-radius:12px;padding:0 14px;font:16px 'Manrope',sans-serif;color:var(--ch);background:#fff}
.pr-form input[aria-invalid="true"]{border-color:#8a3b2f;box-shadow:0 0 0 1px #8a3b2f}
.pr-tipo{border:0;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.pr-tipo legend{font-size:14px;font-weight:600;margin-bottom:6px}
.pr-tipo label{flex-direction:row;align-items:center;gap:8px;font-weight:500;border:1px solid var(--li);border-radius:999px;padding:10px 16px;cursor:pointer;min-height:46px}
.pr-tipo input{accent-color:var(--sd);width:18px;height:18px}
.pr-trappola{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pr-privacy{font-size:13.5px;color:var(--mu);font-weight:400!important}
.pr-privacy a{color:var(--ch);text-decoration:underline}
.pr-err{background:#f7e9e5;color:#7a2e22;border-radius:12px;padding:12px 16px;margin:0}
.pr-invia{width:100%;min-height:54px;font-size:13px}
.pr-alt{background:var(--iw);border-radius:22px;padding:24px 28px;margin-top:8px}
.pr-alt p{margin:0 0 .8rem;color:var(--mu)}
.pr-fatto{background:#FFFDFA;border:1px solid var(--li);border-radius:22px;padding:32px 28px}
.pr-fatto:focus{outline:none}
.pr-fatto h2{margin:0 0 1rem}
.pr-quando{font-weight:600;color:var(--ch);background:var(--sm);border-radius:12px;padding:12px 16px}
@media (max-width:640px){
  .pr-passo{padding:22px 18px;border-radius:20px}
  .pr-form{grid-template-columns:1fr}
  .pr-orari{grid-template-columns:repeat(2,1fr)}
  .pr-giorni{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
  .pr-giorno{min-height:88px}
}

/* ---------- pagine PHP (gestione paziente, azioni, agenda) ---------- */
.mdt-pagina{margin:0;background:var(--iv);font:16px/1.65 'Manrope',Arial,sans-serif;color:var(--ch)}
.mdt-box{max-width:640px;margin:0 auto;padding:28px 20px 56px}
.mdt-logo{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch);text-decoration:none;margin-bottom:28px}
.mdt-logo span{display:block;font-family:'Manrope',sans-serif;font-size:11px;letter-spacing:.08em;color:var(--mu)}
.mdt-pagina h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:34px;line-height:1.1;margin:0 0 14px}
.mdt-pagina h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;margin:32px 0 12px}
.mdt-eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sd);margin:0 0 8px}
.mdt-stato{display:inline-block;font-weight:600;border-radius:999px;padding:6px 14px;margin:0 0 16px}
.mdt-stato-attesa{background:#f3ead7;color:#6b5420}.mdt-stato-ok{background:var(--sm);color:var(--sd)}.mdt-stato-no{background:#efe6e3;color:#7a2e22}
.mdt-dati{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;background:#fff;border-radius:16px;padding:18px;margin:0 0 20px}
.mdt-dati dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sd);padding-top:3px}
.mdt-dati dd{margin:0}
.mdt-dati a,.mdt-box a{color:var(--sd)}
.mdt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--sd);color:#fff!important;font:600 14px 'Manrope',sans-serif;border:0;cursor:pointer;text-decoration:none}
.mdt-btn:hover{background:var(--ch)}
.mdt-btn-sec{background:#fff;color:var(--ch)!important;box-shadow:inset 0 0 0 1px var(--sd)}
.mdt-btn-sec:hover{background:var(--sm)}
.mdt-ok{background:var(--sm);color:var(--sd);border-radius:12px;padding:12px 16px;font-weight:600}
.mdt-avviso{background:#f7e9e5;color:#7a2e22;border-radius:12px;padding:12px 16px}
.mdt-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;font-size:15px}
.mdt-check input{width:20px;height:20px;accent-color:var(--sd);margin-top:2px}
.mdt-piede{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.mdt-box form{margin:0 0 12px}
/* agenda */
.ag-card{background:#fff;border-radius:16px;padding:16px;margin:0 0 12px;border-left:4px solid #c9a95a}
.ag-az{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.ag-az form{margin:0}
.ag-vuoto{color:var(--mu)}
.ag-giorno{background:#fff;border-radius:16px;padding:6px 16px 10px;margin:0 0 14px}
.ag-gtit{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--li)}
.ag-gtit form{margin:0}
.ag-posto{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--li)}
.ag-posto:last-child{border-bottom:0}
.ag-ora{font-weight:600;padding-top:2px}
.ag-chi small{color:var(--mu)}
.ag-libero{color:var(--sg)}
.ag-pending{color:#6b5420;font-weight:600}
.ag-confirmed{font-weight:600}
.ag-bloccato{color:#7a2e22}
.ag-mini{min-height:36px;padding:0 14px;font-size:12.5px}
.ag-piu summary{cursor:pointer;color:var(--sd);font-size:14px;font-weight:600;list-style:none;min-height:36px;display:flex;align-items:center}
.ag-piu summary::-webkit-details-marker{display:none}
.ag-piu[open]{grid-column:1/-1}
.ag-man{display:grid;gap:8px;margin-top:10px}
.ag-man input,.ag-man select,.ag-ferie input{min-height:44px;border:1px solid rgba(38,53,45,.25);border-radius:10px;padding:0 12px;font:15px 'Manrope',sans-serif}
.ag-mtit{font-size:13px;color:var(--mu);margin:0}
.ag-ferie{display:grid;gap:10px;background:#fff;border-radius:16px;padding:16px}
.ag-ferie label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
body:has(#pr-app) .wa{display:none!important}

/* giro 3 */
.pr-giorno{min-height:76px;padding:10px 6px}
.pr-gn{font-size:26px}.pr-gn small{font-family:'Manrope',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.pr-giorno[aria-pressed="true"],.pr-orario[aria-pressed="true"]{background:var(--sd);border-color:var(--ch);color:#fff;box-shadow:0 0 0 2px var(--ch)}
.pr-orario[aria-pressed="true"]::after{content:" ✓"}
.pr-altre{margin-top:14px;background:none;border:0;color:var(--sd);font:600 14px 'Manrope',sans-serif;text-decoration:underline;cursor:pointer;min-height:44px;padding:0}
.pr-link{background:none;border:0;color:var(--sd);font:600 14px 'Manrope',sans-serif;text-decoration:underline;cursor:pointer;min-height:44px;padding:0;margin-top:6px}
.pr-errcampo{color:#7a2e22;font-size:13.5px;font-weight:500}
.pr-tipo .pr-errcampo{flex-basis:100%}
@media (max-width:640px){.pr-giorni{grid-template-columns:repeat(3,1fr)}.pr-giorno{min-height:72px}}
/* giro 4: agenda */
.ag-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.ag-nav a{background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;color:var(--sd);min-height:40px;display:inline-flex;align-items:center}
.ag-scade{margin:0 0 6px;font-size:13px;font-weight:700;color:#6b5420;text-transform:uppercase;letter-spacing:.06em}
.ag-conf{border-left-color:var(--sd)}
.ag-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mu)}
details.ag-giorno>summary{list-style:none;cursor:pointer}
details.ag-giorno>summary::-webkit-details-marker{display:none}
details.ag-giorno>summary::after{content:"+";margin-left:auto;color:var(--sd);font-size:20px}
details.ag-giorno[open]>summary::after{content:"–"}
details.ag-giorno>.ag-f{margin:10px 0 0}
.ag-gtit small{color:var(--mu);font-weight:400}
