/* Lista e scheda «Da qui». Variabili e bottoni stanno nel tema gardagate. */

/* Lista: hero */
.gg-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding-block:24px 64px}
.gg-hero .t{display:flex;flex-direction:column;gap:20px;min-width:0}
.gg-hero h1{font-size:clamp(44px,6vw,84px);letter-spacing:-.015em;line-height:.98}
.gg-hero .t>p:not(.eye){margin:0;font-size:18px;color:var(--txt);max-width:460px}
.gg-hero figure{margin:0;position:relative}
.gg-hero figure img{width:100%;aspect-ratio:13/10;object-fit:cover;border-radius:24px;display:block}
.gg-hero .pill a{color:var(--ink);text-decoration:none}.gg-hero .pill a:hover{text-decoration:underline}

/* Ricerca Avantio nella hero: il modulo arriva da booking.gardagate.it, qui lo mettiamo in griglia */
.gg-search{border:1px solid #D5DADE;border-radius:18px;padding:8px}
.gg-search *{font-family:Roboto,sans-serif!important}
.gg-search #sombrap,.gg-search #contenedor2,.gg-search #contenidop2{all:unset;display:block}
.gg-search #miniformulario_slider #sombrap #tabla_form{display:flex!important;flex-wrap:wrap;gap:0;background:none!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}
.gg-search #miniformulario_slider #sombrap #tabla_form>*{flex:1 1 28%!important;min-width:0;margin:0!important;padding:8px 10px!important;border:0!important;background:none!important;float:none!important;width:auto!important;max-width:none!important}
.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-travel-period,.gg-search #miniformulario_slider #sombrap #tabla_form #contenido_buscar{flex-basis:100%!important}
.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-travel-period{border-bottom:1px solid var(--line)!important}
.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-FRMDestino{flex-basis:40%!important}
.gg-search label{font-size:11px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)!important;margin:0 0 2px!important;padding:0!important}
.gg-search select,.gg-search input[type=text]{font-size:16px!important;color:var(--ink)!important;padding:0!important;border:0!important;background-color:transparent!important;height:auto!important;min-height:28px}
.gg-search #miniformulario_slider #sombrap #tabla_form #contenido_buscar a#buscar{display:flex!important;align-items:center;justify-content:center;min-height:52px;background:var(--ink)!important;color:#FFF!important;border:0!important;border-radius:12px!important;font-weight:700!important;font-size:16px!important;text-transform:none!important;text-decoration:none;width:100%}
.gg-search #buscar:hover{background:#2A3036!important}

