/*
Theme Name: Axioma Core
Theme URI: https://axiomacuba.com
Description: Axioma Core es un tema WordPress optimizado (V1.8.6 Master Unified), enfocado en velocidad, diseño editorial y experiencia de lectura moderna.
Author: Yosdelvis de la Rosa
Version: 1.8.6 (Master Unified)
Text Domain: axioma-core
*/

/* =====================================================
   1. FUENTES Y VARIABLES GLOBALES
   ===================================================== */
@font-face { font-family: 'Inter'; src: url('fonts/inter-regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter-bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
    /* Colores Corporativos */
    --ax-red: #7a0b16; --ax-red-bright: #d90429; --ax-red-bright-rgb: 217, 4, 41; --ax-white: #ffffff;
    /* Configuración Base */
    --ax-bg: #ffffff; --ax-bg-card: #ffffff; --ax-bg-card-rgb: 255, 255, 255;
    --ax-text: #111111; --ax-text-dim: #666666; --ax-border: rgba(0,0,0,0.08);
    /* Header & Nav */
    --ax-header-bg: #ffffff; --ax-header-text: #111111; --ax-header-border: rgba(0,0,0,0.1); --ax-header-input: #f2f2f2;
    --nav-bg: var(--ax-white); --nav-text: var(--ax-text);
    /* Utilidades */
    --ax-invert-val: 0; --ax-radius-main: 16px; --ax-scrollbar-width: 0px;
    --text-main: var(--ax-text); --text-sec: var(--ax-text-dim); /* Variables alias para Footer v100 */
}

html[data-theme="dark"] {
    --ax-bg: #0a0a0a; --ax-bg-card: #161616; --ax-bg-card-rgb: 22, 22, 22;
    --ax-text: #f5f5f5; --ax-text-dim: #a0a0a0; --ax-border: rgba(255,255,255,0.1); --ax-white: #000000;
    --ax-header-bg: #0a0a0a; --ax-header-text: #f5f5f5; --ax-header-border: rgba(255,255,255,0.05); --ax-invert-val: 1;
}

/* =====================================================
   2. RESET Y ESTRUCTURA BASE
   ===================================================== */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { margin: 0; padding: 0; font-family: 'Inter', sans-serif !important; background-color: var(--ax-bg) !important; color: var(--ax-text) !important; transition: background 0.3s ease, color 0.3s ease; overflow-x: hidden; position: relative; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
h1, h2, h3, .ax-logo-typo { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
.ax-grid-footer, .ax-main-footer { content-visibility: auto; contain-intrinsic-size: 1px 500px; }

/* Overlay & Fix Scroll */
body.menu-open { overflow: hidden !important; height: 100vh !important; touch-action: none; -webkit-overflow-scrolling: none; }
body.menu-open::after { content: ''; position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 999999; opacity: 0; animation: fadeIn 0.2s ease forwards; pointer-events: auto; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.menu-open .ax-main-header { padding-right: 0; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
html, body { max-width: 100vw !important; overflow-x: hidden !important; }

/* =====================================================
   3. HEADER ELITE (V56 UNIFIED) - COMPACTO
   ===================================================== */
.ax-main-header { background: var(--nav-bg); border-bottom: 1px solid var(--ax-border); position: fixed; top: 0; left: 0; right: 0; z-index: 100000; height: 75px; display: flex; align-items: center; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
html:not([data-theme="dark"]) .ax-main-header { background: var(--nav-bg); }
.ax-container { max-width: 1440px; margin: 0 auto; width: 100%; padding: 0 4%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }

/* Logo */
.ax-logo-area { flex-shrink: 0; margin-right: 30px; }
.ax-logo-typo { font-size: 26px; font-weight: 900; letter-spacing: -1px; text-decoration: none; display: inline-block; transition: transform 0.3s ease; white-space: nowrap; }
.ax-logo-typo:hover { transform: scale(1.05); }
.ax-txt-white { color: var(--ax-text); }
.ax-txt-red { color: var(--ax-red-bright); margin-left: 2px; text-shadow: 0 0 10px rgba(var(--ax-red-bright-rgb), 0.2); }

/* Navegación Desktop & Mega Menu */
.ax-nav-desktop { flex-grow: 1; display: flex; justify-content: center; }
.ax-nav-links { display: flex; gap: 22px; align-items: center; list-style: none; margin: 0; padding: 0; }
.ax-nav-item { color: var(--nav-text); font-size: 13px; font-weight: 800; text-transform: uppercase; position: relative; cursor: pointer; }
.ax-nav-item:hover, .ax-nav-item.is-active-link { color: var(--ax-red-bright); }
.ax-nav-item::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--ax-red-bright); transition: 0.3s; }
.ax-nav-item:hover::after, .ax-nav-item.is-active-link::after { width: 100%; }

.ax-mega-dropdown { position: absolute; top: 75px; left: 0; width: 100%; background: var(--ax-bg); border-bottom: 3px solid var(--ax-red-bright); border-top: 1px solid var(--ax-border); padding: 30px 5%; display: none; z-index: 999; box-shadow: 0 15px 30px rgba(0,0,0,0.1); transition: background 0.3s ease; }
.ax-mega-dropdown.open { display: block; animation: fadeIn 0.3s ease; }
.ax-mega-inner { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; }
.ax-mega-inner a { color: var(--ax-text); font-weight: 700; padding: 12px; border-radius: 8px; background: var(--ax-bg-card); display: block; text-align: center; border: 1px solid var(--ax-border); transition: 0.3s; }
.ax-mega-inner a:hover, .ax-mega-inner a.is-active-link { background: var(--ax-red-bright); color: #ffffff !important; transform: translateY(-2px); border-color: transparent; }

/* Acciones Header */
.ax-actions { display: flex; align-items: center; gap: 15px; margin-left: 20px; flex-shrink: 0; }
.ax-search-box { display: flex; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1); border-radius: 50px; padding: 5px 12px; transition: 0.3s; }
.ax-search-box:focus-within { border-color: var(--ax-red-bright); background: rgba(255,255,255,0.12); }
.ax-search-input { background: none; border: none; color: #fff; font-size: 13px; outline: none; width: 110px; }
.ax-search-submit { filter: invert(1); opacity: 0.7; cursor: pointer; transition: 0.3s; }
.ax-theme-icon { font-size: 22px; cursor: pointer; color: #fff !important; margin-left: 10px; transition: 0.3s; }
.ax-theme-icon:hover { transform: scale(1.1); color: var(--ax-red-bright) !important; }
.ax-user-nav { display: flex; align-items: center; gap: 12px; margin-left: 10px; border-left: 1px solid rgba(255,255,255,0.1); padding-left: 15px; }
.ax-link-auth { color: #fff; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.ax-btn-sub { background: var(--ax-red-bright); color: #fff; padding: 8px 15px; border-radius: 5px; font-size: 11px; font-weight: 900; transition: 0.3s; box-shadow: 0 4px 10px rgba(217,4,41,0.3); }
.ax-btn-sub:hover { background: #b9142d; transform: translateY(-2px); }

/* Menú Móvil (3D Optimized) */
.ax-mobile-nav { display: none; min-width: 40px; }
.ax-mobile-trigger { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; cursor: pointer; padding: 0; position: relative; z-index: 100001; }
.ax-mobile-trigger span { display: block; width: 25px; height: 3px; background-color: var(--ax-text) !important; border-radius: 3px; transition: 0.3s; }
.ax-mobile { position: fixed; top: 0; left: 0; width: 280px; height: 100vh; background: var(--ax-bg); z-index: 10000000; transform: translateX(-100%) translateZ(0); transition: transform 0.33s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 5px 0 30px rgba(0,0,0,0.15); display: flex; flex-direction: column; visibility: hidden; border-right: 1px solid var(--ax-border); will-change: transform; backface-visibility: hidden; }
.ax-mobile.active { transform: translateX(0) translateZ(0); visibility: visible; }
.ax-mobile-header { padding: 25px 20px; border-bottom: 1px solid var(--ax-border); display: flex; justify-content: space-between; align-items: center; }
.ax-close { font-size: 26px; color: var(--ax-text) !important; opacity: 0.5; }
.ax-mobile-content { flex: 1; padding: 20px; overflow-y: auto; -webkit-overflow-scrolling: touch; padding-bottom: 80px; overscroll-behavior: contain; }
.ax-mobile-section { margin-bottom: 30px; }
.ax-mobile-section h4 { color: var(--ax-red-bright); font-size: 10px; letter-spacing: 2px; margin-bottom: 15px; text-transform: uppercase; }
.ax-mobile-links { display: flex; flex-direction: column; gap: 6px; }
.ax-mobile-links a { color: var(--ax-text) !important; padding: 12px 16px; font-size: 15px; font-weight: 700; border-radius: 12px; background: var(--ax-bg-card); transition: 0.2s; }
.ax-mobile-links a:hover { background: var(--ax-red-bright); color: #ffffff !important; padding-left: 20px; }
.ax-mobile-links a.is-active-link { background: var(--ax-red-bright) !important; color: #ffffff !important; padding-left: 25px; border-left: 4px solid rgba(255,255,255,0.4); }
.ax-mobile-subscribe { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; padding: 14px 18px; border-radius: 16px; font-size: 14px; font-weight: 900; letter-spacing: 0.6px; text-transform: uppercase; color: #ffffff !important; background: linear-gradient(135deg, var(--ax-red-bright), #b9132d); box-shadow: 0 14px 30px rgba(217, 4, 41, 0.35); transition: 0.3s; }
.ax-mobile-subscribe:active { transform: scale(0.95); }
.ax-mobile-settings { border-top: 1px solid rgba(128, 128, 128, 0.2); margin-top: 25px; padding-top: 15px; }

/* Los Más Leidos */
.ax-trnd { display: flex; align-items: center; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--ax-border); text-decoration: none; transition: 0.3s; }
.ax-trnd:hover .ax-trnd-t { color: var(--ax-red-bright); }
.ax-trnd-n { font-size: 28px; font-weight: 900; color: var(--ax-red-bright); opacity: 0.8; min-width: 30px; }
.ax-trnd-t { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--ax-text); transition: 0.3s; }

/* =====================================================
   4. LAYOUT PRINCIPAL Y HERO (V66 OPTIMIZED)
   ===================================================== */
.ax-v54-root { max-width: 1440px; margin: 0 auto; padding: 105px 4% 0 !important; }
.ax-v54-layout { display: grid; grid-template-columns: 1fr 320px; gap: 30px; }

/* Hero Card */
.ax-hero { position: relative; height: 520px; border-radius: 24px; overflow: hidden; margin-bottom: 30px; background: #000; box-shadow: 0 10px 30px rgba(0,0,0,0.1); margin-top: 5px; }
.ax-hero::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.4) 45%, transparent 80%); }
.ax-img-main { width: 100%; height: 100% !important; object-fit: cover !important; transition: 0.8s ease; aspect-ratio: 16/9; background: var(--ax-bg-card); }
.ax-hero:hover .ax-img-main { transform: scale(1.05); }
.ax-hero-veil { position: absolute; inset: 0; z-index: 5; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; padding: 50px; }
.ax-hero-tag { position: absolute; top: 25px; left: 25px; background: var(--ax-red-bright); padding: 6px 15px; border-radius: 50px; font-size: 11px; font-weight: 900; z-index: 10; text-transform: uppercase; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.ax-main-title { font-size: clamp(1.6rem, 4vw, 2.8rem); font-weight: 900; margin: 0; line-height: 1.15; text-wrap: balance; text-shadow: 0 2px 15px rgba(0,0,0,0.6); display: block !important; }
.ax-main-excerpt { color: rgba(255,255,255,0.85); font-size: 17px; margin-top: 15px; max-width: 650px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Grids & Cards */
.ax-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-bottom: 20px; }
.ax-card { background: var(--ax-bg-card); border-radius: 18px; padding: 12px; border: 1px solid var(--ax-border); transition: transform 0.4s cubic-bezier(0.2, 1, 0.3, 1), box-shadow 0.4s ease; position: relative; z-index: 1; }
.ax-card:hover { transform: translateY(-10px) scale(1.03) !important; z-index: 99999 !important; border-color: var(--ax-red-bright); box-shadow: 0 15px 35px rgba(0,0,0,0.3); }
.ax-card:hover h3 { color: var(--ax-red-bright); }
.ax-card-img { height: 180px; border-radius: 14px; overflow: hidden; margin-bottom: 12px; position: relative; }
.ax-card-img img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16/9; background: var(--ax-bg-card); }
.ax-card-cat { display: inline-block; background-color: #BD0020; color: #FFFFFF !important; font-size: 10px; font-weight: 900; text-transform: uppercase; padding: 2px 8px; border-radius: 4px; margin-bottom: 8px; letter-spacing: 0.5px; }
.ax-card-body h3 { font-size: 16px; font-weight: 700; margin: 0; line-height: 1.4; color: var(--ax-text); transition: 0.3s; }

/* Grid Blindado */
.ax-full-width-news { margin: 10px auto !important; padding: 0 20px !important; width: 100% !important; max-width: 1440px !important; box-sizing: border-box !important; }
.ax-fw-header { display: flex; align-items: center; gap: 15px; margin-bottom: 15px !important; background: transparent !important; }
.ax-fw-title { font-size: clamp(18px, 5vw, 24px); font-weight: 900; text-transform: uppercase; color: var(--ax-text); white-space: nowrap; }
.ax-fw-line { height: 3px; background: var(--ax-red-bright); flex-grow: 1; border-radius: 50px; opacity: 0.5; }
.ax-grid-6 { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 15px !important; width: 100% !important; }
.ax-grid-6 .ax-card { width: 100% !important; height: 100%; display: flex; flex-direction: column; }
.ax-grid-6 .ax-card-body h3 { font-size: 14px; line-height: 1.3; -webkit-line-clamp: 3; }

/* Sidebar & Widgets */
.ax-widget { margin-bottom: 30px; }
.ax-widget h2, .ax-widget h3, .ax-widget h4 { font-size: 14px; font-weight: 900; border-bottom: 3px solid #BD0020; padding-bottom: 8px; margin-bottom: 15px; text-transform: uppercase; color: var(--ax-text); display: block; }
.ax-side-item { display: flex; gap: 12px; margin-bottom: 20px; padding: 10px; border-radius: 12px; transition: 0.3s; border: 1px solid transparent; }
.ax-side-item:hover { background: var(--ax-bg-card); border-color: var(--ax-border); transform: translateX(8px); }
.ax-side-img { width: 80px; height: 80px; flex-shrink: 0; border-radius: 10px; overflow: hidden; transition: 0.3s; }
.ax-side-item:hover .ax-side-img { transform: scale(1.05); }
.ax-side-img img { width: 100%; height: 100%; object-fit: cover; }
.ax-side-txt h5 { font-size: 14px; font-weight: 700; margin: 0 0 5px; line-height: 1.3; }

/* PANEL TASAS PRO UNIFICADO */
.ax-pro-panel { max-width: 1440px; margin: 30px auto; padding: 0 4%; display: grid; grid-template-columns: 1fr 350px; gap: 20px; }
.ax-panel-box { background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 24px; padding: 20px; display: flex; flex-direction: column; }
.ax-panel-title { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; color: #BD0020; display: flex; justify-content: space-between; align-items: center; }
.ax-monedas-box { background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 20px; overflow: hidden; transition: all 0.3s ease; }
.ax-moneda-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--ax-border); transition: background 0.2s ease; }
.ax-moneda-row:hover { background: rgba(217, 4, 41, 0.04); }
.ax-moneda-row:last-child { border-bottom: none; }
.ax-m-name { font-size: 15px; font-weight: 900; color: var(--ax-text); }
.ax-m-value strong { font-size: 20px; font-weight: 900; color: var(--ax-text) !important; font-variant-numeric: tabular-nums; }
.ax-trend-up { color: #00c853 !important; } .ax-trend-down { color: #d90429 !important; } .ax-trend-icon { font-size: 12px; margin-left: 5px; }
.ax-flag-list { display: flex; flex-direction: column; gap: 10px; }
.ax-flag-item { display: flex; align-items: center; justify-content: space-between; background: var(--ax-bg); padding: 10px 15px; border-radius: 14px; border: 1px solid var(--ax-border); }
.ax-flag-info { display: flex; align-items: center; gap: 12px; }
.ax-flag-img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ax-border); }
.ax-flag-name { font-size: 14px; font-weight: 900; color: var(--ax-text); }
.ax-flag-val { text-align: right; }
.ax-flag-val b { font-size: 16px; font-weight: 900; color: var(--ax-text); }
.ax-mini-filters { display: flex; gap: 5px; }
.ax-mini-filters button { padding: 4px 10px; font-size: 10px; font-weight: 800; border-radius: 6px; background: var(--ax-bg); color: var(--ax-text); border: 1px solid var(--ax-border); cursor: pointer; transition: 0.2s; }
.ax-mini-filters button.active { background: var(--ax-red-bright); color: #fff; border-color: transparent; }

/* =====================================================
   5. SISTEMA DE BÚSQUEDA GEMINI (UNIFIED V100)
   ===================================================== */
.ax-search-container-v2 { padding: 60px 0 20px !important; text-align: center; position: relative; z-index: 9999; overflow: visible !important; }
.ax-live-search-wrapper { max-width: 650px; margin: 0 auto !important; position: relative; z-index: 10000; padding: 0 20px; overflow: visible !important; }
.ax-gemini-search-box { display: flex; align-items: center; background: var(--ax-bg-card); border: 1px solid var(--ax-border) !important; border-radius: 100px; padding: 5px 25px; height: 65px; position: relative; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); outline: none !important; box-shadow: none !important; }
.ax-gemini-search-box:focus-within { border-color: var(--ax-border) !important; background: var(--ax-bg-card); box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.05) !important; transform: translateY(-2px); }
.ax-gemini-search-box svg { color: var(--ax-text) !important; stroke: var(--ax-text) !important; opacity: 0.6; transition: all 0.3s ease; flex-shrink: 0; }
.ax-gemini-search-box:focus-within svg { color: var(--ax-red-bright) !important; stroke: var(--ax-red-bright) !important; opacity: 1 !important; transform: scale(1.1); }
html[data-theme="dark"] .ax-gemini-search-box svg { color: #fff !important; stroke: #fff !important; opacity: 0.9 !important; }
.ax-search-input { flex: 1 !important; background: transparent !important; border: none !important; outline: none !important; color: var(--ax-text) !important; font: 500 20px 'Inter', sans-serif !important; padding: 0 15px !important; }
.ax-search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; height: 18px; width: 18px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); cursor: pointer; filter: invert(var(--ax-invert-val, 0)); opacity: 0.4; }
#ax-search-results-pop { display: none; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; margin-top: 15px; background: var(--ax-bg-card) !important; backdrop-filter: blur(25px) saturate(180%); -webkit-backdrop-filter: blur(25px) saturate(180%); border: 1px solid var(--ax-border) !important; border-radius: 28px; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6) !important; z-index: 2000000000 !important; opacity: 0; transform: translateY(15px); transition: all 0.4s; padding: 12px !important; max-height: 500px; overflow-y: auto; }
#ax-search-results-pop.active { display: block !important; opacity: 1 !important; transform: translateY(0) !important; }
.ax-pop-item { display: flex !important; align-items: center; gap: 15px; padding: 12px 16px; border-radius: 18px; margin-bottom: 5px; transition: 0.2s ease; text-decoration: none !important; }
.ax-pop-item:hover { background: rgba(var(--ax-red-bright-rgb), 0.08) !important; transform: translateX(8px); }
.ax-pop-img-wrapper { width: 50px; height: 50px; border-radius: 12px; overflow: hidden; flex-shrink: 0; }
.ax-pop-img { width: 100%; height: 100%; object-fit: cover; }
.ax-pop-info h4 { font: 700 14px 'Inter', sans-serif !important; margin: 0 !important; color: var(--ax-text) !important; line-height: 1.3; }

/* =====================================================
   6. REDES SOCIALES Y ETIQUETAS
   ===================================================== */
.ax-social-flex { display: flex; gap: 12px; align-items: center; padding: 10px 0; flex-wrap: wrap; }
.ax-soc-item { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 14px; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); color: var(--ax-text); position: relative; overflow: hidden; }
.ax-soc-item svg { width: 22px; height: 22px; fill: currentColor; z-index: 2; transition: transform 0.3s ease; }
.ax-soc-item:hover { transform: translateY(-5px); border-color: transparent; color: #ffffff !important; }
.ax-soc-item.fb:hover { background-color: #1877F2; box-shadow: 0 10px 20px rgba(24, 119, 242, 0.3); }
.ax-soc-item.ig:hover { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.ax-soc-item.tw:hover, .ax-soc-item.th:hover { background-color: #000000; }
html[data-theme="dark"] .ax-soc-item.tw:hover, html[data-theme="dark"] .ax-soc-item.th:hover { background-color: #ffffff; color: #000000 !important; }
/* Tags */
.ax-post-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 25px 0; width: 100%; }
.ax-post-tags a { display: inline-block; background: var(--ax-bg-card); border: 1px solid var(--ax-border); color: var(--ax-text-dim); padding: 6px 14px; border-radius: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; transition: 0.3s; }
.ax-post-tags a:hover { background: var(--ax-red-bright); color: #ffffff !important; border-color: var(--ax-red-bright); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(217, 4, 41, 0.2); }
.ax-post-tags a::before { content: "#"; margin-right: 2px; opacity: 0.5; }

/* =====================================================
   7. SINGLE POST & DISEÑO EDITORIAL
   ===================================================== */
.ax-single-main { max-width: 1440px; margin: 0 auto; padding: 120px 4% 30px; width: 100%; box-sizing: border-box; }
.ax-post-header { max-width: 900px; margin: 0 auto 30px; text-align: center; width: 100%; }
.ax-post-meta-top { font-size: 13px; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; color: var(--ax-text-dim); }
.ax-meta-cat a { color: var(--ax-red-bright); }
.ax-post-title { font-size: clamp(1.8rem, 5vw, 3.5rem); font-weight: 900; line-height: 1.1; letter-spacing: -1.5px; margin: 10px 0; word-wrap: break-word; }
.ax-post-featured-group { margin: 0 auto 40px; max-width: 1100px; width: 100%; }
.ax-post-featured img { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); display: block; }
.ax-post-caption { padding: 15px; font-size: 13px; color: var(--ax-text-dim); border-left: 3px solid var(--ax-red-bright); margin-top: 15px; background: var(--ax-bg-card); }
.ax-post-layout-pro { display: grid; grid-template-columns: 100px 1fr 320px; gap: 40px; align-items: start; width: 100%; margin-bottom: 0; }
.ax-post-body { max-width: 780px; width: 100%; min-width: 0; }

/* Tipografía Editorial */
.ax-post-content { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; font-size: 1.15rem !important; line-height: 1.75 !important; color: var(--ax-text); max-width: 740px; margin: 0 auto; text-rendering: optimizeLegibility; }
.ax-post-content p { margin-bottom: 1.8rem !important; letter-spacing: -0.011em; }
.ax-post-content h2 { font-size: 1.8rem !important; font-weight: 800 !important; margin-top: 2.5rem !important; margin-bottom: 1.2rem !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; }
.ax-post-content h3 { font-size: 1.5rem !important; font-weight: 700 !important; margin-top: 2rem !important; margin-bottom: 1rem !important; }
.ax-post-content blockquote { margin: 2.5rem 0 !important; padding: 0 0 0 25px !important; border-left: 4px solid var(--ax-red-bright) !important; font-style: italic !important; font-size: 1.3rem !important; color: var(--ax-text-dim); }
.ax-post-content a { color: var(--ax-red-bright); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: 0.2s; }
.ax-post-content a:hover { color: var(--ax-red); text-decoration-thickness: 2px; }
.ax-post-content img { max-width: 100%; height: auto !important; border-radius: 12px; }
html[data-theme="dark"] .ax-post-content { color: rgba(245, 245, 247, 0.95) !important; font-weight: 400 !important; }

/* Rails & Share */
.ax-sticky-sidebar { position: sticky; top: 100px; }
.ax-rail-label { font-size: 10px; font-weight: 900; opacity: 0.5; display: block; margin-bottom: 15px; text-align: center; }
.ax-share-btns { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.ax-share-btns a, .ax-share-btns button { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--ax-bg-card); border: 1px solid var(--ax-border); color: var(--ax-text); font-weight: 900; transition: 0.3s; padding: 0; }
.ax-share-btns a:hover { transform: scale(1.15) translateY(-3px); color: #fff; }
.ax-s-fb:hover { background: #1877F2 !important; border-color: #1877F2 !important; }
.ax-s-tw:hover { background: #000 !important; border-color: #000 !important; }
.ax-s-wa:hover { background: #25D366 !important; border-color: #25D366 !important; }
.ax-s-link:hover { background: var(--ax-red-bright) !important; color: #fff !important; border-color: var(--ax-red-bright) !important; }
.ax-s-link.copied { background: #00c853 !important; color: #fff !important; animation: ax-pop 0.3s ease; }
@keyframes ax-pop { 0% { transform: scale(1); } 50% { transform: scale(1.4); } 100% { transform: scale(1.2); } }

/* Author Box */
.ax-author-box { display: flex; gap: 25px; background: var(--ax-bg-card); padding: 30px; border-radius: 24px; margin: 50px 0; border: 1px solid var(--ax-border); }
.ax-author-img img { border-radius: 50%; border: 4px solid var(--ax-bg); }
.ax-author-label { font-size: 10px; font-weight: 900; color: var(--ax-red-bright); letter-spacing: 2px; }
.ax-author-name { font-size: 20px; font-weight: 900; margin: 5px 0; }
.ax-author-bio { font-size: 14px; opacity: 0.8; margin: 0; }

/* Grid Footer / Related Pro */
.ax-grid-footer { display: grid !important; gap: 20px !important; width: 100% !important; margin: 20px 0 !important; }
.ax-grid-footer .ax-card { display: flex; flex-direction: column; height: 100%; }
.ax-grid-footer .ax-card-img { height: 150px !important; width: 100% !important; }
.ax-grid-footer .ax-card-body h3 { font-size: 14px !important; line-height: 1.3 !important; margin-top: 10px !important; }
.ax-related-footer-pro { width: 100%; background: transparent; padding: 30px 0 10px; margin-top: 5px; margin-bottom: 0; border-top: 1px solid var(--ax-border); position: relative; box-sizing: border-box; }
.ax-container-full { max-width: 1440px; margin: 0 auto; padding: 0 4%; }
.ax-fw-header { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; }
.ax-fw-title { font-size: 24px; font-weight: 900; text-transform: uppercase; color: var(--ax-text); letter-spacing: -1px; }
.ax-fw-line { height: 2px; background: var(--ax-red-bright); flex-grow: 1; opacity: 0.2; }

/* Rejilla Elástica Footer Pro */
.ax-grid-footer { display: grid; gap: 20px; width: 100%; margin: 15px 0 0 !important; }
.ax-grid-footer .ax-card { background: var(--ax-bg-card); border-radius: 16px; padding: 10px; border: 1px solid var(--ax-border); transition: all 0.3s ease; }
.ax-grid-footer .ax-card:hover { transform: translateY(-5px); border-color: var(--ax-red-bright); box-shadow: 0 10px 25px rgba(0,0,0,0.05); }
.ax-grid-footer .ax-card-img { height: 135px; border-radius: 10px; overflow: hidden; margin-bottom: 12px; }
.ax-grid-footer .ax-card-img img { width: 100%; height: 100%; object-fit: cover; }
.ax-grid-footer .ax-card-body h3 { font-size: 13px; font-weight: 800; line-height: 1.3; color: var(--ax-text); margin: 0; }
.ax-grid-footer .ax-card:hover h3 { color: var(--ax-red-bright); }
.ax-card-cat { font-size: 9px; font-weight: 900; color: var(--ax-red-bright); text-transform: uppercase; margin-bottom: 6px; display: block; letter-spacing: 0.5px; }

/* Paginación Blindada */
.ax-pagination-wrapper { width: 100% !important; display: flex !important; justify-content: center !important; margin: 40px auto 10px !important; clear: both !important; padding-bottom: 0 !important; }
.ax-pagination { display: inline-flex !important; flex-wrap: wrap !important; justify-content: center; align-items: center; gap: 8px !important; background: var(--ax-bg-card); padding: 10px 15px; border-radius: 20px; border: 1px solid var(--ax-border); box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
.ax-pagination .page-numbers { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px !important; height: 44px !important; padding: 0 12px; border-radius: 12px; font-size: 14px; font-weight: 800; color: var(--ax-text); transition: 0.3s; border: 1px solid transparent; }
.ax-pagination .page-numbers.current, .ax-pagination .page-numbers:active { background: var(--ax-red-bright) !important; color: #ffffff !important; box-shadow: 0 8px 18px rgba(217, 4, 41, 0.3) !important; }
.ax-pagination a.page-numbers:hover { background: rgba(217, 4, 41, 0.08) !important; color: var(--ax-red-bright) !important; transform: translateY(-4px); }
html[data-theme="dark"] .ax-pagination { background: #111 !important; border-color: rgba(255,255,255,0.05) !important; }

/* =====================================================
   9. COMENTARIOS Y FOOTER (V100 UNIFIED)
   ===================================================== */
.ax-comments-area { margin-top: 50px; width: 100%; padding: 40px; background: var(--ax-bg-card); border-radius: 24px; border: 1px solid var(--ax-border); box-sizing: border-box; }
.ax-comments-title { font-size: 24px; font-weight: 900; margin-bottom: 40px; border-left: 5px solid var(--ax-red-bright); padding-left: 15px; }
.comment-body { display: flex; flex-direction: column; padding: 30px; background: var(--ax-bg); border-radius: 18px; border: 1px solid var(--ax-border); position: relative; margin-bottom: 30px; }
.comment-author .avatar { position: absolute; left: 30px; top: 30px; border-radius: 50%; border: 2px solid var(--ax-red-bright); width: 60px; height: 60px; }
.comment-author.vcard { padding-left: 75px; min-height: 60px; }
.fn { font-style: normal; font-weight: 900; font-size: 16px; color: var(--ax-text); }
.ax-input-group input, .ax-input-group textarea { background: var(--ax-bg); border: 1px solid var(--ax-border); border-radius: 12px; padding: 15px; color: var(--ax-text); font-family: inherit; width: 100% !important; transition: 0.3s; }
.ax-btn-submit-comment { background: var(--ax-red-bright) !important; color: #fff !important; padding: 18px 40px !important; border-radius: 12px !important; font-weight: 900 !important; text-transform: uppercase !important; cursor: pointer !important; width: 100%; border: none; }

/* --- FOOTER PREMIUM AXIOMA - MASTER FINAL (v100) --- */
.ax-main-footer { padding-top: 60px; background: transparent; border-top: 1px solid rgba(128, 128, 128, 0.1); color: var(--text-main); }
[data-theme="dark"] .ax-main-footer { background: transparent; border-top: 1px solid rgba(255, 255, 255, 0.05); }

/* Grid Principal - 4 Columnas */
.ax-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; max-width: 1300px; margin: 0 auto; align-items: start; }
.ax-footer-col h4 { font-size: 0.85rem; font-weight: 900; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 25px; color: var(--text-main); }
.ax-brand-desc { font-size: 0.95rem; line-height: 1.7; color: var(--text-sec); margin-top: 15px; }

/* Listas de Enlaces */
.ax-footer-links { list-style: none; padding: 0; margin: 0; }
.ax-footer-links li { margin-bottom: 12px; }
.ax-footer-links li a { text-decoration: none; font-size: 0.9rem; color: var(--text-sec); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: inline-block; }
.ax-footer-links li a:hover { color: #d90429; transform: translateX(5px); }

/* REDES SOCIALES - DISEÑO PRO & BRILLO */
.ax-footer-social { display: flex; gap: 12px; margin-bottom: 20px; }
.ax-footer-social a { width: 42px; height: 42px; background: rgba(128, 128, 128, 0.1); border-radius: 12px; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; border: 1px solid rgba(128, 128, 128, 0.05); }
.ax-footer-social svg { width: 20px; height: 20px; fill: #444; transition: 0.3s; }
[data-theme="dark"] .ax-footer-social svg { fill: #ffffff !important; }
[data-theme="dark"] .ax-footer-social a { background: rgba(255, 255, 255, 0.08); }
.ax-footer-social a:hover { background: #d90429 !important; transform: translateY(-4px); box-shadow: 0 4px 15px rgba(217, 4, 41, 0.4); }
.ax-footer-social a:hover svg { fill: #fff !important; }
.ax-footer-mail { font-size: 0.8rem; font-weight: 700; color: var(--text-sec); }

/* COPYRIGHT CENTRADO ABSOLUTO */
.ax-footer-copyright-row { width: 100%; clear: both; display: flex; justify-content: center; align-items: center; text-align: center; padding: 25px 0; background: transparent; border-top: 1px solid rgba(128, 128, 128, 0.1); margin-top: 30px; }
.ax-footer-copyright-row p { margin: 0 auto; font-size: 0.85rem; color: var(--text-sec); opacity: 0.7; letter-spacing: 0.3px; width: 100%; }

/* =====================================================
   10. UTILIDADES: QR
   ===================================================== */
/* QR Pro Card */
.ax-qr-card-pro { background: var(--ax-bg-card); border: 1px solid var(--ax-border); padding: 22px; border-radius: 28px; display: flex; flex-direction: column; align-items: center; margin: 20px 0; }
.ax-qr-frame { background: #ffffff !important; padding: 12px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); line-height: 0; border: 1px solid #eee; }
.ax-btn-qr-share { margin-top: 18px; width: 100%; background: var(--ax-red-bright); color: #ffffff !important; border: none; padding: 14px; border-radius: 14px; font-size: 11px; font-weight: 900; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; transition: 0.3s; }

/* QR System Unified V2026 */
.ax-qr-main-container { display: flex; justify-content: center; width: 100%; }
.ax-qr-trigger-box { position: relative; width: 46px; height: 46px; border-radius: 14px; background: var(--ax-bg-card); border: 1px solid var(--ax-border); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.35s cubic-bezier(0.2, 1, 0.3, 1); overflow: hidden; }
.ax-qr-trigger-box:hover { transform: scale(1.15); border-color: var(--ax-red-bright); box-shadow: 0 12px 30px rgba(0,0,0,0.25); }
.ax-qr-small-img { width: 32px; height: 32px; opacity: 0; transform: scale(0.85); transition: opacity 0.4s ease, transform 0.4s ease; }
.ax-qr-small-img.ready { opacity: 1; transform: scale(1); }
.ax-qr-loading-spinner { position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(0,0,0,0.15); border-top-color: var(--ax-red-bright); animation: ax-spin 1s linear infinite; }
.ax-qr-small-img.ready + .ax-qr-loading-spinner { display: none; }
@keyframes ax-spin { to { transform: rotate(360deg); } }
/* Modal QR */
.ax-qr-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.65); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; z-index: 100000000; }
.ax-qr-modal-overlay.is-active { opacity: 1; pointer-events: auto; }
.ax-qr-modal-card { background: var(--ax-bg-card); border-radius: 32px; padding: 28px; max-width: 360px; width: calc(100% - 40px); border: 1px solid var(--ax-border); box-shadow: 0 40px 120px rgba(0,0,0,0.5); animation: ax-qr-pop 0.35s ease; }
@keyframes ax-qr-pop { from { transform: scale(0.85) translateY(30px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }
.ax-qr-modal-img-area { background: #fff; border-radius: 22px; padding: 16px; display: flex; justify-content: center; align-items: center; border: 1px solid rgba(0,0,0,0.05); }
#qr-img-grande { width: 100%; max-width: 260px; height: auto; display: block; }
.ax-qr-modal-btns { display: flex; gap: 14px; margin-top: 22px; }
.ax-btn-qr { flex: 1; padding: 14px; border-radius: 14px; font-size: 12px; font-weight: 900; text-transform: uppercase; cursor: pointer; transition: all 0.3s ease; }
.ax-btn-qr.share { background: var(--ax-red-bright); color: #fff; box-shadow: 0 8px 20px rgba(217,4,41,0.3); }
.ax-btn-qr.share:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(217,4,41,0.45); }
.ax-btn-qr.close { background: transparent; border: 1px solid var(--ax-border); color: var(--ax-text); }
.ax-btn-qr.close:hover { background: rgba(0,0,0,0.05); }
/* Share Mobile Pro */
.ax-mobile-share-pro { margin: 40px auto 20px; padding: 22px 18px; background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 22px; box-shadow: 0 20px 40px rgba(0,0,0,0.08); display: block; }
.ax-m-share-label { display: block; text-align: center; font-size: 11px; font-weight: 900; letter-spacing: 2px; color: var(--ax-red-bright); margin-bottom: 18px; text-transform: uppercase; }
.ax-share-btns-mobile { display: flex !important; flex-direction: row !important; justify-content: center; gap: 14px; margin-bottom: 22px; }
.ax-share-btns-mobile a, .ax-share-btns-mobile button { width: 52px; height: 52px; border-radius: 50%; background: var(--ax-bg); border: 1px solid var(--ax-border); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--ax-text); box-shadow: 0 10px 25px rgba(0,0,0,0.12); transition: transform 0.25s ease; }
.ax-share-btns-mobile a:active, .ax-share-btns-mobile button:active { transform: scale(0.9); }
.ax-share-btns-mobile .ax-s-fb { background: #1877F2; color: #fff; border-color: transparent; }
.ax-share-btns-mobile .ax-s-tw { background: #000; color: #fff; border-color: transparent; }
.ax-share-btns-mobile .ax-s-wa { background: #25D366; color: #fff; border-color: transparent; }
.ax-share-btns-mobile .ax-s-link { background: var(--ax-red-bright); color: #fff; border-color: transparent; font-size: 20px; }
/* Generar QR Card Mobile */
.ax-mobile-qr-card { margin-top: 18px; background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 20px; padding: 16px 18px; display: flex; align-items: center; gap: 14px; cursor: pointer; transition: all 0.3s ease; }
.ax-mobile-qr-card:hover { border-color: var(--ax-red-bright); transform: translateY(-2px); }
.ax-m-qr-icon { width: 44px; height: 44px; border-radius: 14px; background: var(--ax-red-bright); display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.ax-m-qr-text strong { display: block; font-size: 14px; font-weight: 900; }
.ax-m-qr-text span { font-size: 12px; opacity: 0.7; }
.ax-m-qr-arrow { margin-left: auto; font-size: 20px; opacity: 0.5; }
/* QR Dark Mode */
html[data-theme="dark"] .ax-qr-modal-img-area { background: #fff; }
html[data-theme="dark"] .ax-btn-qr.close:hover { background: rgba(255,255,255,0.05); }
html[data-theme="dark"] .ax-mobile-share-pro { box-shadow: 0 20px 50px rgba(0,0,0,0.45); }
html[data-theme="dark"] .ax-share-btns-mobile .ax-s-tw { background: #fff; color: #000; }

/* =====================================================
   11. RESPONSIVO MAESTRO (TODO EL RESPONSIVE AQUÍ)
   ===================================================== */

/* --- Desktop Grande (>1440px) --- */
@media (min-width: 1441px) {
    .ax-grid-footer { grid-template-columns: repeat(4, 1fr) !important; }
}

/* --- Desktop Estándar (1400px+) --- */
@media (min-width: 1400px) {
    .ax-grid-footer { grid-template-columns: repeat(6, 1fr) !important; }
}

/* --- Laptop/Desktop Medio (1025px - 1440px) --- */
@media (min-width: 1025px) and (max-width: 1440px) {
    .ax-grid-footer { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (min-width: 1025px) and (max-width: 1399px) {
    .ax-grid-footer { grid-template-columns: repeat(4, 1fr) !important; }
}

/* --- Tablet/Laptop Pequeño (<1100px) --- */
@media (max-width: 1100px) {
    .ax-nav-links, .ax-nav-desktop, .ax-search-box, .ax-user-nav, .ax-desktop-only, .ax-post-left-rail, .ax-post-right-rail { display: none !important; }
    .ax-mobile-nav { display: block !important; }
    .ax-v54-layout, .ax-pro-panel, .ax-post-layout-pro { display: flex !important; flex-direction: column !important; gap: 40px; padding: 20px 15px !important; }
    .ax-hero { height: 480px !important; }
    .ax-grid-6, .ax-grid-footer { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .ax-share-btns { flex-direction: row !important; justify-content: center !important; flex-wrap: wrap; gap: 15px !important; }
    .ax-footer-grid { grid-template-columns: repeat(2, 1fr); padding: 0 20px 30px; }
    .ax-post-layout-pro { display: block !important; margin-bottom: 0 !important; }
    .ax-related-footer-pro { margin-top: -30px !important; }
    .ax-comments-section { border-bottom: none !important; margin-bottom: 0 !important; }
    .ax-theme-icon { display: inline-flex !important; margin-left: 8px; font-size: 20px; opacity: 0.9; }
}

/* --- Tablet Específico (<1024px) --- */
@media (max-width: 1024px) {
    .ax-pro-panel { grid-template-columns: 1fr; }
}
@media (min-width: 601px) and (max-width: 1024px) {
    .ax-grid-footer { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 600px) and (max-width: 1024px) {
    .ax-grid-footer { grid-template-columns: repeat(2, 1fr); }
}

/* --- Tablet/Móvil Grande (769px+) --- */
@media (min-width: 769px) {
    .ax-m-share-label, .ax-share-btns-mobile { display: none !important; }
    .ax-mobile-share-pro { margin-top: 40px; display: flex; justify-content: center; }
}

/* --- Móvil / Tablet Vertical (<768px) --- */
@media (max-width: 768px) {
    .ax-main-header { width: 100%; max-width: 100vw; overflow: hidden; }
    .ax-container { padding: 0 16px !important; gap: 12px !important; max-width: 100vw !important; }
    .ax-logo-area { margin-right: 0 !important; }
    .ax-logo-typo { font-size: 22px; }
    .ax-actions { gap: 10px; margin-left: auto; }
    .ax-search-box { display: none; }
    .ax-hero { height: 420px !important; }
    .ax-hero-veil { padding: 80px 30px 35px 30px !important; justify-content: flex-end !important; }
    .ax-grid-6, .ax-grid-footer { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ax-category-hero { padding: 110px 20px 30px !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; background: var(--ax-bg-card); border-bottom: 1px solid var(--ax-border); position: relative; overflow: hidden; }
    .ax-cat-title { font-size: 2.2rem !important; line-height: 1 !important; margin: 20px 0 15px !important; letter-spacing: -1px !important; white-space: nowrap !important; text-overflow: ellipsis !important; display: block !important; width: 100% !important; }
    .ax-cat-divider { margin: 0 auto 20px !important; width: 60px !important; }
    .ax-cat-watermark { font-size: 25vw !important; bottom: -20px !important; right: -15px !important; opacity: 0.05 !important; transform: rotate(-5deg) !important; }
    html[data-theme="dark"] .ax-category-hero { background: #0d0d0d !important; }
    .ax-post-title { font-size: 2rem !important; letter-spacing: -1px !important; }
    .ax-about-final .ax-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .ax-qr-modal-card { max-width: 320px; padding: 22px; }
    #qr-img-grande { max-width: 220px; }
}

/* --- Móvil Medio (<600px) --- */
@media (max-width: 600px) {
    .ax-grid-footer { grid-template-columns: 1fr !important; }
    .ax-author-box { flex-direction: column; text-align: center; padding: 30px 20px; gap: 20px; }
    .ax-author-img img { margin: 0 auto; width: 100px; height: 100px; }
    
    /* Footer v100 Móvil Compacto */
    .ax-main-footer { padding-top: 30px !important; }
    .ax-footer-grid { grid-template-columns: 1fr; text-align: center; gap: 25px !important; padding-bottom: 25px !important; }
    .ax-col-brand, .ax-col-contact { display: flex; flex-direction: column; align-items: center; }
    .ax-footer-col h4 { margin-bottom: 12px !important; font-size: 0.8rem !important; }
    .ax-brand-desc { margin: 10px auto 0; max-width: 290px; font-size: 0.88rem !important; line-height: 1.5; }
    .ax-footer-links li { margin-bottom: 8px !important; }
    .ax-footer-links li a { font-size: 0.85rem !important; }
    .ax-footer-social { justify-content: center; margin-bottom: 10px !important; gap: 10px !important; }
    .ax-footer-social a { width: 38px !important; height: 38px !important; }
    .ax-footer-copyright-row { padding: 20px 0 !important; margin-top: 20px !important; }
    .ax-footer-copyright-row p { font-size: 0.78rem !important; }
}
@media (max-width: 599px) {
    .ax-grid-footer { grid-template-columns: 1fr; }
    .ax-related-footer-pro { padding: 20px 0 5px; }
}

/* --- Móvil Pequeño (<480px) --- */
@media (max-width: 480px) {
    .ax-hero { height: 380px !important; }
    .ax-hero-veil { padding: 100px 20px 30px 20px !important; }
    .ax-main-title { font-size: 1.45rem !important; }
    .ax-grid, .ax-grid-6, .ax-grid-footer { grid-template-columns: 1fr !important; }
    .ax-footer-grid { grid-template-columns: 1fr; text-align: center; gap: 25px !important; }
    .ax-qr-modal-card { border-radius: 26px; }
    .ax-btn-qr { font-size: 11px; padding: 12px; }
}

/* =====================================================
   12. AXIOMA PRO TEMPLATES (404, AUTHOR, CAT, PAGE)
   ===================================================== */
.ax-pro-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; width: 100%; margin: 30px 0; }
.ax-pro-grid .ax-card { height: 100%; display: flex; flex-direction: column; background: var(--ax-bg-card); border: 1px solid var(--ax-border); transition: 0.3s; }
.ax-pro-grid .ax-card-img { aspect-ratio: 16/9; height: auto !important; width: 100%; background: var(--ax-bg); }
.ax-pro-grid .ax-card-body { flex: 1; display: flex; flex-direction: column; padding: 18px; }
.ax-pro-grid h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 10px; line-height: 1.35; }

/* --- PÁGINA 404 --- */
.ax-error-hero { padding: 100px 20px 60px; text-align: center; position: relative; background: var(--ax-bg); overflow: visible !important; z-index: 50; }
.ax-visual-bg { font-size: clamp(8rem, 25vw, 20rem); font-weight: 900; color: var(--ax-text); opacity: 0.03; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; z-index: 0; user-select: none; }
.ax-error-content { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; }
.ax-error-content .ax-main-title { margin-bottom: 15px; font-size: clamp(2rem, 5vw, 3.5rem); color: var(--ax-text); }
.ax-error-desc-adapt { font-size: 1.1rem; color: var(--ax-text-dim); margin-bottom: 40px; }
.ax-actions-404 { margin-top: 40px; position: relative; z-index: 1; }
.ax-error-hero .ax-gemini-search-box { box-shadow: 0 10px 40px rgba(0,0,0,0.08) !important; border-width: 2px !important; }
.ax-error-hero #ax-search-results-pop { top: 75px !important; width: 100%; max-width: 650px; left: 0; right: 0; margin: 0 auto; z-index: 99999 !important; }

/* --- PÁGINA DE AUTOR --- */
.author-hero { background: var(--ax-bg-card); padding: 60px 20px; text-align: center; border-bottom: 1px solid var(--ax-border); margin-bottom: 40px; position: relative; }
.author-hero-inner { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.author-avatar img { width: 130px; height: 130px; border-radius: 50%; border: 4px solid var(--ax-bg); box-shadow: 0 10px 30px rgba(0,0,0,0.1); margin-bottom: 20px; object-fit: cover; }
.author-name { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--ax-text); margin: 0 0 10px; letter-spacing: -1px; }
.author-bio { color: var(--ax-text-dim); font-size: 1.1rem; line-height: 1.6; max-width: 600px; }
.author-content { max-width: 1440px; margin: 0 auto; padding: 0 4%; }
.author-section-title { font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; color: var(--ax-red-bright); margin: 40px 0 20px; border-left: 4px solid var(--ax-red-bright); padding-left: 15px; }
.author-post-card { display: flex; gap: 20px; background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 16px; padding: 15px; align-items: center; transition: 0.3s; margin-bottom: 20px; }
.author-post-card:hover { border-color: var(--ax-red-bright); transform: translateX(5px); }
.author-post-thumb { width: 160px; height: 100px; border-radius: 12px; overflow: hidden; flex-shrink: 0; }
.author-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.author-post-card:hover img { transform: scale(1.1); }
.author-post-body { flex: 1; }
.author-post-date { font-size: 11px; font-weight: 700; color: var(--ax-text-dim); text-transform: uppercase; }
.author-post-title a { font-size: 1.2rem; font-weight: 800; color: var(--ax-text); text-decoration: none; line-height: 1.3; }
.author-post-title a:hover { color: var(--ax-red-bright); }

/* --- PÁGINA CATEGORÍA (Hero Impactante Centrado) --- */
.ax-category-root { padding-top: 75px; background-color: var(--ax-bg); }
.ax-category-hero { background: var(--ax-bg-card); padding: 80px 20px; text-align: center; border-bottom: 1px solid var(--ax-border); position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 350px; }
.ax-cat-badge { display: inline-block; background: var(--ax-red-bright); color: #fff !important; padding: 6px 18px; border-radius: 50px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; }
.ax-cat-title { font-size: clamp(2.5rem, 7vw, 5rem); font-weight: 900; line-height: 1.1; color: var(--ax-text); margin: 0 auto 20px; letter-spacing: -2px; max-width: 900px; text-wrap: balance; }
.ax-cat-description { font-size: 1.2rem; color: var(--ax-text-dim); max-width: 700px; margin: 0 auto; line-height: 1.6; }
.ax-cat-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 20vw; font-weight: 900; color: var(--ax-text); opacity: 0.03; white-space: nowrap; pointer-events: none; z-index: 1; }

/* Grid de Categoría con Destacada */
.ax-card-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 20px; overflow: hidden; margin-bottom: 10px; }
.ax-card-featured .ax-card-img { height: 100%; aspect-ratio: auto; border-radius: 0; margin: 0; }
.ax-card-featured .ax-card-body { justify-content: center; padding: 40px; }
.ax-card-featured h3 { font-size: 2rem !important; margin-bottom: 15px; }

/* --- PÁGINA PAGE (Estándar Pro) --- */
.ax-page-hero { background: var(--ax-bg-card); padding: 80px 20px 100px; text-align: center; border-bottom: 1px solid var(--ax-border); position: relative; overflow: hidden; margin-bottom: -60px; }
.ax-page-badge { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--ax-red-bright); font-weight: 900; margin-bottom: 15px; display: block; }
.ax-page-title { font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 900; color: var(--ax-text); position: relative; z-index: 2; }
.ax-page-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 12vw; font-weight: 900; color: var(--ax-text); opacity: 0.03; pointer-events: none; white-space: nowrap; }
.ax-page-container { max-width: 860px; margin: 0 auto 60px; padding: 0 20px; position: relative; z-index: 10; }
.ax-page-article-pro { background: var(--ax-bg-card); padding: 50px; border-radius: 24px; border: 1px solid var(--ax-border); box-shadow: 0 20px 50px rgba(0,0,0,0.05); }
.ax-content-render-pro { font-size: 1.15rem; line-height: 1.8; color: var(--ax-text); }
.ax-content-render-pro h2 { font-size: 1.8rem; font-weight: 800; margin: 40px 0 20px; color: var(--ax-text); letter-spacing: -0.5px; }
.ax-content-render-pro p { margin-bottom: 25px; color: var(--ax-text-dim); }
.ax-content-render-pro ul { padding-left: 20px; margin-bottom: 25px; }
.ax-content-render-pro li { margin-bottom: 10px; color: var(--ax-text-dim); }

/* =====================================================
   13. DISEÑO DE ETIQUETAS (TAGS) - AXIOMA PRO V67
   ===================================================== */
.ax-tag-root { padding-top: 75px; background-color: var(--ax-bg); min-height: 100vh; }
.ax-tag-hero { background: var(--ax-bg-card); padding: 80px 20px; text-align: center; border-bottom: 1px solid var(--ax-border); position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ax-tag-label { display: inline-block; background: var(--ax-red-bright); color: #fff !important; padding: 6px 18px; border-radius: 50px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; position: relative; z-index: 5; }
.ax-tag-main-title { font-size: clamp(2.5rem, 7vw, 5rem); font-weight: 900; line-height: 1.1; color: var(--ax-text); margin: 0 auto 20px; letter-spacing: -2px; max-width: 900px; text-wrap: balance; position: relative; z-index: 5; text-transform: capitalize; }
.ax-tag-main-title::before { content: "#"; color: var(--ax-red-bright); margin-right: 2px; }
.ax-tag-desc-box { font-size: 1.2rem; color: var(--ax-text-dim); max-width: 700px; margin: 0 auto; line-height: 1.6; position: relative; z-index: 5; }
.ax-tag-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 20vw; font-weight: 900; color: var(--ax-text); opacity: 0.03; white-space: nowrap; pointer-events: none; z-index: 1; user-select: none; }

/* --- GRID GENERAL DE CONTENIDO --- */
.ax-main-content { flex: 1; min-width: 0; }
.ax-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 25px; margin-bottom: 40px; }
.ax-card { background: var(--ax-bg-card); border-radius: 18px; padding: 12px; border: 1px solid var(--ax-border); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease; }
.ax-card:hover { transform: translateY(-8px); border-color: var(--ax-red-bright); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
.ax-card-img { height: 190px; border-radius: 14px; overflow: hidden; margin-bottom: 12px; background: var(--ax-bg); }
.ax-card-img img { width: 100%; height: 100%; object-fit: cover; }
.ax-card-body h3 { font-size: 17px; font-weight: 800; line-height: 1.4; color: var(--ax-text); margin: 0; transition: 0.3s; }
.ax-card:hover h3 { color: var(--ax-red-bright); }

/* =====================================================
   14. PANELES DE TASAS Y FIXES VISUALES
   ===================================================== */
.ax-pro-panel { color: var(--ax-text); }
#axMainChart { background: transparent; width: 100% !important; display: block; }
.ax-mini-filters button { background: var(--ax-bg-card); color: var(--ax-text); border: 1px solid var(--ax-border); opacity: 0.8; }
.ax-mini-filters button.active { background: var(--ax-red-bright) !important; color: #ffffff !important; opacity: 1; border-color: transparent; }
.ax-flag-name, .ax-flag-val b { color: var(--ax-text) !important; }

/* =====================================================
   15. RESPONSIVE DESIGN (SISTEMA INTEGRADO)
   ===================================================== */
@media (max-width: 1024px) {
    .ax-category-hero, .ax-tag-hero { padding: 80px 20px 50px; }
    .ax-cat-title, .ax-tag-main-title { font-size: 4rem; }
    .ax-card-featured { grid-template-columns: 1fr; }
    .ax-card-featured .ax-card-img { aspect-ratio: 16/9; }
    .ax-card-featured .ax-card-body { padding: 25px; }
    .ax-card-featured h3 { font-size: 1.5rem !important; }
}
@media (max-width: 768px) {
    .ax-category-root, .ax-tag-root { padding-top: 70px; }
    .ax-category-hero, .ax-tag-hero { padding: 50px 20px; min-height: auto; }
    .ax-cat-title, .ax-tag-main-title { font-size: 2.5rem; letter-spacing: -1px; }
    .ax-cat-watermark, .ax-tag-watermark { font-size: 35vw; opacity: 0.04; }
    .ax-pro-grid, .ax-grid { grid-template-columns: 1fr; }
    .author-post-card { flex-direction: column; align-items: flex-start; }
    .author-post-thumb { width: 100%; height: 180px; }
    .ax-page-article-pro { padding: 30px 20px; }
    .ax-error-hero { padding-top: 60px; }
    .ax-tag-desc-box { font-size: 1rem; padding: 0 10px; }
    
    /* PARCHE: REDUCCIÓN DE ESPACIO HEADER-HERO (MÓVIL) */
    .ax-v54-root { padding-top: 85px !important; }
    .ax-hero { margin-top: 0 !important; border-radius: 16px !important; }
    .ax-hero-veil { padding: 20px !important; }
}

/* Modo Oscuro Fixes */
html[data-theme="dark"] .ax-tag-hero, html[data-theme="dark"] .ax-category-hero { border-bottom-color: rgba(255,255,255,0.05); }
html[data-theme="dark"] .ax-tag-main-title { text-shadow: 0 10px 30px rgba(0,0,0,0.5); }
html[data-theme="dark"] .ax-panel-box { background: var(--ax-bg-card); border-color: rgba(255,255,255,0.05); }

/* 16. COMENTARIOS ELITE V56 - SISTEMA AJAX */
.ax-comments-area { margin-top: 50px; width: 100%; }
.comment-body { display: flex; flex-direction: column; padding: 30px; background: var(--ax-bg-card); border-radius: 24px; border: 1px solid var(--ax-border); position: relative; transition: 0.4s ease; }

/* Identidad */
.comment-author.vcard { padding-left: 75px; position: relative; min-height: 60px; }
.comment-author .avatar { position: absolute; left: 0; top: 0; border-radius: 50%; border: 2px solid var(--ax-red-bright); width: 60px; height: 60px; }
.comment-author .fn { font-size: 16px; font-weight: 900; color: var(--ax-red-bright); }

/* Contenido intermedio */
.comment-content { font-size: 15px; line-height: 1.6; color: var(--ax-text); margin: 15px 0; }

/* Fecha al final */
.comment-metadata { width: 100%; padding-top: 15px; border-top: 1px dashed var(--ax-border); text-align: center; opacity: 0.5; font-size: 10px; text-transform: uppercase; }
.comment-metadata a { color: inherit; text-decoration: none; }

/* =====================================================
   17. OPTIMIZACIÓN GRID 5 COLUMNAS (CUBA, MUNDO, DDHH)
   ===================================================== */
.ax-full-width-news { margin: 40px auto !important; padding: 0 4% !important; width: 100% !important; max-width: 1440px !important; box-sizing: border-box !important; }

/* Grid forzado a 5 columnas en Desktop */
.ax-grid-6 { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 20px !important; width: 100% !important; margin-bottom: 50px !important; }

/* Unificación total del estilo de Tarjeta */
.ax-grid-6 .ax-card { background: var(--ax-bg-card) !important; border-radius: 18px !important; padding: 12px !important; border: 1px solid var(--ax-border) !important; transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important; height: 100% !important; display: flex !important; flex-direction: column !important; }

/* Hover idéntico al principal */
.ax-grid-6 .ax-card:hover { transform: translateY(-8px) scale(1.02) !important; border-color: var(--ax-red-bright) !important; box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important; z-index: 10; }

/* Ajuste de imagen */
.ax-grid-6 .ax-card-img { height: 150px !important; border-radius: 14px !important; overflow: hidden !important; margin-bottom: 12px !important; background: var(--ax-bg) !important; }
.ax-grid-6 .ax-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: 0.5s ease !important; }

/* Tipografía de títulos */
.ax-grid-6 .ax-card-body h3 { font-size: 15px !important; font-weight: 800 !important; line-height: 1.3 !important; color: var(--ax-text) !important; margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }

/* Ocultar extracto */
.ax-grid-6 .ax-card-body p { display: none !important; }

/* --- RESPONSIVO MAESTRO --- */
@media (max-width: 1200px) { .ax-grid-6 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 992px) { .ax-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 768px) { 
    .ax-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 15px !important; }
    .ax-grid-6 .ax-card-img { height: 130px !important; }
}
@media (max-width: 480px) { 
    .ax-grid-6 { grid-template-columns: 1fr !important; }
    .ax-grid-6 .ax-card { max-width: 380px; margin: 0 auto !important; }
    .ax-grid-6 .ax-card-img { height: 190px !important; }
}

/* Ajuste Modo Oscuro */
html[data-theme="dark"] .ax-grid-6 .ax-card { background: var(--ax-bg-card) !important; border-color: rgba(255,255,255,0.05) !important; }


/* =====================================================
   FIX HEADER: PRIVACIDAD, ALINEACIÓN Y BOTÓN (COMPRESSED)
   ===================================================== */

/* ICONO PRIVACIDAD (Color según Modo) */
html:not([data-theme="dark"]) header .ax-privacidad-config, html:not([data-theme="dark"]) header .ax-privacidad-config svg { color: #111 !important; stroke: #111 !important; }
html[data-theme="dark"] header .ax-privacidad-config, html[data-theme="dark"] header .ax-privacidad-config svg { color: #ffffff !important; stroke: #ffffff !important; }
header .ax-privacidad-config:hover svg { color: var(--ax-red-bright, #d90429) !important; stroke: var(--ax-red-bright, #d90429) !important; }

/* ALINEACIÓN HEADER ACTIONS (Normalización) */
.ax-actions { display: flex; align-items: center; gap: 14px; }
.ax-actions a, .ax-actions button { display: inline-flex; align-items: center; justify-content: center; line-height: 1; padding: 0; margin: 0; background: none; border: none; }
.ax-actions svg { display: block; width: 20px; height: 20px; vertical-align: middle; }

/* FIX BOTÓN SUSCRIBIRSE (Restaurar estilos tras normalización) */
.ax-actions .ax-btn-sub { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; line-height: 1.2; background: var(--ax-red); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; white-space: nowrap; }

/* =====================================================
   FIX AXIOMA PANEL PRO V100 (INTEGRACIÓN NATIVA
   ===================================================== */
.ax-pro-panel { max-width: 1440px; margin: 30px auto; padding: 0 4%; display: grid; grid-template-columns: 1fr 350px; gap: 24px; width: 100%; box-sizing: border-box; }
.ax-panel-box { background: var(--ax-bg-card); border: 1px solid var(--ax-border); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(0,0,0,0.03); position: relative; transition: all 0.3s ease; }
.ax-panel-box:hover { border-color: var(--ax-border); box-shadow: 0 15px 40px rgba(0,0,0,0.06); transform: translateY(-2px); }
.ax-panel-title { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; color: var(--ax-red-bright); display: flex; justify-content: space-between; align-items: center; }
.ax-mini-filters { display: flex; gap: 6px; background: var(--ax-bg); padding: 4px; border-radius: 10px; border: 1px solid var(--ax-border); }
.ax-mini-filters button { padding: 6px 14px; font-size: 11px; font-weight: 800; border-radius: 8px; background: transparent; color: var(--ax-text-dim); border: none; cursor: pointer; transition: 0.2s; outline: none; font-family: inherit; }
.ax-mini-filters button:hover { color: var(--ax-text); background: rgba(128,128,128,0.05); }
.ax-mini-filters button.active { background: var(--ax-bg-card); color: var(--ax-text) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.08); border: 1px solid var(--ax-border); }
html[data-theme="dark"] .ax-mini-filters button.active { background: var(--ax-red-bright); color: #fff !important; border-color: transparent; }
.ax-flag-list { display: flex; flex-direction: column; gap: 10px; }
.ax-flag-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-radius: 16px; border: 1px solid transparent; transition: 0.2s; background: transparent; border-bottom: 1px solid var(--ax-border); text-decoration: none; }
.ax-flag-item:last-child { border-bottom: none; }
.ax-flag-item:hover { background: var(--ax-bg); border-color: var(--ax-border); transform: translateX(5px); border-bottom-color: transparent; }
.ax-flag-info { display: flex; align-items: center; gap: 14px; }
.ax-flag-img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ax-bg); background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.ax-flag-name { font-size: 15px; font-weight: 800; color: var(--ax-text); margin: 0; line-height: 1; }
.ax-flag-val { text-align: right; line-height: 1.2; }
.ax-flag-val b { font-size: 17px; font-weight: 900; color: var(--ax-text); font-variant-numeric: tabular-nums; display: block; letter-spacing: -0.5px; }
.ax-flag-val small { font-size: 10px; font-weight: 800; color: var(--ax-text-dim); text-transform: uppercase; opacity: 0.8; }
#axMainChart { width: 100% !important; height: auto !important; max-height: 280px; }
@media (max-width: 1024px) { .ax-pro-panel { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 768px) { .ax-panel-box { padding: 20px; } .ax-flag-item { padding: 10px; } }

/* =====================================================
   18. PLANTILLA SOBRE NOSOTROS PRO MAX (V. PAREJA & ADAPTABLE)
   ===================================================== */

/* 1. CONFIGURACIÓN BASE Y VARIABLES */
.ax-about-final { 
    width: 100%; 
    position: relative; 
    z-index: 1; 
    font-family: 'Inter', sans-serif; 
    background: transparent; 
}
.ax-about-final .ax-container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 5%; 
}

/* 2. LÓGICA DE MODOS (Sincronizada con tu Switch JS) */

/* === MODO CLARO (Por defecto o explícito) === */
html:not([data-theme="dark"]) .ax-about-final {
    --local-text: #000000;
    --local-card-bg: rgba(0,0,0,0.03);
    --local-border: rgba(0,0,0,0.1);
}

/* === MODO OSCURO (Solo con data-theme="dark") === */
html[data-theme="dark"] .ax-about-final {
    --local-text: #ffffff;
    --local-card-bg: rgba(255,255,255,0.05);
    --local-border: rgba(255,255,255,0.1);
}

/* 3. APLICACIÓN DE COLORES A TODO EL TEXTO */
.ax-about-final h1, 
.ax-about-final h2, 
.ax-about-final h3, 
.ax-about-final p, 
.ax-about-final span, 
.ax-about-final div,
.ax-about-final li,
.ax-about-final .ax-hero-lead-text,
.ax-about-final .ax-stat-tag,
.ax-about-final .ax-card-letter {
    color: var(--local-text) !important;
    transition: color 0.3s ease;
}

/* Excepciones (Rojo corporativo y Degradados) */
.ax-about-final .ax-gradient-txt { 
    background: linear-gradient(135deg, #e63946 0%, var(--local-text) 100%); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent !important; 
    display: inline-block;
}
.ax-about-final .ax-stat-val, 
.ax-about-final .ax-txt-red,
.ax-about-final .ax-modern-card h3 { 
    color: #e63946 !important; 
    -webkit-text-fill-color: #e63946 !important;
}

/* Fondos sutiles adaptables */
.ax-about-final .ax-modern-card { 
    background: var(--local-card-bg); 
    border: 1px solid var(--local-border); 
}
.ax-about-final .ax-stats-row { 
    border-top: 1px solid var(--local-border); 
    border-bottom: 1px solid var(--local-border); 
    background: transparent;
}


/* 4. HERO & LOGO (CENTRADO BLINDADO) */
.ax-about-final .ax-hero-title-row { padding: 60px 0 20px; text-align: center; width: 100%; display: block; }
.ax-about-final .ax-big-title { 
    font-size: clamp(2.5rem, 8vw, 4.5rem); 
    font-weight: 900; 
    letter-spacing: -2px; 
    line-height: 1.1; 
    margin: 0 auto !important; 
    text-align: center; 
    max-width: 900px; 
    display: block; 
}

.ax-about-final .ax-hero-logo-row { 
    padding: 20px 0; 
    width: 100%; 
    display: flex !important; 
    justify-content: center !important; 
    align-items: center !important; 
}
.ax-about-final .ax-logo-wrapper { 
    position: relative; 
    display: block; 
    margin: 0 auto !important; 
    width: fit-content; 
}
.ax-about-final .ax-floating-icon { width: 110px; height: auto; filter: drop-shadow(0 15px 30px rgba(230, 57, 70, 0.15)); animation: axFloat 6s ease-in-out infinite; z-index: 2; position: relative; display: block; }
.ax-about-final .ax-icon-glow { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 180px; height: 180px; background: radial-gradient(circle, rgba(230,57,70,0.25) 0%, transparent 60%); z-index: 1; pointer-events: none; }
@keyframes axFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-15px); } }


/* 5. STATS (FILA LINDA) */
.ax-about-final .ax-hero-desc-row { padding: 10px 0 40px; text-align: center; }
.ax-about-final .ax-hero-lead-text { max-width: 800px; margin: 0 auto; font-size: 1.25rem; font-weight: 500; opacity: 0.95; }

.ax-about-final .ax-stats-row { padding: 35px 0; margin-bottom: 40px; }
.ax-about-final .ax-stats-grid { 
    display: flex !important; 
    justify-content: space-around; 
    align-items: center; 
    max-width: 1000px; 
    margin: 0 auto; 
    gap: 15px; 
    flex-wrap: nowrap; 
}
.ax-about-final .ax-stat-item { flex: 1; text-align: center; position: relative; }
.ax-about-final .ax-stat-val { font-size: 2.5rem; font-weight: 900; display: block; margin-bottom: 5px; line-height: 1; }
.ax-about-final .ax-stat-tag { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; font-weight: 800; opacity: 0.8; white-space: nowrap; }


/* 6. PILARES & CARDS */
.ax-about-final .ax-section-title-row { padding: 40px 0 30px; text-align: center; }
.ax-about-final .ax-main-section-title { font-size: 2.2rem; font-weight: 900; position: relative; display: inline-block; margin-bottom: 10px; }
.ax-about-final .ax-main-section-title::after { content: ''; display: block; width: 60px; height: 4px; background: #e63946; margin: 10px auto 0; border-radius: 2px; }

.ax-about-final .ax-pillars-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; padding-bottom: 60px; }
.ax-about-final .ax-modern-card { padding: 40px 30px; border-radius: 16px; position: relative; overflow: hidden; transition: transform 0.3s ease; backdrop-filter: blur(5px); }
.ax-about-final .ax-modern-card:hover { transform: translateY(-8px); border-color: #e63946 !important; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.ax-about-final .ax-card-letter { position: absolute; top: -15px; right: -5px; font-size: 8rem; font-weight: 900; opacity: 0.06; pointer-events: none; }
.ax-about-final .ax-modern-card h3 { font-size: 1.5rem; font-weight: 900; margin-bottom: 15px; margin-top: 0; }


/* 7. MANIFIESTO (CORREGIDO: FONDO PAREJO) */
.ax-about-final .ax-content-row { 
    background: transparent !important; /* Ahora es transparente para adaptarse al tema */
    padding: 70px 0; 
    border-top: 1px solid var(--local-border);
}
.ax-about-final .ax-editorial-manifiesto { max-width: 800px; margin: 0 auto; text-align: center; }
.ax-about-final .ax-txt-red { font-size: 2.5rem; margin-bottom: 30px; font-weight: 900; }
.ax-about-final .ax-manifiesto-text p { font-size: 1.2rem; margin-bottom: 25px; opacity: 0.95; }


/* 8. RESPONSIVE MÓVIL */
@media (max-width: 768px) {
    .ax-about-final .ax-stats-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 30px; } 
    .ax-about-final .ax-big-title { font-size: 2.8rem; }
    .ax-about-final .ax-hero-lead-text { font-size: 1.1rem; text-align: left; }
    .ax-about-final .ax-content-row { padding: 50px 0; }
}

/* === PARCHE CORRECTIVO MÓVIL: SOBRE NOSOTROS === */
@media (max-width: 768px) {
    /* 1. Evitar que el título se esconda debajo del header */
    .ax-about-final .ax-hero-title-row { 
        padding-top: 100px !important; 
    }
    
    /* 2. Reducir espacio excesivo entre el último bloque y el footer */
    .ax-about-final .ax-content-row { 
        padding-bottom: 20px !important; 
        margin-bottom: 0 !important;
    }

    /* Ajuste de seguridad para el manifiesto final */
    .ax-about-final .ax-editorial-manifiesto {
        margin-bottom: 0 !important;
        padding-bottom: 10px !important;
    }
}

/* =====================================================
   19. SOLUCIÓN DEFINITIVA: MARGEN DE SEGURIDAD EN MÓVILES EN MAS NOTICIAS
   ===================================================== */

/* === ESTILOS BASE: GRILLA Y TARJETAS AXIOMA CUBA === */
.ax-grid-footer { display: grid; padding: 20px 10px !important; overflow: visible !important; max-width: 100%; }
.ax-card { position: relative; display: flex; flex-direction: column; overflow: visible !important; transition: transform 0.3s cubic-bezier(0.25, 0.45, 0.45, 0.95); z-index: 1; }
.ax-card:hover { z-index: 50; transform: scale(1.05); }
.ax-card-img { overflow: hidden !important; display: block; border-radius: 8px; }

@media (max-width: 768px) {
    .ax-related-footer-pro { overflow: visible !important; width: 100%; }
    .ax-container-full { padding-left: 20px !important; padding-right: 20px !important; overflow: visible !important; box-sizing: border-box; }
    .ax-grid-footer { width: 100% !important; padding: 20px 0 !important; box-sizing: border-box; gap: 15px; }
    .ax-card { width: calc(100% - 10px); margin: 0 auto; }
    .ax-card:hover, .ax-card:active { transform: scale(1.04); z-index: 999; }
    .ax-card-img { -webkit-mask-image: -webkit-radial-gradient(white, black); }
}

/* === CABECERA DE SECCIÓN === */
.ax-fw-header { position: relative; z-index: 2; padding: 0 20px; }

/* =====================================================
   20. CHAT DE COMENTARIOS EN LA WEB REPARADO
   ===================================================== */

/* === AXIOMA CHAT COMPACTO (FIX AVATAR Y ESPACIOS) === */
.ax-comments-area { margin: 40px auto; max-width: 800px; padding: 0 10px; }
.ax-comments-title { font-size: 12px; font-weight: 900; text-transform: uppercase; color: var(--ax-red-bright); margin-bottom: 20px; text-align: center; }
.ax-comment-list { list-style: none; padding: 0; margin: 0; }
.comment { margin-bottom: 15px; list-style: none; }
.comment-body { display: block; max-width: 90%; padding: 10px 14px !important; background: var(--ax-bg-card) !important; border: 1px solid var(--ax-border) !important; border-radius: 14px 14px 14px 4px !important; margin-bottom: 5px; }

/* Cabecera del Comentario: Avatar, Nombre y Fecha Compactos */
.comment-author.vcard { display: flex !important; align-items: center !important; gap: 10px !important; padding: 0 !important; margin-bottom: 4px !important; }
.comment-author .avatar { width: 30px !important; height: 30px !important; border-radius: 50% !important; border: 1.5px solid var(--ax-red-bright) !important; flex-shrink: 0; position: static !important; }
.comment-author .fn { font-size: 13px; font-weight: 800; color: var(--ax-red-bright); font-style: normal; }
.comment-metadata { font-size: 9px; opacity: 0.5; margin: 0 !important; padding: 0 !important; border: none !important; }
.comment-content p { font-size: 14px !important; line-height: 1.4 !important; color: var(--ax-text); margin: 0 !important; }

/* Respuestas anidadas */
.children { list-style: none; margin-left: 20px; padding-left: 10px; border-left: 1px solid var(--ax-border); }
.reply { margin-top: 5px; font-size: 10px; }
.comment-reply-link { color: var(--ax-text-dim); font-weight: 700; text-decoration: none; }

/* Formulario Moderno */
.comment-respond { margin-top: 30px; background: var(--ax-bg-card); padding: 20px; border-radius: 20px; border: 1px solid var(--ax-border); }
.ax-form-flex { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.ax-form-flex input, .ax-form-msg textarea { width: 100% !important; background: var(--ax-bg) !important; border: 1px solid var(--ax-border) !important; border-radius: 10px !important; padding: 10px !important; color: var(--ax-text) !important; font-size: 14px; }
.ax-btn-send { width: 100%; margin-top: 10px; background: var(--ax-red-bright) !important; color: #fff !important; padding: 12px !important; border-radius: 10px !important; font-weight: 900 !important; text-transform: uppercase !important; border: none; }

/* Optimización Extrema en Móviles */
@media (max-width: 768px) {
    .comment-body { max-width: 98%; margin-left: 0; }
    .children { margin-left: 10px; padding-left: 8px; }
    .ax-form-flex { grid-template-columns: 1fr; }
}

/* =====================================================
   AXIOMA REPORTE CIUDADANO
   ===================================================== */
.ax-report-wizard-overlay { position: fixed; inset: 0; width: 100vw; height: 100vh; background: var(--ax-bg) !important; z-index: 999999999 !important; display: block; overflow-y: auto; padding: 0; margin: 0; font-family: 'Inter', sans-serif; }
.ax-report-wizard { width: 100%; max-width: 600px; min-height: 100vh; background: var(--ax-bg-card) !important; margin: 0 auto; padding: 70px 25px 50px; display: flex; flex-direction: column; position: relative; box-sizing: border-box; }

.ax-gemini-title { background: linear-gradient(90deg, #4285f4, #9b72cb, #d96570, #ad8cff); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: clamp(28px, 5vw, 36px); font-weight: 900; text-align: center; letter-spacing: -1.5px; line-height: 1.1; margin-bottom: 20px; }

.ax-report-step { display: none; width: 100%; animation: axFadeIn 0.4s ease-out forwards; }
.ax-report-step.active { display: block; }
@keyframes axFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.step-desc { font-size: 15px; color: var(--ax-text-dim); text-align: center; margin-bottom: 30px; line-height: 1.5; max-width: 90%; margin-left: auto; margin-right: auto; }

/* Tarjetas de Selección */
.ax-opt-card { background: rgba(128, 128, 128, 0.06); border: 1px solid var(--ax-border); padding: 20px; border-radius: 20px; cursor: pointer; display: flex; align-items: center; gap: 15px; margin-bottom: 12px; transition: 0.2s; }
.ax-radio-dot { width: 18px; height: 18px; border: 2px solid var(--ax-border); border-radius: 50%; flex-shrink: 0; transition: 0.2s; }
.ax-opt-card strong { font-size: 16px; color: var(--ax-text); line-height: 1.2; }
.ax-opt-card span { font-size: 13px; color: var(--ax-text-dim); line-height: 1.4; display: block; margin-top: 4px; }

/* Grid de Categorías Compacto */
.ax-main-cat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.ax-main-cat-card { background: rgba(128, 128, 128, 0.08); border: 1px solid var(--ax-border); padding: 18px 10px; border-radius: 18px; cursor: pointer; text-align: center; display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; transition: 0.2s; }
.ax-main-cat-card strong { font-size: 13px; color: var(--ax-text); letter-spacing: -0.2px; }

/* Área de Descripción (Relato) */
textarea#relato { width: 100% !important; min-height: 280px !important; background: var(--ax-bg) !important; color: var(--ax-text) !important; border: 1px solid var(--ax-border) !important; border-radius: 24px !important; padding: 25px !important; font-family: inherit !important; font-size: 16px !important; line-height: 1.6 !important; resize: none !important; box-sizing: border-box !important; margin-bottom: 20px !important; }

/* Botonera */
.ax-btn-nav { background: var(--ax-red-bright) !important; color: #fff !important; padding: 18px; border-radius: 16px; font-weight: 800; text-transform: uppercase; border: none; cursor: pointer; width: 100%; font-size: 13px; letter-spacing: 1px; }
.ax-btn-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 25px; }
.ax-btn-secondary { background: rgba(128, 128, 128, 0.1); border: 1px solid var(--ax-border); color: var(--ax-text); padding: 18px; border-radius: 16px; font-weight: 700; cursor: pointer; text-align: center; font-size: 12px; text-decoration: none; }

.ax-id-wrapper { display: flex; align-items: center; justify-content: center; background: rgba(var(--ax-red-bright-rgb), 0.05); padding: 30px; border-radius: 24px; border: 2px dashed var(--ax-red-bright); margin: 25px 0; font-family: monospace; font-size: 26px; color: var(--ax-text); }
.ax-panic-exit { position: fixed; top: 15px; right: 15px; background: var(--ax-bg-card); padding: 10px 20px; border-radius: 50px; font-size: 10px; font-weight: 900; color: var(--ax-red-bright); text-decoration: none; border: 1px solid var(--ax-border); z-index: 1000000000 !important; }

@media (max-width: 768px) { .ax-report-wizard { padding: 90px 20px 40px; } .ax-main-cat-grid { grid-template-columns: 1fr; } .ax-btn-row { grid-template-columns: 1fr; } }

/* =====================================================
   21. FIX INTEGRACIÓN MENÚ NATIVO (HEADER_PAGES)
   ===================================================== */
/* Eliminar estructura de lista para que los enlaces fluyan en la grilla */
.ax-mobile-links ul, .ax-nav-links ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: contents !important; }
.ax-mobile-links li, .ax-nav-links li { display: contents !important; }

/* Estilo unificado para los enlaces del menú móvil */
.ax-mobile-links a, .ax-mobile-links ul li a { display: block !important; color: var(--ax-text) !important; padding: 12px 16px !important; font-size: 15px !important; font-weight: 700 !important; border-radius: 12px !important; background: var(--ax-bg-card) !important; border: 1px solid var(--ax-border) !important; transition: 0.2s ease !important; text-decoration: none !important; width: 100% !important; box-sizing: border-box !important; }

/* Efecto Hover idéntico a las categorías */
.ax-mobile-links a:hover, .ax-mobile-links ul li a:hover { background: var(--ax-red-bright) !important; color: #ffffff !important; padding-left: 20px !important; border-color: transparent !important; }

/* Estado Activo para el menú de WordPress */
.ax-mobile-links ul li.current-menu-item a, .ax-mobile-links a.is-active-link { background: var(--ax-red-bright) !important; color: #ffffff !important; padding-left: 25px !important; border-left: 4px solid rgba(255,255,255,0.4) !important; }

/* Ajuste para pantallas pequeñas: asegurar que no se desborde */
@media (max-width: 768px) {
    .ax-mobile-links { display: flex !important; flex-direction: column !important; gap: 8px !important; }
}

/* =====================================================
   Ocultar barra de scroll en el contenido del menú móvil
   ===================================================== */
.ax-mobile-content { scrollbar-width: none; -ms-overflow-style: none; }
.ax-mobile-content::-webkit-scrollbar { display: none; width: 0 !important; height: 0 !important; }

/* =====================================================
   Ocultar barra de scroll global sin perder funcionalidad
   ===================================================== */
html, body { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }