/* garda-outdoors.com — grafica del sito senza WordPress/Elementor.
   Valori presi dalle pagine di oggi (colori, font, misure). Punti di rottura come Elementor: mobile <=767, tablet <=1024. */

@font-face { font-family: 'Rubik-GO'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/font/rubik-go-400.woff2?v=0.1.0') format('woff2'); }
@font-face { font-family: 'Rubik-GO'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/font/rubik-go-700.woff2?v=0.1.0') format('woff2'); }

:root {
  --blu-scuro: #074A75; --blu: #0071B9; --testo: #4F5968; --verde: #BAD25F; --verde-chiaro: #E3FB85;
  --azzurro: #ECF7FF; --azzurro2: #C6E8FF; --grigio: #B6B6B6;
  --rubik: 'Rubik-GO', sans-serif; --georgia: Georgia, sans-serif;
  --larghezza: 1220px; --alt-header: 92px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--alt-header); }
body { margin: 0; padding-top: var(--alt-header); background: #fff; color: var(--testo); font-family: var(--georgia); font-size: 18px; line-height: 25px; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: var(--blu); text-decoration: none; }
a:hover { color: var(--blu-scuro); }
h1, h2, h3, h4, h5, h6 { font-family: var(--rubik); font-weight: 700; color: var(--blu); margin: 8px 0 16px; }
p { margin: 0 0 27px; }
button { font: inherit; cursor: pointer; }
.go-ico { width: 1em; height: 1em; display: inline-block; fill: currentColor; vertical-align: -0.125em; }
.go-solo-lettori { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.go-salta { position: absolute; left: -9999px; top: 0; z-index: 10000; background: #fff; padding: 10px 20px; }
.go-salta:focus { left: 10px; top: 10px; }
.go-wrap { max-width: var(--larghezza); margin: 0 auto; }

/* ------------------------------------------------------------------ header */
.go-header { position: fixed; top: 0; left: 0; right: 0; z-index: 99; background: #fff; padding: 10px 0; height: var(--alt-header); }
.go-header__riga { display: flex; align-items: center; height: 72px; }
.go-logo { flex: 0 0 auto; display: block; }
.go-logo img { width: 183px; height: auto; display: block; }
.go-menu { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.go-menu > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.go-menu > ul > li { position: relative; }
.go-menu > ul > li > a { display: flex; align-items: center; font-family: var(--rubik); font-size: 18px; line-height: 21px; letter-spacing: -0.3px; color: var(--blu); padding: 0 10px; margin: 0 7.5px; white-space: nowrap; }
.go-menu > ul > li:first-child > a { margin-left: 0; }
.go-menu > ul > li:last-child > a { margin-right: 0; }
.go-menu > ul > li.go-menu__lingue > a { margin-left: 0; }   /* oggi la lingua è un menu a parte: niente margine a sinistra */
/* freccia delle voci con sottomenu: come la mette il menu di Elementor una volta caricato (misurato 28/10 con gli script di oggi) */
.go-menu .go-ico--giu { display: block; flex: 0 0 auto; width: 10.73px; height: 12.6px; margin-left: 10px; }
.go-sottomenu { list-style: none; margin: 0; padding: 0; position: absolute; top: 100%; left: 0; min-width: 156px; background: var(--verde-chiaro); border: 20px solid var(--verde-chiaro); display: none; z-index: 100; }
.go-sottomenu a { display: block; font-family: var(--rubik); font-size: 20px; line-height: 20px; color: var(--blu-scuro); padding: 15px 20px; white-space: nowrap; }
.go-sottomenu a:hover { color: var(--blu); }
.go-menu li.ha-figli:hover > .go-sottomenu, .go-menu li.ha-figli:focus-within > .go-sottomenu, .go-menu li.aperto > .go-sottomenu { display: block; }
.go-menu > ul > li > a[href="#"] { cursor: default; }
.go-cerca-apri { flex: 0 0 auto; background: none; border: 0; padding: 0 0 0 7px; margin: 0 8px 0 0; color: var(--blu); font-size: 30px; line-height: 25px; width: 37px; height: 30px; display: flex; align-items: center; justify-content: center; }
.go-cerca-apri .go-ico { width: 16.5px; height: 16.5px; }
/* intestazione inglese: oggi è un modello Elementor a parte con misure un po' diverse (voci alte 47px, pulsante cerca 61x26) */
.go-lingua-en .go-menu > ul > li > a { padding: 13px 10px; }
.go-lingua-en .go-cerca-apri { width: 61px; height: 26px; padding-left: 35px; margin-left: 1px; }
.go-lingua-en .go-cerca-apri .go-ico { width: 14.3px; height: 14.3px; }
.go-burger { display: none; background: none; border: 0; padding: 0; width: 50px; height: 50px; margin-left: auto; }
.go-burger svg { width: 50px; height: 50px; }

/* ricerca a tutto schermo */
.go-cerca { position: fixed; inset: 0; z-index: 9999; background: rgba(0, 0, 0, .8); display: flex; align-items: center; justify-content: center; padding: 0 15%; }
.go-cerca[hidden] { display: none; }
.go-cerca form { width: 100%; position: relative; }
.go-cerca input { width: 100%; background: transparent; border: 0; border-bottom: 1px solid #fff; color: #fff; font-family: var(--georgia); font-size: 50px; line-height: 1.5; padding: 10px 0; outline: none; }
.go-cerca-chiudi { position: fixed; top: 20px; right: 30px; background: none; border: 0; color: #fff; font-size: 50px; line-height: 1; }

/* barra marketplace (tablet e mobile) */
.go-mkt { display: none; }

/* menu mobile a tutto schermo */
.go-menu-mobile { position: fixed; inset: 0; z-index: 9999; background: var(--blu-scuro); box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2); overflow-y: auto; padding: 5px 10px 30px 20px; animation: go-entra .3s ease; }
.go-menu-mobile[hidden] { display: none; }
@keyframes go-entra { from { transform: translateX(100%); } to { transform: none; } }
.go-menu-mobile__chiudi { display: block; margin: 15px 0 0 auto; background: none; border: 0; padding: 5px; width: 40px; height: 40px; }
.go-menu-mobile ul { list-style: none; margin: 0; padding: 0; }
.go-menu-mobile nav > ul > li { border-bottom: 1px solid var(--verde-chiaro); }
.go-menu-mobile nav > ul > li:last-child { border-bottom: 0; }
.go-menu-mobile a { display: flex; align-items: center; justify-content: space-between; color: #fff; font-family: var(--rubik); font-size: 20px; line-height: 20px; padding: 13px 20px 13px 0; }
.go-menu-mobile li ul { display: none; padding-left: 20px; }
.go-menu-mobile li.aperto > ul { display: block; }
.go-menu-mobile li ul li { border-bottom: 1px solid var(--verde-chiaro); }
.go-menu-mobile li ul a { font-size: 20px; }
.go-menu-mobile .go-ico--giu { font-size: 14px; }
.go-menu-mobile__cerca { display: flex; margin-top: 50px; min-height: 50px; }
.go-menu-mobile__cerca input { flex: 1; border: 0; border-radius: 3px 0 0 3px; padding: 0 16px; font-family: var(--rubik); font-size: 14px; }
.go-menu-mobile__cerca button { width: 50px; border: 0; background: var(--blu); color: #fff; border-radius: 0 3px 3px 0; font-size: 18px; }

/* ------------------------------------------------------------------ hero dell'articolo */
.go-hero { background: var(--azzurro); }
.go-hero__riga { display: flex; align-items: stretch; min-height: 500px; }
.go-hero__testo { flex: 0 0 40%; max-width: 40%; display: flex; flex-direction: column; justify-content: center; padding: 60px 50px 60px 0; }
.go-hero__foto { flex: 1 1 60%; position: relative; min-height: 500px; }
.go-hero__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.go-hero__cat { margin: 0; font-family: var(--rubik); font-size: 15px; line-height: 19.5px; color: var(--blu-scuro); }
.go-hero__cat a { color: var(--blu-scuro); text-decoration: underline; }
.go-hero h1 { font-size: 40px; line-height: 48px; color: var(--blu); margin: 20px 0; }
.go-hero__autore { margin: 0; font-family: var(--rubik); font-size: 15px; line-height: 19.5px; height: 19.5px; display: flex; align-items: center; }
.go-hero__autore a { color: var(--blu-scuro); display: inline-flex; align-items: center; }
.go-hero__autore .go-ico { width: 13px; height: 13px; color: var(--testo); margin-right: 5px; }
.go-hero__riassunto { margin: 20px 0 0; font-family: var(--rubik); font-size: 18px; line-height: 23.4px; color: var(--blu-scuro); }

/* ------------------------------------------------------------------ corpo: testo + colonna marketplace */
.go-corpo { display: flex; align-items: stretch; margin-top: 80px; margin-bottom: 80px; }
.go-corpo__testo { flex: 0 0 72.66%; max-width: 72.66%; min-width: 0; }
.go-side { flex: 0 0 309px; max-width: 309px; margin-left: 20px; background: var(--azzurro); padding: 20px 20px 30px; align-self: stretch; }
/* la colonna scorre con la pagina e si ferma quando è finita (sito.js calcola --side-top se è più alta dello schermo) */
.go-side__dentro { position: sticky; top: var(--side-top, calc(var(--alt-header) + 20px)); }
.go-side__tit { font-size: 24px; line-height: 48px; margin: 0 0 16px 1px; }
.go-side__box { margin-bottom: 18px; background: #fff; text-align: center; }
.go-side__img { display: block; padding: 20px 0 15px; }
.go-side__img img { width: 146px; height: auto; }
.go-side__box:nth-child(4) .go-side__img img { width: 155px; }
.go-side__box p { margin: 0; padding: 0 0 20px; font-family: var(--rubik); font-size: 18px; line-height: 17px; }
.go-side__box p a { color: var(--blu); text-decoration: underline; }
.go-side__social-tit { font-size: 24px; line-height: 24px; margin: 50px 0 20px; }
.go-side__social { display: flex; justify-content: space-between; padding: 0 0 0 0; }
.go-side__social a { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; color: var(--blu); font-size: 24px; margin: 0 -12px; }
.go-side__social a:first-child { margin-left: -3px; }

/* ------------------------------------------------------------------ testo dell'articolo (markup a blocchi come WordPress) */
.go-contenuto { overflow-wrap: break-word; }
.go-contenuto p { margin-bottom: 1.5em; }   /* come oggi: 27 px a 18 px, 25,5 px a 17 px (e 1,5 px nel paragrafo scritto a 1 px della pagina meteo) */
.go-contenuto::after { content: ''; display: table; clear: both; }
.go-contenuto h2 { font-size: 30px; line-height: 38px; }
.go-contenuto h3 { font-size: 24px; line-height: 28px; }
.go-contenuto h4 { font-size: 20px; line-height: 24px; }
.go-contenuto h5, .go-contenuto h6 { font-size: 18px; line-height: 24px; }
.go-contenuto a { color: var(--blu); }
.go-contenuto strong { font-weight: 700; }
.go-contenuto ul, .go-contenuto ol { margin: 0 0 27px; padding-left: 40px; }
.go-contenuto li { margin: 0; }
.go-contenuto blockquote { margin: 0 0 27px; padding: 0 0 0 1em; border-left: 4px solid var(--blu); font-style: italic; }
.go-contenuto hr { border: 0; border-top: 2px solid currentColor; margin: 27px 0; opacity: .4; }
/* tabelle come oggi (tema Hello + blocco Tabella di WordPress, misurate il 28/10 sulla pagina dell'aeroporto di Verona) */
.go-contenuto table { width: 100%; border-collapse: collapse; border-spacing: 0; margin: 0 0 15px; font-size: .9em; }
.go-contenuto td, .go-contenuto th { border: 1px solid hsla(0, 0%, 50%, .502); line-height: 1.5; padding: 15px; vertical-align: top; }
.go-contenuto tbody > tr:nth-child(odd) > td, .go-contenuto tbody > tr:nth-child(odd) > th { background-color: hsla(0, 0%, 50%, .071); }
.go-contenuto .wp-block-table { margin: 0 0 1em; overflow-x: auto; }
.go-contenuto .wp-block-table td, .go-contenuto .wp-block-table th { border: 1px solid; padding: .5em; }
/* iframe nel testo: come Elementor oggi, larghi quanto il testo (anche se scritti larghi 185 o 560 px) */
.go-pagina-articolo .go-contenuto iframe, .go-pag .go-contenuto iframe { width: 100%; max-width: 100%; line-height: 1; margin: 0; border: none; }
.go-pag .go-contenuto { display: flow-root; }
.go-contenuto .has-text-align-center { text-align: center; }
.go-contenuto .has-text-align-right { text-align: right; }
.go-contenuto .has-text-align-justify { text-align: justify; }
.go-contenuto iframe { max-width: 100%; border: 0; }

figure { margin: 0; }
.wp-block-image { margin: 0 0 18px; }
.wp-block-image img { height: auto; }
.wp-block-image.alignleft { float: left; margin: 0 1em 1em 0; max-width: 50%; }
.wp-block-image.alignright { float: right; margin: 0 0 1em 1em; max-width: 50%; }
.wp-block-image figcaption, .wp-element-caption { font-size: 13px; line-height: 18.2px; text-align: center; margin: .5em 0 1em; color: var(--testo); }

/* galleria (come wp-block-gallery: 3 colonne, spazio 24px, foto ritagliate alla stessa altezza per riga) */
.wp-block-gallery { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 18px; align-items: normal; }
.wp-block-gallery > figure.wp-block-image { position: relative; margin: 0; display: flex; flex-direction: column; justify-content: center; flex-grow: 1; width: calc(33.333% - 16px); }
.wp-block-gallery.columns-2 > figure { width: calc(50% - 12px); }
.wp-block-gallery.columns-4 > figure { width: calc(25% - 18px); }
.wp-block-gallery.columns-1 > figure { width: 100%; }
.wp-block-gallery > figure > a { display: flex; flex: 1 0 0%; height: 100%; }
.wp-block-gallery > figure img { display: block; width: 100%; max-width: 100%; height: auto; }
.wp-block-gallery.is-cropped > figure img { flex: 1 0 0%; height: 100%; object-fit: cover; }
.wp-block-gallery > figure figcaption { position: absolute; bottom: 0; left: 0; right: 0; margin: 0; padding: 13px; max-height: 100%; overflow: auto; color: #fff; font-size: 13px; line-height: 18.2px; text-align: center; background: linear-gradient(0deg, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0)); text-shadow: 0 0 1.5px #000; }
.wp-block-gallery > .blocks-gallery-caption { flex-basis: 100%; }

/* video */
.wp-block-embed { margin: 0 0 18px; }
.wp-block-embed__wrapper { position: relative; }
.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { content: ''; display: block; padding-top: 56.25%; }
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.wp-block-video { margin: 0 0 18px; }
.wp-block-video video { width: 100%; height: auto; }
.go-mappa { margin: 0 0 18px; }

/* blocchi del CMS */
.wp-block-media-text { display: grid; grid-template-columns: 50% 1fr; align-items: center; margin: 0 0 27px; }
.wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 50%; }
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.wp-block-media-text__content { padding: 0 8%; }
.go-box { background: var(--azzurro); padding: 25px; border-radius: 8px; margin: 0 0 27px; }
.go-box-evidenza { border-left: 5px solid var(--blu); }
.go-box p:last-child { margin-bottom: 0; }
.go-faq { border-bottom: 1px solid #e3e3e3; padding: 12px 0; }
.go-faq summary { font-family: var(--rubik); font-weight: 700; color: var(--blu); cursor: pointer; }
.go-faq-lista { margin: 0 0 27px; }
.go-tech-box { background: #f8f9fa; padding: 25px; border-radius: 8px; margin: 0 0 30px; border-left: 5px solid var(--blu); }
.go-tech-list { list-style: none; padding: 0 !important; margin: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; }

/* condividi, autore, articolo precedente/successivo */
.go-condividi__titolo { font-size: 20px; line-height: 24px; margin: 30px 0 16px; }
.go-condividi { display: flex; gap: 25px; }
.go-condividi a { width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; color: var(--verde); font-size: 25px; }
.go-autore { display: flex; align-items: flex-start; margin-top: 60px; }
.go-autore img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; flex: 0 0 100px; margin-right: 17px; }
.go-autore__nome { display: block; font-family: var(--rubik); font-weight: 700; font-size: 20px; line-height: 24px; color: var(--blu); margin: 28px 0 10px; }
.go-autore__tutti { font-family: var(--rubik); font-size: 15px; line-height: 19.5px; letter-spacing: .3px; color: var(--blu); text-decoration: underline; }
.go-navart { display: flex; margin-top: 67px; }
.go-navart > div { flex: 1 1 50%; min-width: 0; }
.go-navart a { display: flex; align-items: center; color: var(--blu); gap: 15px; }
.go-navart__succ a { justify-content: flex-end; text-align: right; }
.go-navart .go-ico { font-size: 25px; flex: 0 0 auto; width: 12.5px; height: 25px; }
.go-navart a > span { min-width: 0; display: flex; flex-direction: column; }
.go-navart__et { font-family: var(--rubik); font-size: 15px; line-height: 25px; }
.go-navart__tit { font-family: var(--rubik); font-weight: 700; font-size: 24px; line-height: 25px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* articoli correlati */
.go-correlati { background: var(--azzurro); padding: 80px 0; }
.go-correlati h2 { text-align: center; font-size: 30px; line-height: 38px; margin: 0 0 30px; }
.go-correlati__griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.go-card { position: relative; background: #fff; border-radius: 3px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15); display: flex; flex-direction: column; overflow: hidden; }
.go-card__foto { display: block; position: relative; padding-bottom: 66%; margin-bottom: 20px; overflow: hidden; background: var(--azzurro2); }
.go-card__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.go-card__badge { position: absolute; top: 0; right: 0; margin: 18px; padding: 7.2px 14.4px; border-radius: 999px; background: var(--blu-scuro); color: #fff; font-family: var(--rubik); font-weight: 700; font-size: 12px; line-height: 24px; text-transform: uppercase; }
.go-card__testo { padding: 0 30px; margin: 10px 0 5px; flex: 1 1 auto; }
.go-card h3 { font-size: 24px; line-height: 28px; margin: 0 0 14px; }
.go-card h3 a { color: var(--blu); }
.go-card__leggi { display: inline-block; font-family: var(--rubik); font-weight: 700; font-size: 15px; line-height: 19.5px; color: var(--blu); text-decoration: underline; margin-bottom: 5px; }
.go-card__meta { padding: 10px 30px; font-family: var(--rubik); font-size: 15px; line-height: 19.5px; min-height: 40px; }

/* ------------------------------------------------------------------ footer */
.go-partner { padding: 30px 0; }
.go-footer .go-partner h3 { text-align: center; font-size: 24px; line-height: 28px; margin: 0 0 40px; }
/* loghi: misure prese dal sito di oggi a 1440/820/390 px (colonna + margine interno del widget Elementor sommati);
   la foto tiene la sua larghezza vera e si stringe solo se non ci sta, come su WordPress */
.go-partner__loghi { display: flex; flex-wrap: wrap; align-items: center; }
.go-partner__loghi > div { flex: 0 0 16.666%; padding: 10px; text-align: center; }
.go-partner__loghi > div:last-child { padding: 20px; }
.go-partner__loghi img { max-width: 100%; height: auto; vertical-align: middle; }
.go-footer__blu { background: var(--blu-scuro); padding: 60px 0 120px; color: #fff; }
.go-footer__colonne { display: flex; }
.go-footer__col { padding: 10px; flex: 0 0 20%; }
.go-footer__col:first-child { flex: 0 0 40%; }
.go-footer h3 { color: #fff; font-size: 24px; line-height: 28px; margin: 0 0 20px; }
.go-footer__col h3 ~ h3 { margin-top: 20px; }
.go-footer__social { display: flex; gap: 35px; margin: 0 0 20px; }
.go-footer__social a { color: var(--verde-chiaro); font-size: 25px; width: 25px; height: 25px; display: inline-flex; }
.go-footer__html { margin: 0 0 20px; }
.go-footer__testo { font-family: var(--rubik); font-size: 15px; line-height: 19.5px; color: #fff; padding-right: 30px; }
.go-footer__testo p { margin: 0; }
.go-footer__link { list-style: none; margin: 0; padding: 0; }
.go-footer__link a { display: block; font-family: var(--rubik); font-size: 15px; line-height: 18px; padding: 3.5px 0; max-width: 190px; color: #fff; text-decoration: underline; }
.go-footer__link a:hover { color: var(--verde-chiaro); }
.go-copyright { background: var(--blu-scuro); padding: 10px 0 30px; }
.go-copyright .go-wrap { padding: 0 10px; font-family: var(--rubik); font-size: 11px; line-height: 14px; color: #fff; }
.go-copyright p { margin: 0; }
.go-copyright a, .go-copyright span { color: #fff !important; }

/* ------------------------------------------------------------------ tablet (768-1024) e mobile: parti comuni */
@media (max-width: 1024px) {
  body { line-height: 23px; padding-bottom: 101px; }
  .go-menu, .go-cerca-apri { display: none; }
  .go-burger { display: block; }
  .go-mkt { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 98; background: var(--blu-scuro); }
  .go-mkt a { flex: 1 1 20%; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; color: #fff; text-align: center; }
  .go-mkt__ico { display: flex; align-items: center; justify-content: center; }
  .go-mkt__ico svg { width: auto; }
  .go-mkt__txt { font-family: var(--rubik); letter-spacing: .1px; }
  .go-hero__riga { flex-direction: column; min-height: 0; }
  .go-hero .go-wrap { padding: 0; max-width: none; }
  .go-hero__testo { flex: none; max-width: 100%; text-align: center; align-items: center; }
  .go-hero__autore { justify-content: center; }
  .go-hero__foto { flex: none; }
  .go-side { display: none; }
  .go-corpo__testo { flex: 1 1 100%; max-width: 100%; }
}

/* ------------------------------------------------------------------ tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  :root { --alt-header: 104px; }
  .go-header { padding: 15px 30px; }
  .go-header__riga { height: 74px; }
  .go-logo img { width: 190px; }
  .go-mkt { padding: 9px 0 7px; height: 101px; }
  .go-mkt a { padding-top: 14px; }
  .go-mkt__ico { height: 42px; margin-bottom: 13px; }
  .go-mkt__ico svg { max-height: 42px; }
  .go-mkt__txt { font-size: 11px; line-height: 14.3px; }
  .go-hero__testo { padding: 80px 40px; }
  .go-hero h1 { font-size: 35px; line-height: 42px; }
  .go-hero__riassunto { font-size: 16px; line-height: 20px; }
  .go-hero__foto { min-height: 500px; height: 500px; }
  .go-corpo { padding: 0 20px; }
  .go-contenuto h2 { font-size: 31px; line-height: 37px; }
  .go-contenuto h3 { font-size: 22px; line-height: 26px; }
  .go-condividi__titolo { line-height: 23px; }
  .go-correlati { padding: 80px 40px; }
  .go-correlati .go-wrap { padding: 0; }
  .go-correlati__griglia { grid-template-columns: repeat(2, 1fr); }
  .go-footer .go-partner h3 { font-size: 22px; line-height: 26px; }
  .go-partner { padding: 0 0 40px; }
  .go-partner .go-wrap { padding: 0; }
  .go-partner__loghi > div { flex: 0 0 33%; }
  .go-footer__blu { padding: 40px 0 60px; }
  .go-footer__colonne { flex-wrap: wrap; }
  .go-footer__col { flex: 0 0 33.333%; }
  .go-footer__col:first-child { flex: 0 0 100%; }
  .go-footer__testo { max-width: 480px; margin-bottom: 30px; }
  .go-footer h3 { font-size: 22px; line-height: 26px; }
  .go-footer__link a { max-width: none; padding: 6.5px 0; }
  .go-copyright .go-wrap { line-height: 21px; }
}

/* ------------------------------------------------------------------ mobile */
@media (max-width: 767px) {
  :root { --alt-header: 91px; }
  body { font-size: 17px; padding-bottom: 97px; }
  p { margin-bottom: 25.5px; }
  .go-wrap { padding-left: 10px; padding-right: 10px; }
  .go-header { padding: 15px 10px 15px 17px; }
  .go-header .go-wrap { padding: 0; }
  .go-header__riga { height: 61px; }
  .go-logo img { width: 139px; }
  .go-mkt { padding: 10px 0 25px; }
  .go-mkt a { height: 62px; }
  .go-mkt__ico { height: 32px; margin: 7px 0 8px; }
  .go-mkt__ico svg { max-height: 32px; }
  .go-mkt__txt { font-size: 10px; line-height: 12px; }
  .go-hero__testo { padding: 60px 15px; }
  .go-hero__cat { line-height: 18px; }
  .go-hero h1 { font-size: 36px; line-height: 38px; }
  .go-hero__riassunto { font-size: 16px; line-height: 20px; }
  .go-hero__autore { height: 17px; }
  .go-hero__foto { min-height: 300px; height: 300px; }
  .go-contenuto h2 { font-size: 29px; line-height: 32px; }
  .go-contenuto h3 { font-size: 23px; line-height: 28px; }
  .go-contenuto h4 { font-size: 19px; line-height: 24px; }
  .wp-block-gallery > figure.wp-block-image, .wp-block-gallery.columns-4 > figure { width: calc(50% - 12px); }
  .wp-block-gallery.columns-1 > figure { width: 100%; }
  .wp-block-media-text, .wp-block-media-text.has-media-on-the-right { grid-template-columns: 100%; }
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
  .wp-block-media-text__content { padding: 8% 0 0; }
  .go-navart__tit { font-size: 18px; }
  .go-correlati { padding: 60px 0 40px; }
  .go-correlati .go-wrap { padding: 0 15px; }
  .go-correlati__griglia { grid-template-columns: 100%; }
  .go-partner { padding: 0 0 40px; }
  .go-partner .go-wrap { padding: 0; }
  .go-footer .go-partner h3 { padding: 0 10px; font-size: 23px; }
  .go-partner__loghi > div { flex: 0 0 50%; }
  .go-partner__loghi > div:nth-child(1) { padding: 10px 20px; }
  .go-partner__loghi > div:nth-child(3) { padding: 10px 11px; }
  .go-partner__loghi > div:last-child { padding: 30px; }
  .go-footer__blu { padding: 30px 0 55px; }
  .go-footer__colonne { display: block; }
  .go-footer__col { padding: 10px 0; }
  .go-footer h3 { font-size: 23px; }
  .go-footer__col h3 ~ h3 { margin-top: 40px; }
  .go-footer__col + .go-footer__col { margin-top: 30px; }
  .go-footer__social { justify-content: space-between; gap: 0; }
  .go-footer__link a { line-height: 24px; padding: 3.5px 0; max-width: none; }
  .go-copyright .go-wrap { line-height: 18px; padding: 0 10px; }
}

/* lightbox */
.go-lb { position: fixed; inset: 0; z-index: 10000; background: rgba(0, 0, 0, .9); display: flex; align-items: center; justify-content: center; }
.go-lb[hidden] { display: none; }
.go-lb figure { margin: 0; max-width: 90vw; max-height: 90vh; text-align: center; }
.go-lb img { max-width: 90vw; max-height: 82vh; width: auto; height: auto; }
.go-lb figcaption { color: #fff; font-size: 14px; margin-top: 10px; }
.go-lb button { position: absolute; background: none; border: 0; color: #fff; font-size: 48px; line-height: 1; padding: 10px 18px; }
.go-lb__x { top: 10px; right: 10px; }
.go-lb__p { left: 10px; top: 50%; transform: translateY(-50%); }
.go-lb__s { right: 10px; top: 50%; transform: translateY(-50%); }

/* ------------------------------------------------------------------ pagine con titolo e testo (oggi i modelli Elementor delle pagine)
   misurate il 28/10 a 1440/820/390 su contatti, meteo, conferma iscrizione, cookie policy, aeroporto di Bergamo */
.go-pag { margin-top: 60px; margin-bottom: 60px; }
.go-pag__titolo { font-size: 40px; line-height: 48px; margin: 0 0 60px; }
.go-pag--colonnaMeteo .go-pag__titolo { margin-bottom: 30px; }
.go-pag--conferma .go-corpo__testo { padding: 10px; }
.go-pag--conferma .go-pag__titolo { margin-bottom: 50px; }
/* colonna Marketplace delle pagine: stessi pezzi degli articoli, spazi del modello delle pagine (misurati su contatti) */
.go-pag .go-side__tit { margin-bottom: 31px; }
.go-pag .go-side__social-tit { margin: 30px 0 15px; }
/* pagine meteo: titolo ed elenco degli articoli del paese sotto il testo (widget "post" di Elementor, solo titoli) */
.go-mete { margin-top: 30px; }
.go-mete__titolo { font-size: 24px; line-height: 28px; margin: 0 0 20px; }
.go-mete__lista { display: grid; grid-template-columns: 100%; gap: 11px 30px; }
.go-mete__voce { display: flex; flex-direction: column; border: 1px solid #fff; }
.go-mete__tit { font-family: var(--georgia); font-weight: 400; font-size: inherit; line-height: inherit; margin: 0; }
/* cookie e privacy policy EN/DE: tema di WordPress senza Elementor (titolo centrato largo come il tema, testo a tutta larghezza) */
.go-pag-tema__titolo { font-size: 40px; line-height: 48px; margin: 8px auto 16px; width: 100%; max-width: 1140px; }
/* nelle pagine gli elenchi del testo non hanno spazio sotto (misurato: 0, negli articoli 27 px) */
.go-pagina-testo .go-contenuto ul, .go-pagina-testo .go-contenuto ol { margin-bottom: 0; }
/* titoli del testo come oggi nelle pagine (le pagine tengono anche H5) */
.go-contenuto h1 { font-size: 40px; line-height: 48px; }
.go-contenuto h5 { font-family: var(--georgia); font-weight: 500; font-size: 20px; line-height: 24px; }
/* blocco Colonne (come WordPress: affiancate da 782 px in su, spazio 24 px; dentro ogni colonna 24 px tra un pezzo e l'altro) */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 24px; align-items: normal; margin: 0 0 1.75em; }
.wp-block-column { flex-grow: 1; min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.go-contenuto .wp-block-column > * { margin-top: 24px; margin-bottom: 0; }
.go-contenuto .wp-block-column > :first-child { margin-top: 0; }
@media (min-width: 782px) {
  .wp-block-columns { flex-wrap: nowrap; }
  .wp-block-column { flex-basis: 0; }
  .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}
@media (max-width: 781px) {
  .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 1199px) and (min-width: 992px) { .go-pag-tema__titolo { max-width: 800px; } }
@media (max-width: 991px) and (min-width: 768px) { .go-pag-tema__titolo { max-width: 600px; } }
@media (max-width: 767px) and (min-width: 576px) { .go-pag-tema__titolo { max-width: 500px; } }
@media (max-width: 575px) { .go-pag-tema__titolo { max-width: none; padding: 0 10px; } }
@media (max-width: 1024px) {
  .go-pag { margin-top: 50px; margin-bottom: 50px; }
  .go-pag--conferma .go-corpo__testo { padding: 0; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .go-pag { padding: 0 20px 0 10px; }
  .go-pag__titolo, .go-pag-tema__titolo, .go-contenuto h1 { font-size: 35px; line-height: 42px; }
  .go-mete__titolo { font-size: 22px; line-height: 26px; }
}
@media (max-width: 767px) {
  .go-pag { padding: 0 10px; }
  .go-pag__titolo, .go-pag-tema__titolo, .go-contenuto h1 { font-size: 36px; line-height: 38px; }
  .go-mete__titolo { font-size: 23px; line-height: 28px; }
}
/* linea separatrice nelle pagine (blocco Separatore): 2 px grigi; nessuno spazio nei modelli Elementor, 9 px sopra e sotto nel tema */
.go-pagina-testo .go-contenuto hr { border: 0; border-top: 2px solid #808080; opacity: 1; margin: 0; }
.go-pagina-tema .go-contenuto hr { margin: 9px 0; }
/* titoli H3/H4 nelle pagine (misurati su cookie/privacy policy): H4 20 px anche su telefono; nel tema H3 22,4 px */
.go-pagina-tema .go-contenuto h3 { font-size: 22.4px; }
@media (min-width: 768px) and (max-width: 1024px) { .go-pagina-testo .go-contenuto h4 { line-height: 23px; } }
@media (max-width: 767px) { .go-pagina-testo .go-contenuto h4 { font-size: 20px; } }

/* pagina 404 (dalla 0.7.0): testi come oggi su WordPress */
.go-e404 { text-align: center; padding: 80px 20px 100px; }
.go-e404__titolo { font-size: 40px; line-height: 48px; margin: 0 0 10px; }
.go-e404__num { display: block; font-size: 140px; line-height: 1; color: var(--verde); margin-top: 10px; }
.go-e404__testo, .go-e404__sotto { font-family: var(--rubik); font-size: 18px; line-height: 26px; color: var(--testo); }
.go-e404__btn { display: inline-block; margin-top: 10px; padding: 12px 26px; background: var(--blu); color: #fff !important; border-radius: 4px; font-family: var(--rubik); font-weight: 700; text-decoration: none; }

/* ------------------------------------------------------------------ indice dei capitoli (dalla 0.8.12) */
.go-indice { margin: 0 0 27px; padding: 16px 20px; background: var(--azzurro); border-left: 4px solid var(--blu); font-family: var(--rubik); font-size: 16px; line-height: 22px; }
.go-indice summary { font-weight: 700; color: var(--blu-scuro); cursor: pointer; }
.go-indice ol { margin: 10px 0 0; padding-left: 22px; }
.go-indice ol ol { margin: 4px 0 6px; font-size: 15px; }
.go-indice li { margin: 4px 0; }
.go-indice a { text-decoration: none; }
.go-indice a:hover { text-decoration: underline; }

/* Informazioni pratiche nelle guide dei paesi (dalla 0.8.16) */
.go-pratiche { margin: 36px 0 8px; padding-top: 8px; border-top: 1px solid #e3e8ee; }
.go-pratiche__elenco { list-style: none; margin: 0 0 22px; padding: 0; }
.go-pratiche__elenco li { margin: 0 0 14px; padding: 0 0 12px; border-bottom: 1px solid #eef1f4; font-size: 16px; line-height: 24px; }
.go-pratiche__elenco li:last-child { border-bottom: 0; }
.go-pratiche__elenco a { font-family: var(--rubik); font-size: 15px; }
.go-pratiche__nota { font-size: 14px; line-height: 20px; color: #5b6b7b; margin: 4px 0 0; }
.go-pratiche__avviso { font-size: 15px; line-height: 22px; color: #3d4a57; background: #f4f8fb; border-left: 3px solid #2f6db5; padding: 10px 14px; margin: 0 0 18px; }

/* moduli "Contattaci" e campo nascosto anti-robot (dalla 0.8.21) */
.go-contatto { margin: 32px 0 8px; padding-top: 8px; border-top: 1px solid #e3e8ee; }
.go-contatto__form { display: grid; gap: 14px; max-width: 640px; }
.go-contatto__campo label { display: block; font-family: var(--rubik); font-size: 15px; margin: 0 0 4px; }
.go-contatto__campo input, .go-contatto__campo textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: 10px 12px; border: 1px solid #b9c6d2; border-radius: 4px; background: #fff; }
.go-contatto__consenso { font-size: 15px; line-height: 22px; }
.go-contatto__form button { justify-self: start; font-family: var(--rubik); font-size: 16px; padding: 11px 22px; border: 0; border-radius: 4px; background: #2f6db5; color: #fff; cursor: pointer; }
.go-contatto__form button[disabled] { opacity: .6; cursor: default; }
.go-contatto__esito { font-size: 16px; margin: 0; }
.go-contatto__nascosto { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
