/* Modulo prenotazione – Tavernacinque */
.tcb{--abete:#0b2926;--bosco:#123d38;--oro:#dfb46d;--pistacchio:#bfd08a;--porc:#f2f4ef;--line:#d5dcd6;--muted:#566b66;
  font-family:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.45;color:var(--abete);
  background:#f4f0e8 url("brand/texture-chiara.png") 0 0/48px 96px;border-radius:26px;padding:clamp(20px,3vw,34px);max-width:560px;width:100%;box-sizing:border-box;text-align:left}
.tcb *,.tcb *::before,.tcb *::after{box-sizing:border-box}
.tcb--dark{background:var(--bosco) url("brand/texture-bosco.png") 0 0/48px 96px;color:var(--porc);--line:#2b5a53;--muted:#9fb8b1}
.tcb fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.tcb legend{font-weight:700;font-size:1rem;margin:0 0 10px;padding:0}
.tcb__hint{color:var(--muted);font-size:.9rem;margin:6px 0 0}

/* persone */
.tcb__step{display:flex;align-items:center;gap:6px}
.tcb__step button{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--abete);background:transparent;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.tcb--dark .tcb__step button{border-color:var(--porc)}
.tcb__step button:disabled{opacity:.35;cursor:not-allowed}
.tcb__step output{min-width:130px;text-align:center;font-family:Fraunces,Georgia,serif;font-size:1.7rem;font-weight:500}

/* chips */
.tcb__chips{display:flex;flex-wrap:wrap;gap:8px}
.tcb__days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin:0 -2px;scroll-snap-type:x proximity;scrollbar-width:thin}
.tcb__chip{appearance:none;font:inherit;font-weight:600;min-height:46px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--abete);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.tcb--dark .tcb__chip{background:transparent;color:var(--porc)}
.tcb__days .tcb__chip{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;padding:6px 12px;line-height:1.15}
.tcb__chip small{font-weight:500;font-size:.78rem;color:var(--muted)}
.tcb__chip:hover:not(:disabled){border-color:var(--abete)}
.tcb__chip[aria-pressed=true]{background:var(--abete);border-color:var(--abete);color:#fff}
.tcb--dark .tcb__chip[aria-pressed=true]{background:var(--oro);border-color:var(--oro);color:var(--abete)}
.tcb__chip[aria-pressed=true] small{color:#c9dad5}
.tcb--dark .tcb__chip[aria-pressed=true] small{color:var(--abete)}
.tcb__chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.tcb__more{margin-top:8px;font-size:.92rem}
.tcb__more input{font:inherit;margin-left:8px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--abete)}

/* orari */
.tcb__svc{margin:0 0 14px}
.tcb__svc h4{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--muted)}
.tcb__msg{padding:12px 14px;border-radius:12px;background:#fff;border:1px dashed var(--line);color:var(--abete)}
.tcb--dark .tcb__msg{background:transparent;color:var(--porc)}
.tcb__msg a{color:inherit;font-weight:700}

/* dati */
.tcb__form[hidden]{display:none}
.tcb label.tcb__lb{display:block;font-weight:600;font-size:.95rem;margin:0 0 14px}
.tcb__in{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--abete);min-height:50px}
.tcb--dark .tcb__in{background:#0b2926;color:var(--porc)}
.tcb__in:focus{outline:3px solid var(--pistacchio);outline-offset:1px;border-color:var(--abete)}
.tcb textarea.tcb__in{min-height:76px;resize:vertical}
.tcb__row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:520px){.tcb__row{grid-template-columns:1fr}}
.tcb__chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;margin:4px 0 18px;color:var(--muted)}
.tcb__chk input{margin-top:3px;width:20px;height:20px;accent-color:var(--abete);flex:none}
.tcb__chk a{color:inherit}
.tcb__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tcb__go{width:100%;min-height:58px;border:0;border-radius:999px;background:var(--abete);color:#fff;font:inherit;font-weight:700;font-size:1.08rem;cursor:pointer;transition:background .2s,transform .2s}
.tcb--dark .tcb__go{background:var(--oro);color:var(--abete)}
.tcb__go:hover:not(:disabled){background:#17524b}
.tcb--dark .tcb__go:hover:not(:disabled){background:#ff9099}
.tcb__go:disabled{opacity:.6;cursor:progress}
.tcb__err{color:#a3262f;font-weight:600;margin:0 0 12px;min-height:0}
.tcb--dark .tcb__err{color:#ffb3ba}
.tcb button:focus-visible,.tcb a:focus-visible{outline:3px solid var(--pistacchio);outline-offset:3px}

/* riepilogo e successo */
.tcb__sum{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 14px;border-radius:14px;background:#fff;margin:0 0 18px;font-weight:600}
.tcb--dark .tcb__sum{background:#0b2926}
.tcb__ok{text-align:center;padding:10px 0}
.tcb__ok h3{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:clamp(1.8rem,4vw,2.3rem);margin:12px 0 8px;line-height:1.1;outline:none}
.tcb__ok p{margin:0 0 6px;color:var(--muted)}
.tcb__ok strong{color:var(--abete)}
.tcb--dark .tcb__ok strong{color:var(--porc)}
.tcb__tick{width:68px;height:68px;border-radius:50%;background:var(--pistacchio);display:grid;place-items:center;margin:0 auto}
.tcb__tick svg{width:34px;height:34px}
.tcb__acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.tcb__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid var(--abete);background:transparent;color:inherit;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.tcb__btn--solid{background:var(--abete);color:#fff}
.tcb--dark .tcb__btn{border-color:var(--porc)}
.tcb--dark .tcb__btn--solid{background:var(--oro);border-color:var(--oro);color:var(--abete)}
.tcb__skel{height:46px;border-radius:14px;background:linear-gradient(90deg,#e4e9e5,#f3f6f3,#e4e9e5);background-size:200% 100%;animation:tcbsk 1.2s linear infinite}
@keyframes tcbsk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.tcb *{transition:none!important;animation:none!important}}

.tcb{min-width:0}
.tcb__days{max-width:100%}
