/**
 * MJ Commerce Pro v2.6.0 - Sistema de Diseño Cyber-Luxury & MercadoLibre VIP
 * 100% Responsive · Sticky Engine (Arriba/Abajo) · Protección Total WP Admin Bar · Gutenberg Nativo
 */

:root {
    --mj-obsidian: #070B14;
    --mj-navy: #0F172A;
    --mj-electric: #2563EB;
    --mj-cyan: #00F2FE;
    --mj-teal: #0D9488;
    --mj-emerald: #10B981;
    --mj-surface: #F1F5F9;
    --mj-card: #FFFFFF;
    --mj-border: rgba(15, 23, 42, 0.08);
    --mj-glow-shadow: 0 12px 34px -8px rgba(37, 99, 235, 0.28);
    --mj-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --mj-font-display: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif;
    --mj-font-mono: 'JetBrains Mono', monospace;
    --mj-adminbar-offset: 0px;
    --mj-header-sticky-top: 148px;
}

/* ==========================================================================
   0. PROTECCIÓN CONTRA SUPERPOSICIÓN DE WP ADMIN BAR (#wpadminbar) + STICKY ENGINE
   ========================================================================== */
body.admin-bar {
    --mj-adminbar-offset: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        --mj-adminbar-offset: 46px;
    }
}

@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed !important;
        top: 0 !important;
    }
}

/* 1. Header Principal: Siempre por encima de cualquier contenido (z-index: 9950) y debajo de #wpadminbar */
header.wp-block-template-part,
.mj-site-header-part,
header .mj-header-wrapper {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--mj-adminbar-offset, 0px) !important;
    z-index: 9950 !important;
}

/* 2. Bloques Sticky dentro de la página (como el Buy Box de Producto): Se fijan DEBAJO del Header y con z-index menor (30) para NUNCA tapar el Header */
main .mj-sticky-top,
main .is-position-sticky,
.mj-ml-buybox-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--mj-header-sticky-top, 165px) !important;
    z-index: 30 !important;
}

/* Permite dejar cualquier bloque fijo abajo desde Gutenberg */
.mj-sticky-bottom {
    position: -webkit-sticky !important;
    position: sticky !important;
    bottom: 0px !important;
    z-index: 985 !important;
}

/* Clases universales del MJ Style Engine para todos los bloques en Gutenberg */
.mj-border-none { border: none !important; }
.mj-border-subtle { border: 1px solid rgba(15, 23, 42, 0.1) !important; }
.mj-border-neon-cyan { border: 1.5px solid #00F2FE !important; box-shadow: 0 0 18px rgba(0, 242, 254, 0.22) !important; }
.mj-border-electric-blue { border: 1.5px solid #2563EB !important; box-shadow: 0 0 18px rgba(37, 99, 235, 0.22) !important; }
.mj-border-emerald { border: 1.5px solid #10B981 !important; box-shadow: 0 0 18px rgba(16, 185, 129, 0.22) !important; }

.mj-shadow-none { box-shadow: none !important; }
.mj-shadow-soft { box-shadow: 0 6px 20px -6px rgba(15, 23, 42, 0.08) !important; }
.mj-shadow-elevated { box-shadow: 0 18px 42px -12px rgba(15, 23, 42, 0.16) !important; }
.mj-shadow-cyber-glow { box-shadow: 0 14px 36px -6px rgba(0, 242, 254, 0.32), 0 4px 16px rgba(37, 99, 235, 0.24) !important; }

.mj-scale-compact { transform: scale(0.95); transform-origin: center; }
.mj-scale-large { transform: scale(1.04); transform-origin: center; }

/* ==========================================================================
   1. BARRA SUPERIOR DE ANUNCIOS (100% ANCHO COMPLETO SIN BORDES CORTADOS)
   ========================================================================== */
.mj-topbar {
    background: var(--mj-topbar-bg, var(--mj-obsidian));
    color: var(--mj-topbar-color, #F8FAFC);
    font-family: var(--mj-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 8px 16px;
    border-bottom: 1px solid rgba(0, 242, 254, 0.18);
    position: relative;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

.mj-topbar__inner {
    max-width: 1380px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.mj-topbar__pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mj-cyan);
    box-shadow: 0 0 10px var(--mj-cyan);
    flex-shrink: 0;
    animation: mjPulseDot 2s infinite ease-in-out;
}

@keyframes mjPulseDot {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.45); opacity: 0.55; }
}

/* ==========================================================================
   2. HEADER PRINCIPAL CYBER-GLASS
   ========================================================================== */
.mj-header-wrapper {
    width: 100%;
    background: transparent;
}

.mj-header-glass-bar {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow: 0 4px 24px -6px rgba(15, 23, 42, 0.06);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-header-main-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 64px;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
}

.mj-header-brand-col {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
}

.mj-site-logo img {
    max-height: 46px !important;
    width: auto !important;
    display: block;
    transition: transform 0.25s ease;
}

.mj-site-logo:hover img {
    transform: scale(1.03);
}

/* ==========================================================================
   3. BUSCADOR INTELIGENTE FUTURISTA
   ========================================================================== */
.mj-search-box {
    flex: 1 1 480px;
    max-width: 560px;
    min-width: 200px;
    position: relative;
}

.mj-search-form {
    display: flex;
    align-items: center;
    background: #F1F5F9;
    border: 1.5px solid rgba(37, 99, 235, 0.18);
    border-radius: 999px;
    padding: 4px 5px 4px 16px;
    transition: all 0.25s ease;
}

.mj-search-form:focus-within {
    background: #FFFFFF;
    border-color: var(--mj-electric);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12), 0 8px 20px -6px rgba(37, 99, 235, 0.18);
}

.mj-search-icon {
    color: #64748B;
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
    flex-shrink: 0;
}

.mj-search-input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    width: 100%;
    font-family: var(--mj-font-sans);
    font-size: 0.925rem;
    color: var(--mj-navy);
    padding: 7px 0;
}

.mj-search-submit {
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 999px;
    padding: 9px 20px;
    font-family: var(--mj-font-sans);
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mj-search-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
}

/* ==========================================================================
   4. PÍLDORA DÓLAR, CUENTA, CARRITO Y BOTÓN MJ ERP
   ========================================================================== */
.mj-header-actions-col {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
}

.mj-dolar-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.10) 0%, rgba(5, 150, 105, 0.05) 100%);
    border: 1px solid rgba(16, 185, 129, 0.32);
    border-radius: 999px;
    padding: 7px 14px;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.mj-dolar-pill__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mj-emerald);
    box-shadow: 0 0 8px var(--mj-emerald);
    flex-shrink: 0;
}

.mj-dolar-pill__label {
    font-family: var(--mj-font-mono);
    font-size: 0.74rem;
    font-weight: 700;
    color: #047857;
    white-space: nowrap !important;
}

.mj-dolar-pill__value {
    font-family: var(--mj-font-mono);
    font-size: 0.88rem;
    font-weight: 800;
    color: #059669;
    font-variant-numeric: tabular-nums;
    white-space: nowrap !important;
}

.mj-icon-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F1F5F9;
    color: var(--mj-navy);
    text-decoration: none !important;
    border: 1px solid rgba(15, 23, 42, 0.08);
    flex-shrink: 0 !important;
    transition: all 0.2s ease;
}

.mj-icon-action:hover {
    background: var(--mj-navy);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.mj-cart-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #FFFFFF;
    border: 1.5px solid rgba(37, 99, 235, 0.22);
    border-radius: 999px;
    padding: 6px 14px 6px 10px;
    cursor: pointer;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.mj-cart-trigger:hover {
    border-color: var(--mj-electric);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.16);
    transform: translateY(-1px);
}

.mj-cart-trigger__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mj-navy);
}

.mj-cart-trigger__badge {
    position: absolute;
    top: -7px;
    right: -9px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: linear-gradient(135deg, #00F2FE 0%, #2563EB 100%);
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
}

.mj-cart-trigger__subtotal {
    font-family: var(--mj-font-display);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--mj-navy);
    font-variant-numeric: tabular-nums;
    white-space: nowrap !important;
}

.mj-cart-impact {
    animation: mjCartBounce 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes mjCartBounce {
    0% { transform: scale(1); }
    35% { transform: scale(1.22); box-shadow: 0 0 0 8px rgba(0, 242, 254, 0.32); border-color: var(--mj-cyan); }
    70% { transform: scale(0.95); }
    100% { transform: scale(1); }
}

.mj-erp-btn,
a.mj-erp-btn {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0, 242, 254, 0.35) !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important;
    flex-shrink: 0 !important;
    min-width: max-content !important;
    height: 40px !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-erp-btn:hover {
    transform: translateY(-2px);
    border-color: var(--mj-cyan) !important;
    box-shadow: 0 8px 22px rgba(0, 242, 254, 0.28), 0 4px 12px rgba(15, 23, 42, 0.25);
}

.mj-erp-btn__icon {
    display: inline-flex;
    align-items: center;
    color: var(--mj-cyan);
    flex-shrink: 0;
}

.mj-erp-btn__text {
    font-family: var(--mj-font-display);
    font-size: 0.82rem;
    font-weight: 700;
    color: #FFFFFF;
    white-space: nowrap !important;
}

.mj-erp-btn__badge {
    background: linear-gradient(135deg, #2563EB 0%, #00F2FE 100%);
    color: #070B14;
    font-family: var(--mj-font-mono);
    font-size: 0.65rem;
    font-weight: 800;
    padding: 3px 7px;
    border-radius: 999px;
    white-space: nowrap !important;
    line-height: 1;
}

/* ==========================================================================
   5. BARRA DE NAVEGACIÓN SECUNDARIA
   ========================================================================== */
.mj-header-nav-bar {
    background: rgba(248, 250, 252, 0.94);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(12px);
}

.mj-main-navigation {
    min-height: 42px;
}

.mj-main-navigation .wp-block-navigation-item__content {
    font-family: var(--mj-font-sans);
    font-size: 0.88rem;
    font-weight: 600;
    color: #334155 !important;
    text-decoration: none !important;
    padding: 8px 4px;
    position: relative;
    transition: color 0.2s ease;
}

.mj-main-navigation .wp-block-navigation-item__content:hover {
    color: var(--mj-electric) !important;
}

/* ==========================================================================
   6. PARTÍCULA FLY-TO-CART Y MINI-CARRITO PRO (SIN SUPERPOSICIÓN DE ADMIN BAR)
   ========================================================================== */
.mj-fly-particle {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
    pointer-events: none;
    border-radius: 16px;
    background-size: cover;
    background-position: center;
    background-color: #FFFFFF;
    border: 2px solid var(--mj-cyan);
    box-shadow: 0 12px 30px rgba(0, 242, 254, 0.45), 0 0 0 4px rgba(37, 99, 235, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    will-change: transform, opacity;
}

.is-adding-instant {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
    color: #FFFFFF !important;
    transform: scale(0.98);
}

.mj-cart-backdrop {
    position: fixed;
    top: var(--mj-adminbar-offset, 0px);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(7, 11, 20, 0.62);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 99990;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mj-cart-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.mj-cart-drawer {
    position: fixed;
    top: var(--mj-adminbar-offset, 0px) !important;
    right: 0;
    width: 100%;
    max-width: 430px;
    height: calc(100dvh - var(--mj-adminbar-offset, 0px)) !important;
    background: #FFFFFF;
    z-index: 99995;
    display: flex;
    flex-direction: column;
    box-shadow: -16px 0 48px rgba(7, 11, 20, 0.32);
    border-left: 1px solid rgba(37, 99, 235, 0.14);
    transform: translateX(104%);
    transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-cart-drawer.is-open {
    transform: translateX(0);
}

.mj-cart-drawer__header {
    padding: 18px 22px;
    background: linear-gradient(135deg, #070B14 0%, #0F172A 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 242, 254, 0.2);
    flex-shrink: 0;
}

.mj-cart-drawer__title-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mj-cart-drawer__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(0, 242, 254, 0.14);
    color: var(--mj-cyan);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mj-cart-drawer__title-group h3 {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: 1.1rem;
    font-weight: 700;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mj-cart-drawer__count-pill {
    background: linear-gradient(135deg, #00F2FE 0%, #2563EB 100%);
    color: #070B14;
    font-family: var(--mj-font-mono);
    font-size: 0.76rem;
    font-weight: 800;
    padding: 2px 9px;
    border-radius: 999px;
}

.mj-cart-drawer__close {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    cursor: pointer;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.mj-cart-drawer__close:hover {
    background: rgba(239, 68, 68, 0.28);
    border-color: #EF4444;
}

.mj-cart-shipping-bar {
    padding: 12px 22px;
    background: #F8FAFC;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    flex-shrink: 0;
}

.mj-cart-shipping-bar__text {
    margin: 0 0 7px;
    font-size: 0.82rem;
    color: #334155;
}

.mj-cart-shipping-bar__text span {
    color: #059669;
    font-weight: 800;
}

.mj-cart-shipping-bar__track {
    width: 100%;
    height: 7px;
    background: #E2E8F0;
    border-radius: 999px;
    overflow: hidden;
}

.mj-cart-shipping-bar__fill {
    height: 100%;
    background: linear-gradient(90deg, #2563EB 0%, #00F2FE 50%, #10B981 100%);
    border-radius: 999px;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mj-cart-item {
    display: flex;
    gap: 14px;
    padding: 12px;
    border-radius: 16px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 4px 14px -4px rgba(15, 23, 42, 0.04);
}

.mj-cart-item__thumb {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    background: #F8FAFC;
    flex-shrink: 0;
}

.mj-cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mj-cart-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.mj-cart-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.mj-cart-item__title {
    font-family: var(--mj-font-sans);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--mj-navy) !important;
    text-decoration: none !important;
}

.mj-cart-item__remove {
    background: transparent;
    border: none;
    color: #94A3B8;
    cursor: pointer;
    padding: 2px;
}

.mj-cart-item__remove:hover {
    color: #EF4444;
}

.mj-cart-item__unit {
    font-size: 0.78rem;
    color: #64748B;
    margin: 2px 0 6px;
}

.mj-cart-item__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mj-qty-stepper {
    display: inline-flex;
    align-items: center;
    background: #F1F5F9;
    border-radius: 999px;
    padding: 2px;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-qty-stepper button {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: #FFFFFF;
    color: var(--mj-navy);
    font-weight: 700;
    cursor: pointer;
}

.mj-qty-stepper span {
    min-width: 28px;
    text-align: center;
    font-family: var(--mj-font-mono);
    font-size: 0.82rem;
    font-weight: 700;
}

.mj-cart-item__total {
    font-family: var(--mj-font-display);
    font-size: 0.96rem;
    font-weight: 800;
    color: var(--mj-navy);
}

.mj-cart-drawer__footer {
    padding: 18px 22px 22px;
    background: #F8FAFC;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    flex-shrink: 0;
}

.mj-cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.92rem;
    color: #475569;
    margin-bottom: 10px;
}

.mj-cart-summary__subtotal {
    font-family: var(--mj-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--mj-navy);
}

.mj-cart-summary__transfer-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(13, 148, 136, 0.08) 100%);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 12px;
    padding: 10px 12px;
    margin-bottom: 16px;
}

.mj-cart-summary__transfer-badge {
    background: #10B981;
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 8px;
}

.mj-cart-summary__transfer-info {
    display: flex;
    flex-direction: column;
    font-size: 0.76rem;
    color: #065F46;
}

.mj-cart-summary__transfer-info strong {
    font-family: var(--mj-font-display);
    font-size: 1rem;
    font-weight: 800;
    color: #047857;
}

.mj-cart-drawer__actions {
    display: grid;
    grid-template-columns: 1fr 1.45fr;
    gap: 10px;
}

.mj-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1.5px solid rgba(15, 23, 42, 0.15);
    background: #FFFFFF;
    color: var(--mj-navy) !important;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none !important;
}

.mj-btn-primary-glow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #2563EB 0%, #0D9488 100%);
    color: #FFFFFF !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.45);
}

.mj-cart-empty {
    text-align: center;
    padding: 48px 20px;
}

.mj-cart-empty__orb {
    width: 68px;
    height: 68px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

/* ==========================================================================
   7. NUEVO: PLANTILLA SINGLE PRODUCT ESTILO MERCADOLIBRE VIP + MJ CYBER-LUXURY
   ========================================================================== */
.mj-ml-product-shell {
    max-width: 1320px;
    margin: 0 auto;
    font-family: var(--mj-font-sans);
}

.mj-ml-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 0.85rem;
    color: #475569;
}

.mj-ml-breadcrumbs__left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.mj-ml-breadcrumbs__left a {
    color: var(--mj-electric) !important;
    text-decoration: none !important;
    font-weight: 600;
}

.mj-ml-breadcrumbs__left a:hover {
    text-decoration: underline !important;
}

.mj-ml-breadcrumbs__back {
    color: var(--mj-navy) !important;
    font-weight: 700 !important;
}

.mj-ml-breadcrumbs__current {
    color: #0F172A;
}

.mj-ml-sku-pill {
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.1);
    padding: 4px 12px;
    border-radius: 999px;
    font-family: var(--mj-font-mono);
    font-size: 0.78rem;
    color: #334155;
}

.mj-ml-main-card {
    background: #FFFFFF;
    border-radius: var(--mj-ml-radius, 22px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 16px 40px -14px rgba(15, 23, 42, 0.08);
    padding: 28px;
    margin-bottom: 40px;
}

.mj-ml-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) 390px;
    gap: 36px;
    align-items: start;
}

/* Galería Estilo MercadoLibre con Miniaturas a la izquierda + Lupa Zoom */
.mj-ml-gallery {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    margin-bottom: 32px;
}

.mj-ml-gallery__thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mj-ml-gallery__thumb {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    border: 2px solid rgba(15, 23, 42, 0.12);
    background: #FFFFFF;
    padding: 3px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.2s ease;
}

.mj-ml-gallery__thumb.is-active,
.mj-ml-gallery__thumb:hover {
    border-color: var(--mj-electric);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.mj-ml-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.mj-ml-gallery__stage {
    position: relative;
    border-radius: 18px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.06);
    aspect-ratio: 1 / 1;
    max-height: 540px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: zoom-in;
}

.mj-ml-gallery__main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.18s ease-out;
}

.mj-ml-gallery__main-img.is-zoomed {
    transform: scale(1.75);
}

.mj-ml-gallery__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    background: linear-gradient(135deg, #2563EB 0%, #00F2FE 100%);
    color: #070B14;
    font-family: var(--mj-font-mono);
    font-size: 0.74rem;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
}

.mj-ml-gallery__zoom-hint {
    position: absolute;
    bottom: 14px;
    right: 14px;
    background: rgba(15, 23, 42, 0.72);
    color: #FFFFFF;
    font-size: 0.75rem;
    padding: 5px 12px;
    border-radius: 999px;
    pointer-events: none;
    backdrop-filter: blur(6px);
}

/* Secciones Internas de la Columna Izquierda (Especificaciones y Descripción) */
.mj-ml-section {
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-ml-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.mj-ml-section__title {
    font-family: var(--mj-font-display);
    font-size: 1.38rem;
    font-weight: 800;
    color: var(--mj-navy);
    margin: 0 0 18px;
}

.mj-ml-highlights-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.mj-ml-highlight-pill {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 14px;
    padding: 12px 14px;
}

.mj-ml-highlight-pill__icon {
    font-size: 1.35rem;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
}

.mj-ml-highlight-pill small {
    display: block;
    font-size: 0.72rem;
    color: #64748B;
}

.mj-ml-highlight-pill strong {
    font-size: 0.88rem;
    color: var(--mj-navy);
}

/* Tabla Zebra de Características Estilo MercadoLibre */
.mj-ml-specs-table {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-ml-specs-table__row {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    padding: 13px 18px;
    font-size: 0.9rem;
}

.mj-ml-specs-table__row.is-even {
    background: #F8FAFC;
}

.mj-ml-specs-table__row.is-odd {
    background: #FFFFFF;
}

.mj-ml-specs-table__key {
    font-weight: 700;
    color: #334155;
}

.mj-ml-specs-table__val {
    color: #0F172A;
}

.mj-ml-description__body {
    font-size: 1rem;
    line-height: 1.75;
    color: #334155;
}

.mj-ml-description__body ul {
    padding-left: 20px;
}

.mj-ml-description__body li {
    margin-bottom: 8px;
}

/* Columna Derecha: Buy Box Sticky Estilo MercadoLibre VIP */
.mj-ml-buybox {
    background: #FFFFFF;
    border: 1.5px solid rgba(15, 23, 42, 0.1);
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 12px 32px -10px rgba(15, 23, 42, 0.08);
    top: var(--mj-header-sticky-top, 148px) !important;
}

.mj-ml-buybox__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: #64748B;
    margin-bottom: 8px;
}

.mj-ml-buybox__stars {
    margin-left: auto;
    color: #F59E0B;
    font-weight: 700;
}

.mj-ml-buybox__title {
    font-family: var(--mj-font-display);
    font-size: 1.42rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--mj-navy);
    margin: 0 0 10px;
}

.mj-ml-store-verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #2563EB;
    background: rgba(37, 99, 235, 0.08);
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 16px;
}

.mj-ml-store-verified__check {
    background: #2563EB;
    color: #FFFFFF;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 800;
}

.mj-ml-price-block {
    margin-bottom: 14px;
}

.mj-ml-price-regular {
    display: block;
    font-size: 0.92rem;
    color: #94A3B8;
}

.mj-ml-price-main-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}

.mj-ml-price-ars {
    font-family: var(--mj-font-display);
    font-size: 2.15rem;
    font-weight: 800;
    color: var(--mj-navy);
    letter-spacing: -0.03em;
}

.mj-ml-price-usd {
    font-family: var(--mj-font-mono);
    font-size: 0.84rem;
    font-weight: 700;
    color: #059669;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.25);
    padding: 3px 9px;
    border-radius: 999px;
}

/* Tarjeta Esmeralda -15% Transferencia */
.mj-ml-transfer-card {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14) 0%, rgba(13, 148, 136, 0.06) 100%);
    border: 1.5px solid rgba(16, 185, 129, 0.38);
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.mj-ml-transfer-card__top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.mj-ml-transfer-card__badge {
    background: #10B981;
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 0.74rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 6px;
}

