/* =====================================================================
 * SSL Child Pro - ssl-global.css
 *
 * Estilos del HEADER (topbar + header sticky + mega-nav) y FOOTER
 * que se aplican en TODA la web, no solo en el home.
 *
 * Usamos las propias clases ssl-* como scope (no body.ssl-home)
 * para garantizar que funcionen en single, archive, category, etc.
 * sin afectar a los estilos propios del padre Orbital.
 * ===================================================================== */

/* ── Tokens compartidos ──────────────────────────── */
:root {
    --ssl-bg: #f4f6f9;
    --ssl-surface: #fff;
    --ssl-surface2: #f0f4f8;
    --ssl-border: #e2e8f0;
    --ssl-text: #0f172a;
    --ssl-text2: #475569;
    --ssl-text3: #94a3b8;
    --ssl-blue: #2563eb;
    --ssl-blue-dark: #1d4ed8;
    --ssl-blue-light: #eff6ff;
    --ssl-green: #16a34a;
    --ssl-navy: #0f172a;
    --ssl-orange: #ea580c;
    --ssl-purple: #7c3aed;
    --ssl-radius: 8px;
    --ssl-radius-lg: 12px;
    --ssl-shadow-sm: 0 1px 3px rgba(0,0,0,.08);
    --ssl-font: 'DM Sans', system-ui, -apple-system, sans-serif;
    --ssl-mono: 'DM Mono', monospace;
    --ssl-w: 1200px;
}

/* Contenedor global propio — NO usa .container del padre para evitar conflictos */
.ssl-container {
    max-width: var(--ssl-w) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Reset puntual para nuestros elementos */
.ssl-topbar *,
.ssl-site-header *,
.ssl-mega-nav *,
.ssl-site-footer * {
    box-sizing: border-box;
}


/* ══════════════════════════════════════════════════
 * TOPBAR
 * ══════════════════════════════════════════════════ */
.ssl-topbar {
    background: var(--ssl-navy) !important;
    color: #64748b !important;
    font-size: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    font-family: var(--ssl-font) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.ssl-topbar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 36px !important;
    gap: 16px !important;
}
.ssl-topbar-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.ssl-topbar-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: rgba(37,99,235,.2) !important;
    color: #93c5fd !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}
.ssl-topbar-badge::before {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    background: #4ade80 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}
.ssl-topbar-date {
    color: #64748b !important;
    font-size: 12px !important;
}
.ssl-topbar-right {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}
.ssl-topbar-right a {
    color: #64748b !important;
    font-size: 12px !important;
    font-family: var(--ssl-font) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.ssl-topbar-right a:hover {
    color: #fff !important;
    text-decoration: none !important;
}
.ssl-topbar-login {
    background: var(--ssl-blue) !important;
    color: #fff !important;
    padding: 4px 14px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
}
.ssl-topbar-login:hover {
    background: var(--ssl-blue-dark) !important;
    color: #fff !important;
}

/* Topbar — estado logueado */
.ssl-topbar-sep {
    color: rgba(255,255,255,.1) !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.ssl-topbar-user-link {
    color: #93c5fd !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.ssl-topbar-user-link:hover {
    color: #fff !important;
    text-decoration: none !important;
}
.ssl-topbar-username-only {
    color: #475569 !important;
    font-size: 12px !important;
    font-style: italic !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 120px !important;
    display: inline-block !important;
}


/* ══════════════════════════════════════════════════
 * HEADER STICKY
 * ══════════════════════════════════════════════════ */
.ssl-site-header {
    background: #fff !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
    box-shadow: var(--ssl-shadow-sm) !important;
    font-family: var(--ssl-font) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.ssl-header-inner {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    height: 60px !important;
}
.ssl-logo-wrap {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Logo imagen (the_custom_logo genera <a><img></a>) */
.ssl-logo-wrap a img {
    display: block !important;
    max-height: 42px !important;   /* altura máxima en el header */
    width: auto !important;
    max-width: 200px !important;
}
.ssl-logo-wrap a {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    line-height: 1 !important;
}
.ssl-logo-wrap a:hover {
    opacity: .85 !important;
    text-decoration: none !important;
}

/* Logo texto fallback */
.ssl-logo-text {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
}
.ssl-logo-text:hover {
    color: var(--ssl-text) !important;
    text-decoration: none !important;
}

/* Usuario logueado en header */
.ssl-header-user-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 5px 12px 5px 5px !important;
    background: var(--ssl-surface2) !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    transition: all .2s !important;
    max-width: 180px !important;
}
.ssl-header-user-btn:hover {
    background: var(--ssl-blue-light) !important;
    border-color: rgba(37,99,235,.3) !important;
    text-decoration: none !important;
}
.ssl-header-avatar {
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    display: block !important;
}
.ssl-header-username {
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 110px !important;
}
.ssl-btn-salir-header {
    font-size: .8rem !important;
    padding: 7px 14px !important;
    color: #64748b !important;
}

/* CTA widget botón (ahora es <button>, no <a>) */
body.ssl-home .ssl-cta-widget-btn {
    font-family: var(--ssl-font) !important;
    cursor: pointer !important;
    border: none !important;
    text-align: center !important;
    width: 100% !important;
}

@media (max-width: 480px) {
    .ssl-header-username { display: none !important; }
    .ssl-header-user-btn { padding: 4px !important; border-radius: 50% !important; }
    .ssl-btn-salir-header { display: none !important; }
}

@media (max-width: 480px) {
    .ssl-logo-wrap a img {
        max-height: 32px !important;
        max-width: 140px !important;
    }
    .ssl-logo-text {
        font-size: 1rem !important;
    }
}


.ssl-header-search {
    flex: 1 !important;
    max-width: 560px !important;
    position: relative !important;
    margin: 0 !important;
}
.ssl-header-search input[type="search"],
.ssl-header-search input[type="text"] {
    width: 100% !important;
    padding: 9px 16px 9px 42px !important;
    border: 2px solid var(--ssl-border) !important;
    border-radius: 8px !important;
    font-size: .9rem !important;
    font-family: var(--ssl-font) !important;
    outline: none !important;
    background: var(--ssl-surface2) !important;
    transition: all .2s !important;
    color: var(--ssl-text) !important;
    box-shadow: none !important;
    height: auto !important;
    -webkit-appearance: none !important;
}
.ssl-header-search input:focus {
    border-color: var(--ssl-blue) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.1) !important;
}
.ssl-header-search-icon {
    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--ssl-text3) !important;
    width: 18px !important;
    height: 18px !important;
    pointer-events: none !important;
}
.ssl-header-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}
.ssl-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all .2s !important;
    border: none !important;
    font-family: var(--ssl-font) !important;
    text-decoration: none !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
.ssl-btn-primary {
    background: var(--ssl-blue) !important;
    color: #fff !important;
}
.ssl-btn-primary:hover {
    background: var(--ssl-blue-dark) !important;
    text-decoration: none !important;
    color: #fff !important;
}
.ssl-btn-ghost {
    background: transparent !important;
    color: var(--ssl-text2) !important;
    border: 1.5px solid var(--ssl-border) !important;
}
.ssl-btn-ghost:hover {
    background: var(--ssl-surface2) !important;
    color: var(--ssl-text) !important;
    text-decoration: none !important;
}


/* ══════════════════════════════════════════════════
 * MEGA NAV v2 — overflow + panel 2 columnas
 * ══════════════════════════════════════════════════ */
.ssl-mega-nav {
    background: var(--ssl-blue) !important;
    position: relative !important;
    z-index: 300 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mega-nav-inner {
    display: flex !important;
    align-items: stretch !important;
    overflow: visible !important;
    position: relative !important;
}

/* — Item contenedor — */
.ssl-mnav-item {
    position: relative !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: stretch !important;
}
.ssl-mnav-item.ssl-mnav-hidden {
    display: none !important;
}

/* — Botón de cada item — */
.ssl-mnav-btn {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 15px !important;
    height: 44px !important;
    background: transparent !important;
    border: none !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: var(--ssl-font) !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background .15s !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    line-height: 1 !important;
}
.ssl-mnav-btn:hover,
.ssl-mnav-item.ssl-mnav-open .ssl-mnav-btn {
    background: rgba(0,0,0,.18) !important;
    color: #fff !important;
}
.ssl-mnav-active .ssl-mnav-btn {
    background: rgba(0,0,0,.22) !important;
    color: #fff !important;
    box-shadow: inset 0 -2px 0 rgba(255,255,255,.4) !important;
}
.ssl-mnav-icon {
    font-size: 14px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}
.ssl-mnav-caret {
    width: 10px !important;
    height: 6px !important;
    flex-shrink: 0 !important;
    opacity: .7 !important;
    transition: transform .2s !important;
}
.ssl-mnav-item.ssl-mnav-open .ssl-mnav-caret {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}

/* — Top 10 especial — */
.ssl-mnav-top10 {
    margin-left: auto !important;
}
.ssl-mnav-top10-btn {
    background: rgba(255,255,255,.13) !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
}
.ssl-mnav-top10-btn:hover {
    background: rgba(255,255,255,.22) !important;
}

/* — Botón Más — */
.ssl-mnav-more {
    position: relative !important;
    overflow: visible !important;
}
.ssl-mnav-more-btn {
    gap: 5px !important;
}

/* ── MEGA PANEL (dropdown 2 col) ───────────────── */
.ssl-mega-panel {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 400 !important;
    width: 600px !important;
    background: #fff !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.14) !important;
    border: 1px solid var(--ssl-border) !important;
    border-top: 3px solid var(--ssl-blue) !important;
    overflow: hidden !important;
}
.ssl-mnav-item.ssl-mnav-open .ssl-mega-panel {
    display: block !important;
}

/* Ajuste automático: si el panel sale por la derecha, lo ancla a la derecha del item */
.ssl-mega-panel.ssl-panel-flip {
    left: auto !important;
    right: 0 !important;
}

.ssl-mega-panel-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}

/* Col subcategorías */
.ssl-mega-col {
    padding: 20px !important;
}
.ssl-mega-col-subs {
    background: #f8fafc !important;
    border-right: 1px solid var(--ssl-border) !important;
}
.ssl-mega-col-posts {
    background: #fff !important;
}
.ssl-mega-col-title {
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--ssl-text2) !important;
    margin: 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mega-subs {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ssl-mega-subs li {
    margin: 0 !important;
    padding: 0 !important;
}
.ssl-mega-subs li a {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 6px 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--ssl-text2) !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    transition: all .15s !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mega-subs li a:hover {
    background: var(--ssl-blue-light) !important;
    color: var(--ssl-blue) !important;
    text-decoration: none !important;
}
.ssl-mega-subs li a svg {
    width: 5px !important;
    height: 9px !important;
    color: var(--ssl-text3) !important;
    flex-shrink: 0 !important;
}
.ssl-mega-subs li a:hover svg {
    color: var(--ssl-blue) !important;
}
.ssl-mega-ver-todo a {
    color: var(--ssl-blue) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
    border-top: 1px solid var(--ssl-border) !important;
    padding-top: 8px !important;
    border-radius: 0 !important;
}
.ssl-mega-ver-todo a:hover {
    background: transparent !important;
    text-decoration: underline !important;
}

/* Posts col derecha */
.ssl-mega-post {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 8px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .15s !important;
    margin-bottom: 2px !important;
}
.ssl-mega-post:hover {
    background: var(--ssl-surface2) !important;
    text-decoration: none !important;
}
.ssl-mega-post-thumb {
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
}
.ssl-mega-post-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.ssl-mega-post-info {
    flex: 1 !important;
    min-width: 0 !important;
}
.ssl-mega-post-name {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mega-post-ver {
    display: block !important;
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    margin-top: 1px !important;
    font-family: var(--ssl-mono) !important;
}
.ssl-mega-post-arrow {
    width: 5px !important;
    height: 9px !important;
    color: var(--ssl-text3) !important;
    flex-shrink: 0 !important;
    opacity: 0 !important;
    transition: opacity .15s !important;
}
.ssl-mega-post:hover .ssl-mega-post-arrow {
    opacity: 1 !important;
    color: var(--ssl-blue) !important;
}
.ssl-mega-empty {
    font-size: 12px !important;
    color: var(--ssl-text3) !important;
    font-style: italic !important;
    margin: 0 !important;
    font-family: var(--ssl-font) !important;
}

/* ── DROPDOWN "MÁS" ───────────────────────────── */
.ssl-more-dropdown {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 2px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 9999 !important;
    min-width: 220px !important;
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.18) !important;
    border: 1px solid var(--ssl-border) !important;
    border-top: 3px solid var(--ssl-blue) !important;
    overflow: visible !important;
}
.ssl-mnav-more.ssl-mnav-open .ssl-more-dropdown {
    display: block !important;
}
.ssl-more-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 !important;
}
.ssl-more-list li {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.ssl-more-list li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    transition: background .12s !important;
    white-space: nowrap !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.ssl-more-list li:last-child a {
    border-bottom: none !important;
}
.ssl-more-list li a:hover {
    background: #eff6ff !important;
    color: var(--ssl-blue) !important;
    text-decoration: none !important;
}

/* ── OVERLAY ──────────────────────────────────── */
.ssl-mega-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 250 !important;
    background: transparent !important;
}
.ssl-mega-overlay.ssl-overlay-active {
    display: block !important;
}

/* ── RESPONSIVE ───────────────────────────────── */
@media (max-width: 768px) {
    .ssl-mega-nav-inner { overflow-x: auto !important; scrollbar-width: none !important; }
    .ssl-mega-nav-inner::-webkit-scrollbar { display: none !important; }
    .ssl-mega-panel { width: 320px !important; grid-template-columns: 1fr !important; }
    .ssl-mega-panel-inner { grid-template-columns: 1fr !important; }
    .ssl-mega-col-posts { display: none !important; }
    .ssl-mnav-top10 { margin-left: 0 !important; }
}
@media (max-width: 480px) {
    .ssl-mnav-btn { padding: 0 10px !important; font-size: 11.5px !important; height: 38px !important; gap: 4px !important; }
    .ssl-mnav-caret { display: none !important; }
    .ssl-mnav-icon { font-size: 11px !important; }
}


/* ══════════════════════════════════════════════════
 * FOOTER
 * ══════════════════════════════════════════════════ */
.ssl-site-footer {
    background: var(--ssl-navy) !important;
    color: #64748b !important;
    margin-top: 40px !important;
    padding: 0 !important;
    border: none !important;
    display: block !important;
    font-family: var(--ssl-font) !important;
    width: 100% !important;
}
.ssl-footer-main {
    padding: 48px 0 32px !important;
}
.ssl-footer-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
    gap: 36px !important;
}
.ssl-footer-brand {}
.ssl-footer-logo {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 10px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-footer-logo span {
    color: var(--ssl-blue) !important;
}
.ssl-footer-desc {
    font-size: .8rem !important;
    color: #475569 !important;
    line-height: 1.7 !important;
    margin-bottom: 16px !important;
}
.ssl-footer-trust {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
.ssl-footer-trust-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #475569 !important;
}
.ssl-footer-trust-item::before {
    content: '✓' !important;
    color: #4ade80 !important;
    font-weight: 700 !important;
    font-size: 11px !important;
}
.ssl-footer-col-title {
    color: #fff !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    margin-bottom: 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    display: block !important;
}
.ssl-footer-link {
    display: block !important;
    font-size: .8rem !important;
    color: #475569 !important;
    padding: 4px 0 !important;
    transition: color .15s !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
}
.ssl-footer-link:hover {
    color: #94a3b8 !important;
    text-decoration: none !important;
}
.ssl-footer-post {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-bottom: 10px !important;
    text-decoration: none !important;
}
.ssl-footer-post:hover {
    text-decoration: none !important;
}
.ssl-footer-post-thumb {
    width: 48px !important;
    height: 36px !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .9rem !important;
}
.ssl-footer-post-name {
    font-size: .78rem !important;
    font-weight: 600 !important;
    color: #cbd5e1 !important;
    line-height: 1.3 !important;
}
.ssl-footer-post-date {
    font-size: 10px !important;
    color: #334155 !important;
    margin-top: 2px !important;
}
.ssl-footer-bottom {
    background: rgba(0,0,0,.25) !important;
    border-top: 1px solid rgba(255,255,255,.05) !important;
    padding: 14px 0 !important;
}
.ssl-footer-bottom-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.ssl-footer-copy {
    font-size: 12px !important;
    color: #334155 !important;
}
.ssl-footer-legal {
    display: flex !important;
    gap: 20px !important;
}
.ssl-footer-legal a {
    font-size: 12px !important;
    color: #334155 !important;
    transition: color .15s !important;
    text-decoration: none !important;
}
.ssl-footer-legal a:hover {
    color: #64748b !important;
    text-decoration: none !important;
}


/* ══════════════════════════════════════════════════
 * RESPONSIVE GLOBAL
 * ══════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    .ssl-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px !important;
    }
}

@media (max-width: 768px) {
    .ssl-topbar-date { display: none !important; }
    .ssl-topbar-right a:not(.ssl-topbar-login):not(.ssl-topbar-user-link) { display: none !important; }
    .ssl-topbar-user-link { display: none !important; }
    .ssl-header-search { max-width: none !important; flex: 1 !important; }
    .ssl-header-actions .ssl-btn-ghost { display: none !important; }
    .ssl-mega-nav-inner {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    .ssl-mega-nav-inner::-webkit-scrollbar { display: none !important; }
    .ssl-mega-nav-top10 { margin-left: 0 !important; }
    .ssl-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
}

@media (max-width: 480px) {

    /* TOPBAR: solo botón iniciar sesión */
    .ssl-topbar-inner {
        height: 38px !important;
        padding: 0 14px !important;
    }
    .ssl-topbar-left { display: none !important; }     /* ocultar todo el lado izquierdo */
    .ssl-topbar-right { margin-left: auto !important; gap: 0 !important; }
    .ssl-topbar-right a { display: none !important; }
    .ssl-topbar-right .ssl-topbar-login {
        display: inline-flex !important;
        font-size: 12px !important;
        padding: 5px 14px !important;
        border-radius: 4px !important;
    }

    /* HEADER MÓVIL */
    .ssl-header-inner {
        height: 52px !important;
        gap: 8px !important;
    }
    .ssl-logo-wrap a img {
        max-height: 30px !important;
        max-width: 120px !important;
    }
    .ssl-logo-text {
        font-size: .95rem !important;
    }
    .ssl-header-search {
        flex: 1 !important;
        min-width: 0 !important;
    }
    .ssl-header-search input {
        font-size: .82rem !important;
        padding: 8px 12px 8px 34px !important;
    }
    .ssl-header-search-icon {
        width: 14px !important;
        height: 14px !important;
        left: 10px !important;
    }
    .ssl-header-actions { display: none !important; }

    /* MEGA NAV MÓVIL */
    .ssl-mega-nav-item > a {
        padding: 0 10px !important;
        font-size: 11.5px !important;
        height: 38px !important;
        gap: 4px !important;
    }
    .ssl-caret { display: none !important; }
    .ssl-nav-icon { font-size: 11px !important; }

    /* FOOTER MÓVIL */
    .ssl-footer-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .ssl-footer-main { padding: 28px 0 16px !important; }
    .ssl-footer-trust { display: none !important; }
    .ssl-footer-bottom-inner {
        flex-direction: column !important;
        gap: 8px !important;
        text-align: center !important;
    }
    .ssl-footer-legal {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
    }
}

/* ══════════════════════════════════════════════════
 * WIDGET RANKING — sidebar más descargados
 * ══════════════════════════════════════════════════ */
.ssl-rank-item-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 6px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .15s !important;
    margin-bottom: 2px !important;
    cursor: pointer !important;
}
.ssl-rank-item-link:hover {
    background: var(--ssl-surface2) !important;
    text-decoration: none !important;
}
.ssl-rank-num {
    font-size: 15px !important;
    font-weight: 800 !important;
    width: 20px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    font-family: var(--ssl-font) !important;
    line-height: 1 !important;
}
.ssl-rank-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ssl-rank-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.ssl-rank-icon-emoji {
    font-size: 20px !important;
    line-height: 1 !important;
}
.ssl-rank-info {
    flex: 1 !important;
    min-width: 0 !important;
}
.ssl-rank-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.3 !important;
}
.ssl-rank-meta {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    margin-top: 2px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-rank-dlcount {
    color: var(--ssl-blue) !important;
    font-weight: 600 !important;
}
.ssl-rank-dl {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    flex-shrink: 0 !important;
    font-family: var(--ssl-font) !important;
}
.ssl-badge-free {
    background: #dcfce7 !important;
    color: #16a34a !important;
}
.ssl-badge-pro {
    background: #eff6ff !important;
    color: #2563eb !important;
}
.ssl-rank-ver-mas {
    display: block !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ssl-blue) !important;
    text-decoration: none !important;
    padding: 10px 0 4px !important;
    border-top: 1px solid var(--ssl-border) !important;
    margin-top: 6px !important;
    font-family: var(--ssl-font) !important;
    transition: color .15s !important;
}
.ssl-rank-ver-mas:hover {
    color: var(--ssl-blue-dark) !important;
    text-decoration: none !important;
}

