/* Lumion Hero V3 - versione A2 (02/10/2026): video a tutto schermo rallentato e
   attenuato + messaggio aziendale centrato su velatura scura. Contrasto misurato
   sul fotogramma piu' chiaro del video: bianco >= 10:1, oro >= 4,8:1.
   Le regole sono volutamente molto specifiche/!important dove il CSS aggiuntivo
   del sito ha regole generiche su titoli, paragrafi e allineamento su mobile. */

.lhv3-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 600px;
    overflow: hidden;
    background: #0d0d0f;
    isolation: isolate;
}

.lhv3-hero .lhv3-poster,
.lhv3-hero .lhv3-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center 42%;
    filter: brightness(.78) saturate(.92);
    z-index: 1;
}
.lhv3-hero .lhv3-video { z-index: 2; opacity: 0; transition: opacity 1.2s ease; background: transparent; }
.lhv3-hero .lhv3-video.is-ready { opacity: 1; }

.lhv3-hero .lhv3-shade {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background:
        radial-gradient(ellipse 62% 50% at 50% 52%, rgba(8,8,8,.80) 0%, rgba(8,8,8,.70) 45%, rgba(8,8,8,.42) 80%, rgba(8,8,8,.32) 100%),
        linear-gradient(to bottom, rgba(10,10,10,.62) 0%, rgba(10,10,10,0) 24%, rgba(10,10,10,0) 70%, rgba(21,21,21,.94) 100%);
}

/* ===== Header/menu sopra la hero (solo in Home) ===== */
body.lumion-hero-v3-page nav.navbar.bn-classic-main {
    background: linear-gradient(to bottom, rgba(17,17,19,.82) 0%, rgba(17,17,19,.60) 65%, rgba(17,17,19,0) 100%) !important;
}
body.lumion-hero-v3-page .bauen-mob-menu-wrapper.headroom.headroom--top,
body.lumion-hero-v3-page .bauen-mob-menu-wrapper.headroom.headroom--pinned,
body.lumion-hero-v3-page .bauen-mob-menu-wrapper.headroom.headroom--not-bottom {
    background: linear-gradient(to bottom, rgba(17,17,19,.82) 0%, rgba(17,17,19,.55) 75%, rgba(17,17,19,0) 100%) !important;
}
body.lumion-hero-v3-page nav.navbar.bn-classic-main .dropdown-menu,
body.lumion-hero-v3-page nav.navbar.bn-classic-main .sub-menu-bn,
body.lumion-hero-v3-page .main-menu .sub-menu-bn {
    background-color: rgba(20,20,22,.96) !important;
}
body.lumion-hero-v3-page header.main-slider {
    height: auto !important;
    min-height: 0 !important;
}