.mj-ml-transfer-card__price {
    font-family: var(--mj-font-display);
    font-size: 1.35rem;
    font-weight: 800;
    color: #047857;
}

.mj-ml-transfer-card__sub {
    margin: 0;
    font-size: 0.78rem;
    color: #065F46;
}

/* Tarjeta de Cuotas y Medios de Pago */
.mj-ml-payments-card {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.mj-ml-payments-card__row {
    display: flex;
    gap: 10px;
    font-size: 0.84rem;
    color: #334155;
}

.mj-ml-payments-card__row p {
    margin: 3px 0 6px;
    font-size: 0.76rem;
    color: #64748B;
}

.mj-ml-link-btn {
    background: transparent;
    border: none;
    padding: 0;
    color: var(--mj-electric);
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}

.mj-ml-link-btn:hover {
    text-decoration: underline;
}

/* Calculador de Envío por Código Postal */
.mj-ml-shipping-box {
    background: #F8FAFC;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.mj-ml-shipping-box__head {
    display: flex;
    gap: 10px;
    font-size: 0.84rem;
    margin-bottom: 10px;
}

.mj-ml-shipping-box__head p {
    margin: 2px 0 0;
    font-size: 0.75rem;
    color: #64748B;
}

.mj-ml-shipping-box__free {
    color: #059669;
}

.mj-ml-shipping-box__form {
    display: flex;
    gap: 8px;
}

.mj-ml-shipping-box__input {
    flex: 1;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 0.84rem;
    background: #FFFFFF;
}

.mj-ml-shipping-box__btn {
    background: var(--mj-navy);
    color: #FFFFFF;
    border: none;
    border-radius: 10px;
    padding: 8px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.mj-ml-shipping-box__btn:hover {
    background: var(--mj-electric);
}

.mj-ml-shipping-box__results {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(15, 23, 42, 0.12);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mj-ship-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: #FFFFFF;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 0.78rem;
}

.mj-ship-option small {
    display: block;
    color: #64748B;
    font-size: 0.72rem;
}

.mj-ship-price {
    font-family: var(--mj-font-mono);
    font-weight: 800;
    color: var(--mj-navy);
    white-space: nowrap;
}

.mj-ship-price.is-free {
    color: #059669;
}

/* Stock y Selector de Cantidad */
.mj-ml-stock-box {
    margin-bottom: 16px;
}

.mj-ml-stock-status {
    font-size: 0.84rem;
    margin: 0 0 10px;
}

.mj-ml-stock-status.is-in-stock {
    color: #059669;
}

.mj-ml-qty-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.86rem;
}

.mj-ml-qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 10px;
    overflow: hidden;
    background: #F8FAFC;
}

.mj-ml-qty-control button {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    font-weight: 800;
    cursor: pointer;
}

.mj-ml-qty-control input {
    width: 44px;
    text-align: center;
    border: none;
    background: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-weight: 700;
    height: 32px;
}

.mj-ml-qty-avail {
    color: #64748B;
    font-size: 0.76rem;
}

/* Botones de Acción (Comprar Ahora + Agregar al Carrito + WhatsApp) */
.mj-ml-buy-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.mj-ml-btn-buy-now {
    width: 100%;
    padding: 14px 18px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #FFFFFF;
    font-family: var(--mj-font-sans);
    font-size: 0.96rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 22px -4px rgba(37, 99, 235, 0.45);
    transition: all 0.2s ease;
}

.mj-ml-btn-buy-now:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -4px rgba(37, 99, 235, 0.6);
}

.mj-ml-btn-add-cart {
    width: 100%;
    padding: 13px 18px;
    border-radius: 12px;
    border: 1.5px solid rgba(37, 99, 235, 0.35);
    background: rgba(37, 99, 235, 0.08);
    color: #1D4ED8;
    font-family: var(--mj-font-sans);
    font-size: 0.94rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mj-ml-btn-add-cart:hover {
    background: rgba(37, 99, 235, 0.15);
}

.mj-ml-btn-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    border-radius: 12px;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #047857 !important;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none !important;
}

.mj-ml-guarantees {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #64748B;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Modal de Medios de Pago */
.mj-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(7, 11, 20, 0.68);
    backdrop-filter: blur(6px);
    z-index: 99998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.mj-modal-backdrop[hidden] {
    display: none !important;
}

.mj-modal-card {
    background: #FFFFFF;
    max-width: 560px;
    width: 100%;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(7, 11, 20, 0.45);
}

.mj-modal-card__header {
    background: var(--mj-navy);
    color: #FFFFFF;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mj-modal-card__header h3 {
    margin: 0;
    font-size: 1.05rem;
    color: #FFFFFF;
}

.mj-modal-card__close {
    background: rgba(255, 255, 255, 0.12);
    color: #FFFFFF;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
}

.mj-modal-card__body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mj-pay-method-group {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #F8FAFC;
}

.mj-pay-method-group__badge {
    display: inline-block;
    background: #10B981;
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 999px;
    margin-bottom: 6px;
}

.mj-pay-method-group h4 {
    margin: 0 0 4px;
    color: var(--mj-navy);
}

.mj-pay-method-group p {
    margin: 0;
    font-size: 0.86rem;
    color: #475569;
}

/* ==========================================================================
   8. NUEVO: REDISEÑO COMPLETO DE /MI-CUENTA/ (CYBER-LUXURY ACCOUNT HUB)
   ========================================================================== */
.mj-account-pro-hub {
    margin-bottom: 28px;
}

.mj-account-pro-banner {
    background: radial-gradient(circle at 15% 20%, #1E3A8A 0%, #0F172A 55%, #070B14 100%);
    color: #FFFFFF;
    border-radius: 24px;
    padding: 28px 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid rgba(0, 242, 254, 0.25);
    box-shadow: 0 20px 48px -14px rgba(7, 11, 20, 0.35);
    margin-bottom: 20px;
}

.mj-account-pro-banner__user {
    display: flex;
    align-items: center;
    gap: 18px;
}

.mj-account-pro-banner__avatar img {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 2.5px solid var(--mj-cyan);
    box-shadow: 0 0 16px rgba(0, 242, 254, 0.35);
}

.mj-account-pro-banner__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.mj-account-pro-banner__role {
    background: rgba(0, 242, 254, 0.14);
    border: 1px solid rgba(0, 242, 254, 0.35);
    color: var(--mj-cyan);
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
}

.mj-account-pro-banner__dolar {
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.35);
    color: #6EE7B7;
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: 999px;
}

.mj-account-pro-banner__name {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: 1.55rem;
    font-weight: 800;
    color: #FFFFFF;
}

.mj-account-pro-banner__email {
    margin: 2px 0 0;
    font-size: 0.85rem;
    color: #94A3B8;
}

.mj-account-pro-banner__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.mj-account-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.mj-account-kpi-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 16px 18px;
    text-decoration: none !important;
    box-shadow: 0 6px 18px -6px rgba(15, 23, 42, 0.05);
    transition: all 0.22s ease;
}

.mj-account-kpi-card:hover {
    transform: translateY(-3px);
    border-color: var(--mj-electric);
    box-shadow: 0 12px 26px -8px rgba(37, 99, 235, 0.18);
}

.mj-account-kpi-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #F1F5F9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.mj-account-kpi-card small {
    display: block;
    font-size: 0.75rem;
    color: #64748B;
}

.mj-account-kpi-card strong {
    font-family: var(--mj-font-display);
    font-size: 0.96rem;
    color: var(--mj-navy);
}

/* ==========================================================================
   8.1 WOOCOMMERCE MY ACCOUNT: MENÚ LATERAL Y CONTENIDO (USUARIO LOGUEADO)
   ========================================================================== */
body.logged-in.woocommerce-account .woocommerce,
.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

.woocommerce-account .mj-account-pro-hub {
    grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 20px !important;
}

/* 8.2 MENÚ LATERAL PRO MODERNO */
.woocommerce-MyAccount-navigation,
.mj-account-nav {
    background: #FFFFFF !important;
    border-radius: 24px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    padding: 16px !important;
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.06) !important;
    box-sizing: border-box !important;
}

.mj-account-nav__title {
    padding: 10px 14px 14px;
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94A3B8;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    margin-bottom: 8px;
}

.woocommerce-MyAccount-navigation ul,
.mj-account-nav__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.woocommerce-MyAccount-navigation ul li,
.mj-account-nav__item {
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li a,
.mj-account-nav__link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    border-radius: 14px !important;
    color: #334155 !important;
    text-decoration: none !important;
    font-family: var(--mj-font-sans) !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
}

.mj-account-nav__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748B;
    transition: transform 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}

.mj-account-nav__label {
    flex-grow: 1;
}