/* ══════════════════════════════════════════════════
 * LAYOUT PÁGINA DE CATEGORÍA
 * ══════════════════════════════════════════════════ */
.ssl-category-layout {
    display: grid !important;
    grid-template-columns: 1fr 300px !important;
    gap: 32px !important;
    padding-top: 32px !important;
    padding-bottom: 48px !important;
    align-items: start !important;
}
.ssl-category-main { min-width: 0 !important; }
.ssl-category-sidebar { min-width: 0 !important; }
.ssl-section-count {
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-sw-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    background: var(--ssl-surface) !important;
    border: 1px solid var(--ssl-border) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    transition: box-shadow .15s !important;
}
.ssl-sw-row:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
}
.ssl-sw-row-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
}
.ssl-sw-row-icon img {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
}
.ssl-sw-row-info { flex: 1 !important; min-width: 0 !important; }
.ssl-sw-row-name {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.ssl-sw-row-name:hover { color: var(--ssl-blue) !important; }
.ssl-sw-row-ver {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-mono) !important;
}
.ssl-sw-row-dl {
    flex-shrink: 0 !important;
    font-size: 13px !important;
    padding: 7px 16px !important;
}
@media (max-width: 768px) {
    .ssl-category-layout { grid-template-columns: 1fr !important; }
    .ssl-category-sidebar { display: none !important; }
}

/* ══════════════════════════════════════════════════
 * WIDGETS SSL — artículos y software
 * ══════════════════════════════════════════════════ */
.ssl-widget-posts-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.ssl-wpost-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 6px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .15s !important;
    cursor: pointer !important;
}
.ssl-wpost-item:hover {
    background: var(--ssl-surface2) !important;
    text-decoration: none !important;
}
.ssl-wpost-thumb {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
}
.ssl-wpost-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.ssl-wpost-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.ssl-wpost-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.ssl-wpost-item:hover .ssl-wpost-title {
    color: var(--ssl-blue) !important;
}
.ssl-wpost-meta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}
.ssl-wpost-cat {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--ssl-blue) !important;
    font-family: var(--ssl-font) !important;
    background: var(--ssl-blue-light) !important;
    padding: 1px 6px !important;
    border-radius: 10px !important;
}
.ssl-wpost-date {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-wpost-ver {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-mono) !important;
}

/* ══════════════════════════════════════════════════
 * SIDEBAR — widgets generales
 * ══════════════════════════════════════════════════ */
.ssl-widget {
    background: var(--ssl-surface) !important;
    border: 1px solid var(--ssl-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}
.ssl-widget-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 16px 10px !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}
.ssl-widget-head-icon {
    font-size: 15px !important;
    line-height: 1 !important;
}
.ssl-widget-head-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-widget-body {
    padding: 10px 12px 14px !important;
}

/* Ranking */
.ssl-rank-item-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 4px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .15s !important;
    margin-bottom: 2px !important;
}
.ssl-rank-item-link:hover {
    background: var(--ssl-surface2) !important;
    text-decoration: none !important;
}
.ssl-rank-num {
    font-size: 15px !important;
    font-weight: 800 !important;
    width: 20px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    font-family: var(--ssl-font) !important;
    line-height: 1 !important;
}
.ssl-rank-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 9px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
}
.ssl-rank-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.ssl-rank-icon-emoji { font-size: 20px !important; line-height: 1 !important; }
.ssl-rank-info { flex: 1 !important; min-width: 0 !important; }
.ssl-rank-name {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-family: var(--ssl-font) !important;
}
.ssl-rank-meta {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    margin-top: 2px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-rank-dlcount { color: var(--ssl-blue) !important; font-weight: 600 !important; }
.ssl-rank-dl {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    flex-shrink: 0 !important;
    font-family: var(--ssl-font) !important;
    white-space: nowrap !important;
}
.ssl-badge-free { background: #dcfce7 !important; color: #16a34a !important; }
.ssl-badge-pro  { background: #eff6ff !important; color: #2563eb !important; }
.ssl-rank-ver-mas {
    display: block !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ssl-blue) !important;
    text-decoration: none !important;
    padding: 10px 0 4px !important;
    border-top: 1px solid var(--ssl-border) !important;
    margin-top: 6px !important;
    font-family: var(--ssl-font) !important;
    transition: color .15s !important;
}
.ssl-rank-ver-mas:hover { color: var(--ssl-blue-dark) !important; text-decoration: none !important; }

/* Elegidos / posts widget */
.ssl-widget-posts-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.ssl-wpost-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 4px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background .15s !important;
}
.ssl-wpost-item:hover {
    background: var(--ssl-surface2) !important;
    text-decoration: none !important;
}
.ssl-wpost-thumb {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
}
.ssl-wpost-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.ssl-wpost-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.ssl-wpost-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text) !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.ssl-wpost-item:hover .ssl-wpost-title { color: var(--ssl-blue) !important; }
.ssl-wpost-meta {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
}
.ssl-wpost-cat {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--ssl-blue) !important;
    background: var(--ssl-blue-light) !important;
    padding: 1px 6px !important;
    border-radius: 10px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-wpost-date {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-wpost-ver {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-mono, monospace) !important;
}

