/* --- DIMENSIONE BARMAN - STILE PREMIUM DEFINITIVO 2026 --- */

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/montserrat-v31-latin-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-v44-latin-regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}

:root {
    --db-gold: #BFA058;
    --db-dark: #1a1a1a;
    --wa-green: #25D366;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: #2c2c2c;
    background-color: #fff;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

/* --- NAVBAR & LOGO (95% Altezza) --- */
.navbar {
    height: 110px;
    background-color: #ffffff !important;
    z-index: 1060;
    padding: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.navbar-logo-clean { height: 104px; width: auto; }
.navbar-spacer { height: 110px; }

@media (max-width: 991.98px) {
    .navbar { height: 85px; }
    .navbar-spacer { height: 85px; }
    .navbar-logo-clean { height: 80px; }
}

/* --- WHATSAPP GREEN BLINDATO --- */
.btn-wa-header-mobile {
    background-color: var(--wa-green) !important;
    color: white !important;
    padding: 10px 18px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.85rem;
    display: flex; align-items: center; gap: 6px;
    text-decoration: none !important;
}
.btn-whatsapp-desktop {
    background-color: var(--wa-green) !important;
    color: white !important;
    border-radius: 5px;
    padding: 10px 20px !important;
    font-weight: 700;
    text-decoration: none !important;
    display: flex; align-items: center; gap: 8px;
}

/* --- OFFCANVAS PREMIUM (RIPRISTINATO) --- */
@media (min-width: 992px) { .offcanvas-premium { display: none !important; } }
.offcanvas-premium {
    background-color: var(--db-dark) !important;
    color: #ffffff !important;
    width: 320px !important;
    border-left: 3px solid var(--db-gold);
}
.offcanvas-premium .btn-close { filter: invert(1) brightness(2); opacity: 1; }
.offcanvas-logo { height: 90px; filter: brightness(0) invert(1); margin-bottom: 10px; }

.nav-link-mobile {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1.2rem 1.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    display: flex; align-items: center; gap: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}
.nav-link-mobile.active, .nav-link-mobile:hover {
    color: var(--db-gold) !important;
    background-color: rgba(191, 160, 88, 0.1);
    padding-left: 2rem;
}

.offcanvas-contacts-box { padding: 2rem 1.5rem; margin-top: auto; background-color: #111; }
.offcanvas-contact-item { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; font-size: 0.85rem; color: rgba(255,255,255,0.7); }
.offcanvas-contact-item i { color: var(--db-gold); width: 20px; text-align: center; }

/* --- HERO VISIBILITY FIX --- */
.hero-dark-overlay {
    position: relative;
    background-color: #000;
    overflow: hidden;
}
.hero-dark-overlay::before {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(rgba(0,0,0,0.9), rgba(0,0,0,0.4));
    z-index: 1;
}
.hero-content-z { position: relative; z-index: 2; }

.btn-hero-primary {
    background-color: var(--db-gold) !important;
    color: #ffffff !important;
    border: 2px solid var(--db-gold) !important;
    font-weight: 800;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: 0.3s;
    text-decoration: none;
}
.btn-hero-primary:hover { background-color: transparent !important; color: var(--db-gold) !important; }

.btn-hero-outline {
    background-color: rgba(255,255,255,0.1) !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    font-weight: 800;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: 0.3s;
    text-decoration: none;
}
.btn-hero-outline:hover { background-color: #ffffff !important; color: #000 !important; }

/* --- FOOTER & UTILITY --- */
.footer-premium { background-color: var(--db-dark); color: #fff; padding: 80px 0 0 0; border-top: 4px solid var(--db-gold); }
.footer-logo { height: 160px; filter: brightness(0) invert(1); margin-bottom: 25px; }
.footer-link { color: rgba(255,255,255,0.7) !important; text-decoration: none !important; display: block; margin-bottom: 12px; }
.footer-link:hover { color: var(--db-gold) !important; padding-left: 5px; }
.footer-bottom { background-color: #111; padding: 25px 0; margin-top: 60px; font-size: 0.85rem; }

.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
.section-title { font-family: 'Montserrat', sans-serif; font-weight: 700; position: relative; padding-bottom: 20px; margin-bottom: 35px; text-transform: uppercase; color: var(--db-dark); }
.section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 70px; height: 4px; background-color: var(--db-gold); }
.text-start.section-title::after { left: 0; transform: none; }