.mj-account-nav__chevron {
    font-size: 0.85rem;
    color: #CBD5E1;
    transition: transform 0.2s ease, color 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.mj-account-nav__link:hover {
    background: #F8FAFC !important;
    color: var(--mj-electric) !important;
    transform: translateX(3px) !important;
}

.woocommerce-MyAccount-navigation ul li a:hover .mj-account-nav__icon,
.mj-account-nav__link:hover .mj-account-nav__icon {
    color: var(--mj-electric);
    transform: scale(1.1);
}

.woocommerce-MyAccount-navigation ul li a:hover .mj-account-nav__chevron,
.mj-account-nav__link:hover .mj-account-nav__chevron {
    color: var(--mj-electric);
    transform: translateX(2px);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.mj-account-nav__item.is-active .mj-account-nav__link,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important;
    color: #FFFFFF !important;
    border-left: 3px solid var(--mj-cyan) !important;
    box-shadow: 0 8px 20px -6px rgba(15, 23, 42, 0.25) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a .mj-account-nav__icon,
.mj-account-nav__item.is-active .mj-account-nav__icon,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] .mj-account-nav__icon {
    color: var(--mj-cyan) !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--mj-erp-link a {
    background: rgba(0, 242, 254, 0.1) !important;
    color: #0284C7 !important;
    border: 1px solid rgba(0, 242, 254, 0.35) !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #E11D48 !important;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #FFF1F2 !important;
}

/* 8.3 CONTENEDOR PRINCIPAL MI CUENTA (LOGUEADO) */
.woocommerce-MyAccount-content {
    background: #FFFFFF !important;
    border-radius: 24px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    padding: 32px 36px !important;
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.06) !important;
    font-size: 0.96rem;
    color: #334155;
    box-sizing: border-box !important;
}

.woocommerce-MyAccount-content a {
    color: var(--mj-electric) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content a:hover {
    text-decoration: underline !important;
}

/* Dashboard de Bienvenida Logueado */
.mj-dashboard-hub {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mj-dashboard-welcome-banner {
    background: radial-gradient(circle at 10% 20%, #1E3A8A 0%, #0F172A 70%, #070B14 100%);
    border-radius: 20px;
    padding: 28px 30px;
    color: #FFFFFF;
    border: 1px solid rgba(0, 242, 254, 0.22);
    box-shadow: 0 16px 40px -10px rgba(7, 11, 20, 0.35);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.mj-dashboard-welcome-banner__badge {
    display: inline-block;
    background: rgba(0, 242, 254, 0.15);
    border: 1px solid rgba(0, 242, 254, 0.35);
    color: var(--mj-cyan);
    font-family: var(--mj-font-mono);
    font-size: 0.74rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 999px;
    margin-bottom: 8px;
}

.mj-dashboard-welcome-banner__title {
    margin: 0 0 6px;
    font-family: var(--mj-font-display);
    font-size: 1.6rem;
    font-weight: 800;
    color: #FFFFFF;
}

.mj-dashboard-welcome-banner__text {
    margin: 0;
    font-size: 0.92rem;
    color: #94A3B8;
    max-width: 580px;
    line-height: 1.45;
}

.mj-dashboard-welcome-banner__text strong {
    color: #38BDF8;
}

.mj-dashboard-welcome-banner__actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.mj-btn-dashboard-hero {
    background: linear-gradient(135deg, #0284C7 0%, #2563EB 100%) !important;
    color: #FFFFFF !important;
    padding: 12px 22px !important;
    border-radius: 12px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px -4px rgba(37, 99, 235, 0.45) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.mj-btn-dashboard-hero:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 24px -4px rgba(37, 99, 235, 0.55) !important;
    text-decoration: none !important;
}

.mj-btn-dashboard-logout {
    color: #94A3B8 !important;
    font-size: 0.86rem !important;
    padding: 10px 14px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.mj-btn-dashboard-logout:hover {
    color: #F43F5E !important;
    text-decoration: underline !important;
}

/* Accesos rápidos en Dashboard */
.mj-dashboard-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.mj-dashboard-card {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-dashboard-card:hover {
    background: #FFFFFF;
    border-color: var(--mj-electric);
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -6px rgba(37, 99, 235, 0.16);
}

.mj-dashboard-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mj-dashboard-card__icon--orders { background: rgba(37, 99, 235, 0.12); color: #2563EB; }
.mj-dashboard-card__icon--address { background: rgba(16, 185, 129, 0.12); color: #10B981; }
.mj-dashboard-card__icon--account { background: rgba(245, 158, 11, 0.12); color: #D97706; }
.mj-dashboard-card__icon--support { background: rgba(6, 182, 212, 0.12); color: #0891B2; }

.mj-dashboard-card__info {
    flex-grow: 1;
}
.mj-dashboard-card__info h4 {
    margin: 0 0 3px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0F172A;
}
.mj-dashboard-card__info p {
    margin: 0;
    font-size: 0.78rem;
    color: #64748B;
}
.mj-dashboard-card__arrow {
    font-size: 1.1rem;
    color: #CBD5E1;
    transition: transform 0.2s ease, color 0.2s ease;
}
.mj-dashboard-card:hover .mj-dashboard-card__arrow {
    color: var(--mj-electric);
    transform: translateX(3px);
}

/* Tablas y Formularios WooCommerce My Account */
.woocommerce-MyAccount-content table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 24px;
}

.woocommerce-MyAccount-content table.shop_table th {
    background: #F8FAFC;
    padding: 14px 18px;
    font-family: var(--mj-font-sans);
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--mj-navy);
    text-align: left;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.woocommerce-MyAccount-content table.shop_table td {
    padding: 16px 18px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 0.92rem;
}

.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1.5px solid rgba(15, 23, 42, 0.12);
    background: #F8FAFC;
    font-family: var(--mj-font-sans);
    font-size: 0.92rem;
    box-sizing: border-box;
    transition: all 0.22s ease;
}

.woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    background: #FFFFFF;
    border-color: var(--mj-electric);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    outline: none;
}

.woocommerce-MyAccount-content .button {
    background: linear-gradient(135deg, #2563EB 0%, #0284C7 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 13px 24px !important;
    font-weight: 700 !important;
    cursor: pointer;
    box-shadow: 0 6px 18px -4px rgba(37, 99, 235, 0.35) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.woocommerce-MyAccount-content .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px -4px rgba(37, 99, 235, 0.45) !important;
}

/* ==========================================================================
   8.4 CYBER-LUXURY AUTH EXPERIENCE: ACCESO Y REGISTRO CENTRALIZADO
   ========================================================================== */
.mj-auth-wrapper {
    width: 100% !important;
    max-width: 480px !important;
    margin: 28px auto 64px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    clear: both !important;
    animation: mjAuthFadeUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes mjAuthFadeUp {
    0% { opacity: 0; transform: translateY(16px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* CONTENEDOR CENTRALIZADO GLASSMORPHIC */
.mj-auth-box {
    background: #FFFFFF !important;
    border-radius: 28px !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(15, 23, 42, 0.03) !important;
    padding: 38px 34px 28px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow: hidden !important;
}

/* BARRA SUPERIOR DE GRADIENTE NEÓN */
.mj-auth-box__top-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5px;
    background: linear-gradient(90deg, #00F2FE 0%, #0284C7 35%, #2563EB 70%, #7C3AED 100%);
}

/* ENCABEZADO DE LA CAJA */
.mj-auth-box__header {
    text-align: center;
    margin-bottom: 24px;
}

.mj-auth-box__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    color: #475569;
    font-family: var(--mj-font-mono, monospace);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}

.mj-auth-box__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #0284C7;
    box-shadow: 0 0 8px #00F2FE;
    animation: mjPulseDot 2s ease-in-out infinite;
}

@keyframes mjPulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.55; transform: scale(0.85); }
}

.mj-auth-box__title {
    margin: 0 0 6px !important;
    font-family: var(--mj-font-display, inherit) !important;
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.25 !important;
    transition: opacity 0.2s ease;
}

.mj-auth-box__subtitle {
    margin: 0 !important;
    font-size: 0.88rem !important;
    color: #64748B !important;
    line-height: 1.45 !important;
    transition: opacity 0.2s ease;
}

/* ALTERNADOR DE PESTAÑAS SEGMENTADO LÍQUIDO */
.mj-auth-tabs {
    position: relative !important;
    background: #F1F5F9 !important;
    border-radius: 999px !important;
    padding: 4px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    margin-bottom: 26px !important;
    border: 1px solid #E2E8F0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    user-select: none !important;
    box-shadow: inset 0 2px 4px rgba(15, 23, 42, 0.04) !important;
}

/* PASTILLA DESLIZANTE DE FONDO (GLIDER) */
.mj-auth-tabs__glider {
    position: absolute !important;
    top: 4px !important;
    bottom: 4px !important;
    left: 4px !important;
    width: calc(50% - 4px) !important;
    background: #FFFFFF !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04) !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.mj-auth-tabs[data-active="register"] .mj-auth-tabs__glider {
    transform: translateX(100%) !important;
}

.mj-auth-tab {
    position: relative !important;
    z-index: 2 !important;
    flex: 1 !important;
    text-align: center !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    border: none !important;
    background: transparent !important;
    font-family: var(--mj-font-sans, inherit) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    color: #64748B !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: color 0.22s ease !important;
    box-shadow: none !important;
    outline: none !important;
}

.mj-auth-tab:hover {
    color: #0F172A !important;
}

.mj-auth-tab.is-active {
    color: #0F172A !important;
}

.mj-auth-tab__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #94A3B8 !important;
    transition: color 0.22s ease !important;
}

.mj-auth-tab.is-active .mj-auth-tab__icon {
    color: #2563EB !important;
}

/* ETAPA DE PANELES Y ANULACIÓN ABSOLUTA DE FLOATS DE WOOCOMMERCE */
.mj-auth-stage,
.mj-auth-wrapper #customer_login {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
}

/* REGLA DEFINITIVA DE PANELES: SÓLO UNO VISIBLE A LA VEZ */
.mj-auth-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.mj-auth-panel.is-active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    animation: mjAuthPanelFadeIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

@keyframes mjAuthPanelFadeIn {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* FORMULARIOS Y CAMPOS */
.mj-auth-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    float: none !important;
    clear: both !important;
}

.mj-form-group {
    margin-bottom: 18px !important;
    width: 100% !important;
    clear: both !important;
}

.mj-label {
    display: block !important;
    font-family: var(--mj-font-sans, inherit) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    color: #1E293B !important;
    margin-bottom: 6px !important;
}

.mj-label .required {
    color: #E11D48 !important;
    margin-left: 2px !important;
    text-decoration: none !important;
}

.mj-label-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6px !important;
    gap: 8px !important;
}

.mj-lost-link {
    font-size: 0.82rem !important;
    color: #2563EB !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.mj-lost-link:hover {
    text-decoration: underline !important;
    color: #1D4ED8 !important;
}

.mj-input-wrapper {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mj-input-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #94A3B8 !important;
    pointer-events: none !important;
    transition: color 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
}

.mj-input {
    width: 100% !important;
    height: 48px !important;
    padding: 12px 16px 12px 44px !important;
    border-radius: 14px !important;
    border: 1.5px solid #E2E8F0 !important;
    background: #F8FAFC !important;
    font-family: var(--mj-font-sans, inherit) !important;
    font-size: 0.95rem !important;
    color: #0F172A !important;
    transition: all 0.22s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.mj-input:focus {
    background: #FFFFFF !important;
    border-color: #0284C7 !important;
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.14) !important;
    outline: none !important;
}

.mj-input-wrapper:focus-within .mj-input-icon {
    color: #0284C7 !important;
}

.mj-input-wrapper--password .mj-input {
    padding-right: 46px !important;
}

.mj-password-toggle {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 6px !important;
    cursor: pointer !important;
    color: #94A3B8 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s ease, background 0.2s ease !important;
    z-index: 2 !important;
}

.mj-password-toggle:hover {
    color: #0F172A !important;
    background: #F1F5F9 !important;
}

.mj-password-toggle .mj-eye-closed {
    display: none !important;
}
.mj-password-toggle.is-revealed .mj-eye-open {
    display: none !important;
}
.mj-password-toggle.is-revealed .mj-eye-closed {
    display: block !important;
    color: #0284C7 !important;
}

/* RECORDAR SESIÓN CHECKBOX */
.mj-form-utility {
    margin-bottom: 20px !important;
    clear: both !important;
}

.mj-checkbox-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 0.88rem !important;
    color: #475569 !important;
    user-select: none !important;
}

.mj-checkbox {
    width: 17px !important;
    height: 17px !important;
    border-radius: 5px !important;
    accent-color: #2563EB !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* MINI PERKS EN REGISTRO */
.mj-register-mini-perks {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
    clear: both !important;
}

.mj-mini-perk {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(2, 132, 199, 0.08) !important;
    border: 1px solid rgba(2, 132, 199, 0.2) !important;
    color: #0369A1 !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
}

/* NOTICIA DE SEGURIDAD EN REGISTRO */
.mj-reg-security-notice {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: #F0F9FF !important;
    border: 1px solid #BAE6FD !important;
    border-radius: 14px !important;
    padding: 12px 14px !important;
    margin-bottom: 20px !important;
    clear: both !important;
}

.mj-reg-security-icon {
    color: #0284C7 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.mj-reg-security-text strong {
    display: block !important;
    font-size: 0.84rem !important;
    color: #0369A1 !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
}

.mj-reg-security-text p {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: #075985 !important;
    line-height: 1.35 !important;
}

/* BOTONES DE ENVÍO Y ANULACIÓN DE FLOATS DE WOOCOMMERCE */
.mj-form-submit {
    margin-bottom: 16px !important;
    width: 100% !important;
    clear: both !important;
}

.mj-auth-wrapper .woocommerce-form-login__submit,
.mj-auth-wrapper .woocommerce-form-register__submit,
.mj-auth-wrapper .mj-btn-primary {
    float: none !important;
    display: flex !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 22px !important;
    border-radius: 14px !important;
    border: none !important;
    font-family: var(--mj-font-sans, inherit) !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #0284C7 0%, #2563EB 50%, #1D4ED8 100%) !important;
    box-shadow: 0 10px 24px -6px rgba(37, 99, 235, 0.45) !important;
    transition: transform 0.2s ease, box-shadow 0.25s ease, opacity 0.2s ease !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.mj-auth-wrapper .mj-btn-primary--register {
    background: linear-gradient(135deg, #0D9488 0%, #0284C7 50%, #2563EB 100%) !important;
    box-shadow: 0 10px 24px -6px rgba(13, 148, 136, 0.4) !important;
}

.mj-auth-wrapper .mj-btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 28px -6px rgba(37, 99, 235, 0.55) !important;
}

.mj-auth-wrapper .mj-btn-primary::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -70%;
    width: 35%;
    height: 200%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    transform: rotate(25deg);
    transition: none;
}

.mj-auth-wrapper .mj-btn-primary:hover::after {
    left: 140%;
    transition: left 0.75s ease-in-out;
}

/* CAJA DE CAMBIO DIRECTO AL PIE */
.mj-auth-switch-prompt {
    clear: both !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin: 0 0 12px !important;
    padding: 10px 14px !important;
    background: #F8FAFC !important;
    border-radius: 12px !important;
    border: 1px dashed #CBD5E1 !important;
    box-sizing: border-box !important;
}

.mj-switch-prompt__text {
    font-size: 0.85rem !important;
    color: #64748B !important;
}

.mj-switch-btn {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #2563EB !important;
    font-family: var(--mj-font-sans, inherit) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    transition: color 0.2s ease !important;
}

.mj-switch-btn:hover {
    color: #1D4ED8 !important;
}

.mj-privacy-small {
    margin: 10px 0 0 !important;
    font-size: 0.75rem !important;
    color: #94A3B8 !important;
    text-align: center !important;
    line-height: 1.4 !important;
    clear: both !important;
}

/* TRUST FOOTER STRIP */
.mj-auth-trust-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
    margin-top: 14px !important;
    clear: both !important;
}

.mj-auth-trust-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.74rem !important;
    color: #64748B !important;
    font-weight: 600 !important;
}

.mj-auth-trust-item__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0284C7 !important;
}

/* NOTICES DE WOOCOMMERCE CENTRADAS */
.woocommerce:has(.mj-auth-wrapper) .woocommerce-notices-wrapper,
.mj-woocommerce-account-shell .woocommerce-notices-wrapper:has(+ .mj-auth-wrapper),
.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    max-width: 480px !important;
    margin: 0 auto 20px !important;
}

/* RESPONSIVE DESIGN AUTH HUB */
@media (max-width: 520px) {
    .mj-auth-box {
        padding: 28px 20px 22px !important;
        border-radius: 22px !important;
    }
    .mj-auth-box__title {
        font-size: 1.48rem !important;
    }
    .mj-auth-tab {
        font-size: 0.86rem !important;
        padding: 9px 8px !important;
        gap: 6px !important;
    }
    .mj-input {
        font-size: 16px !important; /* Previene auto-zoom molesto en iOS */
    }
    .mj-auth-trust-strip {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
    }
}

/* PÁGINA RECUPERAR CONTRASEÑA CENTRALIZADA */
.mj-lost-password-wrapper {
    max-width: 480px !important;
    margin: 36px auto 70px !important;
}

.mj-back-to-login {
    margin-top: 18px;
    text-align: center;
}
.mj-back-to-login a {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--mj-electric) !important;
    text-decoration: none !important;
}
.mj-back-to-login a:hover {
    text-decoration: underline !important;
}

/* NOTICES Y ALERTAS MODERNIZADAS */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    border-radius: 16px !important;
    padding: 14px 20px !important;
    font-family: var(--mj-font-sans) !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    box-shadow: 0 10px 24px -6px rgba(15, 23, 42, 0.08) !important;
    border-top: none !important;
    border-left: 4px solid !important;
    margin-bottom: 20px !important;
}

.woocommerce-error {
    background: #FFF1F2 !important;
    border-color: #E11D48 !important;
    color: #9F1239 !important;
}
.woocommerce-error a {
    color: #BE123C !important;
    font-weight: 700 !important;
}

.woocommerce-message {
    background: #ECFDF5 !important;
    border-color: #10B981 !important;
    color: #065F46 !important;
}
.woocommerce-message a {
    color: #047857 !important;
    font-weight: 700 !important;
}

.woocommerce-info {
    background: #F0F9FF !important;
    border-color: #0284C7 !important;
    color: #075985 !important;
}
.woocommerce-info a {
    color: #0369A1 !important;
    font-weight: 700 !important;
}



/* ==========================================================================
   9. HERO CYBER-GLOW, TRUST BADGES, CATEGORÍAS, CATÁLOGO Y TARJETAS PRO
   ========================================================================== */
.mj-hero-cyber {
    position: relative;
    border-radius: 28px;
    background: radial-gradient(circle at 20% 20%, #1E3A8A 0%, #0F172A 52%, #070B14 100%);
    color: #FFFFFF;
    padding: 64px 32px;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 24px 60px -15px rgba(7, 11, 20, 0.45);
    border: 1px solid rgba(0, 242, 254, 0.22);
    margin-bottom: 36px;
}

.mj-hero-cyber__glow {
    position: absolute;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 242, 254, 0.22) 0%, transparent 70%);
    top: -180px;
    right: -120px;
    pointer-events: none;
}