/* CTA widget */
.ssl-cta-widget {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e40af 100%) !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
    text-align: center !important;
    margin-bottom: 20px !important;
}
.ssl-cta-widget-icon { font-size: 28px !important; margin-bottom: 8px !important; }
.ssl-cta-widget-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 6px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-cta-widget-sub {
    font-size: 12px !important;
    color: rgba(255,255,255,.7) !important;
    margin-bottom: 14px !important;
    line-height: 1.5 !important;
    font-family: var(--ssl-font) !important;
}
.ssl-cta-widget-btn {
    display: inline-block !important;
    background: #fff !important;
    color: var(--ssl-blue) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 9px 20px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    transition: opacity .15s !important;
}
.ssl-cta-widget-btn:hover { opacity: .9 !important; text-decoration: none !important; }

/* Tags cloud */
.ssl-tags-cloud {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
.ssl-tag-item {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
}
.ssl-tag-item:hover {
    background: var(--ssl-blue-light) !important;
    color: var(--ssl-blue) !important;
    border-color: var(--ssl-blue) !important;
    text-decoration: none !important;
}

/* Ad widget */
.ssl-ad-widget {
    background: var(--ssl-surface2) !important;
    border: 1px dashed var(--ssl-border) !important;
    border-radius: 12px !important;
    min-height: 160px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
    padding: 16px !important;
}
.ssl-ad-label {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-ad-size {
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-mono, monospace) !important;
    margin-top: 4px !important;
}

/* ══════════════════════════════════════════════════
 * RESPONSIVE MÓVIL — fixes completos
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* Layout principal: columna única, sidebar abajo */
    .page-body {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 12px !important;
        gap: 0 !important;
    }
    .main-col { width: 100% !important; order: 1 !important; }
    .sidebar  { width: 100% !important; order: 2 !important; margin-top: 24px !important; }

    /* Hero */
    .ssl-hero-inner {
        flex-direction: column !important;
        padding: 24px 16px !important;
        gap: 24px !important;
    }
    .ssl-hero-left  { width: 100% !important; }
    .ssl-hero-picks { width: 100% !important; }
    .ssl-hero-h1    { font-size: 1.7rem !important; }
    .ssl-hero-search {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .ssl-hero-search input,
    .ssl-hero-search-btn {
        width: 100% !important;
        border-radius: 8px !important;
    }
    .ssl-hero-tags { flex-wrap: wrap !important; }

    /* Trust bar */
    .ssl-trust-bar-inner {
        flex-wrap: wrap !important;
        gap: 10px 16px !important;
        justify-content: flex-start !important;
        padding: 12px 16px !important;
    }
    .ssl-trust-item { font-size: 12px !important; }

    /* Categorías grid */
    .ssl-cat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Top descargas */
    .ssl-top-dl-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Silos */
    .ssl-silo-body {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .ssl-silo-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .ssl-silo-header-more {
        align-self: flex-end !important;
    }

    /* Recientes */
    .ssl-sw-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .ssl-sw-row-badges { order: 3 !important; }
    .ssl-sw-row-action { order: 4 !important; width: 100% !important; }
    .ssl-sw-row-action .ssl-sw-row-dl {
        width: 100% !important;
        text-align: center !important;
        display: block !important;
    }

    /* Mega nav */
    .ssl-mega-nav-inner {
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .ssl-mega-nav-inner::-webkit-scrollbar { display: none !important; }
    .ssl-mega-panel {
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        top: auto !important;
        bottom: 0 !important;
        border-radius: 16px 16px 0 0 !important;
        z-index: 500 !important;
        max-height: 70vh !important;
        overflow-y: auto !important;
    }
    .ssl-mega-panel-inner {
        grid-template-columns: 1fr !important;
    }
    .ssl-mega-col-posts { display: none !important; }

    /* Header */
    .ssl-header-inner {
        gap: 8px !important;
        padding: 0 12px !important;
    }
    .ssl-header-search { flex: 1 !important; max-width: none !important; }
    .ssl-header-actions .ssl-btn-ghost { display: none !important; }

    /* Topbar */
    .ssl-topbar-date    { display: none !important; }
    .ssl-topbar-right a:not(.ssl-topbar-login):not(.ssl-topbar-user-link) { display: none !important; }

    /* Footer */
    .ssl-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px 16px !important;
    }
    .ssl-footer-brand { grid-column: 1 / -1 !important; }
    .ssl-footer-bottom-inner {
        flex-direction: column !important;
        gap: 12px !important;
        text-align: center !important;
    }
    .ssl-footer-legal {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px 14px !important;
    }

    /* Widgets sidebar */
    .ssl-widget { border-radius: 10px !important; }
    .ssl-ad-widget { display: none !important; } /* ocultar ads en móvil */

}

@media (max-width: 480px) {
    .ssl-cat-grid        { grid-template-columns: repeat(2, 1fr) !important; }
    .ssl-silo-body       { grid-template-columns: 1fr !important; }
    .ssl-top-dl-grid     { grid-template-columns: 1fr !important; }
    .ssl-hero-h1         { font-size: 1.5rem !important; }
    .ssl-footer-grid     { grid-template-columns: 1fr !important; }
    .ssl-footer-brand    { grid-column: 1 !important; }
    .ssl-mnav-btn        { padding: 0 10px !important; font-size: 11.5px !important; height: 38px !important; gap: 4px !important; }
    .ssl-mnav-caret      { display: none !important; }
    .ssl-mnav-icon       { font-size: 12px !important; }
    .ssl-hero-tags-label { display: none !important; }
}

/* ══════════════════════════════════════════════════
 * OPTIMIZACIÓN ADSENSE
 * - Container máx 1200px
 * - Sidebar exactamente 300px (300×250, 300×600)
 * - Contenido principal mín 728px (leaderboard)
 * - Espacios para anuncios correctamente dimensionados
 * ══════════════════════════════════════════════════ */

/* Espacio para leaderboard 728×90 entre secciones */
.ssl-ad-leaderboard {
    width: 100% !important;
    max-width: 728px !important;
    min-height: 90px !important;
    margin: 20px auto !important;
    background: var(--ssl-surface2) !important;
    border: 1px dashed var(--ssl-border) !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

/* Ad widget sidebar 300×250 */
.ssl-ad-widget {
    width: 300px !important;
    max-width: 100% !important;
    min-height: 250px !important;
    background: var(--ssl-surface2) !important;
    border: 1px dashed var(--ssl-border) !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

/* Padding lateral en páginas internas (no home) */
.ssl-page-wrap {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 28px 20px !important;
    display: grid !important;
    grid-template-columns: 1fr 300px !important;
    gap: 28px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}
.ssl-page-content { min-width: 0 !important; }
.ssl-page-sidebar { min-width: 0 !important; width: 300px !important; }

@media (max-width: 900px) {
    .ssl-page-wrap {
        grid-template-columns: 1fr !important;
    }
    .ssl-page-sidebar { width: 100% !important; display: none !important; }
    .ssl-ad-leaderboard { max-width: 100% !important; }
    .ssl-ad-widget { display: none !important; }
}

/* ══════════════════════════════════════════════════
 * SINGLE — artículo de software
 * Tipografía optimizada para lectura + specs + compartir
 * ══════════════════════════════════════════════════ */
.ssl-single-main { background: #f8fafc; min-height: 60vh; }

.ssl-single-wrap {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 32px 20px 48px !important;
    display: grid !important;
    grid-template-columns: 1fr 300px !important;
    gap: 32px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

/* ── Artículo ── */
.ssl-article {
    background: #fff !important;
    border-radius: 14px !important;
    border: 1px solid var(--ssl-border) !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

/* Breadcrumb */
.ssl-breadcrumb {
    padding: 12px 28px !important;
    font-size: 12px !important;
    color: var(--ssl-text3) !important;
    background: var(--ssl-surface2) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    font-family: var(--ssl-font) !important;
}
.ssl-breadcrumb a {
    color: var(--ssl-blue) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.ssl-breadcrumb a:hover { text-decoration: underline !important; }

/* ── Imagen destacada del artículo ── */
.ssl-article-icon {
    width: 80px !important;
    height: 80px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border: 1px solid var(--ssl-border) !important;
    background: var(--ssl-surface2) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.1) !important;
}
.ssl-article-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Imagen hero full-width encima del header en móvil */
@media (max-width: 768px) {
    .ssl-article-header { padding: 0 !important; }

    /* Imagen full width en móvil */
    .ssl-article-featured-mobile {
        width: 100% !important;
        height: 220px !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 0 !important;
    }

    /* En móvil el title-row se adapta */
    .ssl-article-title-row {
        padding: 16px 16px 0 !important;
        gap: 12px !important;
    }
    .ssl-article-icon {
        width: 56px !important;
        height: 56px !important;
        border-radius: 12px !important;
    }
    .ssl-article-h1 { font-size: 1.35rem !important; padding: 0 16px !important; }
    .ssl-article-meta { padding: 0 16px 16px !important; }
    .ssl-article-cats { padding: 12px 16px 0 !important; }
}
.ssl-article-title-info { flex: 1 !important; min-width: 0 !important; }
.ssl-article-cats {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin-bottom: 8px !important;
}
.ssl-article-cat-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--ssl-blue) !important;
    background: var(--ssl-blue-light) !important;
    padding: 2px 10px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    letter-spacing: .02em !important;
}
.ssl-article-cat-badge:hover { background: var(--ssl-blue) !important; color: #fff !important; }

.ssl-article-h1 {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: var(--ssl-text) !important;
    line-height: 1.25 !important;
    margin: 0 0 10px !important;
    font-family: var(--ssl-font) !important;
    letter-spacing: -.02em !important;
}
.ssl-article-meta {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-article-meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.ssl-article-meta-version {
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-family: var(--ssl-mono, monospace) !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
}

/* Botón descarga */
.ssl-article-dl-wrap {
    background: linear-gradient(135deg, #f0f9ff, #eff6ff) !important;
    border-top: 1px solid #bfdbfe !important;
    padding: 16px 28px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
.ssl-article-dl-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 28px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(37,99,235,.3) !important;
    font-family: var(--ssl-font) !important;
    transition: all .2s !important;
    white-space: nowrap !important;
}
.ssl-article-dl-btn:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(37,99,235,.4) !important;
    text-decoration: none !important;
    color: #fff !important;
}
.ssl-article-dl-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    font-size: 12px !important;
}
.ssl-article-dl-plat,
.ssl-article-dl-size {
    background: #e2e8f0 !important;
    color: #475569 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-family: var(--ssl-font) !important;
}

/* Tabla de specs */
.ssl-specs-table {
    margin: 24px 28px !important;
    border: 1px solid var(--ssl-border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
.ssl-specs-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--ssl-text2) !important;
    padding: 10px 16px !important;
    background: var(--ssl-surface2) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-specs-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; }
.ssl-spec-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    font-size: 13px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-spec-row:last-child,
.ssl-spec-row:nth-last-child(2):nth-child(odd) { border-bottom: none !important; }
.ssl-spec-label {
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    min-width: 100px !important;
    flex-shrink: 0 !important;
}
.ssl-spec-value { color: var(--ssl-text3) !important; }

/* Compartir */
.ssl-share-bar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    border-top: 1px solid var(--ssl-border) !important;
    flex-wrap: wrap !important;
}
.ssl-share-bar-bottom {
    border-top: 1px solid var(--ssl-border) !important;
    border-bottom: none !important;
    margin-top: 0 !important;
    background: var(--ssl-surface2) !important;
}
.ssl-share-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
    margin-right: 4px !important;
}
.ssl-share-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: opacity .15s, transform .15s !important;
}
.ssl-share-btn:hover { opacity: .85 !important; transform: translateY(-1px) !important; }

/* Contenido del artículo — tipografía optimizada */
.ssl-article-content {
    padding: 28px 28px 24px !important;
    font-family: 'Georgia', 'Times New Roman', serif !important;
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
    color: #1e293b !important;
}
.ssl-article-content h2 {
    font-family: var(--ssl-font) !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: var(--ssl-text) !important;
    margin: 2em 0 .6em !important;
    padding-bottom: .4em !important;
    border-bottom: 2px solid var(--ssl-blue-light) !important;
    letter-spacing: -.01em !important;
}
.ssl-article-content h3 {
    font-family: var(--ssl-font) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    margin: 1.6em 0 .5em !important;
}
.ssl-article-content h4 {
    font-family: var(--ssl-font) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    margin: 1.4em 0 .4em !important;
}
.ssl-article-content p {
    margin: 0 0 1.4em !important;
    orphans: 3 !important;
    widows: 3 !important;
}
.ssl-article-content ul,
.ssl-article-content ol {
    margin: 0 0 1.4em 1.4em !important;
    padding: 0 !important;
}
.ssl-article-content li {
    margin-bottom: .5em !important;
    line-height: 1.7 !important;
}
.ssl-article-content ul li::marker { color: var(--ssl-blue) !important; }
/* Viñetas personalizadas */
.ssl-article-content ul { list-style: none !important; margin-left: 0 !important; }
.ssl-article-content ul li {
    padding-left: 1.4em !important;
    position: relative !important;
}
.ssl-article-content ul li::before {
    content: '›' !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--ssl-blue) !important;
    font-weight: 700 !important;
    font-size: 1.1em !important;
}
/* Tablas */
.ssl-article-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 1.5em 0 !important;
    font-family: var(--ssl-font) !important;
    font-size: .92rem !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid var(--ssl-border) !important;
}
.ssl-article-content th {
    background: var(--ssl-blue) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
    text-align: left !important;
    font-size: .85rem !important;
    letter-spacing: .03em !important;
}
.ssl-article-content td {
    padding: 10px 14px !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    vertical-align: top !important;
    color: var(--ssl-text2) !important;
}
.ssl-article-content tr:last-child td { border-bottom: none !important; }
.ssl-article-content tr:nth-child(even) td { background: var(--ssl-surface2) !important; }
/* Código */
.ssl-article-content code {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-family: var(--ssl-mono, 'Courier New', monospace) !important;
    font-size: .88em !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    border: 1px solid #e2e8f0 !important;
}
.ssl-article-content pre {
    background: #0f172a !important;
    color: #e2e8f0 !important;
    font-family: var(--ssl-mono, monospace) !important;
    font-size: .88rem !important;
    padding: 18px 20px !important;
    border-radius: 10px !important;
    overflow-x: auto !important;
    margin: 1.5em 0 !important;
    line-height: 1.6 !important;
}
.ssl-article-content pre code {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
}
/* Blockquote */
.ssl-article-content blockquote {
    border-left: 4px solid var(--ssl-blue) !important;
    margin: 1.5em 0 !important;
    padding: 12px 20px !important;
    background: var(--ssl-blue-light) !important;
    border-radius: 0 8px 8px 0 !important;
    color: var(--ssl-text2) !important;
    font-style: italic !important;
}
/* Imágenes */
.ssl-article-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 1em 0 !important;
    display: block !important;
}
/* Links */
.ssl-article-content a {
    color: var(--ssl-blue) !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(37,99,235,.3) !important;
    transition: text-decoration-color .15s !important;
}
.ssl-article-content a:hover { text-decoration-color: var(--ssl-blue) !important; }

