/* ═══ TWIP — modalità ricerca: le sezioni escono, entrano risultati + chat ═══ */
/* twipper mode: l'hero resta identico (nessun ridimensionamento) */
.askline{max-height:220px;overflow:hidden;transition:max-height .6s cubic-bezier(.32,.72,0,1),opacity .3s ease,padding .6s cubic-bezier(.32,.72,0,1)}
body.searching .askline{max-height:0;opacity:0;padding:0}
.search2{transition:box-shadow .45s ease}
body.searching .search2{box-shadow:0 18px 44px -20px rgba(27,184,208,.65),0 0 0 2px var(--tw)}
.sm-anim{transition:opacity .5s cubic-bezier(.32,.72,0,1),transform .5s cubic-bezier(.32,.72,0,1)}
.sm-out{opacity:0;transform:translateY(30px) scale(.985);pointer-events:none}
/* ── contenitore risultati ── */
.smode{padding:30px 0 0;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .65s cubic-bezier(.22,1,.36,1)}
.smode.on{opacity:1;transform:none}
.smgrid{display:grid;gap:26px}
.smtop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.smtop .secs{margin-bottom:0;margin-top:6px}
.smbadge{background:var(--tw)}
/* il badge segue il titolo, allineato alla base del testo */
.smres .headrow{align-items:baseline;gap:10px}
.smres .smbadge{position:relative;top:-3px}
.smclose{display:inline-flex;align-items:center;gap:7px;flex:none;border:1px solid var(--hair);background:#fff;border-radius:999px;padding:9px 15px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;transition:box-shadow .25s ease,transform .25s ease}
.smclose:hover{box-shadow:0 8px 20px -10px rgba(10,40,60,.4);transform:translateY(-1px)}
.smclose svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.smh{font-size:23px}
.smres,.smres .headrow{text-align:left;justify-content:flex-start}
/* evidenziature rettangolari, un colore per titolo */
.smres .hl{background:#FFE066;color:var(--ink);padding:.04em .22em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.smres .hl2{background:#A9E5F5}
.smres .hl3{background:#FFC9B5}
.smres .hl4{background:#C6ECBE}
.smgap{margin-top:34px}
.smnote{background:var(--tw-tint);border:1px solid var(--tw-soft);border-radius:14px;padding:16px 18px;font-size:15px;color:var(--ink-2);max-width:520px}
/* card: pop in a cascata + bottone aggiungi */
@keyframes smPop{from{opacity:0;transform:translateY(24px) scale(.95)}}
@keyframes smSlide{from{opacity:0;transform:translateX(-56px)}}
.slidein{animation:smSlide .62s cubic-bezier(.22,1,.36,1) both}
.pop{animation:smPop .6s cubic-bezier(.22,1,.36,1) both}
.smadd{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:rgba(255,255,255,.94);padding:7px 12px;font:inherit;font-size:12.5px;font-weight:800;color:var(--ink);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.22);transition:background .25s ease,color .25s ease,transform .2s ease}
.smadd:active{transform:scale(.94)}
.smadd.on{background:var(--tw);color:#fff}
.smadd svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
/* scheletri durante la ricerca */
.skel{width:230px;flex:none}
.skel i{display:block;background:linear-gradient(100deg,#EEF1F4 40%,#F8FAFB 50%,#EEF1F4 60%);background-size:200% 100%;animation:smShimmer 1.1s linear infinite;border-radius:8px}
.skel .ph{aspect-ratio:1/.86;border-radius:14px}
.skel .l1{height:15px;margin-top:12px;width:88%}
.skel .l2{height:15px;margin-top:8px;width:55%}
@keyframes smShimmer{to{background-position:-200% 0}}
/* ── chat Twipper ── */
.smchat{gap:10px;border-radius:22px;box-shadow:0 26px 60px -34px rgba(10,40,60,.5)}
.smchat .chathead{position:relative;align-items:center;gap:11px;padding-bottom:11px}
.smav{width:44px;height:44px;border-radius:50%;flex:none;overflow:hidden;background:var(--tw-tint);display:grid;place-items:center}
.smav img{width:34px;height:34px;object-fit:contain}
.smid{min-width:0;display:grid;gap:1px}
.smid b{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:800;letter-spacing:-.02em}
.smid small{font-size:13.5px;color:var(--ink-2);font-weight:600}
.smverif{display:inline-flex;align-items:center;gap:5px;background:var(--tw-tint);color:var(--tw-2);border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:800;font-style:normal;white-space:nowrap}
.smverif svg{width:12px;height:12px;fill:var(--tw-2)}
.smchat #sm-status{font-size:12px;line-height:1.15;text-align:right;max-width:86px;margin-left:auto;align-self:center}
/* fiducia: due righe con icone a colori */
.smtrust{display:grid;gap:8px;border-top:1px solid var(--hair);padding-top:11px}
.smtrust span{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.25}
.smtrust b{font-weight:800}
.smtrust i{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center}
.smtrust i svg{width:17px;height:17px;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.smtrust .t-pay i{background:#E8F7EE}.smtrust .t-pay i svg{stroke:#1E9E5A}
.smtrust .t-time i{background:#FFF3DC}.smtrust .t-time i svg{stroke:#C98914}
.smlog{pointer-events:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;font-size:17.5px;line-height:1.5;gap:4px;min-height:130px;padding:2px}
.smlog .b a{color:inherit;text-decoration:underline}
/* esperienza selezionata dentro la chat */
.smlog .b.cardmsg{display:flex;align-items:center;gap:10px;max-width:96%;padding:8px 12px 8px 8px}
.smlog .b.cardmsg img{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none}
.smlog .b.cardmsg b{display:block;font-size:15.5px;line-height:1.25}
.smlog .b.cardmsg small{display:block;font-size:13.5px;opacity:.85;margin-top:2px}
.smchips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 2px;pointer-events:auto;transition:opacity .25s ease,transform .25s ease}
.smchips.gone{opacity:0;transform:translateY(-6px)}
.smchips button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hair);background:#fff;border-radius:999px;padding:9px 15px;font:inherit;font-size:15.5px;font-weight:700;color:var(--ink);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.smchips button:hover{border-color:var(--tw);box-shadow:0 6px 16px -10px rgba(27,184,208,.7)}
.smchips button.pick{background:var(--tw);border-color:var(--tw);color:#fff}
.smchips button em{font-style:normal}
/* riquadri tematici: cornice animata + illustrazione che respira */
.smtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding:10px 0 4px}
.smtiles button{flex-direction:column;align-items:stretch;gap:8px;border-radius:16px;padding:8px 8px 10px;text-align:center;overflow:hidden;position:relative}
.smtiles .vart{position:relative;display:grid;place-items:center;aspect-ratio:1/1;border-radius:12px;background:linear-gradient(160deg,var(--tw-tint),#fff);overflow:hidden}
.smtiles .vart img{width:100%;height:100%;object-fit:cover;display:block;animation:vibeBreathe 7s ease-in-out infinite}
.smtiles .vart em{position:absolute;font-size:30px;line-height:1;animation:vibeFloat 4.6s ease-in-out infinite}
.smtiles .vart img:not([style*="none"]) + em{opacity:0}
.smtiles button b{font-size:14.5px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.smtiles button:hover .vart img{animation-duration:3.4s}
.smtiles button.pick .vart{outline:2px solid #fff;outline-offset:-2px}
@keyframes vibeBreathe{0%,100%{transform:scale(1.02)}50%{transform:scale(1.12) translateY(-2%)}}
@keyframes vibeFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.smtiles .vart img,.smtiles .vart em{animation:none}}
/* il tuo viaggio */
.smplan{border-top:1px solid var(--hair);padding-top:11px;display:grid;gap:9px}
.smplan[hidden]{display:none}
.smplanh{display:flex;justify-content:space-between;align-items:baseline}
.smplanh b{font-size:15.5px;letter-spacing:-.01em}
.smplanh span{font-size:12.5px;color:var(--ink-3);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.smrow{display:flex;align-items:center;gap:10px}
.smrow img{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:none}
.smrow .tx{flex:1;min-width:0}
.smrow .tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.22}
.smrow small{display:block;color:var(--tw-2);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.smrow .rm{flex:none;width:26px;height:26px;border:0;border-radius:50%;background:#F1F1F4;color:var(--ink-3);cursor:pointer;display:grid;place-items:center}
.smrow .rm svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.smempty{margin:0;font-size:13px;color:var(--ink-3)}
/* collegamento tratteggiato fra due tappe */
.smleg{display:flex;align-items:center;gap:10px;padding:2px 0 2px 22px}
.smleg i{width:0;height:24px;border-left:2px dashed var(--tw);flex:none}
.smleg span{font-size:11.5px;font-weight:700;color:var(--ink-3)}
.smleg b{color:var(--tw-2)}
.smcta{display:block;width:100%;text-align:center;margin-top:2px}
/* dubbi + footer in coda alla vista Twipper */
.smhelp{background:#fff;margin-top:46px;padding:30px 0 40px}
.smhelp-in{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:26px}
.smhelp .secs{margin:6px 0 0;max-width:46ch}
.smhelp .btn-dark{flex:none;width:auto;align-self:center;padding:12px 22px;font-size:16px}
/* input libero */
.smask{display:flex;gap:8px;border-top:1px solid var(--hair);padding-top:10px}
.smask input{flex:1;min-width:0;border:1px solid var(--hair);border-radius:999px;padding:11px 16px;font:inherit;font-size:16.5px;font-weight:600;color:var(--ink);outline:none;transition:border-color .2s ease}
.smask input:focus{border-color:var(--tw)}
.smask button{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--tw);color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease}
.smask button:active{transform:scale(.92)}
.smask button svg{width:18px;height:18px}
.smdot{width:9px;height:9px;border-radius:50%;background:#FF453A;margin-left:8px;flex:none}
.smchev{display:none}
/* mobile: la chat è un foglio ancorato in basso, si apre con un tocco */
@media (max-width:999px){
  .smchat{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;max-height:64vh;transform:translateY(calc(100% - 56px));transition:transform .55s cubic-bezier(.32,.72,0,1);box-shadow:0 24px 60px -14px rgba(10,40,60,.55)}
  .smchat.open{transform:none}
  /* chiusa: solo l'intestazione riceve i tocchi, il resto della pagina resta cliccabile */
  .smchat:not(.open){pointer-events:none}
  .smchat:not(.open) .chathead{pointer-events:auto}
  .smhelp{margin-top:28px}
  .smfoot{padding-bottom:96px}
  .smchat .chathead{cursor:pointer;-webkit-user-select:none;user-select:none}
  .smchev{display:block;width:18px;height:18px;margin-left:auto;flex:none;fill:none;stroke:var(--ink-3);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s ease}
  .smchat.open .smchev{transform:rotate(180deg)}
  .smchat .smdot{margin-left:6px}
  .smlog{max-height:none;flex:1 1 auto;min-height:0}
  .smchat{overflow:hidden}
  .smchat.open{display:flex}
  .smid small{display:none}
  .smtrust{grid-template-columns:1fr;gap:6px}
  .smtrust span{font-size:13px}
  .smtrust i{width:26px;height:26px;border-radius:8px}
  .smtrust i svg{width:15px;height:15px}
  .smres{padding-bottom:104px}
}
@media (min-width:1000px){
  /* la colonna risultati parte dal bordo sinistro della pagina, come le sezioni a filo */
  .smode > .wrapc,.smhelp > .wrapc{max-width:none;margin:0;padding-left:var(--fl);padding-right:var(--fl)}
  .smchat{margin-right:0}
  .smgrid{grid-template-columns:minmax(0,1fr) 410px;gap:44px;align-items:start}
  /* pannello chat spinto verso il bordo destro del viewport */
  .smchat{position:sticky;top:92px;max-height:calc(100vh - 118px);z-index:5;overflow:hidden;margin-right:0}
  .smlog{flex:1 1 auto;min-height:220px}
  /* le fasce restano a tutta larghezza: le card scorrono fin sotto la chat, fino al bordo destro */
  .skel{width:270px}
}
/* ── il riquadro di ricerca si espande verso il basso: Dove / Quando ── */
.searchwrap{position:relative;z-index:40}
.search2{flex-wrap:wrap;position:relative;overflow:visible}
.search2.exp{box-shadow:0 26px 56px -22px rgba(10,40,60,.55),0 0 0 1px var(--hair)}
.sexp{position:absolute;top:100%;left:0;width:calc(50% - 42px);z-index:80;background:#fff;border:1px solid var(--hair);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 26px 56px -22px rgba(10,40,60,.55);display:grid;grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .55s cubic-bezier(.32,.72,0,1),opacity .3s}
.sexp{margin-top:-1px}
.sexp.sq{left:auto;right:84px;width:calc(50% - 42px)}
.search2.exp .sexp{grid-template-rows:1fr;opacity:1;pointer-events:auto}
.search2.exp{border-bottom-left-radius:0}
.search2.exp.expq{border-bottom-left-radius:16px}
@media (min-width:1000px){.sexp{width:calc(50% - 53px)}.sexp.sq{right:106px;width:calc(50% - 53px)}}
.sexp-in{min-height:0;overflow:hidden}
.spane{display:none;padding:6px 12px 10px}
.spane.on{display:block}
.spane > b{display:block;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin:6px 2px 10px}
.sopts{display:grid;gap:1px;max-height:236px;overflow-y:auto;scrollbar-width:thin}
.sgrp{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin:8px 2px 4px}
.sgrp:first-child{margin-top:2px}
.sopts button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:10px;padding:5px 6px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:background .15s ease}
.sopts button:hover{background:var(--tw-tint)}
.sini{flex:none;width:28px;height:28px;border-radius:8px;background:var(--hair-2);color:var(--ink-2);font-style:normal;font-weight:800;font-size:13px;display:grid;place-items:center}
.sini.reg{background:var(--tw-tint);color:var(--tw-2)}
.sopts span{min-width:0;display:flex;align-items:baseline;gap:8px}
.sopts b{font-size:14px;letter-spacing:-.01em}
.sopts small{color:var(--ink-3);font-size:12px;font-weight:600}
.scal{max-width:300px;margin:0 auto}
.scal-h{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px}
.scal-h b{font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.scal-nav{display:flex;gap:2px}
.scal-nav button{border:0;background:transparent;color:var(--tw-2);font-size:22px;line-height:1;width:28px;height:28px;border-radius:50%;cursor:pointer;display:grid;place-items:center;padding-bottom:3px;transition:background .15s ease}
.scal-nav button:hover{background:var(--tw-tint)}
.scal-nav button:disabled{color:var(--ink-3);opacity:.35;cursor:default;background:transparent}
.scal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:1px}
.scal-dow i{font-style:normal;text-align:center;font-size:11px;font-weight:700;color:var(--ink-3)}
.scal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
.scal-grid u{display:block}
.scal-grid button{border:0;background:transparent;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);width:32px;height:32px;max-width:100%;margin:0 auto;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}
.scal-grid button:hover:not(:disabled){background:var(--tw-tint)}
.scal-grid button.tod{color:var(--tw-2);font-weight:800}
.scal-grid button.sel{background:var(--tw);color:#06303a;font-weight:800}
.scal-grid button.sel.a{background:var(--ink);color:#fff}
.scal-grid button.sel.b{background:var(--tw);color:#06303a}
.scal-grid button.rng{background:var(--tw-tint)}
.scal-grid button:disabled{color:var(--ink-3);opacity:.4;cursor:default}
@media (prefers-reduced-motion:reduce){.sexp{transition:none}}
@media (prefers-reduced-motion:reduce){
  .sm-anim,.smode,.askline,.smchat{transition:none}
  .pop{animation:none}
  .slidein{animation:none}
  .skel i{animation:none}
}
