/*
Theme Name: A Umbral Child
Theme URI: https://aumbral.com/
Description: Tema hijo personalizado para A Umbral, basado en la Brand Guideline.
Author: Antigravity AI
Template: astra
Version: 2.8.2
*/

/* Ocultar elementos nativos de cabecera y pie de página de Astra y Elementor Theme Builder en todo el sitio */
.ast-header-break-point .ast-mobile-header-wrap, 
.ast-header, 
.ast-site-header-wrap, 
.site-header, 
#masthead, 
.site-footer, 
#colophon, 
.ast-footer-builder-layout,
.elementor-location-header,
[data-elementor-type="header"],
.elementor-2440 { 
    display: none !important; 
}
/* =========================================================
   1. TIPOGRAFÍAS PERSONALIZADAS
   ========================================================= */
@font-face {
    font-family: 'PP Neue Machina';
    src: url('/wp-content/uploads/fonts/PPNeueMachina-PlainLightItalic.woff') format('woff'),
         url('/wp-content/uploads/fonts/PPNeueMachina-PlainLightItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Neue Montreal Mono';
    src: url('/wp-content/uploads/fonts/PPNeueMontrealMono-Regular.woff') format('woff'),
         url('/wp-content/uploads/fonts/PPNeueMontrealMono-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* =========================================================
   2. VARIABLES GLOBALES DE COLOR
   ========================================================= */
:root {
    --au-rojo-primario: #ed4044;
    --au-rojo-secundario: #ed292b;
    --au-negro-fondo: #0e0e0e;
    --au-negro-texto: #1a1a1a;
    --au-gris-oscuro: #292929;
    --au-gris-claro: #cfcfcf;
    --au-beige-tecnico: #f5f4f0;
}

/* =========================================================
   3. APLICACIÓN GLOBAL (Compatible con WooCommerce/LearnDash)
   ========================================================= */
body, p, a, span, li, input, textarea, select, .elementor-text-editor {
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title, .woocommerce-loop-product__title {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-weight: normal !important;
    letter-spacing: -0.02em;
}

/* Fondo y Color de Texto Base */
body, .ast-separate-container, .site-content {
    background-color: var(--au-beige-tecnico) !important;
    color: var(--au-negro-texto) !important;
}

/* =========================================================
   4. BOTONES ESTILO TÉCNICO
   ========================================================= */
.elementor-button, .ast-button, button, input[type="submit"], .button, .woocommerce a.button {
    background-color: var(--au-rojo-primario) !important;
    color: #ffffff !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-radius: 0px !important;
    padding: 15px 30px !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.elementor-button:hover, .ast-button:hover, button:hover, input[type="submit"]:hover, .button:hover, .woocommerce a.button:hover {
    background-color: var(--au-rojo-secundario) !important;
    opacity: 0.9 !important;
}

/* =========================================================
   5. WOOCOMMERCE — FLUJO DE SUSCRIPCIÓN
   ========================================================= */
.woocommerce, .woocommerce-page, .woocommerce-checkout, .woocommerce-cart {
    background-color: var(--au-beige-tecnico) !important;
}
.woocommerce form .input-text, .woocommerce form select, .woocommerce form textarea,
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"], .woocommerce-checkout input[type="password"],
.woocommerce-checkout select {
    background: #fff !important; border: 1px solid #d0cfc8 !important;
    border-radius: 0 !important; padding: 12px 14px !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 13px !important; color: var(--au-negro-texto) !important;
    box-shadow: none !important; transition: border-color .15s !important;
}
.woocommerce form .input-text:focus, .woocommerce-checkout input:focus,
.woocommerce-checkout select:focus {
    border-color: var(--au-rojo-primario) !important; outline: none !important; box-shadow: none !important;
}
.woocommerce form label, .woocommerce-checkout label {
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 11px !important; letter-spacing: .1em !important;
    color: #5a5a5a !important; text-transform: uppercase !important;
}
.woocommerce-checkout h3, .woocommerce-checkout h2 {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 16px !important; font-weight: normal !important;
    letter-spacing: .08em !important; color: var(--au-negro-texto) !important;
    border-bottom: 1px solid #d0cfc8 !important;
    padding-bottom: 12px !important; margin-bottom: 20px !important;
}
.woocommerce-checkout-review-order table.shop_table {
    border: 1px solid #d0cfc8 !important; border-collapse: collapse !important; font-size: 13px !important;
}
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td {
    padding: 12px 16px !important; border-bottom: 1px solid #d0cfc8 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important; font-size: 13px !important;
}
#place_order, .woocommerce-checkout #place_order {
    width: 100% !important; background-color: var(--au-rojo-primario) !important;
    color: #fff !important; border: none !important; border-radius: 0 !important;
    padding: 16px !important; font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 13px !important; letter-spacing: .12em !important;
    text-transform: uppercase !important; cursor: pointer !important; transition: opacity .2s !important;
}
#place_order:hover { opacity: .88 !important; }
.woocommerce-cart table.cart { border: 1px solid #d0cfc8 !important; font-size: 13px !important; }
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td {
    padding: 14px 16px !important; font-family: 'PP Neue Montreal Mono', monospace !important;
    border-bottom: 1px solid #d0cfc8 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff !important; border: 1px solid #d0cfc8 !important; padding: 24px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: var(--au-rojo-primario) !important; border-radius: 0 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 13px !important; letter-spacing: .1em !important; padding: 15px 30px !important;
}
.woocommerce-MyAccount-navigation {
    background: #eae8e1 !important; border-right: 1px solid #d0cfc8 !important; padding: 24px 0 !important;
}
.woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; }
.woocommerce-MyAccount-navigation ul li a {
    display: block !important; padding: 10px 22px !important;
    font-size: 12px !important; font-family: 'PP Neue Montreal Mono', monospace !important;
    color: #3a3a3a !important; border-left: 2px solid transparent !important;
    transition: all .15s !important; text-decoration: none !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--au-rojo-primario) !important; border-left-color: var(--au-rojo-primario) !important;
    background: #f5f4f0 !important;
}
.woocommerce-MyAccount-content {
    padding: 32px !important; font-family: 'PP Neue Montreal Mono', monospace !important; font-size: 13px !important;
}
.woocommerce-message, .woocommerce-info {
    background: #f5f4f0 !important; border-top-color: var(--au-rojo-primario) !important;
    color: var(--au-negro-texto) !important; font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 13px !important; border-radius: 0 !important;
}
.woocommerce-error {
    border-top-color: var(--au-rojo-primario) !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 13px !important; border-radius: 0 !important;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    border: 1px solid #d0cfc8 !important; padding: 32px !important;
    background: #fff !important; border-radius: 0 !important;
}

/* =========================================================
   6. CHECKOUT — ESTRUCTURA Y TIPOGRAFÍA COMPLETA
   ========================================================= */

/* Título de página */
.woocommerce-checkout h1.entry-title,
.woocommerce-cart h1.entry-title,
.woocommerce-account h1.entry-title,
.page-title, .entry-title {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-weight: normal !important;
    font-size: 22px !important;
    letter-spacing: .04em !important;
    color: var(--au-negro-texto) !important;
}

/* Contenedor principal con borde limpio */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-account .woocommerce {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 32px !important;
}

/* Secciones del checkout */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    font-family: 'PP Neue Montreal Mono', monospace !important;
}

/* Título de sección */
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout h3 {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #4a4a4a !important;
    font-weight: normal !important;
    border-bottom: 1px solid #d0cfc8 !important;
    padding-bottom: 10px !important;
    margin-bottom: 18px !important;
}

/* Order review box */
#order_review { background: #fff; border: 1px solid #d0cfc8; padding: 24px !important; }
#order_review_heading { font-family: 'PP Neue Machina', sans-serif !important; font-size: 12px !important; letter-spacing: .12em !important; color: #4a4a4a !important; font-weight: normal !important; text-transform: uppercase !important; margin-bottom: 10px !important; }

/* Tabla del pedido */
.woocommerce-checkout-review-order-table tfoot tr.order-total td,
.woocommerce-checkout-review-order-table tfoot tr.order-total th {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 18px !important;
}

/* Opciones de pago */
#payment { background: #f5f4f0 !important; border: 1px solid #d0cfc8 !important; padding: 20px !important; }
#payment ul.payment_methods { list-style: none !important; padding: 0 !important; margin-bottom: 16px !important; }
#payment ul.payment_methods li { padding: 10px 0 !important; border-bottom: 1px solid #d0cfc8 !important; font-size: 13px !important; }
#payment .payment_box { background: #eae8e1 !important; border: none !important; padding: 14px !important; font-size: 13px !important; }

/* =========================================================
   7. MI CUENTA — DISEÑO PREMIUM TIPO DASHBOARD
   ========================================================= */

/* Contenedor global */
.woocommerce-account .entry-content,
.woocommerce-account .woocommerce {
    padding: 0 !important;
    max-width: 100% !important;
}

/* Layout sidebar + contenido */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    display: block;
}

/* Sidebar nav de la cuenta */
.woocommerce-MyAccount-navigation {
    background: #eae8e1 !important;
    min-height: 400px;
}
.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #d0cfc8;
}
.woocommerce-MyAccount-navigation ul li a {
    font-size: 12px !important;
    letter-spacing: .06em !important;
    padding: 13px 22px !important;
    text-transform: uppercase !important;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 11px !important;
    color: #5a5a5a !important;
    letter-spacing: .14em !important;
}

