/* ==========================================================================
   GM Tech Guard — Menú de categorías automático (mega menú + acordeón mobile)
   ========================================================================== */

/* ---------- Desktop: mega menú en columnas ---------- */
.mega-dropdown { width: min(1180px, 96vw); }
.mega-dropdown__body {
    max-height: calc(100vh - var(--gmtechguard-header-offset, 110px) - 130px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.mega-cols.mega-cols--auto {
    display: block;
    column-count: 5;
    column-gap: 0;
    column-rule: 1px solid var(--color-border, #e5e7eb);
    padding: 6px 0;
}
.mega-cols--auto .mega-col {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    display: block;
    border-right: 0 !important;
    padding: 12px 16px 10px !important;
}
.mega-cols--auto .mega-col__heading {
    font-size: 12px;
    letter-spacing: .06em;
    white-space: normal;
    margin-bottom: 6px;
}
.mega-cols--auto .mega-col__heading--static { cursor: default; }
.mega-cols--auto .mega-col__link { font-size: 13px; padding: 4px 6px; }
.mega-cols--auto .mega-col__subsubs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 0 4px 6px;
    padding: 0 0 2px 10px;
}
.mega-cols--auto .mega-col__subsubs a { font-size: 12px; padding: 2px 0; }

@media (max-width: 1240px) { .mega-cols.mega-cols--auto { column-count: 4; } }
@media (max-width: 1020px) { .mega-cols.mega-cols--auto { column-count: 3; } }

/* Claro: contraste firme, azul de marca */
html:not([data-theme="dark"]) .mega-dropdown {
    border-color: #D5DCE7;
    box-shadow: 0 24px 48px -20px rgba(11,19,36,.28), 0 0 0 1px rgba(11,19,36,.03);
}
html:not([data-theme="dark"]) .mega-dropdown__header { background: #F5F7FA; }
html:not([data-theme="dark"]) .mega-dropdown__title { color: #0B1324; }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__heading { color: #0B1324; border-bottom: 2px solid #E6EBF2; }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__heading svg { color: var(--gm-blue, #1A56DB); }
html:not([data-theme="dark"]) .mega-cols--auto a.mega-col__heading:hover { color: var(--gm-blue, #1A56DB); border-bottom-color: var(--gm-blue, #1A56DB); }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__link { color: #3B4A63; }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__link--parent { color: #0B1324; font-weight: 600; }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__link:hover { color: var(--gm-blue, #1A56DB); background: var(--gm-blue-soft, #EAF1FF); }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__subsubs { border-left-color: rgba(26,86,219,.3); }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__subsubs a { color: #64748B; }
html:not([data-theme="dark"]) .mega-cols--auto .mega-col__subsubs a:hover { color: var(--gm-blue, #1A56DB); }
html:not([data-theme="dark"]) .mega-dropdown__explore { background: var(--gm-blue, #1A56DB); color: #fff; font-weight: 700; }
html:not([data-theme="dark"]) .mega-dropdown__explore:hover { background: var(--gm-blue-hover, #1240B0); color: #fff; }

/* ---------- Mobile: acordeón con subniveles ---------- */
.mobile-nav__accordion--cat summary { font-weight: 600; }
.mobile-nav__accordion-body .mobile-nav__viewall {
    font-weight: 700;
    color: var(--gm-blue, #1A56DB) !important;
}
.mobile-nav__subaccordion summary {
    list-style: none;
    display: flex;
    align-items: center;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: var(--color-text, #0B1324);
}
.mobile-nav__subaccordion summary::-webkit-details-marker { display: none; }
.mobile-nav__subaccordion[open] > summary .mobile-nav__accordion-chevron { transform: rotate(180deg); }
.mobile-nav__subaccordion-body {
    margin: 0 12px 6px 20px;
    border-left: 2px solid rgba(26,86,219,.3);
}
.mobile-nav__subaccordion-body a { padding: 8px 14px !important; font-size: 13.5px !important; }
html:not([data-theme="dark"]) .mobile-nav__accordion-body { background: #F5F7FA; border: 1px solid #E6EBF2; }
html:not([data-theme="dark"]) .mobile-nav__accordion-body a { color: #3B4A63; }
html:not([data-theme="dark"]) .mobile-nav__accordion[open] > summary { color: var(--gm-blue, #1A56DB); }
html:not([data-theme="dark"]) .mobile-nav__accordion summary svg { color: var(--gm-blue, #1A56DB); opacity: 1; }
.mobile-nav__accordion[open] .mobile-nav__subaccordion:not([open]) > summary .mobile-nav__accordion-chevron { transform: none; }

/* Panel del mega menú: fondo sólido (sin transparencias ni fundido) */
html .mega-dropdown,
html .mega-dropdown.is-open {
    background: #fff !important;
    opacity: 1;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 28px 56px -18px rgba(11,19,36,.35), 0 0 0 1px rgba(11,19,36,.06) !important;
    transition: transform .18s ease, visibility 0s linear 0s !important;
}
html .mega-dropdown:not(.is-open) { visibility: hidden; opacity: 0; transition: none !important; }
html .mega-dropdown .mega-dropdown__body,
html .mega-dropdown .mega-cols { background: #fff; }
html[data-theme="dark"] .mega-dropdown,
html[data-theme="dark"] .mega-dropdown .mega-dropdown__body,
html[data-theme="dark"] .mega-dropdown .mega-cols { background: #151d35 !important; }