.mj-hero-cyber__inner {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto;
}

.mj-hero-cyber__badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(0, 242, 254, 0.35);
    color: var(--mj-cyan);
    font-family: var(--mj-font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 20px;
}

.mj-hero-cyber__title {
    font-family: var(--mj-font-display);
    font-size: clamp(2rem, 4.2vw, 3.35rem);
    font-weight: 800;
    line-height: 1.12;
    color: #FFFFFF;
    margin: 0 0 18px;
}

.mj-hero-cyber__subtitle {
    font-size: 1.06rem;
    color: #CBD5E1;
    max-width: 640px;
    margin: 0 auto 28px;
}

.mj-hero-cyber__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

.mj-btn-hero-glass {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none !important;
    backdrop-filter: blur(8px);
}

.mj-trust-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin-bottom: 40px;
}

.mj-trust-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 6px 20px -6px rgba(15, 23, 42, 0.05);
}

.mj-trust-card__icon {
    font-size: 1.65rem;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #F1F5F9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mj-trust-card__title {
    margin: 0 0 3px;
    font-family: var(--mj-font-display);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--mj-navy);
}

.mj-trust-card__sub {
    margin: 0;
    font-size: 0.8rem;
    color: #64748B;
}

.mj-section-block {
    margin-bottom: 48px;
}

.mj-section-header {
    margin-bottom: 22px;
}

.mj-section-header--split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mj-section-title {
    font-family: var(--mj-font-display);
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--mj-navy);
    margin: 0;
}

.mj-countdown-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--mj-navy);
    color: #FFFFFF;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.84rem;
    border: 1px solid rgba(0, 242, 254, 0.35);
}

.mj-countdown-pill strong {
    font-family: var(--mj-font-mono);
    color: var(--mj-cyan);
}

.mj-categories-pills {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
}

.mj-category-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 16px 20px;
    text-decoration: none !important;
    transition: all 0.22s ease;
}

.mj-category-card:hover {
    border-color: var(--mj-electric);
    transform: translateY(-3px);
}

.mj-category-card__name {
    font-family: var(--mj-font-display);
    font-weight: 700;
    color: var(--mj-navy);
}

.mj-category-card__count {
    font-family: var(--mj-font-mono);
    font-size: 0.76rem;
    color: var(--mj-electric);
    background: rgba(37, 99, 235, 0.08);
    padding: 4px 10px;
    border-radius: 999px;
}

.mj-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
    gap: 22px;
}

.wc-block-grid__product,
ul.products li.product,
.mj-product-card {
    border-radius: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, 0.07) !important;
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 16px;
}

.wc-block-grid__product:hover,
ul.products li.product:hover,
.mj-product-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(37, 99, 235, 0.32) !important;
    box-shadow: 0 20px 38px -12px rgba(37, 99, 235, 0.16) !important;
}

.mj-product-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    background: #F8FAFC;
    margin-bottom: 14px;
}

.mj-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.mj-product-card:hover .mj-product-card__media img {
    transform: scale(1.05);
}

.mj-product-card__sale-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    background: linear-gradient(135deg, #2563EB 0%, #00F2FE 100%);
    color: #070B14;
    font-family: var(--mj-font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
}

.mj-product-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.74rem;
    margin-bottom: 6px;
}

.mj-product-card__cat {
    color: var(--mj-electric);
    font-weight: 700;
}

.mj-product-card__sku {
    font-family: var(--mj-font-mono);
    color: #64748B;
}

.mj-product-card__title {
    font-size: 0.98rem;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.35;
}

.mj-product-card__title a {
    color: var(--mj-navy) !important;
    text-decoration: none !important;
}

.mj-product-price {
    font-family: var(--mj-font-display);
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--mj-navy);
    margin-bottom: 10px;
}

.mj-product-transfer-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(13, 148, 136, 0.08);
    border: 1px solid rgba(13, 148, 136, 0.24);
    border-radius: 10px;
    padding: 8px 10px;
    margin-bottom: 8px;
}

.mj-product-transfer-pill__badge {
    background: rgba(13, 148, 136, 0.18);
    color: #0F766E;
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
}

.mj-product-transfer-pill__text {
    font-size: 0.76rem;
    color: #0F766E;
    line-height: 1.25;
}

.mj-product-installments {
    font-size: 0.78rem;
    color: #475569;
    margin-bottom: 14px;
}

.mj-add-to-cart-btn {
    width: 100%;
    border: none;
    border-radius: 999px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #0D9488 0%, #0284C7 100%);
    color: #FFFFFF;
    font-family: var(--mj-font-sans);
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.22s ease;
    box-shadow: 0 6px 16px -4px rgba(13, 148, 136, 0.4);
}

.mj-catalog-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
    background: #FFFFFF;
    padding: 12px 16px;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.07);
}

.mj-catalog-cats,
.mj-catalog-toggles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.mj-filter-chip {
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #F8FAFC;
    color: var(--mj-navy);
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.mj-filter-chip.is-active,
.mj-filter-chip:hover {
    background: var(--mj-electric);
    color: #FFFFFF;
    border-color: var(--mj-electric);
}

.mj-footer-wrapper {
    background: var(--mj-obsidian);
    color: #94A3B8;
    border-top: 1px solid rgba(0, 242, 254, 0.16);
}

.mj-footer-brand,
.mj-footer-col-title {
    color: #FFFFFF !important;
    font-family: var(--mj-font-display);
}

.mj-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mj-footer-links li {
    margin-bottom: 8px;
}

.mj-footer-links a {
    color: #CBD5E1 !important;
    text-decoration: none !important;
}

/* ==========================================================================
   10. RESPONSIVE DESIGN + NAV-BAR INFERIOR CELULAR
   ========================================================================== */
.mj-mobile-burger {
    display: none;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #FFFFFF;
    color: var(--mj-navy);
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    transition: all 0.2s ease;
}

.mj-mobile-bottom-nav {
    display: none;
}

.mj-mobile-navbar-editor-preview {
    background: #0F172A;
    color: #00F2FE;
    font-family: var(--mj-font-mono);
    font-size: 0.78rem;
    padding: 8px 16px;
    text-align: center;
    border-radius: 8px;
    margin: 6px 24px;
}

/* ==========================================================================
   DRAWER DE NAVEGACIÓN MÓVIL (CYBER-LUXURY)
   ========================================================================== */
.mj-mobile-nav-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(3, 7, 18, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.mj-mobile-nav-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
}

.mj-mobile-nav-drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 86vw;
    height: 100%;
    height: 100dvh;
    background: #0B1120;
    border-right: 1px solid rgba(0, 242, 254, 0.25);
    box-shadow: 10px 0 40px rgba(0, 0, 0, 0.7);
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.mj-mobile-nav-drawer.is-open {
    transform: translateX(0);
}

.mj-mobile-nav-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(15, 23, 42, 0.7);
}
.mj-mobile-nav-drawer__brand img {
    max-height: 34px;
    width: auto;
    display: block;
}
.mj-mobile-nav-drawer__logo-text {
    font-size: 1rem;
    font-weight: 800;
    color: #F8FAFC;
    letter-spacing: 0.05em;
}
.mj-mobile-nav-drawer__close {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #94A3B8;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    transition: all 0.2s ease;
}
.mj-mobile-nav-drawer__close:hover,
.mj-mobile-nav-drawer__close:active {
    color: #00F2FE;
    border-color: #00F2FE;
    background: rgba(0, 242, 254, 0.12);
}

.mj-mobile-nav-drawer__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 22px;
}
.mj-mobile-nav-drawer__menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mj-mobile-nav-drawer__menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.mj-mobile-nav-drawer__menu a {
    display: flex;
    align-items: center;
    padding: 12px 14px;
    color: #E2E8F0 !important;
    text-decoration: none !important;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.2s ease;
}
.mj-mobile-nav-drawer__menu a:hover,
.mj-mobile-nav-drawer__menu a:active {
    background: rgba(0, 242, 254, 0.14);
    color: #00F2FE !important;
    border-color: rgba(0, 242, 254, 0.35);
    padding-left: 18px;
}

.mj-mobile-nav-drawer__quote {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: rgba(0, 242, 254, 0.08);
    border: 1px solid rgba(0, 242, 254, 0.25);
    border-radius: 10px;
}
.mj-mobile-nav-drawer__quote-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #94A3B8;
}
.mj-mobile-nav-drawer__quote-val {
    font-size: 0.95rem;
    font-weight: 800;
    color: #00F2FE;
    font-family: var(--mj-font-mono, monospace);
}

.mj-mobile-nav-drawer__quick-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mj-mobile-nav-drawer__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: #1E293B;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #F8FAFC !important;
    text-decoration: none !important;
    font-size: 0.88rem;
    font-weight: 600;
    transition: all 0.2s ease;
}
.mj-mobile-nav-drawer__btn:hover {
    background: #334155;
    color: #FFF !important;
}
.mj-mobile-nav-drawer__btn--erp {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.35), rgba(0, 242, 254, 0.25));
    border-color: rgba(0, 242, 254, 0.45);
    color: #00F2FE !important;
}

.mj-mobile-nav-drawer__whatsapp {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 10px;
    background: #25D366;
    color: #06240E !important;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35);
    transition: transform 0.2s ease;
}
.mj-mobile-nav-drawer__whatsapp:hover {
    transform: translateY(-2px);
}

@media (max-width: 980px) {
    .mj-mobile-burger {
        display: inline-flex !important;
    }

    .mj-header-glass-bar {
        padding: 10px 14px !important;
    }

    .mj-header-main-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .mj-header-brand-col {
        order: 1 !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
    }

    .mj-header-brand-col .mj-site-logo img,
    .mj-header-brand-col .custom-logo,
    .mj-header-brand-col img {
        max-height: 38px !important;
        width: auto !important;
        object-fit: contain !important;
    }

    .mj-header-actions-col {
        order: 2 !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-left: auto !important;
    }

    /* En celular el top header muestra EXCLUSIVAMENTE: Logo, Cotización USD y Botón Burger */
    .mj-header-actions-col .mj-dolar-pill {
        display: inline-flex !important;
        padding: 6px 10px !important;
        font-size: 0.78rem !important;
    }

    /* Ocultar en la barra superior móvil: Cuenta, Carrito y ERP (van en navbar inferior) */
    .mj-header-actions-col .mj-account-btn,
    .mj-header-actions-col .mj-cart-trigger,
    .mj-header-actions-col .mj-erp-btn,
    .mj-cart-trigger__subtotal,
    .mj-erp-btn__badge {
        display: none !important;
    }

    /* Buscador en fila 2 a ancho completo */
    .mj-search-box {
        order: 3 !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-top: 4px !important;
    }

    /* Barra de navegación de escritorio oculta en celular (se navega por el burger) */
    .mj-header-nav-bar {
        display: none !important;
    }

    /* Single Product y Mi Cuenta en Móvil */
    .mj-ml-grid,
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
    }

    .mj-ml-gallery {
        grid-template-columns: 1fr !important;
    }

    .mj-ml-gallery__thumbs {
        flex-direction: row !important;
        overflow-x: auto;
        order: 2;
    }

    .mj-ml-specs-table__row {
        grid-template-columns: 1fr !important;
        gap: 4px;
    }

    .mj-mobile-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 64px;
        background: rgba(7, 11, 20, 0.95);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        border-top: 1px solid rgba(0, 242, 254, 0.22);
        display: grid !important;
        grid-template-columns: repeat(5, 1fr);
        align-items: center;
        z-index: 9980;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        box-shadow: 0 -8px 28px rgba(7, 11, 20, 0.35);
    }

    .mj-mobile-bottom-nav__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        color: #94A3B8 !important;
        text-decoration: none !important;
        background: transparent;
        border: none;
        font-family: var(--mj-font-sans);
        font-size: 0.68rem;
        font-weight: 600;
        cursor: pointer;
        padding: 6px 2px;
    }

    .mj-mobile-bottom-nav__erp {
        color: var(--mj-cyan) !important;
    }

    .mj-mobile-bottom-nav__cart-wrap {
        position: relative;
        display: inline-flex;
    }

    body {
        padding-bottom: 74px !important;
    }
}

/* ==========================================================================
   11. FIXES V2.7.0: BUSCADOR EN VIVO + MI CUENTA 100% LEGIBLE + HEADER FULL-BLEED
   ========================================================================== */