/* Comentarios */
.ssl-comments-wrap {
    padding: 24px 28px !important;
    border-top: 1px solid var(--ssl-border) !important;
}
.ssl-comments-wrap .comment-list { padding: 0 !important; list-style: none !important; }
.ssl-comments-wrap .comment { margin-bottom: 20px !important; }
.ssl-comments-wrap .comment-body {
    background: var(--ssl-surface2) !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-comments-wrap .comment-author { font-weight: 700 !important; font-size: 13px !important; }
.ssl-comments-wrap .comment-meta { font-size: 11px !important; color: var(--ssl-text3) !important; margin-bottom: 8px !important; }
.ssl-comments-wrap #respond { margin-top: 24px !important; }
.ssl-comments-wrap #respond h3 { font-size: 1.1rem !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.ssl-comments-wrap textarea,
.ssl-comments-wrap input[type=text],
.ssl-comments-wrap input[type=email] {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: var(--ssl-font) !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    transition: border-color .2s !important;
}
.ssl-comments-wrap textarea:focus,
.ssl-comments-wrap input:focus { border-color: var(--ssl-blue) !important; outline: none !important; }
.ssl-comments-wrap input[type=submit] {
    background: var(--ssl-blue) !important;
    color: #fff !important;
    border: none !important;
    padding: 11px 28px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    transition: filter .15s !important;
}
.ssl-comments-wrap input[type=submit]:hover { filter: brightness(1.1) !important; }

/* Sidebar single */
.ssl-single-sidebar { min-width: 0 !important; }

/* Responsive */
@media (max-width: 900px) {
    .ssl-single-wrap {
        grid-template-columns: 1fr !important;
        padding: 16px 12px 32px !important;
        gap: 20px !important;
    }
    .ssl-single-sidebar { display: none !important; }
    .ssl-article-h1 { font-size: 1.35rem !important; }
    .ssl-specs-grid { grid-template-columns: 1fr !important; }
    .ssl-article-content { padding: 20px 16px !important; font-size: 1rem !important; }
    .ssl-article-header,
    .ssl-share-bar,
    .ssl-specs-table,
    .ssl-breadcrumb { padding-left: 16px !important; padding-right: 16px !important; }
    .ssl-article-dl-wrap { padding: 14px 16px !important; }
    .ssl-article-title-row { gap: 12px !important; }
    .ssl-article-icon { width: 56px !important; height: 56px !important; }
}

/* ══════════════════════════════════════════════════
 * ENGAGE BLOCK — valoración, reacciones, CTA comentario
 * ══════════════════════════════════════════════════ */
.ssl-engage-block {
    border-top: 1px solid var(--ssl-border) !important;
    background: var(--ssl-surface2) !important;
}

/* ── Estrellas ── */
.ssl-rating-section {
    padding: 24px 28px 20px !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}
.ssl-rating-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    margin-bottom: 14px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-stars-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
}
.ssl-star {
    font-size: 32px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #d1d5db !important;
    padding: 0 2px !important;
    line-height: 1 !important;
    transition: color .12s, transform .12s !important;
    -webkit-text-stroke: 1px #d1d5db !important;
}
.ssl-star.ssl-star-on {
    color: #f59e0b !important;
    -webkit-text-stroke: 1px #f59e0b !important;
}
.ssl-star.ssl-star-hover {
    color: #fbbf24 !important;
    -webkit-text-stroke: 1px #fbbf24 !important;
    transform: scale(1.15) !important;
}
.ssl-star:disabled { cursor: default !important; }
.ssl-star:not(:disabled):hover { transform: scale(1.2) !important; }
.ssl-rating-summary {
    font-size: 13px !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
    margin-left: 8px !important;
}
.ssl-rating-summary strong {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #f59e0b !important;
}
.ssl-rating-count {
    color: var(--ssl-text3) !important;
    font-size: 12px !important;
}
.ssl-engage-guest-note {
    margin-top: 12px !important;
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-engage-login-link {
    background: none !important;
    border: none !important;
    color: var(--ssl-blue) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-size: 13px !important;
    padding: 0 !important;
    text-decoration: underline !important;
    font-family: var(--ssl-font) !important;
}
.ssl-engage-login-link:hover { color: var(--ssl-blue-dark) !important; }
.ssl-engage-thanks {
    margin-top: 10px !important;
    font-size: 13px !important;
    color: #16a34a !important;
    font-weight: 600 !important;
    font-family: var(--ssl-font) !important;
}

/* ── Reacciones ── */
.ssl-useful-section {
    padding: 18px 28px !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
.ssl-useful-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
    flex-shrink: 0 !important;
}
.ssl-useful-btns {
    display: flex !important;
    gap: 10px !important;
}
.ssl-useful-btn {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 9px 18px !important;
    border-radius: 24px !important;
    border: 1.5px solid var(--ssl-border) !important;
    background: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
    color: var(--ssl-text2) !important;
}
.ssl-useful-btn:hover:not(:disabled) {
    border-color: var(--ssl-blue) !important;
    color: var(--ssl-blue) !important;
    background: var(--ssl-blue-light) !important;
}
.ssl-useful-btn:disabled { cursor: default !important; opacity: .75 !important; }
.ssl-useful-active {
    background: #dcfce7 !important;
    border-color: #16a34a !important;
    color: #15803d !important;
}
.ssl-useful-active-no {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
    color: #dc2626 !important;
}
.ssl-useful-label {
    font-size: 12px !important;
    font-weight: 500 !important;
}
.ssl-engage-guest-note-small {
    font-size: 12px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
    margin: 0 !important;
}

/* ── CTA Comentario ── */
.ssl-comment-cta {
    padding: 20px 28px 24px !important;
}
.ssl-comment-cta-logged {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.ssl-comment-cta-avatar {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    border: 2px solid var(--ssl-border) !important;
}
.ssl-comment-cta-input-wrap { flex: 1 !important; min-width: 0 !important; }
.ssl-comment-cta-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    margin-bottom: 6px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-comment-cta-fake-input {
    display: block !important;
    width: 100% !important;
    padding: 11px 16px !important;
    background: #fff !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 24px !important;
    font-size: 14px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
    text-decoration: none !important;
    cursor: text !important;
    transition: border-color .2s !important;
    box-sizing: border-box !important;
}
.ssl-comment-cta-fake-input:hover {
    border-color: var(--ssl-blue) !important;
    text-decoration: none !important;
    color: var(--ssl-text3) !important;
}

/* Guest CTA */
.ssl-comment-cta-guest {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    background: linear-gradient(135deg, #eff6ff, #f5f3ff) !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
}
.ssl-comment-cta-guest-icon {
    font-size: 32px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}
.ssl-comment-cta-guest-text {
    flex: 1 !important;
    min-width: 200px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-comment-cta-guest-text strong {
    display: block !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: var(--ssl-text) !important;
    margin-bottom: 4px !important;
}
.ssl-comment-cta-guest-text span {
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
}
.ssl-comment-cta-guest-btns {
    display: flex !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    flex-wrap: wrap !important;
}
.ssl-cta-btn-primary {
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    transition: filter .15s !important;
    white-space: nowrap !important;
}
.ssl-cta-btn-primary:hover { filter: brightness(1.1) !important; }
.ssl-cta-btn-secondary {
    background: #fff !important;
    color: var(--ssl-blue) !important;
    border: 1.5px solid var(--ssl-blue) !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
    white-space: nowrap !important;
}
.ssl-cta-btn-secondary:hover {
    background: var(--ssl-blue-light) !important;
}

/* Responsive */
@media (max-width: 600px) {
    .ssl-rating-section,
    .ssl-useful-section,
    .ssl-comment-cta { padding-left: 16px !important; padding-right: 16px !important; }
    .ssl-star { font-size: 26px !important; }
    .ssl-useful-section { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
    .ssl-comment-cta-guest { flex-direction: column !important; text-align: center !important; }
    .ssl-comment-cta-guest-btns { width: 100% !important; justify-content: center !important; }
}

/* ══════════════════════════════════════════════════
 * REDES SOCIALES — override del tema padre Orbital
 * Clases: .entry-social .social .social-facebook etc
 * ══════════════════════════════════════════════════ */
.entry-social {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    padding: 16px 28px !important;
    background: var(--ssl-surface2) !important;
    border-top: 1px solid var(--ssl-border) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}

.entry-social .social {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    font-size: 0 !important; /* ocultar texto si lo hay */
    transition: transform .15s, opacity .15s !important;
    position: relative !important;
    overflow: hidden !important;
}
.entry-social .social:hover {
    transform: translateY(-2px) !important;
    opacity: .9 !important;
}

/* Con contador — más anchos */
.entry-social.social-count .social {
    width: auto !important;
    padding: 0 14px !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-family: var(--ssl-font) !important;
}

/* Colores por red */
.entry-social .social-facebook  { background: #1877f2 !important; }
.entry-social .social-twitter   { background: #000 !important; }
.entry-social .social-x         { background: #000 !important; }
.entry-social .social-google    { background: #ea4335 !important; }
.entry-social .social-googleplus{ background: #ea4335 !important; }
.entry-social .social-pinterest { background: #e60023 !important; }
.entry-social .social-linkedin  { background: #0a66c2 !important; }
.entry-social .social-whatsapp  { background: #25d366 !important; }
.entry-social .social-telegram  { background: #229ed9 !important; }
.entry-social .social-tumblr    { background: #35465c !important; }
.entry-social .social-reddit    { background: #ff4500 !important; }
.entry-social .social-vk        { background: #4c75a3 !important; }
.entry-social .social-email     { background: #64748b !important; }

/* Iconos SVG via mask-image */
.entry-social .social::before {
    content: '' !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    background: #fff !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
}
.entry-social .social-facebook::before  {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-twitter::before,
.entry-social .social-x::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.63zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.63zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-whatsapp::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-telegram::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-pinterest::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-linkedin::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E") !important;
}
.entry-social .social-tumblr::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.98 0 10.002 0h3.089v6.224h4.068v3.523h-4.073v7.556c.006 1.9.729 2.8 2.346 2.8.382 0 .703-.048 1.048-.109l.087-.024v3.45l-.183.045c-.976.264-1.998.355-1.821.555z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.98 0 10.002 0h3.089v6.224h4.068v3.523h-4.073v7.556c.006 1.9.729 2.8 2.346 2.8.382 0 .703-.048 1.048-.109l.087-.024v3.45l-.183.045c-.976.264-1.998.355-1.821.555z'/%3E%3C/svg%3E") !important;
}

/* Etiqueta "Compartir" antes de los botones */
.entry-social::before {
    content: 'Compartir:' !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
    margin-right: 4px !important;
    white-space: nowrap !important;
}

@media (max-width: 600px) {
    .entry-social { padding: 14px 16px !important; gap: 6px !important; }
    .entry-social .social { width: 32px !important; height: 32px !important; border-radius: 7px !important; }
}

/* ══════════════════════════════════════════════════
 * OCULTAR "Deja una respuesta / debes estar conectado"
 * cuando el usuario NO está logueado — ya tenemos
 * nuestro propio CTA de registro encima
 * ══════════════════════════════════════════════════ */
.ssl-comments-wrap .must-log-in,
.ssl-comments-wrap #respond p.must-log-in,
.ssl-comments-wrap .comment-respond .must-log-in {
    display: none !important;
}

/* Si solo queda el título vacío sin formulario, ocultarlo también */
.ssl-comments-wrap #respond:not(:has(#commentform)) {
    display: none !important;
}

/* ══════════════════════════════════════════════════
 * MENÚ MÓVIL — override colores del tema padre Orbital
 * Mantiene toda la estructura/animaciones de Orbital
 * Solo cambia colores a la paleta SSL (azul #2563eb)
 * ══════════════════════════════════════════════════ */

/* Botón hamburguesa */
.nav-toggle,
.mobile-nav-toggle {
    color: var(--ssl-blue) !important;
}
.nav-toggle .toggle-icon,
.nav-toggle svg,
.mobile-nav-toggle svg {
    fill: #fff !important;
    color: #fff !important;
}

/* Panel del menú modal */
.menu-modal-inner {
    background: #0f172a !important;
}

/* Header del modal — botón cerrar */
button.close-nav-toggle {
    color: rgba(255,255,255,.85) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
button.close-nav-toggle svg {
    fill: rgba(255,255,255,.85) !important;
}
button.close-nav-toggle:hover {
    color: #fff !important;
}

/* Items del menú modal */
.modal-menu li {
    border-color: rgba(255,255,255,.06) !important;
}
.modal-menu a,
.modal-menu button {
    color: rgba(255,255,255,.88) !important;
    font-weight: 600 !important;
}
.modal-menu a:hover,
.modal-menu button:hover {
    color: #fff !important;
    background: rgba(37,99,235,.25) !important;
}

/* Item activo / current */
.modal-menu .current-menu-item > .ancestor-wrapper > a,
.modal-menu .current-menu-ancestor > .ancestor-wrapper > a {
    color: #60a5fa !important;
}

/* Submenú toggle button */
.modal-menu .sub-menu-toggle {
    color: rgba(255,255,255,.5) !important;
}
.modal-menu .sub-menu-toggle:hover {
    color: #fff !important;
    background: rgba(37,99,235,.2) !important;
}

/* Submenús */
.modal-menu .sub-menu {
    background: rgba(0,0,0,.2) !important;
    border-left: 2px solid var(--ssl-blue) !important;
    margin-left: 12px !important;
}
.modal-menu .sub-menu a {
    font-size: .9em !important;
    color: rgba(255,255,255,.7) !important;
}
.modal-menu .sub-menu a:hover {
    color: #fff !important;
    background: rgba(37,99,235,.2) !important;
}

/* Overlay oscuro al abrir */
.menu-modal.cover-modal.active {
    background: rgba(0,0,0,.6) !important;
}

/* Footer del menú modal */
.menu-bottom {
    border-top: 1px solid rgba(255,255,255,.08) !important;
}
.menu-copyright {
    color: rgba(255,255,255,.4) !important;
    font-size: .85rem !important;
}
.menu-copyright a {
    color: rgba(255,255,255,.5) !important;
}

/* Búsqueda dentro del modal */
.menu-modal .search-field {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.15) !important;
    color: #fff !important;
    border-radius: 8px !important;
}
.menu-modal .search-field::placeholder {
    color: rgba(255,255,255,.4) !important;
}
.menu-modal .search-field:focus {
    border-color: var(--ssl-blue) !important;
    background: rgba(255,255,255,.12) !important;
    outline: none !important;
}

/* Variante layout-menu-orbital (menú compacto tipo dropdown) */
.layout-menu-orbital .menu-modal.active {
    background: #0f172a !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}
.layout-menu-orbital .modal-menu a {
    color: rgba(255,255,255,.85) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    padding: 12px 16px !important;
}
.layout-menu-orbital .modal-menu a:hover {
    background: rgba(37,99,235,.25) !important;
    color: #fff !important;
}

/* Scrollbar del menú orbital */
.layout-menu-orbital .menu-modal.active::-webkit-scrollbar {
    width: 4px !important;
}
.layout-menu-orbital .menu-modal.active::-webkit-scrollbar-track {
    background: rgba(255,255,255,.05) !important;
}
.layout-menu-orbital .menu-modal.active::-webkit-scrollbar-thumb {
    background: var(--ssl-blue) !important;
    border-radius: 4px !important;
}

/* ══════════════════════════════════════════════════
 * MEGA NAV — ocultar en móvil, mostrar hamburguesa de Orbital
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Ocultar nuestro mega nav en móvil */
    .ssl-mega-nav {
        display: none !important;
    }

    /* Asegurar que el botón hamburguesa de Orbital sea visible */
    .nav-toggle,
    .mobile-nav-toggle,
    .header-toggles {
        display: flex !important;
    }

    /* Que el header de Orbital ocupe bien el espacio */
    .ssl-header-inner {
        padding: 0 12px !important;
    }
}

@media (min-width: 769px) {
    /* En desktop: mostrar nuestro mega nav, ocultar hamburguesa */
    .ssl-mega-nav {
        display: block !important;
    }
    .mobile-nav-toggle,
    .nav-toggle-wrapper {
        display: none !important;
    }
}

/* ══════════════════════════════════════════════════
 * HAMBURGUESA + MENÚ MÓVIL LATERAL
 * ══════════════════════════════════════════════════ */

/* Ocultar elementos en móvil */
@media (max-width: 768px) {
    .ssl-hide-mobile { display: none !important; }
    .ssl-mega-nav    { display: none !important; }
}

/* Mostrar hamburguesa solo en móvil */
.ssl-hamburger {
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: background .15s !important;
}
.ssl-hamburger:hover { background: rgba(255,255,255,.2) !important; }
.ssl-hamburger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: all .25s !important;
}
/* Animación X al abrir */
.ssl-hamburger.ssl-open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.ssl-hamburger.ssl-open span:nth-child(2) { opacity: 0 !important; }
.ssl-hamburger.ssl-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

@media (max-width: 768px) {
    .ssl-hamburger { display: flex !important; }
}

/* Overlay */
.ssl-mobile-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.55) !important;
    z-index: 998 !important;
    backdrop-filter: blur(2px) !important;
}
.ssl-mobile-overlay.ssl-open { display: block !important; }

/* Panel lateral */
.ssl-mobile-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 300px !important;
    max-width: 85vw !important;
    background: #0f172a !important;
    z-index: 999 !important;
    transform: translateX(100%) !important;
    transition: transform .28s cubic-bezier(.4,0,.2,1) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: -4px 0 24px rgba(0,0,0,.4) !important;
}
.ssl-mobile-menu.ssl-open {
    transform: translateX(0) !important;
}

/* Cabecera del panel */
.ssl-mobile-menu-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    flex-shrink: 0 !important;
}
.ssl-mobile-menu-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #fff !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mobile-menu-close {
    background: rgba(255,255,255,.08) !important;
    border: none !important;
    color: rgba(255,255,255,.7) !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .15s !important;
}
.ssl-mobile-menu-close:hover {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}

/* Buscador */
.ssl-mobile-search {
    display: flex !important;
    gap: 0 !important;
    margin: 14px 16px !important;
    flex-shrink: 0 !important;
}
.ssl-mobile-search input {
    flex: 1 !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-right: none !important;
    border-radius: 8px 0 0 8px !important;
    padding: 10px 14px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-family: var(--ssl-font) !important;
    outline: none !important;
}
.ssl-mobile-search input::placeholder { color: rgba(255,255,255,.4) !important; }
.ssl-mobile-search input:focus {
    border-color: var(--ssl-blue) !important;
    background: rgba(255,255,255,.12) !important;
}
.ssl-mobile-search button {
    background: var(--ssl-blue) !important;
    border: none !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 10px 14px !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

/* Secciones del menú */
.ssl-mobile-menu-section {
    flex-shrink: 0 !important;
    overflow-y: auto !important;
}
.ssl-mobile-menu-section-title {
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(255,255,255,.35) !important;
    padding: 12px 20px 6px !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mobile-menu-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 20px !important;
    color: rgba(255,255,255,.85) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: var(--ssl-font) !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    transition: all .12s !important;
}
.ssl-mobile-menu-item:hover {
    background: rgba(37,99,235,.25) !important;
    color: #fff !important;
    text-decoration: none !important;
    padding-left: 24px !important;
}
.ssl-mobile-menu-icon { font-size: 16px !important; flex-shrink: 0 !important; }

/* Scroll en las secciones */
.ssl-mobile-menu > .ssl-mobile-menu-section {
    overflow-y: auto !important;
    max-height: calc(100vh - 320px) !important;
}
.ssl-mobile-menu > .ssl-mobile-menu-section::-webkit-scrollbar { width: 3px !important; }
.ssl-mobile-menu > .ssl-mobile-menu-section::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15) !important; border-radius: 2px !important; }

/* Footer del menú */
.ssl-mobile-menu-footer {
    margin-top: auto !important;
    padding: 16px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.ssl-mobile-menu-user {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 10px !important;
    margin-bottom: 4px !important;
}
.ssl-mobile-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}
.ssl-mobile-username {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    font-family: var(--ssl-font) !important;
}
.ssl-mobile-panel-link {
    font-size: 11px !important;
    color: #60a5fa !important;
    text-decoration: none !important;
}
.ssl-mobile-logout {
    display: block !important;
    text-align: center !important;
    padding: 10px !important;
    color: rgba(255,255,255,.5) !important;
    font-size: 12px !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
}
.ssl-mobile-logout:hover { color: #fff !important; background: rgba(255,255,255,.08) !important; }
.ssl-mobile-login-btn,
.ssl-mobile-register-btn {
    display: block !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    border: none !important;
    transition: all .15s !important;
}
.ssl-mobile-register-btn {
    background: var(--ssl-blue) !important;
    color: #fff !important;
}
.ssl-mobile-register-btn:hover { filter: brightness(1.1) !important; }
.ssl-mobile-login-btn {
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.8) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
}
.ssl-mobile-login-btn:hover { background: rgba(255,255,255,.15) !important; color: #fff !important; }

/* ══════════════════════════════════════════════════
 * FIX MÓVIL — evitar scroll horizontal
 * ══════════════════════════════════════════════════ */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}
* { box-sizing: border-box !important; }

/* Fix header en móvil — forzar hamburguesa visible */
@media (max-width: 768px) {
    .ssl-site-header { overflow: visible !important; }

    .ssl-header-inner {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 12px !important;
        height: 56px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Logo más pequeño en móvil */
    .ssl-logo-wrap { flex-shrink: 0 !important; }
    .ssl-logo-wrap img { max-height: 36px !important; width: auto !important; }

    /* Buscador ocupa el espacio disponible */
    .ssl-header-search {
        flex: 1 !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /* Hamburguesa — forzar visible con !important máximo */
    .ssl-hamburger {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 100 !important;
        flex-shrink: 0 !important;
    }

    /* Ocultar acciones de escritorio */
    .ssl-header-actions .ssl-btn,
    .ssl-header-actions .ssl-header-user-btn .ssl-header-username,
    .ssl-header-actions .ssl-btn-salir-header,
    .ssl-hide-mobile {
        display: none !important;
    }

    /* Mantener solo avatar si está logueado + hamburguesa */
    .ssl-header-actions {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-shrink: 0 !important;
    }

    /* Topbar en móvil — solo badge */
    .ssl-topbar-date,
    .ssl-topbar-right a:not(.ssl-topbar-login):not(.ssl-topbar-user-link),
    .ssl-topbar-sep,
    .ssl-topbar-username-only,
    .ssl-topbar-user-link { display: none !important; }
}

/* ══════════════════════════════════════════════════
 * RESPONSIVE DEFINITIVO — móvil/desktop helpers
 * ══════════════════════════════════════════════════ */
.ssl-desktop-only { display: flex !important; }
.ssl-mobile-only  { display: none  !important; }

@media (max-width: 768px) {
    /* Helpers */
    .ssl-desktop-only { display: none  !important; }
    .ssl-mobile-only  { display: flex  !important; }

    /* Fix desbordamiento global */
    html, body { overflow-x: hidden !important; width: 100% !important; }
    .ssl-container { padding-left: 12px !important; padding-right: 12px !important; width: 100% !important; box-sizing: border-box !important; }

    /* TOPBAR móvil — badge izq + login der */
    .ssl-topbar { padding: 0 !important; }
    .ssl-topbar-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 36px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }
    .ssl-topbar-badge {
        font-size: 10px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 220px !important;
    }
    .ssl-topbar-mobile {
        flex-shrink: 0 !important;
        margin-left: auto !important;
    }
    .ssl-topbar-mobile .ssl-topbar-login {
        font-size: 11px !important;
        padding: 4px 10px !important;
        white-space: nowrap !important;
    }

    /* HEADER móvil — logo + buscador + hamburguesa */
    .ssl-site-header { overflow: visible !important; }
    .ssl-header-inner {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 12px !important;
        height: 54px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    .ssl-logo-wrap {
        flex-shrink: 0 !important;
        max-width: 120px !important;
    }
    .ssl-logo-wrap img,
    .ssl-logo-wrap .custom-logo {
        max-height: 36px !important;
        width: auto !important;
        max-width: 120px !important;
    }
    .ssl-header-search {
        flex: 1 !important;
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
    .ssl-header-actions {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        flex-shrink: 0 !important;
    }
    /* Solo mostrar avatar si está logueado, ocultar todo lo demás */
    .ssl-header-user-btn .ssl-header-username { display: none !important; }
    .ssl-header-avatar {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
    }

    /* Hamburguesa siempre visible */
    .ssl-hamburger {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: all !important;
    }
}

/* ══════════════════════════════════════════════════
 * FIX DEFINITIVO MÓVIL
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* 1. Ocultar TODOS los botones/links del tema padre Orbital en móvil */
    .header-toggles,
    .nav-toggle,
    .mobile-nav-toggle,
    .primary-menu-wrapper,
    .header-navigation-wrapper { display: none !important; }

    /* 2. Hamburguesa visible — fondo azul para que se vea siempre */
    .ssl-hamburger {
        background: var(--ssl-blue) !important;
        border: none !important;
        border-radius: 8px !important;
    }
    .ssl-hamburger span { background: #fff !important; }

    /* 3. Topbar — ocultar el login del padre que se duplica */
    .ssl-topbar-inner .ssl-topbar-right { display: none !important; }
}

/* ══════════════════════════════════════════════════
 * ACORDEÓN CATEGORÍAS — menú móvil
 * ══════════════════════════════════════════════════ */
.ssl-mob-cat { border-bottom: 1px solid rgba(255,255,255,.06) !important; }

.ssl-mob-cat-btn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 13px 20px !important;
    background: none !important;
    border: none !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-family: var(--ssl-font) !important;
    text-align: left !important;
    transition: background .12s !important;
}
.ssl-mob-cat-btn:hover { background: rgba(37,99,235,.2) !important; }
.ssl-mob-cat-btn.ssl-open { background: rgba(37,99,235,.15) !important; color: #fff !important; }

.ssl-mob-cat-label { flex: 1 !important; }

.ssl-mob-cat-arrow {
    width: 12px !important;
    height: 8px !important;
    color: rgba(255,255,255,.4) !important;
    flex-shrink: 0 !important;
    transition: transform .2s !important;
}
.ssl-mob-cat-btn.ssl-open .ssl-mob-cat-arrow {
    transform: rotate(180deg) !important;
    color: rgba(255,255,255,.7) !important;
}

/* Submenú desplegable */
.ssl-mob-cat-sub {
    display: none !important;
    background: rgba(0,0,0,.2) !important;
    border-top: 1px solid rgba(255,255,255,.05) !important;
}
.ssl-mob-cat-sub.ssl-open { display: block !important; }

.ssl-mob-sub-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 20px 10px 44px !important;
    color: rgba(255,255,255,.65) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: var(--ssl-font) !important;
    border-bottom: 1px solid rgba(255,255,255,.04) !important;
    transition: all .12s !important;
}
.ssl-mob-sub-item:last-child { border-bottom: none !important; }
.ssl-mob-sub-item:hover { color: #fff !important; background: rgba(37,99,235,.2) !important; text-decoration: none !important; }

.ssl-mob-sub-all {
    color: #60a5fa !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}
.ssl-mob-sub-count {
    font-size: 11px !important;
    background: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.5) !important;
    padding: 1px 7px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}

/* ══════════════════════════════════════════════════
 * FIX TOPBAR MÓVIL — eliminar duplicado login del padre
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Ocultar el login que genera el tema padre en la topbar */
    .ssl-topbar-inner > .ssl-topbar-right { display: none !important; }
    /* Solo mostrar nuestro móvil */
    .ssl-topbar-mobile { display: flex !important; align-items: center !important; margin-left: auto !important; }

    /* Contador de programas en categoría del acordeón */
    .ssl-mob-cat-count {
        font-size: 10px !important;
        background: rgba(255,255,255,.12) !important;
        color: rgba(255,255,255,.5) !important;
        padding: 1px 6px !important;
        border-radius: 10px !important;
        margin-left: auto !important;
        margin-right: 6px !important;
    }
}

/* ══════════════════════════════════════════════════
 * ARTÍCULO — imagen hero
 * ══════════════════════════════════════════════════ */
.ssl-article-hero-img {
    display: none; /* oculta en desktop */
    width: 100%;
    overflow: hidden;
}
.ssl-article-featured-mobile {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Desktop — icono grande junto al título */
.ssl-article-header {
    padding: 28px 28px 0 !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}
.ssl-article-title-row {
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
    /* Mostrar imagen hero en móvil */
    .ssl-article-hero-img { display: block !important; }
    /* Ocultar icono pequeño en móvil (ya tenemos la imagen grande arriba) */
    .ssl-article-icon { display: none !important; }
    /* Ajustar header */
    .ssl-article-header { padding: 16px 16px 0 !important; border-bottom: none !important; }
    .ssl-article-title-row { gap: 0 !important; margin-bottom: 10px !important; }
    .ssl-article-h1 { font-size: 1.3rem !important; line-height: 1.25 !important; }
    .ssl-article-meta { gap: 10px !important; flex-wrap: wrap !important; }
    .ssl-article-dl-wrap { padding: 14px 16px !important; flex-direction: column !important; align-items: stretch !important; }
    .ssl-article-dl-btn { justify-content: center !important; }
    .ssl-specs-table { margin: 16px 12px !important; }
    .ssl-specs-grid { grid-template-columns: 1fr !important; }
    .ssl-article-content { padding: 16px 16px 20px !important; font-size: .97rem !important; line-height: 1.8 !important; }
    .ssl-share-bar { padding: 12px 16px !important; }
    .ssl-breadcrumb { padding: 10px 12px !important; }
    .ssl-comments-wrap { padding: 16px 12px !important; }
}

/* ══════════════════════════════════════════════════
 * ARTÍCULO MÓVIL — padding consistente en todo
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Todo el contenido del artículo con el mismo padding lateral */
    .ssl-article-header,
    .ssl-article-cats,
    .ssl-article-title-row,
    .ssl-article-meta,
    .ssl-article-dl-wrap,
    .ssl-article-content,
    .ssl-share-bar,
    .ssl-engage-block,
    .ssl-rating-section,
    .ssl-useful-section,
    .ssl-comment-cta,
    .ssl-comments-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Specs y breadcrumb también */
    .ssl-specs-table {
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
    .ssl-breadcrumb {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Imagen hero sin bordes/padding */
    .ssl-article-hero-img {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Header del artículo sin padding extra */
    .ssl-article-header {
        padding-top: 0 !important;
        border-bottom: none !important;
    }

    /* Cats pegadas a la imagen */
    .ssl-article-cats {
        padding-top: 16px !important;
        padding-bottom: 0 !important;
        margin-bottom: 8px !important;
    }

    /* H1 sin padding extra — ya hereda del header */
    .ssl-article-h1 {
        padding: 0 !important;
        margin: 0 0 10px !important;
    }

    /* Quitar margen del title-row en móvil */
    .ssl-article-title-row {
        padding-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* ══════════════════════════════════════════════════
 * PÁGINA DE CATEGORÍA — diseño profesional
 * ══════════════════════════════════════════════════ */

/* Header de categoría */
.ssl-cat-page-header {
    padding: 32px 0 28px !important;
    margin-bottom: 0 !important;
}
.ssl-cat-page-header-inner {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}
.ssl-cat-page-header-icon {
    font-size: 52px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,.2)) !important;
}
.ssl-cat-page-header-info { flex: 1 !important; min-width: 0 !important; }

.ssl-cat-breadcrumb {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.7) !important;
    margin-bottom: 8px !important;
    font-family: var(--ssl-font) !important;
    flex-wrap: wrap !important;
}
.ssl-cat-breadcrumb a {
    color: rgba(255,255,255,.8) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.ssl-cat-breadcrumb a:hover { color: #fff !important; }

.ssl-cat-page-title {
    font-size: 2rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    margin: 0 0 8px !important;
    line-height: 1.15 !important;
    font-family: var(--ssl-font) !important;
    letter-spacing: -.02em !important;
}
.ssl-cat-page-desc {
    font-size: 14px !important;
    color: rgba(255,255,255,.8) !important;
    margin: 0 0 10px !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.5 !important;
}
.ssl-cat-page-stats {
    display: flex !important;
    gap: 16px !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.75) !important;
    font-family: var(--ssl-font) !important;
    font-weight: 600 !important;
    flex-wrap: wrap !important;
}

/* Barra de filtros/subcategorías */
.ssl-cat-filters-bar {
    background: #fff !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    box-shadow: 0 1px 8px rgba(0,0,0,.06) !important;
}
.ssl-cat-filters-inner {
    display: flex !important;
    gap: 4px !important;
    padding: 10px 0 !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}
.ssl-cat-filters-inner::-webkit-scrollbar { display: none !important; }
.ssl-cat-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 14px !important;
    border-radius: 20px !important;
    border: 1.5px solid var(--ssl-border) !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all .15s !important;
    font-family: var(--ssl-font) !important;
    flex-shrink: 0 !important;
}
.ssl-cat-filter-btn span {
    font-size: 11px !important;
    background: var(--ssl-surface2) !important;
    padding: 1px 6px !important;
    border-radius: 10px !important;
    color: var(--ssl-text3) !important;
}
.ssl-cat-filter-btn:hover,
.ssl-cat-filter-btn.active {
    background: var(--ssl-blue) !important;
    border-color: var(--ssl-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
}
.ssl-cat-filter-btn.active span,
.ssl-cat-filter-btn:hover span {
    background: rgba(255,255,255,.2) !important;
    color: #fff !important;
}

/* Grid de programas */
.ssl-cat-grid-programs {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 24px 0 !important;
}

/* Tarjeta de programa */
.ssl-cat-program-card {
    display: flex !important;
    gap: 14px !important;
    background: #fff !important;
    border: 1px solid var(--ssl-border) !important;
    border-radius: 14px !important;
    padding: 14px !important;
    transition: box-shadow .15s, border-color .15s !important;
    align-items: flex-start !important;
    overflow: hidden !important;
}
.ssl-cat-program-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,.08) !important;
    border-color: var(--ssl-blue) !important;
}

.ssl-cat-card-thumb {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: var(--ssl-surface2) !important;
    border: 1px solid var(--ssl-border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.ssl-cat-card-thumb img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    display: block !important;
    flex-shrink: 0 !important;
}
.ssl-cat-card-emoji { font-size: 28px !important; }

.ssl-cat-card-body {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
}

/* Móvil */
@media (max-width: 768px) {
    .ssl-cat-program-card { padding: 12px !important; gap: 12px !important; }
    .ssl-cat-card-thumb { width: 64px !important; height: 64px !important; min-width: 64px !important; border-radius: 10px !important; }
    .ssl-cat-card-thumb img { width: 64px !important; height: 64px !important; }
}
.ssl-cat-card-top { min-width: 0 !important; }

.ssl-cat-card-name {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    text-decoration: none !important;
    margin-bottom: 6px !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}
.ssl-cat-card-name:hover { color: var(--ssl-blue) !important; }

.ssl-cat-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin-bottom: 6px !important;
}
.ssl-cat-card-plat {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    background: var(--ssl-surface2) !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    font-family: var(--ssl-font) !important;
    font-weight: 600 !important;
}
.ssl-cat-card-ver {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-mono, monospace) !important;
}
.ssl-cat-card-desc {
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    margin: 0 0 4px !important;
    line-height: 1.5 !important;
    font-family: var(--ssl-font) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.ssl-cat-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.ssl-cat-card-more {
    font-size: 13px !important;
    color: var(--ssl-text3) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-family: var(--ssl-font) !important;
    transition: color .15s !important;
}
.ssl-cat-card-more:hover { color: var(--ssl-blue) !important; }
.ssl-cat-card-dl {
    font-size: 13px !important;
    padding: 8px 16px !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

/* Estado vacío */
.ssl-cat-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    color: var(--ssl-text3) !important;
}
.ssl-cat-empty-icon { font-size: 64px !important; margin-bottom: 16px !important; }
.ssl-cat-empty h2 { font-size: 1.3rem !important; color: var(--ssl-text) !important; margin-bottom: 8px !important; font-family: var(--ssl-font) !important; }
.ssl-cat-empty p { font-size: 14px !important; margin-bottom: 20px !important; font-family: var(--ssl-font) !important; }

/* Paginación */
.ssl-cat-pagination { padding: 16px 0 32px !important; }
.ssl-cat-pagination .nav-links { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
.ssl-cat-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    border: 1px solid var(--ssl-border) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
}
.ssl-cat-pagination .page-numbers:hover { border-color: var(--ssl-blue) !important; color: var(--ssl-blue) !important; }
.ssl-cat-pagination .page-numbers.current { background: var(--ssl-blue) !important; border-color: var(--ssl-blue) !important; color: #fff !important; }

/* Responsive móvil */
@media (max-width: 768px) {
    .ssl-cat-page-header { padding: 20px 0 18px !important; }
    .ssl-cat-page-header-icon { font-size: 40px !important; }
    .ssl-cat-page-title { font-size: 1.5rem !important; }
    .ssl-cat-program-card { padding: 12px !important; gap: 12px !important; }
    .ssl-cat-card-thumb { width: 60px !important; height: 60px !important; border-radius: 12px !important; }
    .ssl-cat-card-name { font-size: 14px !important; }
    .ssl-cat-card-desc {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        font-size: 12px !important;
    }
    .ssl-cat-card-dl { font-size: 12px !important; padding: 7px 12px !important; }
    .ssl-category-sidebar { display: none !important; }
    .ssl-category-layout { grid-template-columns: 1fr !important; }
}

/* Fix imagen tarjeta categoría — evitar sobreescritura del padre */
.ssl-cat-card-thumb img {
    width: 72px !important;
    height: 72px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    display: block !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
}
@media (max-width: 768px) {
    .ssl-cat-card-thumb img { width: 64px !important; height: 64px !important; }
}

/* ══════════════════════════════════════════════════
 * FAQ ACORDEÓN — css global reutilizable
 * Clases: ssl-faq-block, ssl-faq-item, ssl-faq-question,
 *         ssl-faq-answer, ssl-faq-arrow
 * ══════════════════════════════════════════════════ */
.ssl-faq-block {
    background: #fff !important;
    border: 1px solid var(--ssl-border) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    margin: 28px 0 !important;
    font-family: var(--ssl-font) !important;
    box-shadow: 0 1px 8px rgba(0,0,0,.04) !important;
}

/* Cabecera */
.ssl-faq-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 20px !important;
    background: var(--ssl-surface2) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}
.ssl-faq-header-icon { font-size: 18px !important; line-height: 1 !important; flex-shrink: 0 !important; }
.ssl-faq-header-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--ssl-text2) !important;
}

/* Item */
.ssl-faq-item { border-bottom: 1px solid var(--ssl-border) !important; }
.ssl-faq-item:last-child { border-bottom: none !important; }

/* Pregunta — botón clickable */
.ssl-faq-question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: var(--ssl-font) !important;
    transition: background .15s !important;
}
.ssl-faq-question:hover { background: var(--ssl-surface2) !important; }
.ssl-faq-item.ssl-open .ssl-faq-question {
    background: var(--ssl-blue-light) !important;
}

.ssl-faq-question-text {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    line-height: 1.4 !important;
    flex: 1 !important;
}
.ssl-faq-item.ssl-open .ssl-faq-question-text {
    color: var(--ssl-blue) !important;
}

/* Flecha animada */
.ssl-faq-arrow {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    color: var(--ssl-text3) !important;
    transition: transform .25s ease, color .15s !important;
    display: block !important;
}
.ssl-faq-item.ssl-open .ssl-faq-arrow {
    transform: rotate(180deg) !important;
    color: var(--ssl-blue) !important;
}

/* Respuesta — colapsable */
.ssl-faq-answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height .3s ease !important;
}
.ssl-faq-item.ssl-open .ssl-faq-answer {
    max-height: 600px !important;
}
.ssl-faq-answer-inner {
    padding: 4px 20px 18px !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: var(--ssl-text2) !important;
    border-left: 3px solid var(--ssl-blue) !important;
    margin: 0 20px 0 20px !important;
    padding-left: 16px !important;
    padding-bottom: 18px !important;
    padding-top: 8px !important;
}
.ssl-faq-answer-inner p { margin: 0 0 .6em !important; }
.ssl-faq-answer-inner p:last-child { margin-bottom: 0 !important; }
.ssl-faq-answer-inner a { color: var(--ssl-blue) !important; }

/* Variante compacta — para sidebar */
.ssl-faq-block--compact .ssl-faq-question { padding: 12px 16px !important; }
.ssl-faq-block--compact .ssl-faq-question-text { font-size: 13px !important; }
.ssl-faq-block--compact .ssl-faq-answer-inner { margin: 0 16px 0 16px !important; font-size: 13px !important; }

/* Variante con borde de color — para artículos */
.ssl-faq-block--bordered {
    border-top: 3px solid var(--ssl-blue) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ssl-faq-question { padding: 14px 16px !important; }
    .ssl-faq-question-text { font-size: 13px !important; }
    .ssl-faq-answer-inner { margin: 0 16px !important; font-size: 13px !important; }
}

/* ══════════════════════════════════════════════════
 * ARTÍCULO — HERO imagen full-width con overlay
 * ══════════════════════════════════════════════════ */
.ssl-article-hero {
    position: relative !important;
    width: 100% !important;
    height: 420px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    display: block !important;
}
.ssl-article-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    max-width: none !important;
}
.ssl-article-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.1) 0%,
        rgba(0,0,0,.3) 40%,
        rgba(0,0,0,.82) 100%
    ) !important;
}
.ssl-article-hero-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 28px 28px 24px !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 18px !important;
}
.ssl-article-hero-icon {
    width: 72px !important;
    height: 72px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border: 3px solid rgba(255,255,255,.3) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.3) !important;
    background: #fff !important;
}
.ssl-article-hero-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    max-width: none !important;
}
.ssl-article-hero-info { flex: 1 !important; min-width: 0 !important; }
.ssl-article-hero-cats {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin-bottom: 8px !important;
}
.ssl-article-hero-cat {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: rgba(255,255,255,.2) !important;
    backdrop-filter: blur(4px) !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
    transition: background .15s !important;
}
.ssl-article-hero-cat:hover {
    background: rgba(255,255,255,.35) !important;
    text-decoration: none !important;
}
.ssl-article-hero-title {
    font-size: 1.7rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
    font-family: var(--ssl-font) !important;
    letter-spacing: -.02em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.3) !important;
}
.ssl-article-hero-meta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.8) !important;
    font-family: var(--ssl-font) !important;
}
.ssl-article-hero-meta span {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.ssl-article-hero-ver {
    background: rgba(255,255,255,.15) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-family: var(--ssl-mono, monospace) !important;
    font-size: 11px !important;
}

/* Cabecera simple (sin imagen) */
.ssl-article-header-simple {
    padding: 24px 28px 0 !important;
}

/* ══════════════════════════════════════════════════
 * CTA FORO — llamada a la acción al foro
 * ══════════════════════════════════════════════════ */
.ssl-forum-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    padding: 24px 28px !important;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%) !important;
    border-top: 1px solid var(--ssl-border) !important;
}
.ssl-forum-cta-left {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.ssl-forum-cta-icon {
    font-size: 32px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}
.ssl-forum-cta-text {
    flex: 1 !important;
    min-width: 0 !important;
}
.ssl-forum-cta-text strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin-bottom: 4px !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.3 !important;
}
.ssl-forum-cta-text span {
    display: block !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.65) !important;
    font-family: var(--ssl-font) !important;
    margin-bottom: 10px !important;
}
.ssl-forum-cta-stats {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}
.ssl-forum-cta-stats span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.5) !important;
    background: rgba(255,255,255,.08) !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    margin-bottom: 0 !important;
}
.ssl-forum-cta-btns {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
.ssl-forum-cta-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 11px 20px !important;
    background: var(--ssl-blue) !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    white-space: nowrap !important;
    transition: filter .15s !important;
    justify-content: center !important;
}
.ssl-forum-cta-btn-primary:hover {
    filter: brightness(1.12) !important;
    text-decoration: none !important;
    color: #fff !important;
}
.ssl-forum-cta-btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.8) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    white-space: nowrap !important;
    transition: all .15s !important;
}
.ssl-forum-cta-btn-secondary:hover {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ssl-article-hero { height: 260px !important; }
    .ssl-article-hero-title { font-size: 1.25rem !important; }
    .ssl-article-hero-content { padding: 16px !important; gap: 12px !important; }
    .ssl-article-hero-icon { width: 52px !important; height: 52px !important; border-radius: 10px !important; }
    .ssl-forum-cta { flex-direction: column !important; padding: 20px 16px !important; gap: 16px !important; }
    .ssl-forum-cta-btns { flex-direction: row !important; width: 100% !important; }
    .ssl-forum-cta-btn-primary,
    .ssl-forum-cta-btn-secondary { flex: 1 !important; }
}

