/* moduli: esiti, consenso, newsletter */
.esito-ok{background:#e9f8ef!important;color:#0f5c2e}
.modulo fieldset{border:0;padding:0;margin:0;min-width:0}
.modulo legend{font-weight:600;color:var(--ardesia);margin-bottom:8px;padding:0}
.m-check{align-items:flex-start!important;font-weight:500!important;line-height:1.4}
.m-check input{margin-top:2px}
.m-check a{color:var(--blu)}
.news .hp{position:absolute;left:-9999px}
.news-msg{flex-basis:100%;margin:4px 0 0;font-weight:700;color:#fff}

/* gift card */
.gift-w{max-width:760px}
.gift-scelta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gift-scelta legend{grid-column:1/-1}
.gift-op{position:relative;display:flex}
.gift-op input{position:absolute;opacity:0;width:1px;height:1px}
.gift-op span{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:10px;border:2px solid var(--bordo);border-radius:14px;font-weight:700;cursor:pointer;background:#fff}
.gift-op input:checked+span{border-color:var(--blu);background:#eef3ff;color:var(--blu-s)}
.gift-op input:focus-visible+span{outline:3px solid var(--blu);outline-offset:2px}
@media (max-width:760px){.gift-scelta{grid-template-columns:minmax(0,1fr)}}

/* recensioni */
.rec-w{display:grid;gap:clamp(32px,4vw,56px)}
.rec-sintesi{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;justify-content:center;font-size:18px;margin:0 auto!important}
.rec-sintesi strong{font-size:34px;line-height:1}
.rec-sintesi a{color:var(--blu);font-weight:700}
.stelle{color:#f59e0b;letter-spacing:2px;font-size:18px;white-space:nowrap}.stelle .vuote{color:#d6dbe6}
.rec-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.rec-card{background:#fff;border:1px solid var(--bordo);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 14px rgba(20,33,61,.06)}
.rec-testa{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rec-tipo{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sfondo);color:var(--ardesia);padding:4px 10px;border-radius:999px}
.rec-card h3{font-size:18px!important;line-height:1.3}
.rec-data{color:#5b6782;font-size:15px;margin:0!important}
.rec-testo p{margin:0 0 8px!important;font-size:16px}
.rec-autore{margin-top:auto!important;font-weight:700;color:var(--ardesia)}
.rec-form{max-width:760px;margin-inline:auto;width:100%;background:#fff;border:1px solid var(--bordo);border-radius:18px;padding:clamp(20px,3vw,36px);display:grid;gap:10px;box-shadow:0 6px 24px rgba(20,33,61,.08)}
.rec-form>p{margin:0 0 8px}
.rec-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.stelle-sel{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.stelle-sel input{position:absolute;opacity:0;width:1px;height:1px}
.stelle-sel label{font-size:40px;line-height:1;color:#d6dbe6;cursor:pointer;padding:2px;min-width:44px;min-height:44px;display:grid;place-items:center}
.stelle-sel label:hover,.stelle-sel label:hover~label,.stelle-sel input:checked~label{color:#f59e0b}
.stelle-sel input:focus-visible+label{outline:3px solid var(--blu);border-radius:8px}
.pillole{display:flex;flex-wrap:wrap;gap:10px}
.pillole label{position:relative}
.pillole input{position:absolute;opacity:0;width:1px;height:1px}
.pillole span{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border:2px solid var(--bordo);border-radius:999px;font-weight:700;cursor:pointer}
.pillole input:checked+span{background:var(--inchiostro);border-color:var(--inchiostro);color:#fff}
.pillole input:focus-visible+span{outline:3px solid var(--blu);outline-offset:2px}
.rec-google h2{text-align:center;margin-bottom:18px}
.google-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;justify-content:center;margin-bottom:18px}
.g-logo{font-weight:800;font-size:24px}.g-logo span:nth-child(1),.g-logo span:nth-child(4){color:#4285F4}.g-logo span:nth-child(2),.g-logo span:nth-child(6){color:#EA4335}.g-logo span:nth-child(3){color:#FBBC05}.g-logo span:nth-child(5){color:#34A853}
.g-meta{font-size:15px;color:#5b6782}.g-score{color:#f59e0b;font-weight:800;font-size:19px;margin-right:4px}
.google-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.g-card{background:var(--sfondo);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px}
.g-top{display:flex;align-items:center;gap:11px}
.g-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700}
.g-name{font-weight:700;font-size:15px}.g-date{font-size:13px;color:#5b6782}
.g-card .stars{color:#f59e0b;letter-spacing:2px}
.g-text{font-size:15px!important;margin:0!important}
.g-reply{border-left:3px solid #c9d3ea;background:#fff;border-radius:0 8px 8px 0;padding:9px 12px;font-size:14px;color:#4a5670;overflow-wrap:anywhere}
.g-reply strong{display:block;font-size:13px;margin-bottom:2px;color:var(--ardesia)}

/* escursioni */
.esc-todest{background:var(--sfondo);border-radius:18px;padding:clamp(16px,2.4vw,32px)}
.esc-btn{color:#fff!important;text-decoration:none;flex:none}
.esc-salti{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.esc-salti a{min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;border:2px solid var(--bordo);font-weight:700;text-decoration:none;color:var(--inchiostro)!important}
.esc-salti a:hover{border-color:var(--inchiostro)}
.esc-zone{display:grid;gap:clamp(28px,4vw,48px)}
.esc-zona{display:grid;gap:14px;scroll-margin-top:90px}
.esc-zona iframe{min-height:360px!important;border:0}
.esc-viator{min-height:200px}
.esc-nota{text-align:center;color:#5b6782;font-size:15px;margin:0 auto!important}

/* BeSafe Rate */
.bs-intro{max-width:860px;margin-inline:auto;text-align:center;display:grid;gap:14px;justify-items:center}
.bs-logo{width:212px!important;height:auto!important;border-radius:0!important}
.bs-box{background:linear-gradient(120deg,#2562fc,#404f6e);color:#fff;border-radius:20px;padding:clamp(24px,4vw,48px);display:grid;gap:12px}
.bs-box h2{color:#fff!important;max-width:24ch}.bs-box p{max-width:70ch;margin:0}
.bs-occhiello{font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.bs-testa{display:grid;gap:10px;max-width:860px}
.bs-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
.bs-card{background:#fff;border:1px solid var(--bordo);border-radius:16px;padding:22px;display:grid;gap:8px;align-content:start;box-shadow:0 3px 14px rgba(20,33,61,.06)}
.bs-card p{margin:0;font-size:16px}
.bs-ico{width:52px;height:52px;border-radius:14px;background:#eef3ff;color:var(--blu);display:grid;place-items:center}
.bs-ico svg{width:28px;height:28px}
.bs-nota{font-size:15px;color:#4a5670}
.bs-cta .btn{color:#fff!important;text-decoration:none}

/* video tutorial */
.ifm-video{width:100%;height:auto;max-height:none!important;aspect-ratio:16/9;border-radius:14px;background:#111}

/* radio e caselle nascosti: non devono allargare la pagina */
.stelle-sel,.pillole label,.gift-op{position:relative}
.modulo .stelle-sel input,.modulo .pillole input,.modulo .gift-op input{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0;overflow:hidden}
html{overflow-x:clip}

/* Hotel & location on demand */
.ho{display:grid;gap:18px;min-width:0}
.ho-testa{background:linear-gradient(120deg,#14213d,#404f6e);color:#fff;border-radius:20px;padding:clamp(20px,3.4vw,40px);display:grid;gap:10px}
.ho-testa h2{color:#fff!important;max-width:26ch}
.ho-testa p{margin:0;max-width:62ch;color:rgba(255,255,255,.9)}
.ho-occh{font-size:13px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9db8ff!important}
.ho-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ho-cta .btn{text-decoration:none;color:#fff!important;flex:0 0 auto}
.ho-cta .ho-tel{background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.4)}
.ho-cta .ho-tel:hover{background:rgba(255,255,255,.24)}
.ho-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.ho-cerca{position:relative;flex:1 1 320px;max-width:520px}
.ho-cerca svg{position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#5b6782}
.ho-cerca input{width:100%;height:50px;border:2px solid var(--bordo);border-radius:999px;padding:0 18px 0 44px;font:500 16px var(--sans);color:var(--inchiostro);background:#fff}
.ho-cerca input:focus{outline:3px solid var(--blu);border-color:var(--blu)}
.ho-vista{display:inline-flex;background:var(--sfondo);border-radius:999px;padding:4px}
.ho-v{min-height:42px;padding:0 20px;border:0;border-radius:999px;background:none;font:700 15px var(--sans);color:var(--ardesia);cursor:pointer}
.ho-v[aria-pressed=true]{background:#fff;color:var(--inchiostro);box-shadow:0 1px 4px rgba(20,33,61,.15)}
.ho-filtri{display:grid;gap:8px;min-width:0}
.ho-filtri .chips{margin:0}
.ho .chip span{font-weight:500;opacity:.7;margin-left:2px}
.ho-conta{margin:0!important;color:#4a5670}
.ho-mappa #ho-mappa{height:min(70vh,560px);border-radius:16px;background:var(--sfondo)}
.ho-griglia{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important}
.ho-in-mappa .ho-griglia{display:none}
.ho-vuoto{text-align:center;margin:0!important}
.ho-reset{border:0;background:none;color:var(--blu);font:700 16px var(--sans);text-decoration:underline;cursor:pointer}
.ho-fine{background:var(--sfondo);border-radius:18px;padding:clamp(18px,3vw,32px);display:grid;gap:8px;justify-items:start}
.ho-fine p{margin:0}
.ho-fine .btn{color:#fff!important;text-decoration:none}
@media (max-width:760px){
  .ho{gap:14px}
  .ho-testa{border-radius:16px;padding:18px;gap:8px}
  .ho-testa p{font-size:15px}
  .ho-cta .btn{flex:1;min-height:46px;font-size:15px;padding:0 10px}
  .ho-barra{gap:8px}
  .ho-cerca{flex-basis:100%;max-width:none}
  .ho-cerca input{height:46px;font-size:15px}
  .ho-vista{width:100%}.ho-v{flex:1;min-height:40px}
  .ho-filtri .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--m) * -1)!important;padding-inline:var(--m);scroll-padding-inline:var(--m)}
  .ho-filtri .chips::-webkit-scrollbar{display:none}
  .ho-griglia{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ho-mappa #ho-mappa{height:64vh}
}
/* card dentro le pagine di contenuto: niente colori e sottolineature dei link del testo */
.corpo-pag .card a{color:inherit;text-decoration:none}
.corpo-pag .card h3 a{color:var(--inchiostro)}
.corpo-pag .card h3 a:hover{color:var(--blu);text-decoration:underline}
.corpo-pag .card .btn-p,.corpo-pag .card .btn-p:hover{color:#fff!important}
.corpo-pag .card .c-dett{color:var(--inchiostro);text-decoration:underline;text-underline-offset:3px}
.corpo-pag .chip{color:var(--inchiostro)}
.corpo-pag .chip[aria-pressed=true]{color:#fff}

/* Torino */
.pg-torino section.sez.sez-alt:has(.motivi){display:none}
.to-citta{padding-block:clamp(20px,3vw,36px) clamp(32px,4vw,56px)}
.to-riga{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);align-items:center}
.to-inv .to-foto{order:2}
.to-foto{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:var(--sfondo)}
.to-foto img{width:100%;height:100%;object-fit:cover}
.to-testo{display:grid;gap:12px;min-width:0}
.to-testo p{margin:0;max-width:62ch}
.to-occh{font-size:13px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blu)}
.to-osp{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:2px 0}
.to-osp li{font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;background:#eef3ff;color:var(--inchiostro)}
.to-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.to-cta .btn{text-decoration:none;flex:0 0 auto}
.to-wa{background:#25d366;color:#fff}
.to-wa:hover{background:#1ebe5b}
.to-tel{font-weight:700;color:var(--inchiostro)}
.to-link a{font-weight:700;color:var(--blu)}
.to-faq{padding-top:0}
@media (max-width:760px){
  .to-riga{grid-template-columns:minmax(0,1fr);gap:16px}
  .to-inv .to-foto{order:0}
  .to-foto{aspect-ratio:16/10;border-radius:14px}
  .to-testo p{font-size:15.5px}
  .to-osp li{font-size:13px;padding:5px 10px}
  .to-cta .btn{flex:1 1 100%;min-height:48px}
  .to-tel{width:100%;text-align:center}
}

/* Soggiorni sanitari */
.pg-sanitari .titolo-pag{display:none}
.pg-sanitari .pagina-c{padding-top:clamp(16px,2.4vw,32px)}
.sa{display:grid;gap:clamp(40px,5vw,72px);min-width:0}
.sa h2{font-size:clamp(23px,1.4vw + 16px,34px)!important;line-height:1.18;color:var(--inchiostro)}
.sa h3{font-size:18px!important;line-height:1.3;color:var(--inchiostro)}
.sa p{margin:0}
.sa-occh{font-size:13px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blu)}
.sa-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center;background:linear-gradient(120deg,#14213d,#2c3e63);color:#fff;border-radius:24px;padding:clamp(22px,4vw,52px);overflow:hidden}
.sa-hero h1{font-size:clamp(28px,2.4vw + 14px,46px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#fff;margin:8px 0 12px}
.sa-hero .sa-occh{color:#9db8ff}
.sa-sub{font-size:clamp(16px,.4vw + 14px,19px);color:rgba(255,255,255,.9);max-width:52ch}
.sa-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sa .sa-cta .btn{text-decoration:none;color:#fff!important;flex:0 0 auto}
.sa-wa{background:#25d366}.sa-wa:hover{background:#1ebe5b}
.sa-tel{background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.4)}
.sa-fine .sa-tel{background:var(--inchiostro);border:0}
.sa-trust{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none!important;padding:0!important;margin:18px 0 0!important;font-size:14px;color:rgba(255,255,255,.85)}
.sa-trust li{margin:0!important;display:flex;align-items:center;gap:6px}
.sa-trust li::before{content:"✓";color:#7ee2a8;font-weight:800}
.sa-trust li:first-child::before{content:none}
.sa-trust a{color:#fff!important;text-decoration:none}.sa-trust b{color:#f5b400}
.sa-hero-f{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:1/1;max-height:460px}
.sa-hero-f img{width:100%;height:100%;object-fit:cover;border-radius:0!important}
.sa-testa{display:grid;gap:8px;max-width:820px;margin-bottom:clamp(16px,2vw,24px)}
.sa-testa p:not(.sa-occh){font-size:17px;color:#3c4963}
.sa-tre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sa-box{background:var(--sfondo);border-radius:16px;padding:22px;display:grid;gap:6px;align-content:start}
.sa-osp{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.sa-o{background:#fff;border:1px solid var(--bordo);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 14px rgba(20,33,61,.05)}
.sa-o p{font-size:15px;color:#3c4963;flex:1}
.sa-zona{align-self:flex-start;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#eef3ff;color:var(--blu);padding:4px 10px;border-radius:999px}
.sa .sa-o-btn{margin-top:6px;font-weight:700;color:var(--blu)!important;text-decoration:none}
.sa-o-altro{background:var(--sfondo);border-style:dashed}
.sa-case .testa{margin-bottom:14px}
.sa-tutte{margin-top:6px!important}.sa-tutte a{font-weight:700}
.sa-quattro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sa-n{border-top:3px solid var(--blu);padding-top:14px;display:grid;gap:6px;align-content:start}
.sa-n b{font-size:14px;color:var(--blu);letter-spacing:.08em}
.sa-n p{font-size:15px;color:#3c4963}
.sa-contatti{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
.sa-modulo .modulo-w{max-width:none;background:#fff;border:1px solid var(--bordo);border-radius:20px;padding:clamp(18px,3vw,32px);box-shadow:0 6px 24px rgba(20,33,61,.08)}
.sa-rec{background:var(--inchiostro);color:#fff;border-radius:20px;padding:22px;display:grid;gap:10px;position:sticky;top:100px}
.sa-rec h3{color:#fff!important}.sa-rec p{color:rgba(255,255,255,.85);font-size:15px}
.sa .sa-r{display:grid;gap:1px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);color:#fff!important;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.sa-r small{font-size:12px;font-weight:600;color:#9db8ff;text-transform:uppercase;letter-spacing:.05em}
.sa-r:hover{background:rgba(255,255,255,.16)}
.sa-fine{background:var(--sfondo);border-radius:20px;padding:clamp(22px,4vw,44px);text-align:center;display:grid;gap:10px;justify-items:center}
.sa-fine .sa-cta{justify-content:center}
@media (max-width:900px){.sa-quattro{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-contatti{grid-template-columns:minmax(0,1fr)}.sa-rec{position:static}}
@media (max-width:760px){
  .sa{gap:36px}
  .sa-hero{grid-template-columns:minmax(0,1fr);border-radius:18px;padding:20px 18px;gap:16px}
  .sa-hero-f{order:-1;aspect-ratio:16/10;max-height:none;border-radius:14px}
  .sa-hero h1{font-size:clamp(25px,7vw,30px)}
  .sa-sub{font-size:15.5px}
  .sa-cta{margin-top:14px}
  .sa .sa-cta .btn{flex:1 1 auto;min-height:46px;font-size:15px;padding:0 12px}
  .sa .sa-cta .btn-p{flex-basis:100%}
  .sa-trust{gap:6px 12px;font-size:13px}
  .sa-testa p:not(.sa-occh){font-size:15.5px}
  .sa-tre{grid-template-columns:minmax(0,1fr);gap:10px}
  .sa-box{padding:16px}
  .sa-osp{gap:10px}.sa-o{padding:16px}
  .sa-quattro{grid-template-columns:minmax(0,1fr);gap:16px}
}
.sa-tipi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sa-t{background:#fff;border:1px solid var(--bordo);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 14px rgba(20,33,61,.05)}
.sa-t p{font-size:15px;color:#3c4963;flex:1}
.sa-t-ico{width:52px;height:52px;border-radius:14px;background:#eef3ff;color:var(--blu);display:grid;place-items:center;margin-bottom:4px}
.sa-t-ico svg{width:28px;height:28px}
.sa .sa-t-btn{margin-top:8px;color:#fff!important;text-decoration:none;align-self:flex-start}
@media (max-width:760px){.sa-tipi{grid-template-columns:minmax(0,1fr);gap:10px}.sa-t{padding:16px}.sa .sa-t-btn{align-self:stretch}}