/* Header 100% Full-Width de borde a borde sin márgenes blancos laterales */
header.wp-block-template-part,
.mj-header-wrapper,
.mj-topbar,
.mj-header-glass-bar,
.mj-header-nav-bar {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Logo sin recortes */
.mj-site-logo,
.wp-block-site-logo {
    overflow: visible !important;
    flex-shrink: 0 !important;
}

.mj-site-logo img,
.wp-block-site-logo img {
    max-height: 48px !important;
    width: auto !important;
    max-width: 165px !important;
    object-fit: contain !important;
}

/* Botón limpiar buscador (✕) */
.mj-search-clear {
    background: rgba(15, 23, 42, 0.08);
    border: none;
    color: #475569;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 0.75rem;
    cursor: pointer;
    margin-right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mj-search-clear[hidden] {
    display: none !important;
}

.mj-search-clear:hover {
    background: rgba(239, 68, 68, 0.15);
    color: #EF4444;
}

/* Dropdown de Resultados del Buscador en Vivo */
.mj-search-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #FFFFFF;
    border-radius: 20px;
    border: 1.5px solid rgba(37, 99, 235, 0.24);
    box-shadow: 0 24px 54px -12px rgba(7, 11, 20, 0.28), 0 0 0 1px rgba(0, 242, 254, 0.16);
    z-index: 99999;
    overflow: hidden;
    animation: mjDropdownFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-search-dropdown[hidden] {
    display: none !important;
}

@keyframes mjDropdownFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.mj-search-dropdown__head {
    background: #0F172A;
    color: #00F2FE;
    font-family: var(--mj-font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 9px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mj-search-dropdown__hint {
    color: #94A3B8;
    font-weight: 500;
}

.mj-search-dropdown__list {
    max-height: 390px;
    overflow-y: auto;
    divide-y: 1px solid rgba(15, 23, 42, 0.06);
}

.mj-search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    transition: background 0.15s ease;
}

.mj-search-result-item:hover {
    background: #F8FAFC;
}

.mj-search-result-item__thumb {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    overflow: hidden;
    background: #F1F5F9;
    flex-shrink: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-search-result-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mj-search-result-item__info {
    flex: 1;
    min-width: 0;
}

.mj-search-result-item__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.7rem;
    margin-bottom: 2px;
}

.mj-search-result-item__cat {
    color: var(--mj-electric);
    font-weight: 700;
}

.mj-search-result-item__sku {
    font-family: var(--mj-font-mono);
    color: #64748B;
}

.mj-search-result-item__title {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--mj-navy) !important;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 3px;
}

.mj-search-result-item__title mark {
    background: rgba(0, 242, 254, 0.28);
    color: var(--mj-navy);
    padding: 0 2px;
    border-radius: 3px;
}

.mj-search-result-item__prices {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mj-search-result-item__price {
    font-family: var(--mj-font-display);
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--mj-navy);
}

.mj-search-result-item__transfer {
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    color: #047857;
    background: rgba(16, 185, 129, 0.12);
    padding: 2px 7px;
    border-radius: 6px;
}

.mj-search-result-item__add {
    background: linear-gradient(135deg, #2563EB 0%, #0D9488 100%);
    color: #FFFFFF;
    border: none;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.mj-search-result-item__add:hover {
    transform: scale(1.06);
}

.mj-search-dropdown__footer {
    display: block;
    text-align: center;
    padding: 11px 16px;
    background: #F8FAFC;
    color: var(--mj-electric) !important;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none !important;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-search-dropdown__footer:hover {
    background: #EFF6FF;
}

.mj-search-dropdown__empty {
    padding: 22px 18px;
    text-align: center;
    font-size: 0.86rem;
    color: #475569;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mj-search-dropdown__all {
    color: var(--mj-electric) !important;
    font-weight: 800;
    text-decoration: none !important;
}

/* ==========================================================================
   12. FIX DEFINITIVO DE /MI-CUENTA/ (SOLO APLICA GRID CUANDO EL USUARIO ESTÁ LOGUEADO)
   ========================================================================== */
body.logged-in.woocommerce-account .wp-block-post-content > .woocommerce,
body.logged-in.woocommerce-account .entry-content > .woocommerce,
body.logged-in.woocommerce-account .woocommerce,
.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)),
.mj-woocommerce-account-shell {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    display: none !important;
    content: none !important;
}

/* Anular el float:left y width:30% nativo de WooCommerce que aplastaba el menú a 80px */
.woocommerce-account .woocommerce-MyAccount-navigation,
body .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    min-width: 280px !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    border-radius: 20px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 12px 30px -10px rgba(15, 23, 42, 0.07) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
body .woocommerce-MyAccount-navigation ul li a {
    white-space: nowrap !important;
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 13px 18px !important;
    font-size: 0.94rem !important;
    line-height: 1.35 !important;
}

/* Anular el float:right y width:68% nativo de WooCommerce que angostaba el panel derecho */
.woocommerce-account .woocommerce-MyAccount-content,
body .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 32px 36px !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    border-radius: 20px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 12px 30px -10px rgba(15, 23, 42, 0.07) !important;
}

@media (max-width: 960px) {
    .woocommerce-account .wp-block-post-content > .woocommerce,
    .woocommerce-account .entry-content > .woocommerce,
    .woocommerce-account .woocommerce,
    .mj-woocommerce-account-shell .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    body .woocommerce-MyAccount-navigation {
        min-width: 100% !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content,
    body .woocommerce-MyAccount-content {
        padding: 20px !important;
    }
}

/* ==========================================================================
   13. FIXES V2.8.0: STACKING DEL BUSCADOR EN VIVO + GALERÍA STICKY HASTA FINAL DEL BUY BOX
   ========================================================================== */

/* 13.1 Jerarquía de capas dentro del Header para que el Buscador NUNCA quede tapado por la barra Inicio/Tienda/Contacto */
.mj-topbar {
    position: relative !important;
    z-index: 70 !important;
}

.mj-header-glass-bar {
    position: relative !important;
    z-index: 60 !important;
    overflow: visible !important;
}

.mj-header-main-row,
.mj-search-box {
    position: relative !important;
    z-index: 65 !important;
    overflow: visible !important;
}

.mj-header-nav-bar {
    position: relative !important;
    z-index: 15 !important;
}

/* Eliminar la segunda 'X' nativa del navegador en inputs type="search" */
.mj-search-input::-webkit-search-cancel-button,
.mj-search-input::-webkit-search-decoration,
.mj-search-input::-webkit-search-results-button,
.mj-search-input::-webkit-search-results-decoration {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: none !important;
}

/* Mejorar el contenedor desplegable del buscador para que flote limpio por encima de todo */
.mj-search-dropdown {
    top: calc(100% + 8px) !important;
    z-index: 999999 !important;
    background: #FFFFFF !important;
    border: 1.5px solid rgba(37, 99, 235, 0.28) !important;
    box-shadow: 0 28px 64px -10px rgba(7, 11, 20, 0.35), 0 0 0 1px rgba(0, 242, 254, 0.2) !important;
}

/* 13.2 Layout Single Product v2.8.0:
   - Arriba: .mj-ml-grid con 2 columnas de igual altura (align-items: stretch).
   - La columna izquierda (.mj-ml-left-col) estira su altura hasta el final de <aside class="mj-ml-buybox-col">.
   - Adentro de .mj-ml-left-col, la galería (.mj-gallery-sticky) tiene position: sticky y acompaña el scroll hasta llegar exactamente al final del Buy Box.
   - Abajo de ambos (.mj-ml-bottom-details): Características del producto y Descripción detallada. */
.mj-ml-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) 400px !important;
    gap: 36px !important;
    align-items: stretch !important;
    padding-bottom: 36px !important;
    margin-bottom: 36px !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.09) !important;
}

.mj-ml-left-col {
    position: relative !important;
    min-width: 0 !important;
}

.mj-ml-gallery.mj-gallery-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--mj-header-sticky-top, 204px) !important;
    z-index: 25 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.mj-ml-buybox-col {
    position: relative !important;
}

.mj-ml-buybox.mj-ml-buybox-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--mj-header-sticky-top, 204px) !important;
    z-index: 25 !important;
}

.mj-ml-bottom-details {
    width: 100%;
    max-width: 100%;
    padding-top: 4px;
}

@media (max-width: 960px) {
    .mj-ml-grid {
        grid-template-columns: 1fr !important;
        padding-bottom: 24px !important;
        margin-bottom: 24px !important;
    }

    .mj-ml-gallery.mj-gallery-sticky,
    .mj-ml-buybox.mj-ml-buybox-sticky {
        position: relative !important;
        top: 0 !important;
    }
}

/* ==========================================================================
   14. MJ COMMERCE PRO V3.0.0 — LUXURY LIGHT & NAVY/GOLD-EMERALD ECOSYSTEM
   ========================================================================== */

:root {
    --mj-lux-navy: #0B1120;
    --mj-lux-navy-soft: #1E293B;
    --mj-lux-gold: #D4AF37;
    --mj-lux-gold-light: #FEF3C7;
    --mj-lux-emerald: #059669;
    --mj-lux-emerald-bright: #10B981;
    --mj-lux-emerald-bg: #ECFDF5;
    --mj-lux-surface: #FFFFFF;
    --mj-lux-bg: #F8FAFC;
    --mj-lux-border: rgba(15, 23, 42, 0.085);
    --mj-lux-shadow-sm: 0 6px 20px -6px rgba(15, 23, 42, 0.06);
    --mj-lux-shadow-md: 0 18px 42px -12px rgba(15, 23, 42, 0.11);
    --mj-lux-shadow-lg: 0 26px 60px -15px rgba(15, 23, 42, 0.16);
}

/* --------------------------------------------------------------------------
   14.1 TARJETA DE PRODUCTO UNIFICADA Y SIMÉTRICA (INICIO, TIENDA, CARRITO)
   -------------------------------------------------------------------------- */
.mj-products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.mj-products-grid--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.mj-products-grid--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.mj-products-grid--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
    .mj-products-grid--cols-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    .mj-products-grid--cols-3,
    .mj-products-grid--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 540px) {
    .mj-products-grid,
    .mj-products-grid--cols-2,
    .mj-products-grid--cols-3,
    .mj-products-grid--cols-4 {
        grid-template-columns: 1fr !important;
    }
}

.mj-product-card {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100%;
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 22px !important;
    padding: 16px !important;
    box-shadow: 0 10px 28px -10px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, border-color 0.32s ease !important;
    box-sizing: border-box;
}

.mj-product-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(16, 185, 129, 0.38) !important;
    box-shadow: 0 24px 48px -14px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(16, 185, 129, 0.15) !important;
}

.mj-product-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
    margin-bottom: 14px;
    border: 1px solid rgba(15, 23, 42, 0.04);
}

.mj-product-card__img-main,
.mj-product-card__img-hover {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 10px;
    box-sizing: border-box;
    transition: opacity 0.38s ease, transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mj-product-card__img-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    background: #F8FAFC;
}

.mj-product-card:hover .mj-product-card__img-main {
    transform: scale(1.06);
}

.mj-product-card:hover .mj-product-card__img-hover {
    opacity: 1;
    transform: scale(1.05);
}

.mj-product-card__badges {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    pointer-events: none;
}

.mj-product-card__sale-badge {
    position: static !important;
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%) !important;
    color: #FDE68A !important;
    border: 1px solid rgba(212, 175, 55, 0.45);
    font-family: var(--mj-font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(11, 17, 32, 0.2);
}

.mj-product-card__new-badge,
.mj-product-card__sale-badge--new {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: linear-gradient(135deg, #1E40AF 0%, #2563EB 55%, #0284C7 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    font-family: var(--mj-font-mono, monospace) !important;
    font-size: 0.64rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.32) !important;
    line-height: 1.3 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.mj-product-card__new-badge::before,
.mj-product-card__sale-badge--new::before {
    content: "✦";
    font-size: 0.7rem;
    color: #67E8F9;
    line-height: 1;
}

.mj-product-card__sale-badge--out {
    background: #64748B !important;
    color: #FFFFFF !important;
    border-color: transparent;
}

.mj-product-card__freeship-badge {
    background: #ECFDF5;
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.35);
    font-family: var(--mj-font-sans);
    font-size: 0.66rem;
    font-weight: 800;
    padding: 4px 9px;
    border-radius: 999px;
    letter-spacing: 0.02em;
}

.mj-product-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.mj-product-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.72rem;
    margin-bottom: 6px;
}

.mj-product-card__cat {
    color: #0284C7;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mj-product-card__sku {
    font-family: var(--mj-font-mono);
    color: #64748B;
    font-size: 0.7rem;
    flex-shrink: 0;
}

.mj-product-card__title {
    font-family: var(--mj-font-sans);
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.38 !important;
    margin: 0 0 10px !important;
    min-height: 2.76em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mj-product-card__title a {
    color: var(--mj-lux-navy) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.mj-product-card:hover .mj-product-card__title a {
    color: #0284C7 !important;
}

.mj-product-price-wrap {
    margin-bottom: 10px;
}

.mj-product-price-regular-slot {
    min-height: 18px;
    display: flex;
    align-items: center;
}

.mj-product-price--regular {
    font-size: 0.8rem;
    color: #94A3B8;
    text-decoration: line-through;
}

.mj-product-price-main-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
}

.mj-product-price {
    font-family: var(--mj-font-display);
    font-size: 1.42rem !important;
    font-weight: 800 !important;
    color: var(--mj-lux-navy) !important;
    margin: 0 !important;
    line-height: 1.15;
}

.mj-product-card__usd {
    font-family: var(--mj-font-mono);
    font-size: 0.73rem;
    font-weight: 700;
    color: #475569;
    background: #F1F5F9;
    padding: 2px 7px;
    border-radius: 6px;
}

.mj-product-card__reseller-pill {
    display: inline-block;
    margin-top: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    color: #B45309;
    background: #FEF3C7;
    border: 1px solid rgba(217, 119, 6, 0.25);
    padding: 2px 8px;
    border-radius: 6px;
}

.mj-product-card__benefits {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
    margin-bottom: 14px;
    min-height: 64px;
    justify-content: flex-end;
}

.mj-product-transfer-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #ECFDF5 0%, #F0FDFA 100%) !important;
    border: 1px solid rgba(16, 185, 129, 0.28) !important;
    border-radius: 11px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
}

.mj-product-transfer-pill__badge {
    background: #059669 !important;
    color: #FFFFFF !important;
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
    flex-shrink: 0;
}

.mj-product-transfer-pill__text {
    font-size: 0.76rem;
    color: #065F46;
    line-height: 1.25;
}

.mj-product-transfer-pill__text strong {
    font-weight: 800;
    color: #047857;
}

.mj-product-installments {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.76rem;
    color: #334155;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.06);
    padding: 5px 9px;
    border-radius: 9px;
    margin: 0 !important;
}

.mj-product-installments small {
    color: #64748B;
}

.mj-product-card__pay-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 9px;
    padding: 5px 9px;
    font-size: 0.76rem;
    color: #334155;
    line-height: 1.25;
    margin: 0 !important;
}

.mj-product-card__pay-pill strong {
    font-weight: 800;
    color: #0F172A;
}

.mj-product-card__pay-pill small {
    color: #64748B;
    font-size: 0.72rem;
}

.mj-product-card__pay-pill--cash {
    background: #F8FAFC;
    border-color: rgba(15, 23, 42, 0.08);
}

.mj-product-card__pay-pill--usd {
    background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%) !important;
    border-color: rgba(16, 185, 129, 0.32) !important;
    color: #065F46 !important;
}

.mj-product-card__pay-pill--usd strong {
    color: #047857 !important;
}

.mj-pay-badge-usd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #059669;
    color: #FFFFFF;
    font-family: var(--mj-font-mono, monospace);
    font-size: 0.62rem;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 5px;
    letter-spacing: 0.02em;
    line-height: 1;
    flex-shrink: 0;
}

.mj-pay-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2563EB;
    flex-shrink: 0;
}

.mj-price--usd {
    color: #059669 !important;
    font-weight: 700;
}

.mj-product-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.mj-product-card__qty {
    display: inline-flex;
    align-items: center;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    height: 42px;
    padding: 0 4px;
    flex-shrink: 0;
}

.mj-product-card__qty button {
    width: 26px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--mj-lux-navy);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.15s ease;
}

.mj-product-card__qty button:hover:not(:disabled) {
    background: #E2E8F0;
}

.mj-product-card__qty input {
    width: 28px;
    border: none;
    background: transparent;
    text-align: center;
    font-family: var(--mj-font-mono);
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
    padding: 0;
    -moz-appearance: textfield;
}

.mj-product-card__qty input::-webkit-outer-spin-button,
.mj-product-card__qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.mj-product-card__actions .mj-add-to-cart-btn {
    flex: 1;
    height: 42px;
    border-radius: 12px !important;
    padding: 0 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%) !important;
    color: #FFFFFF !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -6px rgba(11, 17, 32, 0.35) !important;
}

.mj-product-card__actions .mj-add-to-cart-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #059669 0%, #0284C7 100%) !important;
    box-shadow: 0 10px 22px -6px rgba(5, 150, 105, 0.45) !important;
    transform: translateY(-1px);
}

.mj-product-card__actions .mj-add-to-cart-btn.is-adding-instant {
    background: #059669 !important;
    color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   14.2 BARRA LATERAL IZQUIERDA FIJA DE FILTROS EN /TIENDA/ (STICKY SIDEBAR)
   -------------------------------------------------------------------------- */
.mj-catalog-hero-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-catalog-subtitle {
    margin: 4px 0 0;
    font-size: 0.94rem;
    color: #64748B;
}

.mj-catalog-pdf-pill,
.mj-pdf-catalog-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    color: #FDE68A !important;
    border: 1px solid rgba(212, 175, 55, 0.4);
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 8px 20px -6px rgba(11, 17, 32, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mj-catalog-pdf-pill:hover,
.mj-pdf-catalog-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -6px rgba(11, 17, 32, 0.35);
}

.mj-shop-layout--sidebar {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.mj-shop-sidebar-backdrop {
    display: none;
}

.mj-shop-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: var(--mj-header-sticky-top, 148px);
    max-height: calc(100vh - var(--mj-header-sticky-top, 148px) - 24px);
    overflow-y: auto;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.085);
    border-radius: 22px;
    box-shadow: var(--mj-lux-shadow-sm);
    scrollbar-width: thin;
    scrollbar-color: #CBD5E1 transparent;
    z-index: 20;
}

.mj-shop-sidebar::-webkit-scrollbar {
    width: 5px;
}

.mj-shop-sidebar::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 999px;
}

.mj-shop-sidebar__inner {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mj-shop-sidebar__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-shop-sidebar__title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--mj-lux-navy);
}

.mj-shop-sidebar__title-wrap h3 {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: 1.05rem;
    font-weight: 800;
}

.mj-shop-sidebar__active-badge {
    background: var(--mj-lux-emerald);
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 999px;
}

.mj-shop-sidebar__head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mj-shop-sidebar__reset {
    border: none;
    background: #F1F5F9;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.mj-shop-sidebar__reset:hover {
    background: #FEE2E2;
    color: #DC2626;
}

.mj-shop-sidebar__close-mobile {
    display: none;
    border: none;
    background: #F1F5F9;
    color: var(--mj-lux-navy);
    width: 30px;
    height: 30px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 800;
}

.mj-filter-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.mj-filter-group:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.mj-filter-group__title {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}

