/* ==========================================================================
   MENÚ BLINDADO
   ========================================================================== */
/* ===== NAVBAR BLINDADO ===== */
.navbar[class] {
    background: transparent !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    height: 50px !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding: 0px 20px !important;
    width: 60% !important;
    z-index: 1000 !important;
}

/* ===== BOTÓN DEL MENÚ BLINDADO ===== */
.navbar[class] .contain[class].open-menu[class],
button[class].contain[class].open-menu[class] {
    padding: 6px !important;
    margin-top: 40px !important;
    margin-right: 30px !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1001 !important;
    transition: transform 0.35s !important;
    color: #fff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    line-height: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* ===== BARRAS DEL MENÚ BLINDADAS ===== */
.bar1[class],
.bar2[class],
.bar3[class] {
    background-color: black !important;
    border-radius: 4px !important;
    transition: 0.4s !important;
    height: 2px !important;
    box-shadow: none !important;
    border: none !important;
}

.bar1[class],
.bar3[class] {
    width: 36px !important;
    margin: 5px 0 !important;
}

.bar2[class] {
    width: 25px !important;
    margin: 5px 0px 5px 10px !important;
}

/* ===== OVERLAY BLINDADO ===== */
.overlay[class] {
    position: fixed !important;
    background: white !important;
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.35s, visibility 0.35s, height 0.35s !important;
    overflow: auto !important;
    z-index: 999 !important;
}

.overlay[class].open[class] {
    opacity: 1 !important;
    visibility: visible !important;
    height: 100% !important;
    z-index: 999 !important;
}

/* ===== MEDIA QUERIES UNIFICADAS ===== */
@media (max-width: 960px) {
    .navbar[class] {
        width: 100% !important;
    }

    .navbar[class] .contain[class].open-menu[class],
    button[class].contain[class].open-menu[class] {
        background: rgba(249, 249, 249, 0.9) !important;
        margin-top: 15px !important;
        margin-right: 15px !important;
    }

    .overlay[class] {
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .navbar[class] {
        width: 100% !important;
        padding: 0 12px !important;
    }

    .navbar[class] .contain[class].open-menu[class],
    button[class].contain[class].open-menu[class] {
        margin-top: 12px !important;
        margin-right: 12px !important;
        padding: 4px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        transform: none !important;
        scale: 1 !important;
    }

    .bar1[class],
    .bar2[class],
    .bar3[class] {
        margin: 4px 0 !important;
        width: 36px !important;
        transform: none !important;
        scale: 1 !important;
    }

    .bar2[class] {
        width: 25px !important;
        margin-left: 8px !important;
    }
}

@media (max-width: 480px) {
    .navbar[class] .contain[class].open-menu[class],
    button[class].contain[class].open-menu[class] {
        margin-top: 40px !important;
        margin-right: 20px !important;
        padding: 4px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }

    .bar1[class],
    .bar2[class],
    .bar3[class] {
        width: 32px !important;
    }

    .bar2[class] {
        width: 22px !important;
    }
}

/* ===== FUERZA BRUTA PARA INDEX ===== */
body.home .navbar .contain.open-menu,
body.page-index .navbar .contain.open-menu,
body .navbar .contain.open-menu {
    margin-top: 40px !important;
    margin-right: 30px !important;
    padding: 5px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    transform: none !important;
    scale: 1 !important;
}

@media (max-width: 960px) {
    body.home .navbar .contain.open-menu,
    body.page-index .navbar .contain.open-menu {
        margin-top: 15px !important;
        margin-right: 15px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

@media (max-width: 768px) {
    body.home .navbar .contain.open-menu,
    body.page-index .navbar .contain.open-menu {
        margin-top: 12px !important;
        margin-right: 12px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }
}

/* ========================================
   🛡️ MENÚ BLINDADO - REGISTRO DE EXCLUSIONES 🛡️
   ========================================
   ✅ txp-morph        - Footer morph
   ✅ cloneable        - Sección looping (servicios)
   ✅ looping-words    - Contenedor looping
   ✅ scroll-indicator-container - Indicador de scroll
   ✅ scroll-indicator
   ✅ scroll-line
   ✅ scroll-tick
   ✅ scroll-percent
   ✅ content index
   ✅ title index
   ========================================
   🔜 [nueva sección]  - Fecha: / /
   ======================================== */
/* Proteger TODOS los elementos de texto y botones */
.container:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
.navbar:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
.overlay:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
button:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
a:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
span:not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *),
div:not(canvas):not(.dg):not(.dg *):not(.txp-morph):not(.txp-morph *):not(.cloneable):not(.cloneable *):not(.looping-words):not(.looping-words *):not(.scroll-indicator-container):not(.scroll-indicator-container *):not(.scroll-indicator):not(.scroll-indicator *):not(.scroll-line):not(.scroll-line *):not(.scroll-tick):not(.scroll-tick *):not(.scroll-percent):not(.scroll-percent *):not(.stack):not(.stack *):not(.right):not(.right *):not(.lenguage):not(.lenguage *):not(.contact):not(.contact *):not(.english):not(.english *):not(.spanish):not(.spanish *):not(.slogan):not(.slogan *):not(.menu-container):not(.menu-container *):not(.content):not(.content *):not(.title):not(.title *) {
    position: relative;
    z-index: 2;
}

/* El canvas SOLO fondo */
body > canvas:first-of-type {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