/* ══════════════════════════════════════════════════
 * ESPECIFICACIONES — plataformas con badges visuales
 * ══════════════════════════════════════════════════ */
.ssl-specs-platforms {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 14px 20px !important;
    background: var(--ssl-surface2) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
}
.ssl-plat-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    background: #fff !important;
    border: 1.5px solid var(--ssl-border) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ssl-text2) !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
}
.ssl-plat-badge:hover {
    border-color: var(--ssl-blue) !important;
    color: var(--ssl-blue) !important;
    background: var(--ssl-blue-light) !important;
}
.ssl-plat-icon { font-size: 14px !important; line-height: 1 !important; }

/* Botón descarga dentro de specs */
.ssl-specs-dl {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    padding: 16px 20px !important;
    background: linear-gradient(135deg, #f0f9ff, #eff6ff) !important;
    border-top: 1px solid #bfdbfe !important;
}
.ssl-specs-dl-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.ssl-specs-update-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    background: #dbeafe !important;
    color: #1d4ed8 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-family: var(--ssl-font) !important;
}

/* AdSense article */
.ssl-ad-article-top {
    margin: 20px 28px !important;
    min-height: 90px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--ssl-surface2) !important;
    border-radius: 8px !important;
    border: 1px dashed var(--ssl-border) !important;
}