/* ===== Testo centrale ===== */
.lhv3-hero .lhv3-c {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    gap: 26px;
    padding: 90px 24px 70px;
}
.lhv3-sr-h1 { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

body .lhv3-hero .lhv3-c .lhv3-kick {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400;
    line-height: 1.5 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase;
    color: #c8ad88 !important;
    text-align: center !important;
}
.lhv3-hero .lhv3-kick::before,
.lhv3-hero .lhv3-kick::after { content: ""; width: 40px; height: 1px; background: #c8ad88; flex: none; }
.lhv3-hero .lhv3-kick span[aria-hidden] { white-space: pre; }
body .lhv3-hero .lhv3-c .lhv3-kick { gap: 0; }
.lhv3-hero .lhv3-kick::before { margin-right: 16px; }
.lhv3-hero .lhv3-kick::after { margin-left: 16px; }

body .lhv3-hero .lhv3-c h2.lhv3-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 400 !important;
    font-size: 64px !important;
    line-height: 1.08 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    text-align: center !important;
    text-shadow: 0 2px 24px rgba(0,0,0,.45);
}
body .lhv3-hero .lhv3-c h2.lhv3-title em { font-style: normal; color: #c8ad88 !important; }

body .lhv3-hero .lhv3-c p.lhv3-lead {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 560px;
    font-family: 'Didact Gothic', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    letter-spacing: 0 !important;
    color: #e4e4e4 !important;
    text-align: center !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.6);
}

.lhv3-hero .lhv3-btns { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
body .lhv3-hero a.lhv3-b {
    display: inline-block;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400;
    letter-spacing: 2.5px !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 15px 30px;
    border: 1px solid #b19777;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
body .lhv3-hero a.lhv3-b-fill { background: #b19777; color: #151515 !important; }
body .lhv3-hero a.lhv3-b-fill:hover,
body .lhv3-hero a.lhv3-b-fill:focus-visible { background: #c8ad88; border-color: #c8ad88; }
body .lhv3-hero a.lhv3-b-line { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.55); }
body .lhv3-hero a.lhv3-b-line:hover,
body .lhv3-hero a.lhv3-b-line:focus-visible { border-color: #c8ad88; color: #c8ad88 !important; }

/* ===== Riga in fondo: In evidenza (oro) · Lumion Apartments (bianco) · Visita gli interni (oro, cliccabile) ===== */
.lhv3-hero .lhv3-feat {
    position: absolute;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 18px;
    white-space: nowrap;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    line-height: 1.4;
}
.lhv3-hero .lhv3-feat i { width: 1px; height: 14px; background: rgba(255,255,255,.3); }
.lhv3-hero .lhv3-feat .lhv3-feat-label { color: #c8ad88; }
body .lhv3-hero .lhv3-feat a { text-decoration: none !important; padding: 6px 0; border-bottom: 1px solid transparent; transition: color .25s ease, border-color .25s ease; }
body .lhv3-hero .lhv3-feat a.lhv3-feat-name { color: #fff !important; }
body .lhv3-hero .lhv3-feat a.lhv3-feat-name:hover { border-bottom-color: rgba(255,255,255,.6); }
body .lhv3-hero .lhv3-feat a.lhv3-feat-tour { color: #c8ad88 !important; border-bottom-color: rgba(200,173,136,.45); }
body .lhv3-hero .lhv3-feat a.lhv3-feat-tour:hover,
body .lhv3-hero .lhv3-feat a.lhv3-feat-tour:focus-visible { color: #dcc4a0 !important; border-bottom-color: #dcc4a0; }
.lhv3-hero .lhv3-feat a.lhv3-feat-tour span { display: inline-block; transition: transform .25s ease; }
.lhv3-hero .lhv3-feat a.lhv3-feat-tour:hover span { transform: translateX(4px); }

/* ===== Tablet ===== */
@media only screen and (max-width: 1100px) {
    body .lhv3-hero .lhv3-c h2.lhv3-title { font-size: 52px !important; }
}

/* ===== Smartphone ===== */
@media only screen and (max-width: 767px) {
    .lhv3-hero { min-height: 560px; }
    .lhv3-hero .lhv3-shade {
        background:
            radial-gradient(ellipse 90% 44% at 50% 50%, rgba(8,8,8,.82) 0%, rgba(8,8,8,.68) 55%, rgba(8,8,8,.40) 100%),
            linear-gradient(to bottom, rgba(10,10,10,.62) 0%, rgba(10,10,10,0) 20%, rgba(10,10,10,0) 68%, rgba(21,21,21,.94) 100%);
    }
    .lhv3-hero .lhv3-c { gap: 20px; padding: 80px 20px 110px; }
    body .lhv3-hero .lhv3-c .lhv3-kick { font-size: 11px !important; letter-spacing: 2.5px !important; flex-wrap: wrap; gap: 0; }
    .lhv3-hero .lhv3-kick::before, .lhv3-hero .lhv3-kick::after { display: none; }
    body .lhv3-hero .lhv3-c h2.lhv3-title { font-size: 36px !important; letter-spacing: 3px !important; }
    body .lhv3-hero .lhv3-c p.lhv3-lead { font-size: 15px !important; }
    body .lhv3-hero a.lhv3-b { font-size: 13px !important; padding: 13px 20px; }
    .lhv3-hero .lhv3-feat { bottom: 24px; width: 90%; flex-wrap: wrap; justify-content: center; white-space: normal; gap: 4px 12px; text-align: center; }
    .lhv3-hero .lhv3-feat i:last-of-type { display: none; }
    .lhv3-hero .lhv3-feat a.lhv3-feat-tour { flex-basis: 100%; text-align: center; border-bottom: 0; }
    .lhv3-hero .lhv3-feat a.lhv3-feat-tour { padding-top: 8px; }
}
@media only screen and (max-width: 360px) {
    body .lhv3-hero .lhv3-c h2.lhv3-title { font-size: 31px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .lhv3-hero .lhv3-video { display: none; }
}
