:root {
    --w-blue: #003B70;
    --w-gold: #d8ad28;
    --w-green: #25D366;
    --text-dark: #1a1a1a;
    --bg-glass: rgba(255, 255, 255, 0.98);
}

.modern-sticky-header * {
    box-sizing: border-box; 
    font-family: 'Montserrat', sans-serif;
}

html { scroll-behavior: smooth; }

.modern-sticky-header {
    position: fixed;
    top: 0; left: 0; width: 100%;
    background: var(--bg-glass);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    z-index: 9999;
    transition: all 0.3s ease;
    padding: 10px 0; 
    border-bottom: 1px solid rgba(0,0,0,0.03);
}

.header-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo img {
    height: 85px;
    display: block;
    transition: height 0.3s ease;
    object-fit: contain;
}

.header-menu ul {
    display: flex;
    align-items: center;
    gap: 25px;
    list-style: none;
    margin: 0; padding: 0;
}

.nav-link {
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 500;
    font-size: 15px;
    letter-spacing: -0.3px;
    position: relative;
    padding: 8px 0;
    transition: color 0.3s;
}

.nav-link:hover { color: var(--w-blue); }

.nav-link::after {
    content: ''; position: absolute; width: 100%; height: 2px;
    bottom: 0; left: 0;
    background-color: var(--w-blue);
    transform: scaleX(0); transform-origin: bottom right;
    transition: transform 0.3s ease-out;
}
.nav-link:hover::after { transform: scaleX(1); transform-origin: bottom left; }

.btn-cotizar-gold {
    background: var(--w-gold);
    color: #fff !important;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    display: flex; align-items: center; gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(216, 173, 40, 0.25);
}

.btn-cotizar-gold:hover {
    background: #fff;
    color: var(--w-gold) !important;
    box-shadow: 0 0 0 2px var(--w-gold);
    transform: translateY(-2px);
}

.header-contact { display: flex; align-items: center; gap: 10px; }

.contact-pill {
    display: flex; align-items: center; gap: 8px;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.whatsapp { background: #ebfcf2; color: #1e8544; }
.whatsapp:hover {
    background: var(--w-green); color: white;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
}

.phone { background: #e3f2fd; color: var(--w-blue); }
.phone:hover {
    background: var(--w-blue); color: white;
    box-shadow: 0 4px 12px rgba(0, 59, 112, 0.2);
}

.mobile-controls, .mobile-menu-overlay { display: none; }
.menu-toggle-checkbox { display: none; }

.modern-sticky-header.scrolled {
    padding: 6px 0;
    box-shadow: 0 4px 25px rgba(0,0,0,0.08);
}
.modern-sticky-header.scrolled .header-logo img { height: 60px; } 

@media (max-width: 1100px) { 
    .header-menu { display: none; }
    .desktop-only { display: none; } 
    
    .mobile-controls { display: block; order: 1; }
    .header-logo { order: 2; margin-right: auto; margin-left: 15px; }
    .header-contact { order: 3; }
    
    .header-logo img { height: 50px; } 
    
    .contact-pill { padding: 10px; border-radius: 50%; width: 40px; height: 40px; justify-content: center; } 
    .contact-pill svg { width: 20px; height: 20px; }

    .hamburger-icon {
        width: 26px; height: 18px;
        display: flex; flex-direction: column; justify-content: space-between;
        cursor: pointer; z-index: 10001; position: relative;
    }
    .hamburger-icon span {
        display: block; height: 2px; width: 100%;
        background: var(--text-dark); border-radius: 2px;
        transition: all 0.3s ease;
    }

    .mobile-menu-overlay {
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(15px);
        z-index: 10000;
        opacity: 0; visibility: hidden;
        transition: all 0.3s ease;
    }
    
    .mobile-list {
        list-style: none; padding: 0; text-align: center;
        display: flex; flex-direction: column; gap: 30px;
        width: 100%; max-width: 300px;
    }

    .mobile-list a {
        text-decoration: none; color: var(--text-dark);
        font-size: 20px; font-weight: 500;
    }

    .mobile-btn-gold {
        background: var(--w-gold); color: white !important;
        padding: 14px 30px; border-radius: 50px;
        display: flex; align-items: center; justify-content: center; gap: 10px;
        font-weight: 700;
        width: 100%;
        box-shadow: 0 8px 25px rgba(216, 173, 40, 0.25);
    }

    .mobile-contacts-row {
        display: flex; gap: 15px; justify-content: center; margin-top: 20px; width: 100%;
    }
    .mobile-contact-item {
        flex: 1;
        display: flex; flex-direction: column; align-items: center; gap: 8px;
        text-decoration: none;
        padding: 15px; border-radius: 12px;
        font-weight: 600; font-size: 0.9rem;
    }
    .phone-m { background: #f0f7ff; color: var(--w-blue); }
    .whatsapp-m { background: #f0fdf4; color: var(--w-green); }

    #menu-toggle:checked ~ .mobile-menu-overlay { opacity: 1 !important; visibility: visible !important; }
    
    #menu-toggle:checked ~ .header-container .hamburger-icon span:nth-child(1) { transform: translateY(8px) rotate(45deg); background: var(--w-blue); }
    #menu-toggle:checked ~ .header-container .hamburger-icon span:nth-child(2) { opacity: 0; }
    #menu-toggle:checked ~ .header-container .hamburger-icon span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); background: var(--w-blue); }
}