@media (max-width: 768px) {
    .ssl-specs-dl { flex-direction: column !important; align-items: stretch !important; padding: 14px 16px !important; }
    .ssl-specs-dl .ssl-article-dl-btn { justify-content: center !important; }
    .ssl-specs-platforms { padding: 12px 16px !important; gap: 6px !important; }
    .ssl-plat-badge { font-size: 11px !important; padding: 4px 10px !important; }
    .ssl-ad-article-top { margin: 16px !important; min-height: 60px !important; }
}

/* Contador de posts en subcategorías del mega menú */
.ssl-mega-sub-count {
    font-size: 10px !important;
    background: var(--ssl-surface2) !important;
    color: var(--ssl-text3) !important;
    padding: 1px 6px !important;
    border-radius: 10px !important;
    margin-left: auto !important;
    font-weight: 600 !important;
}

/* ══════════════════════════════════════════════════
 * CATEGORÍA PRINCIPAL — grid de subcategorías
 * ══════════════════════════════════════════════════ */
.ssl-subcat-section { margin-bottom: 32px !important; }

.ssl-subcat-section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 24px 0 16px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.ssl-subcat-section-title {
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: var(--ssl-text) !important;
    margin: 0 !important;
    font-family: var(--ssl-font) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ssl-subcat-ver-todos {
    font-size: 13px !important;
    color: var(--ssl-blue) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    white-space: nowrap !important;
}
.ssl-subcat-ver-todos:hover { text-decoration: underline !important; }

/* Grid de subcategorías */
.ssl-subcat-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
}