.mj-sort-select--full {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1.5px solid rgba(15, 23, 42, 0.12);
    background: #F8FAFC;
    font-family: var(--mj-font-sans);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
    cursor: pointer;
}

/* Buscador de Categorías dentro de la Barra Lateral */
.mj-sidebar-cat-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    background: #F8FAFC;
    border: 1.5px solid rgba(15, 23, 42, 0.11);
    border-radius: 12px;
    padding: 0 11px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.mj-sidebar-cat-search-wrap:focus-within {
    background: #FFFFFF;
    border-color: #0284C7;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
}

.mj-sidebar-cat-search-wrap svg {
    color: #64748B;
    flex-shrink: 0;
}

.mj-sidebar-cat-search {
    width: 100%;
    border: none !important;
    background: transparent !important;
    padding: 9px 8px !important;
    font-family: var(--mj-font-sans);
    font-size: 0.84rem !important;
    color: var(--mj-lux-navy);
    outline: none !important;
}

.mj-sidebar-cats-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 270px;
    overflow-y: auto;
    padding-right: 4px;
}

.mj-sidebar-cat-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    text-align: left;
    font-family: var(--mj-font-sans);
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    transition: all 0.16s ease;
}

.mj-sidebar-cat-item:hover {
    background: #F8FAFC;
    color: var(--mj-lux-navy);
}

.mj-sidebar-cat-item__check {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #CBD5E1;
    flex-shrink: 0;
    position: relative;
    transition: all 0.16s ease;
}

.mj-sidebar-cat-item.is-active {
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    color: #FFFFFF;
    font-weight: 700;
    box-shadow: 0 6px 14px -4px rgba(11, 17, 32, 0.25);
}

.mj-sidebar-cat-item.is-active .mj-sidebar-cat-item__check {
    border-color: #10B981;
    background: #10B981;
}

.mj-sidebar-cat-item.is-active .mj-sidebar-cat-item__check::after {
    content: "";
    position: absolute;
    inset: 3px;
    background: #FFFFFF;
    border-radius: 50%;
}

.mj-sidebar-cat-item__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mj-sidebar-cat-item__count {
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    background: rgba(15, 23, 42, 0.06);
    color: #64748B;
    padding: 2px 7px;
    border-radius: 999px;
}

.mj-sidebar-cat-item.is-active .mj-sidebar-cat-item__count {
    background: rgba(255, 255, 255, 0.16);
    color: #A7F3D0;
}

.mj-sidebar-cats-empty {
    margin: 6px 0 0;
    font-size: 0.8rem;
    color: #64748B;
    text-align: center;
    padding: 8px;
}

/* Switches Rápidos de Lujo (Stock, Ofertas, Novedades, Envío Gratis) */
.mj-sidebar-switches {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mj-lux-switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    border-radius: 12px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.06);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.mj-lux-switch:hover {
    border-color: rgba(15, 23, 42, 0.16);
    background: #F1F5F9;
}

.mj-lux-switch__label {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--mj-lux-navy);
}

.mj-lux-switch input {
    display: none;
}

.mj-lux-switch__slider {
    width: 38px;
    height: 22px;
    background: #CBD5E1;
    border-radius: 999px;
    position: relative;
    transition: background 0.22s ease;
    flex-shrink: 0;
}

.mj-lux-switch__slider::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-lux-switch input:checked + .mj-lux-switch__slider {
    background: linear-gradient(135deg, #059669 0%, #10B981 100%);
}

.mj-lux-switch input:checked + .mj-lux-switch__slider::after {
    transform: translateX(16px);
}

/* Filtro de Rango de Precios */
.mj-price-filter {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mj-price-filter__inputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mj-price-filter__field {
    flex: 1;
    min-width: 0;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.11);
    border-radius: 10px;
    padding: 5px 9px;
}

.mj-price-filter__field small {
    display: block;
    font-size: 0.66rem;
    color: #64748B;
    font-weight: 600;
}

.mj-price-filter__field input {
    width: 100%;
    border: none !important;
    background: transparent !important;
    font-family: var(--mj-font-mono);
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
    padding: 2px 0 !important;
    outline: none !important;
}

.mj-price-range-slider {
    width: 100%;
    accent-color: #059669;
    cursor: pointer;
}

.mj-price-filter__hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.74rem;
    color: #64748B;
}

.mj-price-filter__hint strong {
    color: var(--mj-lux-navy);
    font-family: var(--mj-font-mono);
}

/* Chips de Marcas y Atributos */
.mj-sidebar-attr-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mj-attr-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #F8FAFC;
    color: #334155;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.16s ease;
}

.mj-attr-chip small {
    font-family: var(--mj-font-mono);
    font-size: 0.68rem;
    color: #64748B;
}

.mj-attr-chip.is-active {
    background: var(--mj-lux-navy);
    color: #FFFFFF;
    border-color: var(--mj-lux-navy);
}

.mj-attr-chip.is-active small {
    color: #A7F3D0;
}

/* Barra Superior de Estado de Grilla + Chips Activos */
.mj-shop-status-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 12px 18px;
    margin-bottom: 20px;
    box-shadow: var(--mj-lux-shadow-sm);
}

.mj-shop-status-bar__left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mj-shop-mobile-filter-btn {
    display: none;
    align-items: center;
    gap: 7px;
    background: var(--mj-lux-navy);
    color: #FFFFFF;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}

.mj-shop-results-count {
    font-size: 0.88rem;
    color: #475569;
}

.mj-shop-results-count strong {
    color: var(--mj-lux-navy);
    font-family: var(--mj-font-mono);
}

.mj-shop-active-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.mj-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ECFDF5;
    border: 1px solid rgba(16, 185, 129, 0.35);
    color: #065F46;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 5px 11px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.mj-active-chip:hover {
    background: #FEE2E2;
    border-color: #FCA5A5;
    color: #991B1B;
}

.mj-shop-density-switch {
    display: inline-flex;
    background: #F1F5F9;
    padding: 3px;
    border-radius: 10px;
    gap: 3px;
}

.mj-density-btn {
    border: none;
    background: transparent;
    color: #64748B;
    font-family: var(--mj-font-mono);
    font-size: 0.74rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 7px;
    cursor: pointer;
}

.mj-density-btn.is-active {
    background: #FFFFFF;
    color: var(--mj-lux-navy);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

.mj-catalog-empty-state {
    background: #FFFFFF;
    border: 1px dashed rgba(15, 23, 42, 0.18);
    border-radius: 22px;
    padding: 48px 24px;
    text-align: center;
    margin-top: 16px;
}

.mj-catalog-empty-state__icon {
    font-size: 2.5rem;
    margin-bottom: 10px;
}

@media (max-width: 1024px) {
    .mj-shop-layout--sidebar {
        grid-template-columns: 1fr !important;
    }

    .mj-shop-mobile-filter-btn,
    .mj-shop-sidebar__close-mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mj-shop-sidebar-backdrop.is-open {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(7, 11, 20, 0.62);
        backdrop-filter: blur(4px);
        z-index: 99980;
    }

    .mj-shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(340px, 88vw) !important;
        max-height: 100vh !important;
        border-radius: 0 22px 22px 0 !important;
        z-index: 99990 !important;
        transform: translateX(-105%);
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .mj-shop-sidebar.is-open {
        transform: translateX(0);
    }

    .mj-shop-density-switch {
        display: none;
    }
}

/* --------------------------------------------------------------------------
   14.3 COTIZADOR DE ENVÍO REAL (CORREO ARGENTINO + ANDREANI + SUCURSALES)
   -------------------------------------------------------------------------- */
.mj-ship-loading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    font-size: 0.83rem;
    color: #334155;
    margin-top: 10px;
}

.mj-ship-spinner {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2.5px solid #CBD5E1;
    border-top-color: #0284C7;
    animation: mjSpin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes mjSpin {
    to { transform: rotate(360deg); }
}

.mj-ship-locality-pill {
    font-size: 0.78rem;
    color: #0369A1;
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    padding: 7px 12px;
    border-radius: 10px;
    margin: 10px 0 8px;
}

.mj-ship-rates-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.mj-ship-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    background: #FFFFFF;
    border: 1.5px solid rgba(15, 23, 42, 0.09);
    border-radius: 14px;
    transition: all 0.18s ease;
}

.mj-ship-option.is-selectable {
    cursor: pointer;
}

.mj-ship-option.is-selectable:hover {
    border-color: #0284C7;
    background: #F8FAFC;
}

.mj-ship-option.is-selected {
    border-color: #059669;
    background: linear-gradient(135deg, #ECFDF5 0%, #FFFFFF 100%);
    box-shadow: 0 6px 16px -6px rgba(5, 150, 105, 0.22);
}

.mj-ship-option__left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.mj-ship-option__radio {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #94A3B8;
    flex-shrink: 0;
    position: relative;
}

.mj-ship-option__radio.is-checked {
    border-color: #059669;
    background: #059669;
}

.mj-ship-option__radio.is-checked::after {
    content: "";
    position: absolute;
    inset: 4px;
    background: #FFFFFF;
    border-radius: 50%;
}

.mj-ship-option__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 3px;
}

.mj-carrier-tag {
    font-family: var(--mj-font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 6px;
    background: #F1F5F9;
    color: #334155;
}

.mj-carrier-tag--ca {
    background: #FEF3C7;
    color: #92400E;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.mj-carrier-tag--andreani {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.mj-dest-tag {
    font-size: 0.68rem;
    font-weight: 700;
    color: #475569;
}

.mj-ship-option__title {
    display: block;
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
}

.mj-ship-option__eta {
    display: block;
    font-size: 0.74rem;
    color: #64748B;
}

.mj-ship-price {
    font-family: var(--mj-font-display);
    font-size: 0.96rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
    white-space: nowrap;
}

.mj-ship-price.is-free {
    color: #059669;
    background: #D1FAE5;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.78rem;
}

.mj-ship-branches-slot {
    margin-top: 10px;
}

.mj-branch-selector-label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
}

.mj-branch-select {
    width: 100%;
    padding: 9px 11px;
    border-radius: 9px;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #FFFFFF;
    font-family: var(--mj-font-sans);
    font-size: 0.83rem;
    color: var(--mj-lux-navy);
}

.mj-branch-hint {
    font-size: 0.78rem;
    color: #475569;
    background: #F8FAFC;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px dashed rgba(15, 23, 42, 0.15);
}

/* Botón Vaciar en el Drawer del Mini-Carrito */
.mj-cart-drawer__header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mj-cart-drawer__clear {
    border: 1px solid rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.1);
    color: #FCA5A5;
    font-size: 0.74rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.mj-cart-drawer__clear:hover {
    background: #EF4444;
    color: #FFFFFF;
}

/* --------------------------------------------------------------------------
   14.4 PÁGINA /CARRITO/ LUXURY (DISEÑO SIMÉTRICO SENIOR)
   -------------------------------------------------------------------------- */
.mj-lux-cart-shell,
.mj-lux-checkout-shell {
    max-width: 1340px;
    margin: 0 auto;
}

.mj-checkout-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    padding: 16px 24px;
    margin-bottom: 28px;
    box-shadow: var(--mj-lux-shadow-sm);
    overflow-x: auto;
}

.mj-checkout-steps__item {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
    color: #64748B;
    opacity: 0.65;
    transition: opacity 0.2s ease;
}

.mj-checkout-steps__item.is-active,
.mj-checkout-steps__item.is-done {
    opacity: 1;
    color: var(--mj-lux-navy);
}

.mj-checkout-steps__num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #F1F5F9;
    color: #475569;
    font-family: var(--mj-font-mono);
    font-size: 0.85rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mj-checkout-steps__item.is-active .mj-checkout-steps__num {
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    color: #FDE68A;
    border: 1px solid rgba(212, 175, 55, 0.5);
    box-shadow: 0 4px 12px rgba(11, 17, 32, 0.22);
}

.mj-checkout-steps__item.is-done .mj-checkout-steps__num {
    background: #059669;
    color: #FFFFFF;
}

.mj-checkout-steps__item strong {
    display: block;
    font-family: var(--mj-font-display);
    font-size: 0.9rem;
    color: var(--mj-lux-navy);
}

.mj-checkout-steps__item small {
    display: block;
    font-size: 0.74rem;
    color: #64748B;
}

.mj-checkout-steps__line {
    width: 48px;
    height: 2px;
    background: #E2E8F0;
    flex-shrink: 0;
}

.mj-checkout-steps__line.is-active {
    background: #059669;
}

.mj-lux-cart-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.mj-lux-cart-header__title {
    margin: 0 0 6px;
    font-family: var(--mj-font-display);
    font-size: clamp(1.65rem, 3vw, 2.2rem);
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-lux-cart-header__sub {
    margin: 0;
    font-size: 0.95rem;
    color: #64748B;
}

.mj-lux-cart-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mj-btn-clear-cart {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 16px;
    border-radius: 12px;
    border: 1px solid rgba(239, 68, 68, 0.28);
    background: #FEF2F2;
    color: #DC2626;
    font-family: var(--mj-font-sans);
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
}

.mj-btn-clear-cart:hover {
    background: #DC2626;
    color: #FFFFFF;
}

.mj-lux-cart-empty-hero {
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 26px;
    padding: 64px 28px;
    text-align: center;
    box-shadow: var(--mj-lux-shadow-sm);
    margin-bottom: 44px;
}

.mj-lux-cart-empty-hero__icon {
    font-size: 3.4rem;
    margin-bottom: 14px;
}

.mj-lux-cart-empty-hero h2 {
    margin: 0 0 8px;
    font-family: var(--mj-font-display);
    font-size: 1.6rem;
    color: var(--mj-lux-navy);
}

.mj-lux-cart-empty-hero p {
    max-width: 520px;
    margin: 0 auto 24px;
    color: #64748B;
}

.mj-lux-cart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) 420px;
    gap: 28px;
    align-items: start;
    margin-bottom: 52px;
}

.mj-cart-shipping-bar--page {
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 18px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    box-shadow: var(--mj-lux-shadow-sm);
}

.mj-lux-cart-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mj-lux-cart-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    padding: 18px;
    box-shadow: var(--mj-lux-shadow-sm);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mj-lux-cart-item:hover {
    border-color: rgba(37, 99, 235, 0.28);
    box-shadow: var(--mj-lux-shadow-md);
}

.mj-lux-cart-item__media {
    width: 96px;
    height: 96px;
    border-radius: 14px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.06);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mj-lux-cart-item__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
    box-sizing: border-box;
}

.mj-lux-cart-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    font-size: 0.72rem;
}

.mj-lux-cart-item__cat {
    font-weight: 800;
    color: #0284C7;
    text-transform: uppercase;
}

.mj-lux-cart-item__sku {
    font-family: var(--mj-font-mono);
    color: #64748B;
}

.mj-lux-cart-item__stock-pill {
    color: #059669;
    background: #ECFDF5;
    padding: 2px 7px;
    border-radius: 999px;
    font-weight: 700;
}

.mj-lux-cart-item__title {
    display: block;
    font-family: var(--mj-font-display);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--mj-lux-navy) !important;
    text-decoration: none !important;
    margin-bottom: 6px;
}

.mj-lux-cart-item__unit-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 0.82rem;
    color: #475569;
}

.mj-lux-cart-item__unit-transfer {
    color: #047857;
    background: #ECFDF5;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 700;
}

.mj-lux-cart-item__controls {
    display: flex;
    align-items: center;
    gap: 16px;
}

.mj-lux-cart-item__totals {
    text-align: right;
    min-width: 115px;
}