/* Contenido principal de la cuenta */
.woocommerce-MyAccount-content h2 {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 18px !important;
    font-weight: normal !important;
    color: var(--au-negro-texto) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #d0cfc8 !important;
}
.woocommerce-MyAccount-content p {
    font-size: 13px !important;
    color: #3a3a3a !important;
    line-height: 1.9 !important;
}
.woocommerce-MyAccount-content strong {
    color: var(--au-negro-texto) !important;
    font-weight: 600 !important;
}

/* Tabla de pedidos / suscripciones */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content .woocommerce-subscriptions-table {
    border: 1px solid #d0cfc8 !important;
    width: 100% !important;
    font-size: 13px !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-MyAccount-content .woocommerce-subscriptions-table th {
    background: #eae8e1 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #5a5a5a !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #d0cfc8 !important;
}
.woocommerce-MyAccount-content table td {
    padding: 11px 14px !important;
    border-bottom: 1px solid #d0cfc8 !important;
}

/* Badge de estado activo */
.woocommerce-MyAccount-content .wc-subscription-status,
.subscription-status {
    background: var(--au-rojo-primario) !important;
    color: #fff !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    padding: 3px 8px !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
}

/* Botones de acción en mi cuenta */
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content button.button {
    background: transparent !important;
    border: 1px solid #1a1a1a !important;
    color: #1a1a1a !important;
    font-size: 11px !important;
    letter-spacing: .1em !important;
    padding: 8px 16px !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    transition: all .15s !important;
}
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content button.button:hover {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* =========================================================
   8. HEADER DE CUENTA PERSONALIZADO
   ========================================================= */
/* Añadir cabecera de sección al área de mi cuenta */
.woocommerce-account .page-header-wrap {
    background: #eae8e1;
    padding: 36px 32px 28px;
    border-bottom: 1px solid #d0cfc8;
    margin-bottom: 0;
}

/* =========================================================
   9. CARRITO MEJORADO
   ========================================================= */
.woocommerce-cart table.cart .product-name a {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 14px !important;
    color: var(--au-negro-texto) !important;
}
.woocommerce-cart table.cart .product-name .variation {
    font-size: 10px !important;
    color: #888 !important;
    margin-top: 4px !important;
}
.woocommerce-cart .cart-collaterals h2 {
    font-size: 11px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #888 !important;
    border-bottom: 1px solid #d0cfc8 !important;
    padding-bottom: 10px !important;
}
.woocommerce-cart .cart_totals table.shop_table td, 
.woocommerce-cart .cart_totals table.shop_table th {
    padding: 11px 0 !important;
    border-bottom: 1px solid #d0cfc8 !important;
    font-size: 11px !important;
}
.woocommerce-cart .cart_totals .order-total td {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 18px !important;
    color: var(--au-negro-texto) !important;
}

/* =========================================================
   10. LEARNDASH — ÁREA PRIVADA DE SUSCRIPTORES
   ========================================================= */

/* Contenedor global LearnDash */
#learndash-course-grid-wrapper,
.learndash-wrapper,
.ld-course-list-items,
.ld-course-list {
    font-family: 'PP Neue Montreal Mono', monospace !important;
}

/* Grid de cursos */
.ld-course-list-items .ld_course_grid {
    border: 1px solid #d0cfc8 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    transition: border-color .15s !important;
    background: #fff !important;
}
.ld-course-list-items .ld_course_grid:hover {
    border-color: var(--au-rojo-primario) !important;
}
.ld-course-list-items .ld_course_grid .thumbnail img {
    border-radius: 0 !important;
}
.ld-course-list-items .ld_course_grid .entry-title,
.ld-course-list-items .ld_course_grid h2,
.ld-course-list-items .ld_course_grid h3 {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-weight: normal !important;
    font-size: 15px !important;
    color: var(--au-negro-texto) !important;
}
.ld-course-list-items .ld_course_grid .btn-primary,
.ld-course-list-items .ld_course_grid .course_button {
    background: var(--au-rojo-primario) !important;
    border-radius: 0 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    border: none !important;
    padding: 10px 20px !important;
    color: #fff !important;
}

/* Página de curso individual */
.learndash-wrapper .ld-course-navigation {
    border: 1px solid #d0cfc8 !important;
    border-radius: 0 !important;
    background: #eae8e1 !important;
}
.learndash-wrapper .ld-course-navigation .ld-course-navigation-heading {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    background: #1a1a1a !important;
    color: #fff !important;
    padding: 14px 18px !important;
    border-radius: 0 !important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-title {
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 11px !important;
    color: #555 !important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-title:hover {
    color: var(--au-rojo-primario) !important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview-active {
    color: var(--au-rojo-primario) !important;
    border-left: 2px solid var(--au-rojo-primario) !important;
}

/* Barra de progreso */
.learndash-wrapper .ld-progress-bar .ld-progress-bar-percentage {
    background: var(--au-rojo-primario) !important;
    border-radius: 0 !important;
}
.learndash-wrapper .ld-progress-bar {
    background: #d0cfc8 !important;
    border-radius: 0 !important;
    height: 4px !important;
}

/* Botones de navegación de lección */
.learndash-wrapper .ld-nav-items .ld-nav-previous a,
.learndash-wrapper .ld-nav-items .ld-nav-next a,
.learndash-wrapper .ld-button,
.learndash-wrapper a.ld-button {
    background: var(--au-rojo-primario) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 11px 22px !important;
    border: none !important;
    transition: opacity .15s !important;
}
.learndash-wrapper .ld-button:hover,
.learndash-wrapper a.ld-button:hover { opacity: .85 !important; }

/* Botón "Marcar como completado" */
.learndash-wrapper #lesson_mark_complete_button,
.learndash-wrapper input[name="mark_complete_button"] {
    background: var(--au-rojo-primario) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 12px 24px !important;
    cursor: pointer !important;
}

/* Alertas de contenido bloqueado */
.learndash-wrapper .ld-alert {
    border-radius: 0 !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 11px !important;
}
.learndash-wrapper .ld-alert-warning {
    background: #f5f4f0 !important;
    border-left: 3px solid var(--au-rojo-primario) !important;
    color: #555 !important;
}

/* Escuela / portal de acceso */
.page-id-2339 .entry-content,
.page-escuela .entry-content {
    background: var(--au-beige-tecnico) !important;
}

/* Contenido bloqueado (p-locked equivalente) */
.learndash-wrapper .ld-content-lock .ld-course-step-back {
    font-family: 'PP Neue Montreal Mono', monospace !important;
}

/* Botón show-password → icono de ojo */
span.show-password-input {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: 1px solid #d0cfc8 !important;
    cursor: pointer;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0 !important;  /* ocultar texto original */
    color: transparent !important;
    padding: 0 !important;
}
span.show-password-input::before {
    content: "👁";
    font-size: 14px !important;
    color: #888 !important;
    line-height: 1;
}
span.show-password-input:hover { border-color: #ed4044 !important; }
span.show-password-input:hover::before { color: #ed4044 !important; }
/* Contenedor relativo para posicionar el ojo */
.woocommerce form .password-input,
.woocommerce-form-login .password-input {
    position: relative !important;
    display: block !important;
}

/* Cursos LearnDash — galería visible pero no clickable */
.ld-course-list-items .ld_course_grid .entry-title a,
.ld-course-list-items .ld_course_grid .btn-primary,
.ld-course-list-items .ld_course_grid .course_button,
.ld-course-list-items .ld_course_grid a,
#learndash-course-grid-wrapper .course-grid-cell a {
    pointer-events: none !important;
    cursor: default !important;
}
.ld-course-list-items .ld_course_grid {
    cursor: default !important;
}
/* Ocultar botón "Inscribirse/Continuar" para no confundir */
.ld-course-list-items .ld_course_grid .btn-primary,
.ld-course-list-items .ld_course_grid .course_button {
    display: none !important;
}
/* Bloquear también la página /courses/ entera */
.page-id-1679 .ld-course-list-items .ld_course_grid a,
.page-id-1679 .ld-course-list-items .ld_course_grid .entry-title a {
    pointer-events: none !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* ==========================================================================
   FOOTER GLOBAL SYSTEM
   ========================================================================== */
.footer{background:#1a1a1a;padding:40px 32px 24px;font-family:'PP Neue Montreal Mono',monospace;color:#fff;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;margin-bottom:32px;}
.footer-logo{font-family:'PP Neue Machina',sans-serif;font-size:14px;color:#fff;letter-spacing:.08em;margin-bottom:8px;}
.footer-logo span{color:#ed4044;}
.footer-claim{font-size:9px;color:#ed4044;letter-spacing:.14em;}
.footer-col h4{font-size:9px;letter-spacing:.14em;color:#888;margin-bottom:14px;font-weight:normal;}
.footer-col a{display:block;font-size:10px;color:#999;margin-bottom:8px;transition:color .15s;}
.footer-col a:hover{color:#ed4044;}
.footer-bottom{border-top:1px solid #333;padding-top:20px;display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:9px;color:#666;}
.footer-legal{display:flex;gap:16px;}
.footer-legal a{font-size:9px;color:#666;transition:color .15s;}
.footer-legal a:hover{color:#ed4044;}

@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr;gap:20px;}
  .footer-bottom{flex-direction:column;gap:12px;align-items:flex-start;}
}

/* Estilos de normalización para asegurar ancho completo del footer global en páginas de WordPress/Elementor */
body .footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* Asegurar que la tipografía de A Umbral se aplique a la barra de navegación global y footer */
.au-global-nav, .footer {
    font-family: 'PP Neue Montreal Mono', monospace !important;
}

.au-global-nav .au-nav-logo, .footer-logo {
    font-family: 'PP Neue Machina', sans-serif !important;
}

/* Evitar que Astra/Elementor pisen el estilo del link del footer */
.footer-col a, .footer-legal a {
    text-decoration: none !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
}

/* ==========================================================================
   GLOBAL NAVIGATION SYSTEM
   ========================================================================== */
.nav{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;background:#f5f4f0;border-bottom:1px solid #d0cfc8;position:sticky;top:0;z-index:50;}
.nav-logo{font-family:'PP Neue Machina',sans-serif !important;font-size:15px;letter-spacing:.06em;font-weight:500;color:#1a1a1a;text-decoration:none;}
.nav-logo span{color:#ed4044;}
.nav-links{display:flex;gap:0;align-items:center;list-style:none;margin:0;padding:0;}
.nav-item{position:relative;}
.nav-item>a{font-size:10px;letter-spacing:.08em;color:#555;display:flex;align-items:center;gap:4px;padding:18px 16px;transition:color .15s;border-bottom:2px solid transparent;text-decoration:none;text-transform:uppercase;}
.nav-item>a:hover,.nav-item>a.here{color:#1a1a1a;border-bottom-color:#ed4044;}
.nav-item>a svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2;}
.nav-dd{position:absolute;top:54px;left:0;background:#fff;border:1px solid #d0cfc8;min-width:270px;padding:6px 0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .15s;z-index:60;box-shadow:0 4px 12px rgba(0,0,0,0.05);}
.nav-item:hover .nav-dd{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dd-head{font-size:8px;letter-spacing:.14em;color:#aaa;padding:10px 18px 6px;text-transform:uppercase;}
.nav-dd a{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;font-size:10px;color:#555;transition:all .15s;text-decoration:none;}
.nav-dd a:hover{color:#ed4044;background:#f5f4f0;}
.nav-dd a .tag{font-size:8px;border:1px solid #e0ded7;padding:1px 6px;color:#aaa;letter-spacing:.04em;}
.nav-dd-sep{height:1px;background:#eceae3;margin:6px 0;}
.nav-right{display:flex;align-items:center;gap:12px;}
.btn-login{font-size:10px;letter-spacing:.08em;color:#555;transition:color .15s;text-decoration:none;text-transform:uppercase;}
.btn-login:hover{color:#ed4044;}
.btn-cta{background:#ed4044;color:#fff !important;font-size:10px;letter-spacing:.08em;padding:8px 16px;border:none;text-decoration:none;transition:opacity .15s;display:inline-block;}
.btn-cta:hover{opacity:.85;}
.nav-avatar{width:30px;height:30px;border-radius:50%;background:#1a1a1a;color:#fff;display:none;align-items:center;justify-content:center;font-size:11px;font-family:'PP Neue Machina',sans-serif !important;cursor:pointer;text-decoration:none;}
body.logged .btn-login,body.logged .btn-cta{display:none !important;}
body.logged .nav-avatar{display:flex !important;}

/* Fixes para que el contenido de WordPress no tape el menú */
body {
    margin: 0;
    padding-top: 0 !important;
}
.site-content, #page, .ast-container, .entry-content, .woocommerce, .learndash-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ==========================================================================
   FORZAR DISEÑO DE DESPLEGABLES DEL MENÚ (EVITAR LA DISTORSIÓN DE ASTRA)
   ========================================================================== */
.nav-dd {
    padding: 6px 0 !important;
    min-width: 270px !important;
}

.nav-dd-head {
    font-size: 8px !important;
    letter-spacing: .14em !important;
    color: #aaa !important;
    padding: 10px 18px 6px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.nav-dd a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 18px !important;
    font-size: 10px !important;
    color: #555 !important;
    line-height: 1.2 !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.nav-dd a:hover {
    color: #ed4044 !important;
    background: #f5f4f0 !important;
}

.nav-dd a .tag {
    font-size: 8px !important;
    border: 1px solid #e0ded7 !important;
    padding: 1px 6px !important;
    color: #aaa !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    margin: 0 !important;
    background: transparent !important;
}

.nav-dd-sep {
    height: 1px !important;
    background: #eceae3 !important;
    margin: 6px 0 !important;
    border: none !important;
}

/* ==========================================================================
   WOOCOMMERCE PASSWORD TOGGLE EYE ICON FIX
   ========================================================================== */
/* Forzar contenedor relativo en los párrafos de formulario para posicionar el ojo */
.woocommerce-form-row, 
.woocommerce-form-row--wide, 
.form-row,
.woocommerce-Input-toggle-password-parent {
    position: relative !important;
}

/* Estilizar el ojo de mostrar/ocultar contraseña sin fondos ni bordes rojos de Astra */
.show-password-input, 
.woocommerce-Input-toggle-password {
    position: absolute !important;
    right: 12px !important;
    bottom: 10px !important;
    top: auto !important;
    transform: none !important;
    background: transparent !important;
    background-color: transparent !important;
    width: 24px !important;
    height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    color: transparent !important;
    font-size: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
}

/* Icono del ojo unicode */
.show-password-input::before, 
.woocommerce-Input-toggle-password::before {
    content: "👁" !important;
    font-size: 16px !important;
    color: #888 !important;
    display: inline-block !important;
    font-family: inherit !important;
    line-height: 1 !important;
}

.show-password-input:hover::before, 
.woocommerce-Input-toggle-password:hover::before {
    color: #ed4044 !important;
}

/* ==========================================================================
   MOBILE MENU AND RESPONSIVE NAVIGATION SYSTEM
   ========================================================================== */
/* Botón Hamburguesa */
.nav-toggle {
    display: none;
    background: transparent !important;
    border: none !important;
    width: 30px;
    height: 24px;
    position: relative;
    cursor: pointer;
    z-index: 10001;
    padding: 0 !important;
    margin: 0 !important;
}

.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #1a1a1a;
    position: absolute;
    left: 3px;
    transition: all .25s ease-in-out;
}

.nav-toggle span:nth-child(1) { top: 4px; }
.nav-toggle span:nth-child(2) { top: 11px; }
.nav-toggle span:nth-child(3) { top: 18px; }

/* Hamburguesa animada al abrir */
.nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 11px;
}
.nav-toggle.active span:nth-child(2) {
    width: 0;
    opacity: 0;
}
.nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 11px;
}

/* Panel del menú móvil */
.nav-mobile-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #f5f4f0;
    z-index: 10000;
    padding: 90px 32px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
}

.nav-mobile-panel.active {
    transform: translateX(0);
}

/* Enlaces del menú móvil */
.nav-mobile-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav-mobile-item {
    border-bottom: 1px solid #e0dfd8;
    padding: 12px 0;
}

.nav-mobile-item > a, .nav-mobile-item > span {
    font-size: 16px;
    letter-spacing: .06em;
    font-family: 'PP Neue Machina', sans-serif !important;
    text-transform: uppercase;
    color: #1a1a1a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-decoration: none;
}

.nav-mobile-item > span svg {
    width: 12px;
    height: 12px;
    transition: transform 0.25s;
    stroke: #1a1a1a;
    fill: none;
    stroke-width: 2;
}

.nav-mobile-item.open > span svg {
    transform: rotate(180deg);
}

/* Submenús en el móvil */
.nav-mobile-sub {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease-out;
    padding-left: 12px;
    list-style: none;
}

.nav-mobile-item.open .nav-mobile-sub {
    max-height: 500px; /* valor suficientemente alto */
}

.nav-mobile-sub li {
    padding: 8px 0;
}

.nav-mobile-sub a {
    font-size: 12px;
    color: #666;
    letter-spacing: .04em;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-mobile-sub a .tag {
    font-size: 8px;
    border: 1px solid #e0ded7;
    padding: 1px 6px;
    color: #aaa;
    letter-spacing: .04em;
}

/* Footer del menú móvil (Redes sociales o botones) */
.nav-mobile-footer {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nav-mobile-footer .btn-cta {
    text-align: center;
    padding: 14px;
    font-size: 12px;
}

.nav-mobile-footer .btn-login {
    text-align: center;
    padding: 10px;
    font-size: 12px;
}

/* Responsividad en el menú superior */
@media (max-width: 800px) {
    .nav-links {
        display: none !important;
    }
    .nav-right .btn-login, .nav-right .btn-cta {
        display: none !important;
    }
    .nav-toggle {
        display: block !important;
    }
    .nav {
        padding: 0 20px !important;
    }
}

/* ==========================================================================
   CORRECCIÓN Y LIMPIEZA DE LA CAJA DE PRECIOS DE LA PLATAFORMA
   ========================================================================== */
.price-toggle {
    display: flex !important;
    gap: 0 !important;
    background: #d0cfc8 !important;
    border: 1px solid #d0cfc8 !important;
    margin-bottom: 24px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

/* Botón inactivo por defecto */
button.price-tog-btn {
    flex: 1 !important;
    padding: 14px 10px !important;
    background: #eae8e1 !important; /* Gris claro de fondo */
    color: #666 !important;
    border: none !important;
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .08em !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    text-align: center !important;
    display: block !important;
    height: auto !important;
    min-height: 75px !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
}

/* Hover sobre botón inactivo */
button.price-tog-btn:hover {
    background: #e0ded7 !important;
    color: #1a1a1a !important;
}

/* Botón activo (Rojo corporativo) */
button.price-tog-btn.active {
    background: #ed4044 !important; /* Rojo corporativo */
    color: #fff !important;
}

/* Estilo de la cifra del precio para evitar superposición */
button.price-tog-btn .p {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 18px !important; /* Tamaño contenido y limpio */
    font-weight: 500 !important;
    color: inherit !important;
    display: block !important;
    margin-top: 6px !important;
    line-height: 1.1 !important;
    letter-spacing: normal !important;
}

/* Nota inferior del precio */
button.price-tog-btn .note {
    font-size: 9px !important;
    color: inherit !important;
    opacity: 0.75 !important;
    display: block !important;
    margin-top: 4px !important;
    line-height: 1 !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
}

/* Ajustes responsivos para móviles */
@media (max-width: 480px) {
    button.price-tog-btn {
        padding: 12px 6px !important;
        min-height: 85px !important;
    }
    button.price-tog-btn .p {
        font-size: 16px !important;
    }
}

/* ==========================================================================
   WOOCOMMERCE CART REMOVE BUTTON -> CLEAN CROSS
   ========================================================================== */
.woocommerce-cart table.cart td.product-remove a.remove,
.woocommerce a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 20px !important; /* Cruz visible y estilizada */
    font-weight: normal !important;
    line-height: 1 !important;
    color: #888 !important;
    background-color: transparent !important;
    border: 1px solid #d0cfc8 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    position: relative !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce a.remove:hover {
    border-color: #ed4044 !important;
    color: #ed4044 !important;
    background-color: #fff8f8 !important;
}

/* Eliminar cualquier icono inyectado por pseudoelementos */
.woocommerce-cart table.cart td.product-remove a.remove::before,
.woocommerce a.remove::before {
    content: none !important;
    display: none !important;
}


/* Marcar página activa en el menú de escuela */
.nav-item a.active, .nav-mobile-item a.active {
    color: #1a1a1a !important;
    border-bottom-color: #ed4044 !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   REFINAMIENTO MINIMALISTA DE LA PÁGINA EMPIEZA A ENTRENAR (ESCUELA)
   ========================================================================== */
/* Alineación y estructura del grid de tarjetas */
.au-plan-card {
    background: #f5f4f0 !important;
    border: 1px solid #d0cfc8 !important;
    padding: 24px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    text-decoration: none !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.au-plan-card:hover {
    transform: translateY(-2px) !important;
    border-color: #ed4044 !important;
}

/* Título del plan */
.au-plan-card .elementor-heading-title {
    font-family: 'PP Neue Machina', sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: #1a1a1a !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

/* Espacio de la información/fechas */
.au-plan-card .elementor-widget-text-editor {
    font-family: 'PP Neue Montreal Mono', monospace !important;
    font-size: 10px !important;
    color: #666 !important;
    margin-bottom: 16px !important;
    line-height: 1.6 !important;
}

/* Imagen dentro de la tarjeta */
.au-plan-card .elementor-widget-image img {
    border-radius: 0 !important;
    border: 1px solid #d0cfc8 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    margin-top: auto !important;
}

/* Badges unificados con la home */
.au-plan-card .badge-on {
    background: #ed4044 !important;
    color: #fff !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    padding: 3px 7px !important;
    display: inline-block !important;
    margin-bottom: 10px !important;
}

.au-plan-card .badge-soon {
    border: 1px solid #d0cfc8 !important;
    color: #888 !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    padding: 3px 7px !important;
    display: inline-block !important;
    margin-bottom: 10px !important;
}

.au-plan-card .badge-done {
    background: #a3a199 !important;
    color: #fff !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    padding: 3px 7px !important;
    display: inline-block !important;
    margin-bottom: 10px !important;
}


/* ==========================================================================
   FORZAR VISIBILIDAD DEL CAMPO DE REGISTRO/CONTRASEÑA EN EL CHECKOUT
   ========================================================================== */
/* Forzar que la sección de creación de cuenta de WooCommerce esté siempre abierta y visible */
.woocommerce-checkout div.create-account,
.woocommerce-checkout .create-account {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    opacity: 1 !important;
    margin-top: 15px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Ocultar el checkbox de 'Crear una cuenta?' ya que es obligatorio y está forzado por defecto */
.woocommerce-checkout p.create-account {
    display: none !important;
}

/* =========================================================
   Botón de mejora a plan anual (Mi Cuenta / ficha suscripción)
   Antes se pintaba con estilos inline desde functions.php.
   ========================================================= */
.aumbral-upgrade-wrapper { margin-top: 12px; margin-bottom: 5px; }
.aumbral-upgrade-btn,
a.button.aumbral-upgrade-btn {
    display: inline-block;
    background-color: #ed4044;
    color: #000000 !important;
    font-family: 'PP Neue Montreal Mono', monospace;
    font-size: 11px;
    font-weight: normal;
    letter-spacing: .08em;
    padding: 8px 16px;
    border-radius: 0;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}
.aumbral-upgrade-btn:hover { background-color: #c9363a; }

/* =========================================================
   MEJORAS UX/ACCESIBILIDAD (jul 2026)
   Menú móvil funcional, desplegables por teclado/táctil,
   skip link y foco visible. Carga site-wide.
   ========================================================= */

/* Scroll suave respetando la preferencia de movimiento reducido */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Skip link: invisible hasta recibir foco con teclado */
.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: #ed4044; color: #fff !important;
  padding: 10px 16px; z-index: 200;
  font-family: 'PP Neue Montreal Mono', monospace;
  font-size: 11px; letter-spacing: .08em; text-decoration: none;
}
.skip-link:focus { left: 0; }

/* Foco visible para navegación por teclado */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
  outline: 2px solid #ed4044 !important;
  outline-offset: 2px;
}

/* Botón de desplegable de la nav: mismo aspecto que los enlaces */
.nav-item > .nav-dd-toggle {
  font-family: inherit; font-size: 10px; letter-spacing: .08em; color: #555;
  display: flex; align-items: center; gap: 4px; padding: 18px 16px;
  background: none; border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: color .15s;
}
.nav-item > .nav-dd-toggle:hover { color: #1a1a1a; border-bottom-color: #ed4044; }

/* Desplegables visibles también con teclado (focus-within) y tap (.open) */
.nav-item:focus-within .nav-dd,
.nav-item.open .nav-dd {
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* FAQs: indicar que son interactivas */
.faq-item { cursor: pointer; }

/* El clon del login para el panel móvil no se ve en escritorio */
.nav-item-mobile-login { display: none; }

/* ── Menú móvil ─────────────────────────────────────────── */
.nav-hamburger {
  display: none; background: none; border: none; cursor: pointer;
  padding: 10px; flex-direction: column; gap: 4px;
}
.nav-hamburger span {
  display: block; width: 20px; height: 2px; background: #1a1a1a;
  transition: transform .2s ease, opacity .2s ease;
}
.nav-hamburger.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-hamburger.active span:nth-child(2) { opacity: 0; }
.nav-hamburger.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

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

  /* El CTA de suscripción SIEMPRE visible en móvil (antes se ocultaba) */
  .nav-right .btn-cta { display: inline-block !important; font-size: 9px; padding: 7px 10px; }

  /* Panel desplegable a pantalla completa bajo la barra */
  .nav-links.active {
    display: flex !important;
    position: absolute; top: 56px; left: 0; right: 0;
    flex-direction: column; align-items: stretch;
    background: #f5f4f0; border-bottom: 1px solid #d0cfc8;
    max-height: calc(100vh - 56px); overflow-y: auto; z-index: 70;
    box-shadow: 0 12px 24px rgba(0,0,0,.08);
  }
  .nav-links.active .nav-item { width: 100%; }
  .nav-links.active .nav-item > a,
  .nav-links.active .nav-item > .nav-dd-toggle {
    width: 100%; padding: 14px 24px; border-bottom: 1px solid #eceae3;
    font-size: 11px; justify-content: space-between;
  }
  /* En móvil los submenús se muestran expandidos: navegación directa, sin toggles */
  .nav-links.active .nav-dd {
    position: static; opacity: 1; visibility: visible; transform: none;
    display: block; border: none; border-bottom: 1px solid #eceae3;
    background: #efede7; min-width: 0; padding: 4px 0;
  }
  .nav-links.active .nav-dd a { padding: 11px 32px; }
  .nav-links.active .nav-dd-head { padding: 10px 32px 4px; }
  .nav-links.active .nav-item-mobile-login { display: block; }
  .nav-links.active .nav-item-mobile-login a {
    display: block; padding: 14px 24px; font-size: 11px;
    letter-spacing: .08em; color: #ed4044;
  }
}

/* =========================================================
   Empieza a Entrenar — filtros minimalistas (jul 2026)
   Sobrescribe el <style> del widget de Elementor (#au-planes
   da la especificidad necesaria). Texto sin cajas, activo con
   subrayado rojo, coherente con la nav.
   ========================================================= */
#au-planes .aup-filters {
  gap: 4px;
  margin: 4px 0 22px;
  border-bottom: 1px solid #e4e2da;
  justify-content: center;
}
#au-planes .aup-filters .aup-f {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 8px 12px 10px;
  font-size: 9.5px;
  letter-spacing: .12em;
  color: #8a887f;
  margin-bottom: -1px;
}
#au-planes .aup-filters .aup-f:hover {
  color: #1a1a1a;
  background: none;
  border-color: transparent;
  border-bottom-color: #d0cfc8;
}
#au-planes .aup-filters .aup-f.active {
  background: none;
  color: #1a1a1a;
  border-bottom-color: #ed4044;
}
#au-planes .aup-filters .aup-f .n,
#au-planes .aup-filters .aup-f.active .n {
  color: #b6b4ab;
  margin-left: 4px;
  font-size: 8.5px;
}
#au-planes .aup-filters .aup-f.active .n { color: #ed4044; }

/* Empieza a Entrenar — contener el ancho del bloque (jul 2026) */
#au-planes {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
#au-planes .aup-grid { gap: 14px; }
