/* Bluadhara - override del template allEvents Tourism */
:root { --blu: #1565c0; --blu-scuro: #0d47a1; --blu-chiaro: #4fc3f7; }

.home-welcome .logo, .nav-scroll .logo, footer .logo { width: auto; height: 56px; }
.nav-scroll .logo { height: 44px; }
.menu-no-stick .logo { margin-left: 1rem; }

/* selettore lingua con bandierine affiancate */
.menu-bar li.lang-switch { width: auto; white-space: nowrap; padding: 0 .4rem; background: none; }
.menu-bar li.lang-switch a { display: inline-block; margin: 0 .25rem; }
.menu-bar li.lang-switch img { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.4); opacity: .5; transition: opacity .2s; vertical-align: middle; }
.menu-bar li.lang-switch a.active img, .menu-bar li.lang-switch a:hover img { opacity: 1; }
.nav-scroll .menu-bar li.lang-switch img { box-shadow: 0 0 0 1px rgba(0,0,0,.15); }

/* punti di forza: icona in cerchio + testo (classe FA nel campo subtitle del record) */
.punti-forza { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 2rem 1rem; }
.punti-forza .punto { display: flex; align-items: flex-start; gap: 1.5rem; margin-bottom: 2.5rem; }
.punti-forza .punto:last-child { margin-bottom: 0; }
.punti-forza .punto-icona { flex: 0 0 auto; width: 76px; height: 76px; border-radius: 50%; background: var(--blu); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.9rem; box-shadow: 0 8px 20px rgba(13,71,161,.25); }
.punti-forza .descriptionItem h4 { margin-bottom: .5rem; }

/* card servizi: tutta la foto è cliccabile */
.image-gallery .card-link { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 5; cursor: pointer; }

.home-welcome h1.summary { font-size: 4.5rem; letter-spacing: 4px; text-transform: uppercase; }
@media (max-width: 767.98px) { .home-welcome h1.summary { font-size: 2.6rem; } }
.home-welcome .summary .wordmark { width: 100%; max-width: 540px; height: auto; filter: drop-shadow(0 2px 12px rgba(0,0,0,.35)); }

/* copertina su mobile: niente video (coprirebbe solo metà sezione), poster come
   sfondo e altezze flessibili al posto di quelle fisse del template che tagliavano le scritte */
@media (max-width: 767.98px) {
    .home-welcome video { display: none; }
    .home-welcome, .home-welcome.nbg {
        height: auto;
        min-height: 100vh;
        min-height: 100svh;
        background-image: url(../video/video.jpg);
        background-size: cover;
        background-position: center;
        background-attachment: scroll;
    }
    .home-welcome .homeContent {
        position: relative;
        height: auto;
        min-height: 100vh;
        min-height: 100svh;
        padding: 6.5rem 15px 3rem;
    }
    .home-welcome .summary .wordmark { max-width: 320px; }
}
.home-welcome .overlay { background: linear-gradient(180deg, rgba(13,71,161,.55), rgba(0,0,0,.65)); }

.section-title { display: inline-block; border-bottom: 3px solid var(--blu); padding-bottom: .5rem; margin-bottom: 2.5rem; text-transform: uppercase; letter-spacing: 2px; }
.section-head { text-align: center; padding: 4rem 1rem 1rem; }
.schedule .section-head h2 { color: #fff; border-color: #fff; }
.schedule .section-head p { color: #fff; }
.schedule { background-image: linear-gradient(180deg, rgba(13,71,161,.5), rgba(13,71,161,.25)), url(../img/mare-cielo.jpg); background-position: center; background-size: cover; }

.registerEvent .register h2 { color: var(--blu-scuro); }
.registerEvent .register h2 + h2 { margin-top: 2.5rem; }
.registerEvent .register p { line-height: 1.8; }

.image-gallery .price { font-weight: 700; }
.image-gallery .overlay-description p { font-size: .9rem; }

/* gallery eventi */
.galleryEventi { background: #fff; padding: 2rem 0 5rem; }
.galleryEventi .gallery-item { display: block; position: relative; overflow: hidden; margin-bottom: 30px; cursor: pointer; }
.galleryEventi .gallery-item img { width: 100%; height: 260px; object-fit: cover; transition: transform .4s; }
.galleryEventi .gallery-item:hover img { transform: scale(1.06); }
.galleryEventi .gallery-item span { position: absolute; left: 0; right: 0; bottom: 0; padding: .6rem 1rem; color: #fff; background: linear-gradient(0deg, rgba(13,71,161,.85), transparent); font-size: .85rem; }

.faq .faq-item h5 { color: var(--blu-scuro); }

/* pagina dettaglio servizio */
.servizio-hero { min-height: 60vh; background-size: cover; background-position: center; }
.servizio-hero .homeContent { min-height: 60vh; }
.servizio-body { padding: 5rem 0; }
.servizio-body .meta { list-style: none; padding: 0; margin: 0 0 2rem; }
.servizio-body .meta li { display: inline-block; margin-right: 1.5rem; color: var(--blu-scuro); font-weight: 600; }
.servizio-body .meta li i { margin-right: .4rem; }
.servizio-body .contenuto { line-height: 1.9; font-size: 1.05rem; }
.servizio-gallery .gallery-item img { height: 220px; }

.contactInfo iframe { width: 100%; min-height: 480px; border: 0; }
.contact-form .alert { margin-top: 1rem; }
footer .piva { font-size: .8rem; opacity: .7; display: block; margin-top: .5rem; }
footer .menu-bar { justify-content: center; margin-top: 1rem; }