.mj-lux-cart-item__line-total {
    display: block;
    font-family: var(--mj-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-lux-cart-item__line-transfer {
    display: block;
    font-size: 0.74rem;
    color: #059669;
    font-weight: 700;
}

.mj-lux-cart-item__remove {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #F8FAFC;
    color: #64748B;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.16s ease;
}

.mj-lux-cart-item__remove:hover {
    background: #FEF2F2;
    border-color: #FCA5A5;
    color: #DC2626;
}

/* Columna Derecha Sticky de Resumen en /carrito/ */
.mj-lux-cart-summary-col {
    position: -webkit-sticky;
    position: sticky;
    top: var(--mj-header-sticky-top, 148px);
}

.mj-lux-cart-summary-card {
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--mj-lux-shadow-md);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mj-lux-cart-summary-card__title {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: 1.22rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-lux-cart-box {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 16px;
    padding: 14px;
}

.mj-lux-cart-box__head {
    font-size: 0.84rem;
    color: var(--mj-lux-navy);
    margin-bottom: 10px;
}

.mj-lux-cart-pay-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.mj-lux-cart-pay-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1.5px solid rgba(15, 23, 42, 0.08);
    background: #FFFFFF;
    text-align: left;
    font-family: var(--mj-font-sans);
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
    cursor: pointer;
    transition: all 0.16s ease;
}

.mj-lux-cart-pay-option:hover {
    border-color: #0284C7;
}

.mj-lux-cart-pay-option.is-active {
    border-color: #059669;
    background: linear-gradient(135deg, #ECFDF5 0%, #FFFFFF 100%);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.14);
}

.mj-lux-cart-pay-option__radio {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #94A3B8;
    flex-shrink: 0;
    position: relative;
}

.mj-lux-cart-pay-option.is-active .mj-lux-cart-pay-option__radio {
    border-color: #059669;
    background: #059669;
}

.mj-lux-cart-pay-option.is-active .mj-lux-cart-pay-option__radio::after {
    content: "";
    position: absolute;
    inset: 3px;
    background: #FFFFFF;
    border-radius: 50%;
}

.mj-lux-cart-pay-option__name {
    flex: 1;
}

.mj-pm-tag {
    font-family: var(--mj-font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 999px;
}

.mj-pm-tag--discount {
    background: #059669;
    color: #FFFFFF;
}

.mj-pm-tag--surcharge {
    background: #FEF3C7;
    color: #92400E;
}

.mj-pm-tag--cuotas {
    background: #EFF6FF;
    color: #1D4ED8;
}

.mj-lux-cart-coupon {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 14px;
    padding: 10px 14px;
}

.mj-lux-cart-coupon summary {
    font-size: 0.83rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
}

.mj-lux-cart-coupon__form {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.mj-lux-cart-coupon__form input {
    flex: 1;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    font-size: 0.84rem;
}

.mj-lux-cart-coupon__form button {
    padding: 8px 14px;
    border-radius: 10px;
    border: none;
    background: var(--mj-lux-navy);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
}

.mj-lux-cart-coupon__msg {
    margin-top: 8px;
    font-size: 0.78rem;
    font-weight: 700;
}

.mj-lux-cart-coupon__msg.is-ok { color: #059669; }
.mj-lux-cart-coupon__msg.is-err { color: #DC2626; }

.mj-lux-cart-totals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mj-lux-cart-totals__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9rem;
    color: #475569;
}

.mj-lux-cart-totals__row strong {
    color: var(--mj-lux-navy);
    font-family: var(--mj-font-display);
}

.mj-lux-cart-totals__row--discount {
    color: #059669;
    font-weight: 700;
}

.mj-lux-cart-totals__row--discount strong {
    color: #059669;
}

.mj-lux-cart-totals__divider {
    height: 1px;
    background: rgba(15, 23, 42, 0.08);
    margin: 4px 0;
}

.mj-lux-cart-totals__row--final span {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-lux-cart-totals__row--final small {
    font-family: var(--mj-font-mono);
    font-size: 0.75rem;
    color: #64748B;
}

.mj-lux-cart-totals__final-price {
    font-family: var(--mj-font-display);
    font-size: 1.65rem !important;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-lux-cart-checkout-btn {
    width: 100%;
    padding: 15px 20px !important;
    font-size: 1rem !important;
    border-radius: 14px !important;
    box-sizing: border-box;
}

.mj-lux-cart-trust-mini {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    font-size: 0.73rem;
    font-weight: 600;
    color: #64748B;
    text-align: center;
}

/* --------------------------------------------------------------------------
   14.5 PÁGINA /FINALIZAR-COMPRA/ LUXURY (CHECKOUT DE 2 COLUMNAS SIMÉTRICAS)
   -------------------------------------------------------------------------- */
.mj-checkout-shipping-assistant {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 20px;
    align-items: center;
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    color: #FFFFFF;
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 22px;
    padding: 22px 26px;
    margin-bottom: 28px;
    box-shadow: var(--mj-lux-shadow-md);
}

.mj-checkout-shipping-assistant__info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.mj-checkout-shipping-assistant__icon {
    font-size: 2rem;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mj-checkout-shipping-assistant__info strong {
    display: block;
    font-family: var(--mj-font-display);
    font-size: 1.08rem;
    color: #FDE68A;
    margin-bottom: 4px;
}

.mj-checkout-shipping-assistant__info p {
    margin: 0;
    font-size: 0.85rem;
    color: #CBD5E1;
}

.mj-checkout-shipping-assistant__results {
    grid-column: 1 / -1;
    background: #FFFFFF;
    color: var(--mj-lux-navy);
    border-radius: 16px;
    padding: 16px;
}

/* Estilizado Senior del formulario nativo de WooCommerce Checkout */
.mj-woocommerce-checkout-luxury-wrap form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) 440px !important;
    gap: 30px !important;
    align-items: start !important;
}

.mj-woocommerce-checkout-luxury-wrap form.checkout.woocommerce-checkout::before,
.mj-woocommerce-checkout-luxury-wrap form.checkout.woocommerce-checkout::after {
    display: none !important;
}

.mj-woocommerce-checkout-luxury-wrap #customer_details {
    grid-column: 1 !important;
    width: 100% !important;
    float: none !important;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.085);
    border-radius: 24px;
    padding: 28px 32px;
    box-shadow: var(--mj-lux-shadow-sm);
    box-sizing: border-box;
}

.mj-woocommerce-checkout-luxury-wrap #customer_details .col-1,
.mj-woocommerce-checkout-luxury-wrap #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.mj-woocommerce-checkout-luxury-wrap #order_review_heading {
    display: none !important;
}

.mj-woocommerce-checkout-luxury-wrap #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    position: -webkit-sticky;
    position: sticky;
    top: var(--mj-header-sticky-top, 148px);
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 24px;
    padding: 26px;
    box-shadow: var(--mj-lux-shadow-md);
    box-sizing: border-box;
}

.mj-woocommerce-checkout-luxury-wrap h3 {
    font-family: var(--mj-font-display);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-woocommerce-checkout-luxury-wrap .form-row label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 5px;
    display: block;
}

.mj-woocommerce-checkout-luxury-wrap input.input-text,
.mj-woocommerce-checkout-luxury-wrap select,
.mj-woocommerce-checkout-luxury-wrap textarea,
.mj-woocommerce-checkout-luxury-wrap .select2-container .select2-selection--single {
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    border: 1.5px solid rgba(15, 23, 42, 0.14) !important;
    background: #F8FAFC !important;
    font-family: var(--mj-font-sans) !important;
    font-size: 0.92rem !important;
    color: var(--mj-lux-navy) !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
}

.mj-woocommerce-checkout-luxury-wrap input.input-text:focus,
.mj-woocommerce-checkout-luxury-wrap select:focus,
.mj-woocommerce-checkout-luxury-wrap textarea:focus {
    background: #FFFFFF !important;
    border-color: #0284C7 !important;
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12) !important;
    outline: none !important;
}

.mj-woocommerce-checkout-luxury-wrap table.shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 20px;
}

.mj-woocommerce-checkout-luxury-wrap table.shop_table th,
.mj-woocommerce-checkout-luxury-wrap table.shop_table td {
    padding: 11px 8px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    font-size: 0.88rem;
}

.mj-woocommerce-checkout-luxury-wrap table.shop_table tr.order-total th,
.mj-woocommerce-checkout-luxury-wrap table.shop_table tr.order-total td {
    font-family: var(--mj-font-display);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
    border-bottom: none;
    padding-top: 16px;
}

.mj-woocommerce-checkout-luxury-wrap #payment {
    background: #F8FAFC !important;
    border-radius: 18px !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    padding: 16px !important;
}

.mj-woocommerce-checkout-luxury-wrap #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    border-bottom: none !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mj-woocommerce-checkout-luxury-wrap #payment ul.payment_methods li.wc_payment_method {
    background: #FFFFFF;
    border: 1.5px solid rgba(15, 23, 42, 0.09);
    border-radius: 14px;
    padding: 12px 14px !important;
    margin: 0 !important;
}

.mj-woocommerce-checkout-luxury-wrap #payment #place_order {
    width: 100% !important;
    padding: 16px 24px !important;
    border-radius: 14px !important;
    border: none !important;
    background: linear-gradient(135deg, #059669 0%, #0284C7 100%) !important;
    color: #FFFFFF !important;
    font-family: var(--mj-font-display) !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    box-shadow: 0 12px 28px -8px rgba(5, 150, 105, 0.45) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.mj-woocommerce-checkout-luxury-wrap #payment #place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px -8px rgba(5, 150, 105, 0.55) !important;
}

@media (max-width: 980px) {
    .mj-lux-cart-grid,
    .mj-checkout-shipping-assistant,
    .mj-woocommerce-checkout-luxury-wrap form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr !important;
    }

    .mj-woocommerce-checkout-luxury-wrap #order_review {
        grid-column: 1 !important;
        position: static !important;
    }

    .mj-lux-cart-item {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .mj-lux-cart-item__controls {
        grid-column: 1 / -1;
        justify-content: space-between;
        padding-top: 10px;
        border-top: 1px solid rgba(15, 23, 42, 0.06);
    }
}

/**
 * ============================================================================
 * 8. CHECKOUT GUIADO 5 PASOS PRO (LUXURY MULTI-STEP CHECKOUT)
 * ============================================================================
 */
.mj-checkout-stepper-wrap {
    width: 100%;
}

.mj-checkout-step-panel {
    display: none;
}

.mj-checkout-step-panel.is-active {
    display: block;
    animation: mjStepFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes mjStepFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mj-step-card {
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 22px;
    padding: clamp(20px, 3.5vw, 36px);
    box-shadow: 0 12px 36px -12px rgba(15, 23, 42, 0.08);
    margin-bottom: 24px;
}

.mj-step-card__header {
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    padding-bottom: 18px;
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mj-step-card__title {
    margin: 0;
    font-family: var(--mj-font-display);
    font-size: clamp(1.25rem, 2.2vw, 1.55rem);
    font-weight: 800;
    color: var(--mj-lux-navy);
    display: flex;
    align-items: center;
    gap: 10px;
}

.mj-step-card__sub {
    margin: 4px 0 0;
    font-size: 0.88rem;
    color: #64748B;
}

/* PASO 1: TABLA Y CONTROLES DE PRODUCTOS */
.mj-step-products-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
}

.mj-step-product-row {
    display: grid;
    grid-template-columns: 80px 1fr auto auto;
    align-items: center;
    gap: 18px;
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
    padding: 14px 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mj-step-product-row:hover {
    border-color: rgba(2, 132, 199, 0.25);
    box-shadow: 0 6px 18px -6px rgba(15, 23, 42, 0.06);
}

.mj-step-product-thumb {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.mj-step-product-info h3 {
    margin: 0 0 4px;
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
}

.mj-step-product-meta {
    font-size: 0.8rem;
    color: #64748B;
    margin-bottom: 4px;
}

.mj-step-product-unit-price {
    font-family: var(--mj-font-mono);
    font-size: 0.85rem;
    font-weight: 600;
    color: #0284C7;
}

.mj-step-qty-widget {
    display: inline-flex;
    align-items: center;
    background: #FFFFFF;
    border: 1.5px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    overflow: hidden;
}

.mj-step-qty-btn {
    width: 32px;
    height: 36px;
    border: none;
    background: transparent;
    color: var(--mj-lux-navy);
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mj-step-qty-btn:hover {
    background: #F1F5F9;
}

.mj-step-qty-input {
    width: 44px;
    height: 36px;
    border: none;
    text-align: center;
    font-family: var(--mj-font-mono);
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--mj-lux-navy);
    -moz-appearance: textfield;
}

.mj-step-qty-input::-webkit-outer-spin-button,
.mj-step-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.mj-step-product-total-box {
    text-align: right;
    display: flex;
    align-items: center;
    gap: 16px;
}

.mj-step-product-line-price {
    font-family: var(--mj-font-display);
    font-size: 1.08rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-step-remove-btn {
    background: transparent;
    border: none;
    color: #94A3B8;
    cursor: pointer;
    padding: 6px;
    border-radius: 8px;
    transition: color 0.15s ease, background 0.15s ease;
}

.mj-step-remove-btn:hover {
    color: #EF4444;
    background: #FEE2E2;
}

/* PASO 2: SELECCIÓN DE ENVÍOS CON FILTRADO GEOGRÁFICO */
.mj-step-shipping-search {
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 24px;
    color: #FFFFFF;
}

.mj-step-shipping-search__title {
    margin: 0 0 6px;
    font-family: var(--mj-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: #F8FAFC;
}

.mj-step-shipping-search__desc {
    margin: 0 0 16px;
    font-size: 0.85rem;
    color: #94A3B8;
}

.mj-step-shipping-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 480px;
}

.mj-step-cp-field {
    flex: 1;
    min-width: 180px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    font-family: var(--mj-font-mono);
    font-size: 1rem;
    font-weight: 700;
}

.mj-step-cp-field::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.mj-step-cp-btn {
    padding: 12px 22px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
    color: #FFFFFF;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mj-step-cp-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(2, 132, 199, 0.4);
}

.mj-step-locality-pill {
    margin-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 30px;
    background: rgba(16, 185, 129, 0.18);
    border: 1px solid rgba(16, 185, 129, 0.4);
    color: #34D399;
    font-size: 0.82rem;
    font-weight: 600;
}

.mj-shipping-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.mj-shipping-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #FFFFFF;
    border: 2px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 18px 20px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.mj-shipping-card:hover {
    border-color: rgba(2, 132, 199, 0.4);
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.09);
    transform: translateY(-2px);
}

.mj-shipping-card.is-selected {
    border-color: #0284C7;
    background: rgba(2, 132, 199, 0.02);
    box-shadow: 0 10px 28px -6px rgba(2, 132, 199, 0.22);
}

.mj-shipping-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.mj-shipping-carrier-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 8px;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mj-shipping-carrier-badge--mj {
    background: #FEF3C7;
    color: #92400E;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.mj-shipping-carrier-badge--andreani {
    background: #FEE2E2;
    color: #991B1B;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.mj-shipping-carrier-badge--correo {
    background: #DBEAFE;
    color: #1E40AF;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.mj-shipping-card__price {
    font-family: var(--mj-font-display);
    font-size: 1.18rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-shipping-card__price.is-free {
    color: #059669;
}

.mj-shipping-card__title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
}

.mj-shipping-card__eta {
    font-size: 0.8rem;
    color: #64748B;
    margin-bottom: 12px;
}

.mj-shipping-payment-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 0.74rem;
    font-weight: 700;
}

.mj-shipping-payment-tag--cash {
    background: #ECFDF5;
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.mj-shipping-payment-tag--virtual {
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid rgba(59, 130, 246, 0.25);
}

/* PASO 3: MEDIOS DE PAGO FILTRADOS */
.mj-payment-rule-notice {
    padding: 14px 18px;
    border-radius: 14px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.88rem;
    font-weight: 600;
}

.mj-payment-rule-notice--virtual {
    background: #EFF6FF;
    border: 1px solid rgba(59, 130, 246, 0.25);
    color: #1E40AF;
}

.mj-payment-rule-notice--local {
    background: #ECFDF5;
    border: 1px solid rgba(16, 185, 129, 0.25);
    color: #065F46;
}

.mj-payments-cards-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
}

.mj-payment-card {
    position: relative;
    background: #FFFFFF;
    border: 2px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 20px 24px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mj-payment-card:hover:not(.is-disabled) {
    border-color: rgba(2, 132, 199, 0.4);
    box-shadow: 0 8px 24px -8px rgba(15, 23, 42, 0.08);
}

.mj-payment-card.is-selected {
    border-color: #0284C7;
    background: rgba(2, 132, 199, 0.02);
    box-shadow: 0 10px 28px -6px rgba(2, 132, 199, 0.2);
}

.mj-payment-card.is-disabled {
    opacity: 0.45;
    background: #F8FAFC;
    cursor: not-allowed;
    border-style: dashed;
}

.mj-payment-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mj-payment-card__title-box {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mj-payment-card__radio {
    width: 20px;
    height: 20px;
    accent-color: #0284C7;
}

.mj-payment-card__title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-payment-card__badge {
    padding: 4px 10px;
    border-radius: 8px;
    background: #FEF3C7;
    color: #B45309;
    border: 1px solid rgba(245, 158, 11, 0.3);
    font-size: 0.75rem;
    font-weight: 800;
}

.mj-payment-card__price-box {
    text-align: right;
    font-family: var(--mj-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--mj-lux-navy);
}

.mj-payment-card__usd {
    display: block;
    font-size: 0.78rem;
    color: #64748B;
    font-family: var(--mj-font-mono);
}

.mj-payment-card__details {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.5;
}

/* PASO 4: FORMULARIO DE CLIENTE Y FACTURACIÓN */
.mj-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.mj-field-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mj-field-group--full {
    grid-column: 1 / -1;
}

.mj-field-label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--mj-lux-navy);
}

.mj-field-label .req {
    color: #EF4444;
}

.mj-field-input {
    padding: 13px 16px;
    border-radius: 12px;
    border: 1.5px solid #CBD5E1;
    font-size: 0.95rem;
    color: var(--mj-lux-navy);
    background: #FFFFFF;
    transition: all 0.15s ease;
}

.mj-field-input:focus {
    border-color: #0284C7;
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.12);
    outline: none;
}

.mj-field-input.has-error {
    border-color: #EF4444 !important;
    background: #FEF2F2 !important;
}

.mj-same-address-box {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 20px;
}

.mj-same-address-box label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--mj-lux-navy);
    cursor: pointer;
}

