/* Prenota — widget pubblico. Stile dal mockup v2 «C Mista» approvato l'08/10/2026; tutto sotto .prenota-w per non toccare il resto del sito. */
.prenota-w{--sf-or:#D3542B; --sf-or2:#FF634D; --sf-amb:#E8A33D; --sf-dk:#181818; --sf-bk:#000; --sf-wh:#fff; --sf-wa:#25D366; --sf-wa2:#1EBE5A;
  
  --ease:cubic-bezier(.2,.7,.2,1);
  --r:24px;--sf-arancio:#D3542B;--sf-accento:#FF634D;--sf-ambra:#E8A33D;--sf-scuro:#181818;--sf-nero:#000;--sf-wa-hover:#1EBE5A;--sf-ease:cubic-bezier(.2,.7,.2,1);--sf-line:rgba(24,24,24,.14)}
.prenota-w .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.prenota-w .sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:15px 26px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;background:var(--sf-or);color:#fff;transition:background .25s var(--ease),transform .25s var(--ease)}
.prenota-w .sf-btn:hover{background:var(--sf-or2)}
.prenota-w .sf-btn:disabled{opacity:.35;cursor:not-allowed}
.prenota-w .sf-btn--sm{padding:10px 18px;font-size:14px}
.prenota-w .sf-btn--wa{background:var(--sf-wa);color:var(--sf-dk)}
.prenota-w .sf-btn--wa:hover{background:var(--sf-wa2)}
.prenota-w .sf-btn--ghost{background:transparent;border:1.5px solid currentColor;color:inherit}
.prenota-w .sf-btn--ghost:hover{background:var(--sf-dk);color:#fff;border-color:var(--sf-dk)}
.prenota-w .sf-btn--dk{background:var(--sf-dk);color:#fff}
.prenota-w .sf-btn--dk:hover{background:#000}
.prenota-w .sf-btn .ar{transition:transform .25s var(--ease)}
.prenota-w .sf-btn:hover .ar{transform:translateX(4px)}
.prenota-w .bk{border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:300px 1fr;min-height:560px}
.prenota-w .bk>*{min-width:0}
.prenota-w .bk__side{padding:34px 28px;display:flex;flex-direction:column;gap:22px}
.prenota-w .bk__main{padding:36px 40px 40px;position:relative}
.prenota-w .bk__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;counter-reset:st}
.prenota-w .bk__step{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:10px 0;font-size:14px;line-height:1.35}
.prenota-w .bk__num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;border:1.5px solid currentColor;opacity:.45;transition:all .3s var(--ease)}
.prenota-w .bk__step b{display:block;font-weight:600;font-size:15px;opacity:.55}
.prenota-w .bk__step span.v{display:block;font-size:13px;opacity:.75;margin-top:2px}
.prenota-w .bk__step button.ch{background:none;border:0;padding:0;margin-top:3px;font-size:12.5px;font-weight:600;color:var(--sf-or);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.prenota-w .bk__step.is-on .bk__num{opacity:1;background:var(--sf-or);border-color:var(--sf-or);color:#fff}
.prenota-w .bk__step.is-on b{opacity:1}
.prenota-w .bk__step.is-done .bk__num{opacity:1;border-color:var(--sf-or);color:var(--sf-or)}
.prenota-w .bk__step.is-done b{opacity:1}
.prenota-w .bk__step.is-skip{display:none}
.prenota-w .bk__tz{font-size:12.5px;opacity:.65;margin-top:auto}
.prenota-w .bk__h{font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:700;margin:0 0 6px}
.prenota-w .bk__p{margin:0 0 24px;opacity:.75;font-size:15px}
.prenota-w .bk__pane{animation:pw-paneIn .45s var(--ease)}
@keyframes pw-paneIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.prenota-w .bk__back{background:none;border:0;padding:0;margin:0 0 14px;font-size:13.5px;font-weight:600;cursor:pointer;opacity:.75}
.prenota-w .bk__back:hover{opacity:1;color:var(--sf-or)}
.prenota-w .tipi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prenota-w .tipo{text-align:left;border-radius:18px;padding:22px 20px 20px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .25s var(--ease),border-color .25s,background .25s;border:1.5px solid transparent}
.prenota-w .tipo:hover{transform:translateY(-3px);border-color:var(--sf-or)}
.prenota-w .tipo__ico{width:52px;height:52px;border-radius:50%;background:var(--sf-or);display:grid;place-items:center}
.prenota-w .tipo__ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prenota-w .tipo b{font-size:18px;font-weight:700;line-height:1.2}
.prenota-w .tipo__min{font-size:13px;font-weight:700;color:var(--sf-or);letter-spacing:.04em}
.prenota-w .tipo__d{font-size:14px;opacity:.75;line-height:1.5}
.prenota-w .tipo__go{margin-top:auto;font-weight:600;font-size:14px}
.prenota-w .zone{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.prenota-w .zona{border-radius:16px;padding:16px 18px;text-align:left;cursor:pointer;border:1.5px solid transparent;transition:border-color .25s}
.prenota-w .zona b{display:block;font-size:16px}
.prenota-w .zona span{font-size:13px;opacity:.72}
.prenota-w .zona[aria-pressed=true]{border-color:var(--sf-or)}
.prenota-w .fld{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;margin-bottom:16px}
.prenota-w .fld input{border-radius:12px;padding:13px 15px;font-weight:400;font-size:16px;width:100%}
.prenota-w .fld small{font-weight:400;opacity:.7;font-size:12.5px}
.prenota-w .fld.err input{border-color:#c0392b!important}
.prenota-w .fld .msg{color:#c0392b;font-weight:600;font-size:12.5px}
.prenota-w .note{font-size:13.5px;border-radius:12px;padding:12px 14px;margin:0 0 18px;display:flex;gap:10px}
.prenota-w .note svg{width:20px;height:20px;flex:none;stroke:var(--sf-or);fill:none;stroke-width:2}
.prenota-w .cal{display:grid;grid-template-columns:1fr 260px;gap:32px}
.prenota-w .cal__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.prenota-w .cal__m{font-weight:700;font-size:18px;text-transform:capitalize}
.prenota-w .cal__nav{display:flex;gap:8px}
.prenota-w .cal__nav button{width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:16px;border:1.5px solid currentColor;background:none;opacity:.8}
.prenota-w .cal__nav button:disabled{opacity:.2;cursor:not-allowed}
.prenota-w .cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.prenota-w .cal__dow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:.55;padding-bottom:4px}
.prenota-w .cal__d{aspect-ratio:1/1;border-radius:12px;border:0;cursor:pointer;font-weight:600;font-size:15px;position:relative;transition:background .2s,color .2s}
.prenota-w .cal__d:disabled{cursor:not-allowed;font-weight:400}
.prenota-w .cal__d.has::after{content:"";position:absolute;left:50%;bottom:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--sf-or)}
.prenota-w .cal__d[aria-pressed=true]{background:var(--sf-or)!important;color:#fff!important}
.prenota-w .cal__d[aria-pressed=true]::after{background:#fff}
.prenota-w .cal__leg{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;opacity:.75;margin-top:14px}
.prenota-w .cal__leg i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-1px;margin-right:6px}
.prenota-w .slots__h{font-weight:700;font-size:15px;margin:0 0 4px}
.prenota-w .slots__s{font-size:13px;opacity:.7;margin:0 0 14px}
.prenota-w .slot{border-radius:12px;padding:11px 0;cursor:pointer;font-weight:600;font-size:15px;border:1.5px solid transparent;transition:all .2s}
.prenota-w .slot:hover{border-color:var(--sf-or)}
.prenota-w .slot[aria-pressed=true]{background:var(--sf-or)!important;color:#fff!important;border-color:var(--sf-or)}
.prenota-w .slots__empty{font-size:14px;opacity:.7}
.prenota-w .dati{display:grid;grid-template-columns:1fr 280px;gap:32px}
.prenota-w .chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:6px 0 20px}
.prenota-w .chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--sf-or)}
.prenota-w .riep{border-radius:18px;padding:22px}
.prenota-w .riep h3{margin:0 0 12px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--sf-or)}
.prenota-w .riep dl{margin:0;display:grid;gap:10px}
.prenota-w .riep dt{font-size:12px;opacity:.65}
.prenota-w .riep dd{margin:0;font-weight:600;font-size:15px;line-height:1.35}
.prenota-w .esito{max-width:620px}
.prenota-w .esito__ico{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin-bottom:18px}
.prenota-w .esito__ico svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.prenota-w .esito__ico.ok{background:var(--sf-or)}
.prenota-w .esito__ico.ko{background:var(--sf-dk);border:2px solid var(--sf-or)}
.prenota-w .esito ul{padding-left:20px;margin:0 0 22px}
.prenota-w .esito li{margin-bottom:6px}
.prenota-w .esito__act{display:flex;flex-wrap:wrap;gap:10px}
.prenota-w .box{border-radius:18px;padding:20px 22px;margin:0 0 22px}
.prenota-w .box dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.prenota-w .box dt{opacity:.65;font-size:14px}
.prenota-w .box dd{margin:0;font-weight:600}
.prenota-w .linkbox{font-size:13px;word-break:break-all;opacity:.8}
@media (max-width:1080px){.prenota-w .bk{grid-template-columns:1fr}.prenota-w .bk__side{padding:22px 24px}.prenota-w .bk__steps{flex-direction:row;overflow-x:auto;gap:18px}.prenota-w .bk__step{grid-template-columns:26px auto;min-width:max-content;padding:4px 0}.prenota-w .bk__step span.v,.prenota-w .bk__step button.ch,.prenota-w .bk__tz{display:none}.prenota-w .bk__num{width:26px;height:26px;font-size:12px}.prenota-w .cal,.prenota-w .dati{grid-template-columns:1fr}}
@media (max-width:760px){.prenota-w .bk__main{padding:26px 20px 28px}.prenota-w .bk__h{font-size:23px}.prenota-w .bk__step b{font-size:13px}.prenota-w .bk__step{gap:8px}.prenota-w .tipi,.prenota-w .zone{grid-template-columns:1fr}}
.prenota-w .bk{background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.35);border:1px solid rgba(24,24,24,.1)}
.prenota-w .bk__side{background:var(--sf-dk) var(--sf-tex) center/1920px auto;color:#fff}
.prenota-w .tipo,.prenota-w .zona,.prenota-w .slot{background:#F4F1EE;border:1.5px solid transparent}
.prenota-w .tipo:hover,.prenota-w .zona[aria-pressed=true],.prenota-w .slot:hover{border-color:var(--sf-or);background:#fff}
.prenota-w .riep,.prenota-w .box,.prenota-w .note{background:#F4F1EE}
.prenota-w .fld input{border:1.5px solid rgba(24,24,24,.18);background:#fff}
.prenota-w .fld input:focus{border-color:var(--sf-or);outline:none}
.prenota-w .cal__d{background:#F4F1EE;color:var(--sf-dk)}
.prenota-w .cal__d.has:hover{background:rgba(211,84,43,.18)}
.prenota-w .cal__d:disabled{background:transparent;color:rgba(24,24,24,.28)}
.prenota-w .lg-ok{background:#F4F1EE}
.prenota-w .lg-no{background:transparent;border:1px solid rgba(24,24,24,.2)}
.prenota-w .sf-btn--small{padding:10px 18px;font-size:14px}
@keyframes pw-sf-grow{from{transform:scaleY(0)}to{transform:none}}
@keyframes pw-sf-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.prenota-w .sf-nav>a:not(.sf-btn){text-decoration:none;position:relative}
.prenota-w .sf-nav>a:not(.sf-btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--sf-arancio);transition:right .3s var(--sf-ease)}
.prenota-w .sf-nav>a:not(.sf-btn):hover::after{right:0}
.prenota-w .sf-chap{display:flex;align-items:center;gap:16px}
.prenota-w .sf-chap__sq{width:14px;height:14px;background:var(--sf-arancio);flex:none;transform:rotate(45deg) scale(0);transition:transform .9s .1s var(--sf-ease)}
.prenota-w .sf-chap__n{font-size:clamp(40px,4.4vw,64px);font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--sf-arancio);font-variant-numeric:tabular-nums}
.prenota-w .sf-chap__l{font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.prenota-w .sf-chap__line{flex:1;height:1.5px;position:relative;background:rgba(24,24,24,.14)}
.prenota-w .sf-chap__fill{position:absolute;inset:0;background:var(--sf-arancio);transform:scaleX(0);transform-origin:0 50%;transition:transform 1s .15s var(--sf-ease)}
.prenota-w .sf-chap__tot{font-size:13px;font-weight:600;opacity:.5;letter-spacing:.08em;white-space:nowrap}
.prenota-w .sf-chap.is-in .sf-chap__sq{transform:rotate(0) scale(1)}
.prenota-w .bk-frame{position:relative;margin:0 22px 22px 0}
.prenota-w .bk-frame::before{content:"";position:absolute;left:22px;top:22px;right:-22px;bottom:-22px;border:1.5px solid var(--sf-arancio);border-radius:var(--r);pointer-events:none;transform-origin:top left;animation:pw-sf-grow 1.1s .2s var(--sf-ease) both}
.prenota-w .bk{position:relative;display:block;min-height:560px;border:1.5px solid var(--sf-arancio);box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.prenota-w .bk__top{padding:30px 40px 0}
.prenota-w .bk__top .sf-chap{margin-bottom:18px}
.prenota-w .bk-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0;min-height:0}
.prenota-w .bk-pill{background:#fff;color:var(--sf-scuro);font-size:13px;font-weight:600;padding:9px 16px 9px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;border:0;box-shadow:0 6px 18px -6px rgba(0,0,0,.28),0 0 0 1px var(--sf-line);cursor:pointer;animation:pw-sf-up .5s var(--sf-ease) both;transition:box-shadow .2s}
.prenota-w .bk-pill::before{content:"";width:8px;height:8px;background:var(--sf-arancio);flex:none}
.prenota-w .bk-pill:hover{box-shadow:0 6px 18px -6px rgba(0,0,0,.28),0 0 0 1.5px var(--sf-arancio)}
.prenota-w .bk-pill .x{font-size:11.5px;font-weight:600;color:var(--sf-arancio);opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:all .25s var(--sf-ease)}
.prenota-w .bk-pill:hover .x,.prenota-w .bk-pill:focus-visible .x{opacity:1;max-width:80px}
.prenota-w .bk-pill[disabled]{cursor:default}
.prenota-w .bk__sep{height:1px;background:var(--sf-line);margin:24px 40px 0}
.prenota-w .bk__main{padding:30px 40px 34px}
.prenota-w .bk__tz{font-size:12.5px;opacity:.6;margin:0;padding:0 40px 30px}
.prenota-w .cf__head .sf-chap__n{font-size:56px}
.prenota-w .cf.is-in .sf-chap__sq{transform:rotate(0) scale(1)}
.prenota-w .cf__item:nth-child(2) .sf-chap__sq{transition-delay:.6s}
.prenota-w .cf__item:nth-child(3) .sf-chap__sq{transition-delay:1.1s}
@media (max-width:760px){.prenota-w .bk-frame{margin:0 12px 12px 0}.prenota-w .bk-frame::before{left:12px;top:12px;right:-12px;bottom:-12px}.prenota-w .bk__top{padding:22px 20px 0}.prenota-w .bk__sep{margin:20px 20px 0}.prenota-w .bk__main{padding:24px 20px 26px}.prenota-w .bk__tz{padding:0 20px 24px}.prenota-w .bk__top .sf-chap{gap:12px}.prenota-w .bk__top .sf-chap__n{font-size:40px}.prenota-w .bk__top .sf-chap__l{font-size:12px;letter-spacing:.14em}.prenota-w .cf__head .sf-chap__sq{position:relative;z-index:1}.prenota-w .cf__head .sf-chap__n{font-size:44px}}
@media (prefers-reduced-motion:reduce){.prenota-w .sf-chap__sq{transform:none!important}}
.prenota-w,.prenota-w *,.prenota-w *::before,.prenota-w *::after{box-sizing:border-box}
.prenota-w{font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--sf-dk);-webkit-font-smoothing:antialiased;max-width:1160px;margin:0 auto}
.prenota-w button,.prenota-w input{font:inherit;color:inherit}
.prenota-w [hidden]{display:none!important}
.prenota-w :focus-visible{outline:2.5px solid var(--sf-or);outline-offset:3px}
.prenota-w .bk__h:focus{outline:none}
.prenota-w .fld label{font-weight:600}
.prenota-w .chk label{font-weight:400}
.prenota-w .chk a{color:var(--sf-or)}
.prenota-w .chk.err label{color:#c0392b}
.prenota-w .chk .msg{display:none}
.prenota-w .esito .box p{margin:0 0 14px;font-weight:600}
.prenota-w .slots__empty[role=status]{opacity:.7}
.prenota-w .cal__d.has:not([disabled]){cursor:pointer}
@media (max-width:760px){.prenota-w .esito__act{flex-direction:column;align-items:stretch}.prenota-w .esito__act .sf-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.prenota-w *,.prenota-w *::before,.prenota-w *::after{animation:none!important;transition:none!important}}
/* Larghezza del contenitore, non dello schermo: il widget può stare in una colonna stretta di Elementor. */
.prenota-w{container-type:inline-size;container-name:prenota}
.prenota-w .slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
@container prenota (max-width:820px){.prenota-w .cal{grid-template-columns:1fr}.prenota-w .tipi{grid-template-columns:1fr}.prenota-w .dati{grid-template-columns:1fr}}
.prenota-w .cal__d{aspect-ratio:auto;height:46px;max-width:56px;justify-self:center;width:100%}
/* 0.5.1 — difesa dagli stili del tema sui pulsanti (sul sito vero: white-space:nowrap allargava le card dei tipi a 695px su mobile) */
.prenota-w .tipo,.prenota-w .zona,.prenota-w .slot{white-space:normal;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:break-word}
.prenota-w .tipi>*,.prenota-w .zone>*,.prenota-w .cal>*,.prenota-w .dati>*{min-width:0}
.prenota-w .cal__g{grid-template-columns:repeat(7,minmax(0,1fr))}
.prenota-w .cal__d{padding:0;min-width:0}

/* 0.5.4 — il tema/Elementor coloravano di bianco i pulsanti al passaggio o al clic: il testo resta quello del widget */
.prenota-w .tipo,.prenota-w .zona,.prenota-w .slot,.prenota-w .cal__d,.prenota-w .bk__back,.prenota-w .bk__step button.ch,.prenota-w .cal__nav button{color:var(--sf-scuro,#181818)}
.prenota-w .tipo:hover,.prenota-w .tipo:focus,.prenota-w .tipo:active,.prenota-w .zona:hover,.prenota-w .zona:focus,.prenota-w .zona:active,.prenota-w .slot:hover,.prenota-w .slot:focus,.prenota-w .slot:active,.prenota-w .cal__d:hover,.prenota-w .cal__d:focus,.prenota-w .cal__d:active,.prenota-w .cal__nav button:hover,.prenota-w .cal__nav button:focus,.prenota-w .cal__nav button:active{color:var(--sf-scuro,#181818)}
.prenota-w .cal__nav button:hover:not(:disabled),.prenota-w .cal__nav button:focus:not(:disabled){background:none}
.prenota-w .bk__back:hover,.prenota-w .bk__back:focus,.prenota-w .bk__back:active{background:none;color:var(--sf-or)}
.prenota-w .bk__step button.ch:hover,.prenota-w .bk__step button.ch:focus{background:none;color:var(--sf-or)}

/* 0.5.5 — contrasto AA dei testi piccoli */
.prenota-w .tipo__min{color:#B5401B}
.prenota-w .sf-chap__tot,.prenota-w .bk__tot{opacity:1;color:#6B6B6B}
.prenota-w .bk__step span.v{opacity:1;color:#4a4a4a}
