/* aggiunte del sito statico al tema terre_di_riese */
.evento-img { aspect-ratio: 266 / 360; object-fit: cover; width: 100%; }
.eventi-lista .evento-img, .home-eventi .evento-img { aspect-ratio: 1 / 1; }
.event-page .contenuto img { max-width: 100%; height: auto; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 40px 0; }
.gallery-grid a { display: block; position: relative; overflow: hidden; }
.gallery-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s; }
.gallery-grid a:hover img { transform: scale(1.04); }
.gallery-grid .gallery-title { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: rgba(0,0,0,.6); color: #fff; font-family: Montserrat, sans-serif; text-transform: uppercase; font-size: 13px; }

/* menu mobile: sfondo pieno (nel tema originale le voci erano trasparenti sopra lo slider) */
@media (max-width: 767px) {
  header .ownmenu { background: #fff; box-shadow: 0 6px 12px rgba(0,0,0,.15); position: relative; z-index: 50; }
  header .ownmenu li a { color: #222; }
}

/* eventi su più date */
.event .event-detail .evento-date-multiple { display: block; font-weight: 600; color: #222; }
.evento-badge { display: inline-block; background: #fbc531; color: #222; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 2px 8px; margin-bottom: 6px; letter-spacing: .5px; }
.evento-date { margin: 10px 0 5px; }
.evento-date-titolo { margin-bottom: 6px; }
.evento-prossima { margin-bottom: 10px; }
.evento-mesi { margin: 0 0 10px; }
.evento-mesi dt { text-transform: capitalize; font-weight: 600; margin-top: 8px; }
.evento-mesi dd { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; }
.event .event-detail .evento-mesi .evento-giorno { display: inline-block; width: auto; margin: 0; border: 1px solid #ddd; padding: 3px 9px; font-size: 13px; line-height: 1.4; }
.event .event-detail .evento-giorno.passata { color: #aaa; border-color: #eee; text-decoration: line-through; }
.event .event-detail .evento-giorno.prossima { background: #fbc531; border-color: #fbc531; color: #222; font-weight: 700; }
.evento-ics { display: inline-block; margin: 6px 0 14px; font-size: 13px; }

/* ritagli delle immagini come le miniature generate da concrete5 */
.list-h-paths img.img-responsive { width: 100%; max-width: 400px; aspect-ratio: 400 / 268; object-fit: cover; }
.lista-negozio img.img-responsive { aspect-ratio: 1 / 1; }
.gallery .inn-sec img.img-responsive { width: 100%; aspect-ratio: 262 / 202; object-fit: cover; }
.list-location-map li img.img-responsive { width: 230px; height: 200px; object-fit: cover; }
.ospitality .ccm-block-page-list-description img.img-responsive { width: 150px; height: 150px; object-fit: cover; }

/* selettore lingua (barra in alto, al posto della bandierina quando ci sono più lingue attive) */
#lang .lingue { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
#lang .lingue a { font-family: Montserrat, sans-serif; font-size: 12px; font-weight: 700; color: #272727; letter-spacing: .5px; }
#lang .lingue li.attiva a { border-bottom: 2px solid #fbc531; }

/* griglie senza buchi: le colonne flottanti di Bootstrap 3 con altezze diverse lasciavano spazi vuoti;
   con flex-wrap ogni riga si allinea (stesse larghezze di colonna del tema, a ogni dimensione dello schermo) */
.list-h-paths ul.row, .list-location-map ul.row, .gallery ul.row,
.ospitality .row > .ccm-block-page-list-pages, .event .container > .row, .event-grid {
  display: flex; flex-wrap: wrap;
}
.list-h-paths ul.row::before, .list-h-paths ul.row::after,
.list-location-map ul.row::before, .list-location-map ul.row::after,
.gallery ul.row::before, .gallery ul.row::after,
.event .container > .row::before, .event .container > .row::after { display: none; }
.ospitality .row > .ccm-block-page-list-pages { width: 100%; }

/* smartphone: nell'elenco luoghi l'immagine flottante da 230px schiacciava il testo */
@media (max-width: 767px) {
  .list-location-map li img.img-responsive { float: none; width: 100%; height: auto; aspect-ratio: 4 / 3; padding-right: 0; margin-bottom: 12px; }
  .ospitality .ccm-block-page-list-description .pull-left { float: none !important; display: block; padding-right: 0; margin-bottom: 10px; }
  .ospitality .ccm-block-page-list-description img.img-responsive { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .ospitality .btn-group-justified .btn { font-size: 10px; padding-left: 2px; padding-right: 2px; white-space: normal; }
}

/* SEO: i titoli principali sono h1 ma mantengono l'aspetto originale (h2 / h3 del tema) */
.sub-bnr h1, h1.come-h2 { font-size: 28px; font-weight: bold; line-height: 1.1; }
.sub-bnr h1 { font-weight: 600; color: #fff; margin: 0 0 30px; }
h1.come-h3 { font-size: 22px; margin-top: 20px; margin-bottom: 10px; }

/* tutte le mappe: toni attenuati come la mappa Google senza etichette dell'originale */
.mappa-osm .leaflet-tile-pane { filter: grayscale(0.7) brightness(1.05); }

/* tooltip delle mappe: leggibile, cliccabile (apre Google Maps) */
.mappa-osm .leaflet-popup-content { margin: 12px 16px; min-width: 180px; }
.mappa-popup { cursor: pointer; font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 1.45; color: #333; }
.mappa-popup strong { display: block; font-family: 'Montserrat', sans-serif; font-size: 15px; color: #000; margin-bottom: 4px; }
.mappa-popup span { display: block; color: #555; }
.leaflet-container .mappa-popup a { display: block; margin-top: 8px; color: #000; font-weight: 600; text-decoration: none; }
.leaflet-container .mappa-popup a:hover { color: #fecc00; }
.mappa-popup a .fa { width: 14px; text-align: center; color: #fecc00; }

/* modulo d'ordine: campo antispam invisibile */
.campo-trappola { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
