/* Calendario, tocco, pillola con date */
/* ── Correzioni: bersagli per il tocco ≥ 44 px ── */
.lang-btn { min-height: 40px; min-width: 44px; }
.v3-gb { width: 44px; height: 44px; font-size: 18px; }
.v3-gr { gap: 8px; }
.v3-book-note a, .footer-contacts a, .footer-nav a, .bb-wa { display:inline-flex; align-items:center; min-height:44px; }
.footer-nav a { padding: 0 2px; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
.v3-book-note { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap: 0 10px; }

/* ── Campi data (pulsanti che aprono il calendario) ── */
button.v3-f { font: inherit; text-align:left; background:none; border:0; border-right:1px solid rgba(26,24,22,.09); color:inherit; width:100%; min-height:64px; }
button.v3-f:focus-visible { outline:3px solid var(--ocra); outline-offset:-3px; }
.v4-dv { font: 400 1.1rem var(--serif); color: var(--ink); min-height: 28px; display:flex; align-items:center; }
.v4-dv.empty { color: var(--stone); }
.v3-proof { min-height: 44px; }
.v3-stmt-p .w { opacity: .26; }
.v3-f[aria-expanded="true"] { background: var(--paper); }

/* ── Calendario ── */
.cal-pop { position:fixed; z-index:700; width:min(640px, calc(100vw - 24px)); background:#fff; border-radius:18px; box-shadow: 0 28px 70px -20px rgba(20,32,56,.5), 0 0 0 1px rgba(26,24,22,.08); padding:18px 18px 14px; }
.cal-pop[hidden] { display:none; }
.cal-back { position:fixed; inset:0; z-index:690; background:rgba(14,18,28,.45); }
.cal-back[hidden] { display:none; }
.cal-top { display:flex; align-items:flex-start; gap:8px; }
.cal-months { display:grid; grid-template-columns:1fr 1fr; gap:26px; flex:1; min-width:0; }
.cal-nav { width:44px; height:44px; border-radius:50%; border:1px solid var(--border); background:#fff; color:var(--ink); display:grid; place-items:center; cursor:pointer; flex:none; }
.cal-nav svg { width:20px; height:20px; }
.cal-nav:disabled { opacity:.35; cursor:default; }
.cal-nav:not(:disabled):hover { border-color: var(--blue); color: var(--blue); }
.cal-t { text-align:center; font: 400 1.35rem/44px var(--serif); text-transform:capitalize; }
.cal-w, .cal-g { display:grid; grid-template-columns:repeat(7,1fr); }
.cal-w span { text-align:center; font-size:10.5px; letter-spacing:.1em; color:var(--stone); font-weight:600; padding:6px 0; text-transform:uppercase; }
.cd { height:42px; border:0; background:none; font: 500 14px var(--sans); color: var(--ink); cursor:pointer; position:relative; display:grid; place-items:center; z-index:0; }
.cd:disabled { color:#BDB6AA; cursor:default; text-decoration:line-through; text-decoration-color: rgba(0,0,0,.18); }
.cd.pad { visibility:hidden; pointer-events:none; }
.cd.mid { background: rgba(26,58,107,.09); }
.cd.start, .cd.end { color:#fff; }
.cd.start::after, .cd.end::after { content:''; position:absolute; inset:1px; border-radius:50%; background: var(--blue); z-index:-1; }
.cd.start.has-end { background: linear-gradient(90deg, transparent 50%, rgba(26,58,107,.09) 50%); }
.cd.end { background: linear-gradient(90deg, rgba(26,58,107,.09) 50%, transparent 50%); }
.cd.start.end { background:none; }
.cd.today:not(.start):not(.end) { box-shadow: inset 0 0 0 1px var(--ocra); border-radius:50%; }
.cd:not(:disabled):not(.start):not(.end):hover { background: rgba(26,58,107,.14); border-radius:50%; }
.cd:focus-visible { outline:3px solid var(--ocra); outline-offset:-3px; }
.cal-foot { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding-top:12px; margin-top:6px; border-top:1px solid var(--border); }
.cal-sum { font-size:13.5px; color:var(--stone); flex:1; min-width:200px; }
.cal-sum b { color:var(--ink); font-weight:600; }
.cal-act { display:flex; gap:10px; }
.cal-clear, .cal-done { min-height:44px; padding:0 20px; border-radius:10px; font: 600 12px var(--sans); letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.cal-clear { border:1px solid var(--border); background:#fff; color:var(--stone); }
.cal-done { border:0; background: var(--blue); color:#fff; }
@media (max-width: 700px) {
  .cal-pop { left:0 !important; right:0; top:auto !important; bottom:0; width:100%; border-radius:20px 20px 0 0; max-height:92vh; overflow:auto; padding-bottom: max(14px, env(safe-area-inset-bottom, 0px)); }
  .cal-months { grid-template-columns:1fr; }
  .cd { height:46px; }
}


/* Tocco ≥ 44 px */
.lang-btn { min-height:44px; }
.nav-link { min-height:44px; display:inline-flex; align-items:center; }
/* Pillola: date */
.pill-dates { background:none; border:0; cursor:pointer; color:var(--ink); font:500 14px var(--sans); min-height:48px; padding:0 8px 0 18px; display:inline-flex; align-items:center; }
.pill-dates span { border-bottom:1px dotted rgba(26,24,22,.4); white-space:nowrap; }
.pill-dates:focus-visible { outline:3px solid var(--blue); outline-offset:2px; border-radius:999px; }
@media (max-width: 860px) { .pill-dates { display:none; } }

.logo { min-height:44px; }