/* Tarjeta de subcategoría */
.ssl-subcat-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #fff !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    text-decoration: none !important;
    transition: all .18s !important;
    position: relative !important;
    overflow: hidden !important;
}
.ssl-subcat-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, transparent 60%, rgba(0,0,0,.02)) !important;
    pointer-events: none !important;
}
.ssl-subcat-card:hover {
    border-color: var(--ssl-blue) !important;
    box-shadow: 0 4px 20px rgba(37,99,235,.12) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

.ssl-subcat-card-icon {
    width: 52px !important;
    height: 52px !important;
    border-radius: 12px !important;
    border: 1.5px solid !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    flex-shrink: 0 !important;
    transition: transform .18s !important;
}
.ssl-subcat-card:hover .ssl-subcat-card-icon {
    transform: scale(1.08) !important;
}

.ssl-subcat-card-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.ssl-subcat-card-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ssl-text) !important;
    font-family: var(--ssl-font) !important;
    line-height: 1.3 !important;
    transition: color .15s !important;
}
.ssl-subcat-card:hover .ssl-subcat-card-name { color: var(--ssl-blue) !important; }

.ssl-subcat-card-count {
    font-size: 12px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
    font-weight: 500 !important;
}
.ssl-subcat-card-desc {
    font-size: 11px !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
    margin-top: 2px !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.ssl-subcat-card-arrow {
    width: 14px !important;
    height: 14px !important;
    color: var(--ssl-text3) !important;
    flex-shrink: 0 !important;
    transition: transform .18s, color .15s !important;
}
.ssl-subcat-card:hover .ssl-subcat-card-arrow {
    transform: translateX(3px) !important;
    color: var(--ssl-blue) !important;
}

/* Sección destacados */
.ssl-subcat-featured { margin-top: 12px !important; }

/* Responsive */
@media (max-width: 768px) {
    .ssl-subcat-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
    .ssl-subcat-card { padding: 12px !important; gap: 10px !important; }
    .ssl-subcat-card-icon { width: 42px !important; height: 42px !important; font-size: 20px !important; }
    .ssl-subcat-card-name { font-size: 13px !important; }
    .ssl-subcat-card-desc { display: none !important; }
    .ssl-subcat-card-arrow { display: none !important; }
}
@media (max-width: 480px) {
    .ssl-subcat-grid { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════════════
 * FIX — Ocultar imagen destacada duplicada de Orbital
 * en artículos individuales (nuestro hero ya la muestra)
 * ══════════════════════════════════════════════════ */
.single .post-thumbnail,
.single .entry-thumbnail,
.single .featured-image,
.single figure.wp-block-post-featured-image,
.single .wp-post-image,
.single .orbital-featured,
.single .post-featured-image,
.single img.attachment-post-thumbnail,
.single img.attachment-full,
.single .entry-header img:first-child {
    display: none !important;
}

/* Aseguramos que solo el hero de SSL se muestra */
.single .ssl-article-hero,
.single .ssl-article-hero-bg,
.single .ssl-article-hero img {
    display: block !important;
}

/* ══════════════════════════════════════════════════
 * TAGS — etiquetas al final del artículo
 * ══════════════════════════════════════════════════ */
.ssl-article-tags {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 20px 28px !important;
    border-top: 1px solid var(--ssl-border) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    margin: 0 !important;
    background: var(--ssl-surface2) !important;
}
.ssl-article-tags-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ssl-text3) !important;
    font-family: var(--ssl-font) !important;
    flex-shrink: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}
.ssl-article-tag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 12px !important;
    background: #fff !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
}
.ssl-article-tag:hover {
    background: var(--ssl-blue) !important;
    border-color: var(--ssl-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ssl-article-tags { padding: 16px !important; gap: 6px !important; }
    .ssl-article-tag  { font-size: 11px !important; padding: 3px 10px !important; }
}

/* ══ Ocultar tags de Orbital ══ */
.single .entry-tags,
.single .post-tags,
.single p.tags,
.single .tagcloud,
.single .entry-footer .tags-links,
.single .entry-meta .tags-links,
.single a[rel="tag"]:not(.ssl-article-tag) {
    display: none !important;
}

/* ══ Nuestros tags — refuerzo de estilos ══ */
.ssl-article-tags {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 18px 28px !important;
    border-top: 1px solid var(--ssl-border) !important;
    border-bottom: 1px solid var(--ssl-border) !important;
    background: var(--ssl-surface2) !important;
    margin: 0 !important;
}
.ssl-article-tags-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ssl-text3) !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    font-family: var(--ssl-font) !important;
    flex-shrink: 0 !important;
    margin-right: 4px !important;
}
.ssl-article-tag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 13px !important;
    background: #fff !important;
    border: 1.5px solid var(--ssl-border) !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--ssl-text2) !important;
    text-decoration: none !important;
    font-family: var(--ssl-font) !important;
    transition: all .15s !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