/* Lista: filtro per vista */
.gg-views{background:var(--soft)}
.gg-views .wrap{padding-block:40px;display:flex;flex-direction:column;gap:20px}
.gg-views h2{font-size:clamp(26px,3vw,36px)}
.vbtn{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vbtn button{display:flex;align-items:center;gap:14px;min-height:76px;padding:8px 16px 8px 8px;border:1px solid #C9CFD4;border-radius:16px;background:#FFF;color:var(--ink);font:500 17px Roboto,sans-serif;text-align:left;cursor:pointer}
.vbtn button img{width:60px;height:60px;border-radius:12px;object-fit:cover;flex:none}
.vbtn button span{display:flex;flex-direction:column}
.vbtn button small{font-size:13px;font-weight:400;color:var(--muted)}
.vbtn button:hover{border-color:var(--ink)}
.vbtn button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#FFF}
.vbtn button[aria-pressed=true] small{color:#C9CFD4}
.gg-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px 20px}
.gg-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gg-filters select{min-height:44px;min-width:180px;padding:0 12px;border:1px solid #C9CFD4;border-radius:12px;background:#FFF;font:400 16px Roboto,sans-serif;color:var(--ink)}
.res{margin:0;min-height:44px;display:flex;align-items:center;font-size:15px;color:var(--txt)}
.res button{border:0;background:none;padding:0 0 0 8px;color:var(--acc);font:500 15px Roboto,sans-serif;text-decoration:underline;cursor:pointer;min-height:44px}

/* Lista: paesi e card */
.town{padding-block:56px 8px;display:flex;flex-direction:column;gap:24px}
.town header{border-bottom:1px solid var(--line);padding-bottom:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.town header>a{font-weight:500;text-decoration:none}
.town h2{font-size:clamp(30px,3.4vw,44px)}
.town header p{margin:4px 0 0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.card{display:flex;flex-direction:column;gap:12px;color:var(--ink);text-decoration:none}
.card:hover{color:var(--ink)}
.card .ph{position:relative}
.card .ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block}
.card .ph .pill{top:12px;bottom:auto;left:12px;padding:5px 12px;font-size:13px;font-weight:700}
.card b{font:700 22px/1.15 var(--h)}
.card:hover b{text-decoration:underline;text-underline-offset:4px}
.card .m{display:flex;flex-direction:column;gap:2px;font-size:15px}
.card .m span:first-child{color:var(--muted)}
.card .d{color:var(--acc);font-weight:500}
.empty{padding:48px 0;font-size:18px;color:var(--txt)}
.end{margin-top:72px;border-top:1px solid var(--line);padding-block:40px 64px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.end p{margin:0;font:700 26px var(--h)}
@media (max-width:1000px){.gg-hero{grid-template-columns:minmax(0,1fr);gap:28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vbtn{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.gg-hero{padding-top:8px}.grid{grid-template-columns:minmax(0,1fr)}.vbtn{display:flex;overflow-x:auto;margin-right:calc(-1 * var(--gut));padding-right:16px}.vbtn button{flex:0 0 auto;min-height:64px}.vbtn button img{width:48px;height:48px}.gg-filters select{min-width:0;width:100%}.gg-filters label{flex:1}.end p{font-size:22px}}

/* Scheda */
.crumb{margin:0 0 16px;font-size:14px;color:var(--muted)}
.cover{margin:0;position:relative}
.cover img{width:100%;height:min(34rem,60vw);object-fit:cover;border-radius:24px;display:block}
.cols{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;padding-block:40px 96px}
.cols .main{flex:999 1 620px;min-width:0;display:flex;flex-direction:column;gap:64px}
.head{display:flex;flex-direction:column;gap:12px}
.head h1{font-size:clamp(40px,5vw,64px);letter-spacing:-.015em;line-height:1}
.head p{margin:0;font-size:18px;color:var(--txt)}
.cols h2{font-size:clamp(24px,2.4vw,32px)}
.dist{margin:20px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.dist li{background:var(--soft);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px}
.dist b{font:700 34px/1 var(--h);color:var(--acc)}
.dist span{font-size:15px;color:var(--txt)}
.note{margin:12px 0 0;font-size:14px;color:var(--muted)}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gal img{width:100%;height:12.6rem;object-fit:cover;border-radius:18px;display:block}
.gal img:first-child{grid-column:span 2;grid-row:span 2;height:100%;min-height:26rem}
.gal .btn2{grid-column:1/-1;justify-self:start}
.blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.blocks h2{font-size:24px;margin-bottom:12px}
.blocks ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;line-height:1.5;color:var(--txt)}
.desc{display:flex;flex-direction:column;gap:12px;color:var(--txt);line-height:1.65;max-width:720px}
.desc p{margin:0}
.desc details p{margin:12px 0 0}
.desc summary{cursor:pointer;color:var(--acc);font-weight:500;min-height:44px;display:flex;align-items:center}
.rooms{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.rooms li{border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;flex-direction:column;font-size:15px}
.rooms b{color:var(--ink)}
.feats ul{columns:2;gap:24px;padding-left:18px;margin:8px 0 0;font-size:15px}
.host{display:flex;flex-wrap:wrap;gap:24px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:24px}
.host .av{width:88px;height:88px;border-radius:50%;background:var(--acc);color:#FFF;display:flex;align-items:center;justify-content:center;font:700 30px var(--h);flex:none}
.host div{flex:1 1 280px;display:flex;flex-direction:column;gap:6px}
.host h2{font-size:24px}
.host p{margin:0;line-height:1.55;color:var(--txt)}
.where{display:flex;flex-direction:column;gap:12px}
.where p{margin:0;color:var(--txt)}
.where iframe{width:100%;height:22rem;border:0;border-radius:20px;background:var(--soft)}
.book{flex:1 1 320px;max-width:380px;position:sticky;top:24px;border:1px solid #D5DADE;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}
.book .p{margin:0}.book .p b{font:700 34px var(--h)}
.book small{font-size:14px;color:var(--muted)}
.book .two{display:flex;gap:8px}.book .two a{flex:1}
.book ul{margin:8px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--txt)}
.bar{display:none}
dialog#foto{border:0;border-radius:20px;padding:0;width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px)}
dialog#foto::backdrop{background:rgba(21,24,27,.6)}
dialog#foto .dh{position:sticky;top:0;background:#FFF;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
dialog#foto .dg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}
dialog#foto .dg img{width:100%;aspect-ratio:13/9;object-fit:cover;border-radius:14px;display:block}
@media (max-width:1000px){.book{display:none}.cols{padding-bottom:120px}
  .bar{display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#FFF;border-top:1px solid var(--line);padding:12px max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-bottom))}
  .bar p{margin:0;flex:1;font-size:14px;line-height:1.3}.bar p b{font-size:20px}
  .bar .btn2{width:48px;min-height:48px;padding:0}.bar .btn{min-height:48px;font-size:15px;padding:0 18px}}
@media (max-width:600px){.cols{padding-top:24px;gap:40px}.cols .main{gap:48px}.cover img{height:300px;border-radius:20px}
  .dist{display:flex;overflow-x:auto;margin-right:calc(-1 * var(--gut));padding-right:16px}.dist li{flex:0 0 150px;padding:16px}.dist b{font-size:28px}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gal img{height:130px;border-radius:16px}.gal img:first-child{grid-column:1/-1;grid-row:auto;height:220px;min-height:0}.gal img:nth-child(n+4){display:none}
  .feats ul{columns:1}.host{padding:16px;gap:16px}.host .av{width:64px;height:64px;font-size:22px}.where iframe{height:16rem}
  dialog#foto .dg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-FRMDestino{flex-basis:100%!important;border-bottom:1px solid var(--line)!important}.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-FRMAdultos,.gg-search #miniformulario_slider #sombrap #tabla_form .wrapper-FRMNinyos{flex-basis:40%!important}}
