/* Styles for BarraMenu moved from inline Razor to avoid CSS analyzer warnings */

/* ===== TOPBAR PREMIUM ===== */
.topbar-premium {
    background: white !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease;
    font-size: 0.875rem;
}

/* Info de contacto con iconos verdes */
.top-info { color: #1a1a1a; }
.top-info i { color: #009600; transition: all 0.3s ease; }
.top-info i:hover { color: #00cc00; transform: scale(1.1); }

/* Broadway Marquee Container - Solo el banner con fondo negro */
.broadway-marquee {
    position: relative;
    padding: 0 30px;
    background: #000;
    border: none;
    border-radius: 0;
    box-shadow: 0 0 15px rgba(0, 150, 0, 0.4), inset 0 0 15px rgba(0, 150, 0, 0.1);
    overflow: hidden;
    min-width: 350px;
}

.broadway-marquee::before,
.broadway-marquee::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #009600 25%, #00cc00 50%, #009600 75%, transparent 100%);
}

.broadway-marquee::before { top: 0; animation: shimmer 4s linear infinite; }
.broadway-marquee::after { bottom: 0; animation: shimmer 4s linear infinite reverse; }

/* Contenido del marquee */
.marquee-content {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 28px;
    padding: 6px 20px;
    overflow: hidden;
    width: 100%;
}

/* Texto del marquee con efecto verde brillante "encendido" */
.marquee-text {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #00ff00;
    text-shadow: 0 0 10px rgba(0,255,0,1), 0 0 20px rgba(0,255,0,0.8), 0 0 30px rgba(0,255,0,0.6), 0 0 40px rgba(0,255,0,0.4);
    animation: neon-glow 2s ease-in-out infinite, marquee-scroll 35s linear infinite;
    white-space: nowrap;
    display: inline-block;
    padding-left: 100%;
}

/* ===== NAVBAR PREMIUM ===== */
.navbar-premium {
    background: white;
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
    padding: 0.75rem 0;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
    z-index: 1060;
}

.navbar-premium.scrolled { padding: 0.5rem 0; box-shadow: 0 4px 30px rgba(0,150,0,0.15); }

.navbar-wrapper { display:flex; align-items:center; justify-content:space-between; gap:2rem; }

/* ===== LOGO PREMIUM ===== */
.navbar-brand-premium { display:flex; align-items:center; text-decoration:none; transition: transform 0.3s ease; }
.navbar-brand-premium:hover { transform: scale(1.05); }
.logo-img { height:auto; width: clamp(150px, 10vw + 100px, 250px); transition: all 0.3s ease; }

@media (max-width:480px) { .logo-img { width: 140px; } .navbar-premium { padding: 0.5rem 0; } }

.navbar-premium.scrolled .logo-img { width: clamp(130px,10vw+80px,220px); }

/* ===== NAVIGATION MENU ===== */
.navbar-menu { display:flex; align-items:center; gap:3rem; flex:1; justify-content:flex-end; }
.nav-links { display:flex; align-items:center; gap:0.5rem; list-style:none; margin:0; padding:0; }

/* ===== NAV LINKS PREMIUM ===== */
.nav-link-premium { position:relative; display:inline-flex; align-items:center; padding:0.75rem 1rem; color:#1a1a1a; font-weight:600; font-size:0.95rem; text-decoration:none; transition:all 0.3s ease; border-radius:8px; }
.nav-link-premium span { position:relative; z-index:1; }

.link-underline { position:absolute; bottom:8px; left:50%; transform: translateX(-50%) scaleX(0); width:80%; height:3px; background:linear-gradient(90deg,#009600 0%,#007f00 100%); border-radius:2px; transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.nav-link-premium:hover { color:#009600; }
.nav-link-premium.active { color:#009600; background: rgba(0,150,0,0.05); }
.nav-link-premium.active .link-underline { transform: translateX(-50%) scaleX(1); }

/* ===== DROPDOWN PREMIUM ===== */
.nav-item-dropdown { position:relative; }
.dropdown-toggle-premium { background:none; border:none; cursor:pointer; }
.dropdown-arrow { font-size:0.7rem; transition: transform 0.3s ease; }
.dropdown-toggle-premium:hover .dropdown-arrow, .nav-item-dropdown:hover .dropdown-arrow { transform: rotate(180deg); }
.dropdown-menu-premium { position:absolute; top: calc(100% + 10px); left:50%; transform: translateX(-50%) translateY(-10px); background:white; border-radius:15px; box-shadow:0 10px 40px rgba(0,150,0,0.15); padding:0.75rem; min-width:280px; opacity:0; visibility:hidden; transition: all 0.4s cubic-bezier(0.4,0,0.2,1); z-index:1000; border:2px solid rgba(0,150,0,0.1); }
.dropdown-menu-premium.show { opacity:1; visibility:visible; transform: translateX(-50%) translateY(0); }

.dropdown-item-premium { display:flex; align-items:center; gap:1rem; padding:1rem; border-radius:10px; text-decoration:none; transition:all 0.3s ease; border:2px solid transparent; }
.dropdown-item-premium:hover { background: rgba(0,150,0,0.05); border-color:#009600; transform: translateX(5px); }
.dropdown-item-icon-logo { width:45px; height:45px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition: all 0.3s ease; padding:5px; }

/* ===== LANGUAGE SWITCHER PREMIUM ===== */
.language-switcher { display:flex; gap:0.5rem; align-items:center; padding-left:1rem; border-left:2px solid rgba(0,150,0,0.1); }
.lang-btn { width:40px; height:40px; border:2px solid transparent; border-radius:50%; background:white; padding:0; cursor:pointer; transition:all 0.3s ease; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.1); }
.lang-btn img { width:100%; height:100%; object-fit:cover; }
.lang-btn:hover { transform: scale(1.15); box-shadow: 0 4px 12px rgba(0,150,0,0.3); border-color:#009600; }
.lang-btn.active { border-color:#009600; box-shadow:0 0 0 3px rgba(0,150,0,0.2); }

/* ===== MOBILE TOGGLE ===== */
.navbar-toggler-premium { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:0.5rem; cursor:pointer; z-index:1031; }
.toggler-icon { width:28px; height:3px; background: linear-gradient(90deg,#009600 0%,#007f00 100%); border-radius:2px; transition: all 0.3s ease; }
.navbar-toggler-premium:hover .toggler-icon { background:#007f00; }

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 991.98px) {
    .navbar-toggler-premium { display:flex; }

    .navbar-menu { position: fixed; top: 56px; right: -100%; width:100%; max-width:400px; height:100vh; background:white; flex-direction:column; padding:0.75rem 1rem 1rem; gap:1rem; justify-content:flex-start; align-items:stretch; box-shadow:-5px 0 30px rgba(0,0,0,0.1); transition: right 0.4s cubic-bezier(0.4,0,0.2,1); overflow-y:auto; z-index:1060; }

    .navbar-menu.active { right:0; }

    .nav-links { flex-direction:column; width:100%; gap:0.5rem; margin-top:0.5rem; }

    .nav-link-premium { width:100%; padding:1rem; justify-content:space-between; }

    .dropdown-menu-premium { position: static; transform:none; box-shadow:none; border:none; margin-top:0.5rem; background: rgba(0,150,0,0.03); display:none; opacity:1; visibility:visible; }
    .dropdown-menu-premium.show { transform:none; display:block; }

    .language-switcher { width:100%; justify-content:center; border-left:none; border-top:2px solid rgba(0,150,0,0.1); padding-left:0; padding-top:1rem; }

    .navbar-brand-premium { position:relative; z-index:1032; margin-right:auto; padding-left:0.5rem; }

    .logo-img { width:auto; max-height:42px; }

    .navbar-toggler-premium { z-index:1043; width:44px; height:44px; padding:0.35rem; align-items:center; justify-content:center; position:relative; }

    /* reduce overall navbar vertical padding on small screens */
    .navbar-premium { padding: 0.35rem 0; height:56px; }
}

@media (max-width: 575.98px) {
    .topbar-premium { font-size: 0.75rem; }
    .top-info { gap:1rem !important; }
    .navbar-menu { max-width:100%; }
    .broadway-marquee { display: none !important; }

    /* On very small devices show menu options horizontally centered */
    .nav-links { flex-direction: row; justify-content: center; align-items: center; gap:0.75rem; flex-wrap:wrap; padding:0.5rem 0; }
    .nav-link-premium { padding:0.55rem 0.8rem; font-size:0.95rem; border-radius:8px; }
}

/* Mobile overlay when menu is open */
.mobile-overlay { position: fixed; top:0; left:0; width:100%; height:100vh; background: rgba(0,0,0,0.45); backdrop-filter: blur(3px); z-index:1029; }