/* PASO 5: RESUMEN FINAL Y BOTÓN DE CONFIRMACIÓN */
.mj-review-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 28px;
}

.mj-review-box {
    background: #F8FAFC;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 18px 20px;
}

.mj-review-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.mj-review-box__title {
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748B;
}

.mj-review-box__edit {
    font-size: 0.8rem;
    font-weight: 700;
    color: #0284C7;
    background: transparent;
    border: none;
    cursor: pointer;
    text-decoration: underline;
}

.mj-review-box__content {
    font-size: 0.9rem;
    color: var(--mj-lux-navy);
    line-height: 1.5;
}

.mj-review-totals-box {
    background: linear-gradient(135deg, #0B1120 0%, #1E293B 100%);
    border-radius: 20px;
    padding: 24px 28px;
    color: #FFFFFF;
    margin-bottom: 24px;
}

.mj-review-totals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 0.95rem;
    color: #CBD5E1;
}

.mj-review-totals-row--highlight {
    color: #34D399;
    font-weight: 700;
}

.mj-review-totals-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin: 12px 0;
}

.mj-review-totals-row--grand {
    font-family: var(--mj-font-display);
    font-size: 1.45rem;
    font-weight: 800;
    color: #FFFFFF;
}

.mj-review-totals-row--grand .usd {
    display: block;
    font-size: 0.85rem;
    font-family: var(--mj-font-mono);
    color: #FDE68A;
    font-weight: 600;
    text-align: right;
}

/* NAVEGACIÓN Y BOTONES */
.mj-step-nav-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.mj-btn-confirm-order {
    width: 100%;
    padding: 18px 28px;
    border-radius: 16px;
    border: none;
    background: linear-gradient(135deg, #059669 0%, #0284C7 100%);
    color: #FFFFFF;
    font-family: var(--mj-font-display);
    font-size: 1.15rem;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-shadow: 0 14px 34px -8px rgba(5, 150, 105, 0.5);
    transition: all 0.2s ease;
}

.mj-btn-confirm-order:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -8px rgba(5, 150, 105, 0.65);
}

.mj-btn-confirm-order:disabled {
    opacity: 0.65;
    cursor: wait;
}

.mj-checkout-toast-error {
    background: #FEF2F2;
    border: 1.5px solid #EF4444;
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 20px;
    color: #991B1B;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 768px) {
    .mj-step-product-row {
        grid-template-columns: 60px 1fr;
        gap: 12px;
    }
    .mj-step-product-total-box {
        grid-column: 1 / -1;
        justify-content: space-between;
        padding-top: 8px;
        border-top: 1px solid rgba(15, 23, 42, 0.05);
    }
    .mj-fields-grid,
    .mj-review-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   15. CARRUSEL / SLIDER AUTOMÁTICO DE PRODUCTOS RELACIONADOS Y RECOMENDADOS
   ========================================================================== */
.mj-products-slider-wrapper {
    position: relative;
    width: 100%;
    margin: 20px 0 36px 0;
}

.mj-products-slider {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.mj-products-slider__viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 14px 6px 20px 6px;
    margin: -14px -6px -20px -6px;
    cursor: grab;
    user-select: none;
}
.mj-products-slider__viewport::-webkit-scrollbar {
    display: none;
}
.mj-products-slider__viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
}

.mj-products-slider__track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 22px !important;
    align-items: stretch !important;
}

/* Forzar tarjeta uniforme dentro del slider (mismo diseño que el inicio) */
.mj-products-slider__track > .mj-product-card,
.mj-products-slider__track > .wc-block-grid__product,
.mj-products-slider__track > li.product {
    flex: 0 0 calc((100% - (3 * 22px)) / 4) !important;
    max-width: calc((100% - (3 * 22px)) / 4) !important;
    width: calc((100% - (3 * 22px)) / 4) !important;
    min-width: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    box-sizing: border-box !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.mj-products-slider img {
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: auto;
}

/* Flechas de navegación del Slider */
.mj-slider-arrow {
    position: absolute;
    top: calc(50% - 10px);
    transform: translateY(-50%);
    z-index: 25;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid rgba(15, 23, 42, 0.12);
    box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.18), 0 2px 6px rgba(15, 23, 42, 0.08);
    color: #0F172A;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
    padding: 0;
}
.mj-slider-arrow:hover {
    background: linear-gradient(135deg, #0284C7 0%, #2563EB 100%);
    border-color: #0284C7;
    color: #FFFFFF;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 12px 28px -4px rgba(2, 132, 199, 0.45);
}
.mj-slider-arrow:active {
    transform: translateY(-50%) scale(0.94);
}
.mj-slider-arrow--prev {
    left: -20px;
}
.mj-slider-arrow--next {
    right: -20px;
}

/* Indicadores / Dots */
.mj-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    min-height: 14px;
}
.mj-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #CBD5E1;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
}
.mj-slider-dot:hover {
    background: #94A3B8;
}
.mj-slider-dot.is-active {
    width: 28px;
    background: linear-gradient(135deg, #0284C7 0%, #2563EB 100%);
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.35);
}

/* Media Queries Responsivas */
@media (max-width: 1200px) {
    .mj-products-slider__track {
        gap: 18px !important;
    }
    .mj-products-slider__track > .mj-product-card,
    .mj-products-slider__track > .wc-block-grid__product,
    .mj-products-slider__track > li.product {
        flex: 0 0 calc((100% - (2 * 18px)) / 3) !important;
        max-width: calc((100% - (2 * 18px)) / 3) !important;
        width: calc((100% - (2 * 18px)) / 3) !important;
    }
    .mj-slider-arrow--prev {
        left: -12px;
    }
    .mj-slider-arrow--next {
        right: -12px;
    }
}

@media (max-width: 860px) {
    .mj-products-slider__track {
        gap: 14px !important;
    }
    .mj-products-slider__track > .mj-product-card,
    .mj-products-slider__track > .wc-block-grid__product,
    .mj-products-slider__track > li.product {
        flex: 0 0 calc((100% - 14px) / 2) !important;
        max-width: calc((100% - 14px) / 2) !important;
        width: calc((100% - 14px) / 2) !important;
    }
    .mj-slider-arrow {
        width: 38px;
        height: 38px;
        background: rgba(255, 255, 255, 0.94);
        backdrop-filter: blur(6px);
    }
    .mj-slider-arrow--prev {
        left: -6px;
    }
    .mj-slider-arrow--next {
        right: -6px;
    }
}

@media (max-width: 540px) {
    .mj-products-slider__track {
        gap: 12px !important;
    }
    .mj-products-slider__track > .mj-product-card,
    .mj-products-slider__track > .wc-block-grid__product,
    .mj-products-slider__track > li.product {
        flex: 0 0 calc(84% - 12px) !important;
        max-width: calc(84% - 12px) !important;
        width: calc(84% - 12px) !important;
    }
    .mj-slider-arrow {
        width: 34px;
        height: 34px;
    }
    .mj-slider-arrow--prev {
        left: 0px;
    }
    .mj-slider-arrow--next {
        right: 0px;
    }
}

/* ==========================================================================
   MJ COMMERCE PRO — PÁGINA DE CONTACTO & FORMULARIO DE CONSULTAS
   Estilo Corporativo, Limpio y Profesional (Sin animaciones invasivas de IA)
   ========================================================================== */

.mj-contact-page-hero {
    text-align: center;
    max-width: 1280px;
    margin: 0 auto;
}

.mj-contact-badge {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    background: #EFF6FF !important;
    border: 1px solid #DBEAFE !important;
    color: #1D4ED8 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    margin: 0 auto 12px auto !important;
    text-transform: uppercase;
}

.mj-contact-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
}

.mj-contact-title {
    font-family: var(--wp--preset--font-family--mj-display, 'Space Grotesk', sans-serif) !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 12px 0 !important;
}

.mj-contact-subtitle {
    font-family: var(--wp--preset--font-family--mj-sans, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    max-width: 680px;
    margin: 0 auto !important;
}

.mj-contact-page-content {
    max-width: 1280px;
    margin: 0 auto;
}

.mj-contact-grid {
    display: flex !important;
    gap: 28px !important;
    align-items: flex-start !important;
}

.mj-contact-col-info {
    flex: 0 0 48% !important;
    max-width: 48% !important;
}

.mj-contact-col-form {
    flex: 0 0 52% !important;
    max-width: 52% !important;
}

/* Tarjetas de Información */
.mj-contact-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.05) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mj-contact-card:hover {
    border-color: #CBD5E1 !important;
    box-shadow: 0 4px 14px -2px rgba(15, 23, 42, 0.08) !important;
}

.mj-card-icon-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.mj-card-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    flex-shrink: 0;
}

.mj-icon-wa {
    background: #DCFCE7;
    color: #16A34A;
}

.mj-icon-loc {
    background: #EFF6FF;
    color: #2563EB;
}

.mj-card-title {
    font-family: var(--wp--preset--font-family--mj-display, 'Space Grotesk', sans-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.3 !important;
}

.mj-card-tag {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    margin: 0 !important;
}

.mj-card-text {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.55 !important;
    margin: 0 0 16px 0 !important;
}

/* Fila de Acción WhatsApp */
.mj-wa-action-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.mj-btn-wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25D366;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 10px;
    transition: background 0.15s ease, transform 0.15s ease;
}

.mj-btn-wa:hover {
    background: #20BA5A;
    color: #FFFFFF !important;
}

.mj-phone-number {
    font-family: var(--wp--preset--font-family--mj-mono, monospace);
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
    background: #F1F5F9;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #E2E8F0;
}

/* Detalles de Ubicación */
.mj-contact-details-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}

.mj-contact-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.mj-detail-bullet {
    font-size: 16px;
    line-height: 1.4;
    flex-shrink: 0;
}

.mj-contact-detail-item strong {
    color: #0F172A;
    display: block;
    font-size: 13px;
    margin-bottom: 1px;
}

.mj-contact-detail-item p {
    color: #475569;
    margin: 0 !important;
    font-size: 14px;
}

.mj-text-link {
    color: #2563EB !important;
    text-decoration: none !important;
    font-weight: 600;
}

.mj-text-link:hover {
    text-decoration: underline !important;
}

.mj-location-actions {
    margin-top: 10px;
}

.mj-btn-directions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F8FAFC;
    color: #1E293B !important;
    border: 1px solid #CBD5E1;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    padding: 9px 16px;
    border-radius: 9px;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.mj-btn-directions:hover {
    background: #F1F5F9;
    border-color: #94A3B8;
}

/* Cuadro de Google Maps */
.mj-card-map {
    padding: 18px !important;
}

.mj-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.mj-map-title-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mj-map-pin-icon {
    font-size: 16px;
}

.mj-map-title {
    font-family: var(--wp--preset--font-family--mj-display, 'Space Grotesk', sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 !important;
}

.mj-map-hint {
    font-size: 12px;
    font-weight: 600;
    color: #64748B;
    background: #F1F5F9;
    padding: 3px 8px;
    border-radius: 6px;
}

.mj-map-frame-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #E2E8F0;
    background: #E2E8F0;
}

.mj-map-frame-wrapper iframe {
    display: block;
    width: 100%;
    border: none;
}

/* Redes Sociales */
.mj-socials-title {
    font-family: var(--wp--preset--font-family--mj-display, 'Space Grotesk', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin: 0 0 4px 0 !important;
}

.mj-socials-subtitle {
    font-size: 13px !important;
    color: #64748B !important;
    margin: 0 0 14px 0 !important;
}

.mj-socials-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.mj-social-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: transform 0.15s ease, background 0.15s ease;
}

.mj-pill-instagram {
    background: #FDF2F8;
    color: #DB2777 !important;
    border: 1px solid #FBCFE8;
}
.mj-pill-instagram:hover {
    background: #FCE7F3;
}

.mj-pill-facebook {
    background: #EFF6FF;
    color: #1D4ED8 !important;
    border: 1px solid #BFDBFE;
}
.mj-pill-facebook:hover {
    background: #DBEAFE;
}

.mj-pill-tiktok {
    background: #F1F5F9;
    color: #0F172A !important;
    border: 1px solid #CBD5E1;
}
.mj-pill-tiktok:hover {
    background: #E2E8F0;
}

/* Tarjeta y Formulario de Consultas */
.mj-contact-form-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 2px 12px -2px rgba(15, 23, 42, 0.05);
}

.mj-form-header {
    margin-bottom: 24px;
}

.mj-form-icon-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #EFF6FF;
    color: #2563EB;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.mj-form-title {
    font-family: var(--wp--preset--font-family--mj-display, 'Space Grotesk', sans-serif);
    font-size: 24px;
    font-weight: 700;
    color: #0F172A;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.mj-form-subtitle {
    font-size: 14px;
    color: #64748B;
    margin: 0;
    line-height: 1.5;
}

/* Alertas de Éxito / Error */
.mj-contact-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 22px;
}

.mj-alert-success {
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    color: #15803D;
}
.mj-alert-success svg {
    color: #16A34A;
    flex-shrink: 0;
}

.mj-alert-error {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #B91C1C;
}
.mj-alert-error svg {
    color: #DC2626;
    flex-shrink: 0;
}

.mj-alert-content strong {
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}

.mj-alert-msg {
    margin: 0 !important;
    font-size: 13px;
    line-height: 1.45;
}

/* Campos del Formulario */
.mj-contact-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mj-form-row {
    display: flex;
    gap: 16px;
}

.mj-form-row-split > .mj-form-group {
    flex: 1 1 50%;
}

.mj-form-group {
    display: flex;
    flex-direction: column;
}

.mj-form-label {
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
    margin-bottom: 6px;
    display: block;
}

.mj-req {
    color: #EF4444;
}

.mj-opt {
    color: #94A3B8;
    font-size: 12px;
    font-weight: normal;
}

.mj-form-input,
.mj-form-select,
.mj-form-textarea {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 14px;
    color: #0F172A;
    background: #FFFFFF;
    border: 1.5px solid #CBD5E1;
    border-radius: 10px;
    padding: 11px 14px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mj-form-input:focus,
.mj-form-select:focus,
.mj-form-textarea:focus {
    border-color: #2563EB;
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.mj-form-textarea {
    resize: vertical;
    min-height: 110px;
    line-height: 1.5;
}

.mj-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 6px;
}

.mj-form-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #2563EB;
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 10px;
    padding: 12px 24px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.mj-form-submit-btn:hover {
    background: #1D4ED8;
}

.mj-form-submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.mj-btn-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #FFFFFF;
    border-radius: 50%;
    animation: mjSpin 0.7s linear infinite;
}

@keyframes mjSpin {
    to { transform: rotate(360deg); }
}

.mj-form-privacy-note {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #94A3B8;
    margin: 0 !important;
}

/* Responsividad para móviles y tablets */
@media (max-width: 960px) {
    .mj-contact-grid {
        flex-direction: column !important;
    }
    .mj-contact-col-info,
    .mj-contact-col-form {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .mj-contact-form-card {
        padding: 22px;
    }
    .mj-form-row-split {
        flex-direction: column;
        gap: 16px;
    }
    .mj-form-row-split > .mj-form-group {
        flex: 1 1 100%;
    }
    .mj-contact-title {
        font-size: 28px !important;
    }
}