.ssl-article-tag:hover {
    background: var(--ssl-blue) !important;
    border-color: var(--ssl-blue) !important;
    color: #fff !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(37,99,235,.25) !important;
}
@media (max-width:768px) {
    .ssl-article-tags { padding: 14px 16px !important; gap: 6px !important; }
    .ssl-article-tag  { font-size: 11px !important; padding: 4px 10px !important; }
}

/* ══════════════════════════════════════════════════
 * TABLA ESPECIFICACIONES — siempre visible, estilo profesional
 * ══════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════
 * TABLA SPECS — DEFINITIVA (un solo bloque limpio)
 * ══════════════════════════════════════════════════ */
.ssl-specs-table--full {
    margin: 20px 28px !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.06) !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    font-family: var(--ssl-font) !important;
}
.ssl-specs-table--full .ssl-specs-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    background: #1e3a8a !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
}
/* Grid 2 columnas */
.ssl-specs-2col {
    display: flex !important;
    flex-direction: column !important;
}
.ssl-specs-2col .ssl-spec-row {
    display: grid !important;
    grid-template-columns: 130px 1fr 130px 1fr !important;
    align-items: stretch !important;
    border-bottom: 1px solid #f1f5f9 !important;
    min-height: 40px !important;
}
.ssl-specs-2col .ssl-spec-row:last-child {
    border-bottom: none !important;
}
/* Etiqueta — gris uniforme SIEMPRE */
.ssl-specs-2col .ssl-spec-row > span.ssl-spec-label {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 9px 12px !important;
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-right: 1px solid #e2e8f0 !important;
    white-space: nowrap !important;
}
/* Valor — blanco */
.ssl-specs-2col .ssl-spec-row > span.ssl-spec-value {
    display: flex !important;
    align-items: center !important;
    padding: 9px 12px !important;
    background: #fff !important;
    color: #1e293b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-right: 1px solid #e2e8f0 !important;
}
.ssl-specs-2col .ssl-spec-row > span.ssl-spec-value:last-child {
    border-right: none !important;
}
/* Vacío */
.ssl-spec-empty {
    color: #cbd5e1 !important;
    font-weight: 400 !important;
}
/* Solo Actualizado en verde */
.ssl-spec-label--green {
    background: #f0fdf4 !important;
    color: #15803d !important;
}
/* Fila plataformas — ocupa todo el ancho */
.ssl-spec-row--full {
    grid-template-columns: 130px 1fr !important;
}
/* Responsive */
@media (max-width: 640px) {
    .ssl-specs-table--full { margin: 16px !important; }
    .ssl-specs-2col .ssl-spec-row {
        grid-template-columns: 110px 1fr !important;
    }
    .ssl-specs-2col .ssl-spec-row > span:nth-child(3),
    .ssl-specs-2col .ssl-spec-row > span:nth-child(4) {
        display: none !important;
    }
}

/* ══ FIX — filas más estrechas ══ */
.ssl-specs-2col .ssl-spec-row {
    min-height: 32px !important;
}
.ssl-specs-2col .ssl-spec-row > span.ssl-spec-label,
.ssl-specs-2col .ssl-spec-row > span.ssl-spec-value {
    padding: 6px 12px !important;
}

/* ══════════════════════════════════════════════════
 * MÓVIL — Topbar con login, Header solo logo + hamburguesa
 * ══════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* Topbar móvil — fondo oscuro, login a la derecha */
    .ssl-topbar {
        padding: 0 !important;
    }
    .ssl-topbar-inner {
        justify-content: flex-end !important;
        padding: 0 16px !important;
        height: 36px !important;
    }
    .ssl-topbar-mobile {
        display: flex !important;
        align-items: center !important;
    }

    /* Botón login móvil */
    .ssl-topbar-login-mobile {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        color: rgba(255,255,255,.85) !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        font-family: var(--ssl-font) !important;
    }
    .ssl-topbar-login-mobile:hover {
        color: #fff !important;
    }
    .ssl-topbar-login-mobile svg {
        opacity: .8 !important;
    }

    /* Usuario logueado en topbar móvil */
    .ssl-topbar-user-mobile {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: rgba(255,255,255,.85) !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
    }
    .ssl-topbar-avatar {
        border-radius: 50% !important;
        width: 18px !important;
        height: 18px !important;
    }

    /* Header móvil — solo logo + hamburguesa */
    .ssl-site-header .ssl-header-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px !important;
        height: 54px !important;
    }
    .ssl-site-header .ssl-logo-wrap {
        flex: 1 !important;
    }
    .ssl-site-header .ssl-logo-wrap img,
    .ssl-site-header .ssl-logo-wrap .ssl-logo-text {
        max-height: 36px !important;
        width: auto !important;
    }

    /* Hamburguesa */
    .ssl-hamburger {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 6px !important;
    }
    .ssl-hamburger span {
        display: block !important;
        width: 24px !important;
        height: 2px !important;
        background: #fff !important;
        border-radius: 2px !important;
        transition: all .2s !important;
    }
}

/* ══ FIX MÓVIL — ocultar "Crear cuenta", centrar logo ══ */
@media (max-width: 768px) {

    /* Ocultar botón crear cuenta en móvil */
    .ssl-site-header .ssl-btn-primary,
    .ssl-site-header .ssl-open-modal,
    .ssl-site-header .ssl-header-actions {
        display: none !important;
    }

    /* Header: logo centrado + hamburguesa a la derecha */
    .ssl-site-header .ssl-header-inner {
        display: grid !important;
        grid-template-columns: 40px 1fr 40px !important;
        align-items: center !important;
        padding: 0 16px !important;
        height: 54px !important;
    }
    .ssl-site-header .ssl-logo-wrap {
        grid-column: 2 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .ssl-site-header .ssl-hamburger {
        grid-column: 3 !important;
        justify-self: end !important;
        display: flex !important;
    }
    /* Espacio vacío a la izquierda para equilibrar */
    .ssl-site-header .ssl-header-inner::before {
        content: '' !important;
        grid-column: 1 !important;
    }
}

/* ══ FIX hamburguesa visible en móvil ══ */
@media (max-width: 768px) {
    .ssl-hamburger {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 8px !important;
        width: 40px !important;
        height: 40px !important;
        z-index: 999 !important;
    }
    .ssl-hamburger span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        background: #1e293b !important;
        border-radius: 2px !important;
        transition: all .2s !important;
    }
    /* Si el header tiene fondo oscuro, líneas blancas */
    .ssl-site-header.ssl-dark .ssl-hamburger span,
    [style*="background:#0f172"] .ssl-hamburger span {
        background: #fff !important;
    }
}
