/* =========================================
   APPETIT LANDING PAGE - DARK THEME
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&family=Rajdhani:wght@600;700&display=swap');

:root {
    --bg-color: #0f172a;     /* Slate 900 */
    --card-bg: #1e293b;      /* Slate 800 */
    --accent: #38bdf8;       /* Sky 400 */
    --accent-dark: #0ea5e9;  /* Sky 500 */
    --text-main: #f8fafc;    /* Slate 50 */
    --text-muted: #94a3b8;   /* Slate 400 */
    --border: rgba(255, 255, 255, 0.1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background-color: var(--bg-color);
    color: var(--text-main);
    font-family: 'Outfit', sans-serif;
    overflow-x: hidden;
    line-height: 1.6;
}

/* --- NAVBAR --- */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 5%;
    position: fixed; /* Sticky header */
    width: 100%;
    top: 0;
    z-index: 1000;
    transition: background 0.3s, padding 0.3s;
}

.navbar.scrolled {
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(10px);
    padding: 15px 5%;
    border-bottom: 1px solid var(--border);
}

.logo {
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.logo span { color: var(--accent); }

.btn-login {
    text-decoration: none;
    color: #fff;
    font-weight: 600;
    border: 1px solid rgba(255,255,255,0.2);
    padding: 8px 24px;
    border-radius: 50px;
    transition: all 0.3s;
    font-size: 0.9rem;
}
.btn-login:hover {
    background: #fff;
    color: var(--bg-color);
    transform: translateY(-2px);
}

/* --- HERO SECTION --- */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 140px 20px 80px;
    background: radial-gradient(circle at center, #1e293b 0%, #0f172a 70%);
    position: relative;
    overflow: hidden;
}

/* Fondo decorativo */
.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: linear-gradient(#334155 1px, transparent 1px), linear-gradient(90deg, #334155 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.05;
    pointer-events: none;
}

.hero-content {
    max-width: 900px;
    position: relative;
    z-index: 10;
    animation: fadeIn 0.8s ease-out;
}

.badge-new {
    display: inline-block;
    background: rgba(56, 189, 248, 0.1);
    color: var(--accent);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 25px;
    border: 1px solid rgba(56, 189, 248, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.hero h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 25px;
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    text-shadow: 0 0 40px rgba(56, 189, 248, 0.2);
}

.hero .subtitle {
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    color: var(--text-muted);
    margin-bottom: 40px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* --- BOTONES CTA --- */
.cta-group {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-primary {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
    color: #0f172a;
    padding: 16px 40px;
    border-radius: 50px;
    font-weight: 800;
    text-decoration: none;
    font-size: 1.1rem;
    box-shadow: 0 0 25px rgba(56, 189, 248, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    cursor: pointer;
}
.btn-primary:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(56, 189, 248, 0.6);
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    padding: 16px 40px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid var(--border);
    transition: all 0.3s;
    font-size: 1.1rem;
    backdrop-filter: blur(10px);
}
.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #fff;
    transform: translateY(-2px);
}

.hero-image-container {
    margin-top: 60px;
    position: relative;
}

.hero-img {
    max-width: 100%;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6);
    border: 1px solid var(--border);
    transform: perspective(1000px) rotateX(2deg);
    transition: transform 0.5s ease;
}
.hero-img:hover {
    transform: perspective(1000px) rotateX(0deg) scale(1.02);
}

/* --- FEATURES GRID --- */
.features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    padding: 80px 5%;
    max-width: 1200px;
    margin: 0 auto;
}

.feature-card {
    background: var(--card-bg);
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid var(--border);
    transition: transform 0.3s ease, border-color 0.3s;
}
.feature-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent);
}

.feature-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
    display: inline-block;
    background: rgba(56, 189, 248, 0.1);
    padding: 12px;
    border-radius: 12px;
}

.feature-title {
    font-size: 1.4rem;
    margin-bottom: 10px;
    font-weight: 700;
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
}

.feature-desc {
    color: var(--text-muted);
    font-size: 1rem;
}

/* --- TESTIMONIALS --- */
.testimonials {
    padding: 80px 5%;
    text-align: center;
    background: linear-gradient(to bottom, var(--bg-color), #162032);
}
.section-title {
    color: #fff;
    font-family: 'Rajdhani', sans-serif;
    font-size: 2.5rem;
    margin-bottom: 50px;
}
.testi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}
.testi-card {
    background: var(--card-bg);
    padding: 30px;
    border-radius: 16px;
    text-align: left;
    border: 1px solid var(--border);
}
.testi-text {
    font-style: italic;
    color: #cbd5e1;
    margin-bottom: 20px;
    display: block;
    font-size: 1.1rem;
}
.testi-author { color: var(--accent); font-weight: bold; }
.testi-rest { color: #64748b; font-size: 0.9rem; }

/* --- FOOTER --- */
footer {
    text-align: center;
    padding: 50px 20px;
    color: #64748b;
    font-size: 0.9rem;
    border-top: 1px solid var(--border);
    margin-top: 50px;
}

/* --- ANIMACIONES --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
    .cta-group { flex-direction: column; width: 100%; }
    .btn-primary, .btn-secondary { width: 100%; }
    .hero { padding-top: 120px; }
}


/* =========================================
   BOTÓN FLOTANTE DE WHATSAPP
   ========================================= */
.float-wa {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50%;
    text-align: center;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.3);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    text-decoration: none;
}

.float-wa:hover {
    transform: scale(1.1);
    background-color: #1ebc57;
    box-shadow: 0 0 20px rgba(37, 211, 102, 0.6);
}

.float-wa svg {
    width: 35px;
    height: 35px;
    fill: white;
}

/* Tooltip (Mensaje emergente) */
.float-wa::after {
    content: '¿Hablamos?';
    position: absolute;
    right: 70px;
    background: #fff;
    color: #0f172a;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    opacity: 0;
    transition: 0.3s;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transform: translateX(10px);
}

.float-wa:hover::after {
    opacity: 1;
    transform: translateX(0);
}

/* Ajuste móvil para que no tape contenido */
@media (max-width: 768px) {
    .float-wa {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }
    .float-wa svg {
        width: 28px;
        height: 28px;
    }
    .float-wa::after {
        display: none; /* Ocultamos el tooltip en celular */
    }
}

/* =========================================
   NUEVOS BLOQUES DEL CONSTRUCTOR (CMS)
   Agrega esto al final de tu archivo actual
   ========================================= */

/* 1. Lista con Checks (Para el bloque Laptop/Showcase) */
.check-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.check-list li {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 1.1rem;
    font-weight: 500;
}
/* Usamos tu variable de acento para el check */
.check-list li::before {
    content: '✅'; /* O puedes usar un icono fontawesome content: '\f00c'; font-family: 'Font Awesome 6 Free'; */
    color: var(--accent);
    font-size: 1.2rem;
}

/* 2. Acordeón FAQ (Personalización sobre Bootstrap) */
/* Lo adaptamos para que se vea bien en tu tema oscuro */
.accordion-item {
    background-color: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 12px !important;
    margin-bottom: 15px;
    overflow: hidden;
}

.accordion-button {
    background-color: var(--card-bg);
    color: var(--text-main);
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    box-shadow: none !important; /* Quita el brillo azul de bootstrap */
}

.accordion-button:not(.collapsed) {
    background-color: rgba(56, 189, 248, 0.1); /* Azul sutil al abrir */
    color: var(--accent);
    box-shadow: none;
}

.accordion-button::after {
    filter: invert(1); /* Invierte el color de la flecha para que sea blanca */
}

.accordion-body {
    background-color: var(--bg-color);
    color: var(--text-muted);
    border-top: 1px solid var(--border);
}

/* 3. Utilidades Visuales del Builder */
.img-shadow {
    box-shadow: 0 20px 50px rgba(0,0,0,0.5); /* Sombra más fuerte para dark mode */
    border-radius: 16px;
    border: 1px solid var(--border);
}

/* Botón genérico del builder (por si el usuario no usa el btn-primary existente) */
.btn-theme {
    background: var(--accent);
    color: #0f172a; /* Texto oscuro para contraste con el azul claro */
    padding: 14px 35px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 800;
    transition: all 0.3s ease;
    display: inline-block;
    border: none;
}
.btn-theme:hover {
    background: var(--accent-dark);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(56, 189, 248, 0.3);
}

/* Ajuste para cuando el fondo de la sección es BLANCO (definido desde el builder) */
section[style*="background-color: #ffffff"] .feature-card,
section[style*="background-color: #f8fafc"] .feature-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
section[style*="background-color: #ffffff"] .feature-title,
section[style*="background-color: #f8fafc"] .feature-title {
    color: #0f172a; /* Título oscuro en fondo blanco */
}
section[style*="background-color: #ffffff"] .accordion-button,
section[style*="background-color: #f8fafc"] .accordion-button {
    background: #fff;
    color: #0f172a;
}

/* =========================================
   ESTILOS DEL CONSTRUCTOR (CMS) - LIMPIEZA
   ========================================= */

/* Colores Dinámicos (Variables por defecto) */
:root {
    --section-bg: #ffffff;
    --section-text: #1e293b;
}

/* Clases de Alineación para Secciones Personalizadas */
.layout-center {
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.layout-left {
    text-align: left;
}

.layout-right {
    text-align: right; /* Opcional si quisieras texto a la derecha */
}

/* Imágenes en Secciones Custom */
.custom-img {
    max-height: 450px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    width: 100%;
}

/* Ajustes para invertir el orden en móvil/desktop */
@media (min-width: 992px) {
    .flex-row-reverse-lg {
        flex-direction: row-reverse !important;
    }
}

/* =========================================
   ✨ TOQUE FINAL: ACABADOS PREMIUM (FACELIFT)
   ========================================= */

/* 1. Tipografía más moderna y geométrica */
h1, h2, h3, h4, .display-4, .display-5 {
    font-weight: 800 !important;
    letter-spacing: -0.03em; /* Letras más juntas, estilo tech moderno */
    line-height: 1.2;
}

p, .lead {
    font-size: 1.15rem;
    line-height: 1.8; /* Mejor lectura */
    opacity: 0.9;
}

/* 2. Imágenes con efecto "Flotante" y Cristal */
.custom-img {
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); /* Sombra profunda */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Borde sutil */
    transition: transform 0.4s ease;
}

.custom-img:hover {
    transform: translateY(-8px); /* Se eleva al pasar el mouse */
}

/* 3. Botones "Glow" (Brillantes) */
.btn-theme {
    background: linear-gradient(135deg, var(--accent) 0%, #0284c7 100%);
    box-shadow: 0 10px 25px rgba(56, 189, 248, 0.4); /* Resplandor azul */
    border: none;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1.5px;
    padding: 16px 40px;
    font-weight: 700;
}
.btn-theme:hover {
    box-shadow: 0 20px 40px rgba(56, 189, 248, 0.6);
    filter: brightness(1.1);
    transform: translateY(-3px);
}

/* 4. Espacio equilibrado */
.section-padding {
    padding: 60px 0; /* Mucho más compacto */
}

/* 5. FIX PARA SECCIONES CON FONDO BLANCO EN MODO OSCURO */
/* Si pones un fondo blanco, forzamos el texto a ser oscuro automáticamente */
section[style*="#ffffff"] h2, 
section[style*="#ffffff"] p,
section[style*="#ffffff"] li {
   color: #0f172a !important; 
}

/* =========================================
   NUEVOS FONDOS Y EFECTOS (Background Styles)
   ========================================= */

/* 1. Degradado "Midnight" (Tu marca) */
.bg-gradient-midnight {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
}

/* 2. Degradado "Ocean" (Azul vibrante) */
.bg-gradient-ocean {
    background: linear-gradient(135deg, #0f172a 0%, #0369a1 100%) !important;
}

/* 3. Degradado "Royal" (Morado sutil) */
.bg-gradient-royal {
    background: linear-gradient(135deg, #0f172a 0%, #4c1d95 100%) !important;
}

/* 4. Patrón "Tech Grid" (Cuadrícula sutil) */
.bg-pattern-grid {
    background-color: #0f172a;
    background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}

/* Regla de Oro: Si usas estos fondos, el texto SIEMPRE es blanco */
.bg-gradient-midnight h1, .bg-gradient-midnight h2, .bg-gradient-midnight p,
.bg-gradient-ocean h1, .bg-gradient-ocean h2, .bg-gradient-ocean p,
.bg-gradient-royal h1, .bg-gradient-royal h2, .bg-gradient-royal p,
.bg-pattern-grid h1, .bg-pattern-grid h2, .bg-pattern-grid p {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3); /* Sombra suave para leer mejor */
}

/* =========================================
   FIX: VISIBILIDAD DE TEXTOS
   Obliga a los textos a usar el color configurado en el Constructor
   ========================================= */

section h1, section h2, section h3, section h4,
section p, section .lead, section .subtitle, 
section li, section span {
    color: inherit !important; /* Hereda el color del padre (blanco u oscuro) */
}

/* Mantenemos una pequeña transparencia para que se vea elegante, pero legible */
section p, section .lead, section .subtitle {
    opacity: 0.9; 
}

/* Ajuste específico para el Hero */
.hero .subtitle {
    color: inherit !important;
    opacity: 0.85;
}

/* =========================================
   NUEVO: HERO FULL SCREEN Y ANIMACIONES
   ========================================= */

/* 1. Forzar altura completa en el Hero */
.hero-full-screen {
    min-height: 100vh; /* Ocupa el 100% del alto de la ventana */
    display: flex;
    align-items: center; /* Centra verticalmente */
    justify-content: center;
    position: relative;
    padding-top: 80px; /* Compensa la navbar fija */
    padding-bottom: 80px;
}

/* 2. Flecha "Scroll Down" */
.scroll-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 2rem;
    animation: bounce 2s infinite;
    cursor: pointer;
    opacity: 0.8;
    z-index: 20;
    transition: 0.3s;
}

.scroll-indicator:hover {
    opacity: 1;
    color: var(--accent);
}

/* Animación de Rebote */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-10px); }
    60% { transform: translateX(-50%) translateY(-5px); }
}

/* Ajuste para móviles: Que no sea tan alto si no cabe */
@media (max-height: 700px) {
    .hero-full-screen {
        min-height: auto;
        padding-top: 120px;
    }
    .scroll-indicator {
        display: none; /* Ocultar flecha en pantallas muy bajitas */
    }
}

/* =========================================
   ESTILO FAQ FUTURISTA (Neon Glass)
   ========================================= */

.accordion-futuristic .accordion-item {
    background: rgba(255, 255, 255, 0.03); /* Cristal Oscuro */
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 15px;
    border-radius: 12px;
    overflow: hidden;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.accordion-futuristic .accordion-item:hover {
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
}

.accordion-futuristic .accordion-button {
    background: transparent;
    color: #fff;
    font-weight: 600;
    box-shadow: none !important;
    padding: 20px;
}

.accordion-futuristic .accordion-button::after {
    filter: invert(1); /* Flecha blanca */
}

.accordion-futuristic .accordion-button:not(.collapsed) {
    background: rgba(56, 189, 248, 0.1); /* Azul sutil al abrir */
    color: var(--accent); /* Texto azul neón */
    border-bottom: 1px solid rgba(56, 189, 248, 0.2);
}

.accordion-futuristic .accordion-body {
    color: #cbd5e1; /* Gris claro para lectura */
    background: transparent;
    padding: 20px;
    line-height: 1.6;
}

/* =========================================
   ESTILOS DINÁMICOS Y COMPLEMENTARIOS
   ========================================= */

/* Variables CSS para colores dinámicos */
:root {
    --accent: #3b82f6; /* Valor por defecto */
}

/* Navbar */
.navbar-brand span {
    color: var(--accent);
}

/* Efectos Hover */
.hover-accent:hover {
    color: var(--accent) !important;
    transition: 0.3s;
}
.hover-white:hover {
    color: #fff !important;
    transition: 0.3s;
}

/* Botón Flotante de WhatsApp */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: #25D366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    z-index: 1000;
    transition: transform 0.3s;
    text-decoration: none;
}
.whatsapp-float:hover {
    transform: scale(1.1);
    color: white;
}

/* Ajustes de Imágenes */
.hero-image-container img {
    max-width: 100%;
    height: auto;
}
.filter-drop-shadow {
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.3));
}
.rounded-shadow {
    border-radius: 1rem !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(255,255,255,0.1);
}

/* Footer */
footer {
    background-color: #020617; /* Negro azulado */
}

/* =========================================
   FONDOS ESPECIALES (Background Styles)
   ========================================= */

/* 1. Degradado Midnight (Morado oscuro profesional) */
.bg-gradient-midnight {
    background: linear-gradient(135deg, #0f172a 0%, #312e81 100%) !important;
    position: relative;
}

/* 2. Degradado Océano (Azul profundo a cian) */
.bg-gradient-ocean {
    background: linear-gradient(135deg, #020617 0%, #0ea5e9 100%) !important;
    position: relative;
}

/* 3. Patrón Tech Grid (Cuadrícula tecnológica) */
.bg-pattern-grid {
    background-color: #0f172a; /* Fondo base */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 40px 40px; /* Tamaño de los cuadros */
    background-position: center center;
}

/* Efecto Viñeta para que el Grid se vea mejor (Opcional) */
.bg-pattern-grid::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, transparent 40%, #0f172a 100%);
    pointer-events: none;
}

/* =========================================
   ESTILOS PARA PÁGINAS CMS (Precios y Contenido)
   ========================================= */

/* Estilos de Tarjetas en Páginas Internas */
.page-content .card {
    background: rgba(255, 255, 255, 0.02) !important; /* Fondo casi transparente */
    backdrop-filter: blur(10px);
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.page-content .card:hover {
    transform: translateY(-5px);
    border-color: var(--accent) !important;
}

.page-content .card-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.page-content .list-unstyled li {
    margin-bottom: 0.5rem;
    color: #cbd5e1; /* Gris claro para texto */
}

/* Títulos dentro del contenido */
.page-content h1, 
.page-content h2, 
.page-content h3, 
.page-content h4 {
    color: #fff !important;
}

/* Botones dentro del contenido */
.page-content .btn-primary {
    background-color: var(--accent);
    border-color: var(--accent);
}

.page-content .btn-outline-primary {
    color: var(--accent);
    border-color: var(--accent);
}

.page-content .btn-outline-primary:hover {
    background-color: var(--accent);
    color: #fff;
}

/* =========================================
   CORRECCIÓN DE LECTURA Y CONTRASTE (MODO OSCURO)
   ========================================= */

/* 1. Textos secundarios (El texto de "impuestos") */
.page-content .text-muted {
    color: rgba(255, 255, 255, 0.6) !important; /* Gris claro legible */
}

/* 2. Listas de precios y textos pequeños */
.page-content .card .list-unstyled li,
.page-content .card small {
    color: rgba(255, 255, 255, 0.8) !important; /* Casi blanco */
}

/* 3. ARREGLO DEL BOTÓN AZUL (PRO) */
/* Forzamos que el texto sea blanco sobre el fondo azul */
.page-content .btn-primary {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #ffffff !important; /* <--- ESTO ARREGLA EL BOTÓN AZUL */
    font-weight: 600;
}

/* 4. ARREGLO DE BOTONES BORDEADOS (GRATIS/EMPRESA) */
.page-content .btn-outline-primary {
    color: #ffffff !important; /* Texto blanco */
    border-color: var(--accent) !important;
    opacity: 0.8;
}

.page-content .btn-outline-primary:hover {
    background-color: var(--accent) !important;
    color: #ffffff !important;
    opacity: 1;
}

/* =========================================
   ESTILOS PÁGINAS INTERNAS (CMS)
   ========================================= */

/* Ajuste del Body solo para páginas internas */
body.internal-page {
    padding-top: 80px; /* Para que el header fijo no tape el contenido */
    background-color: #020617;
    color: #fff;
}

/* Tipografía y Espaciado del Contenido */
.page-content {
    min-height: 60vh;
}

.page-content h1, 
.page-content h2, 
.page-content h3 {
    color: #fff;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.page-content p {
    color: #cbd5e1; /* Gris azulado claro */
    line-height: 1.7;
    margin-bottom: 1rem;
}

.page-content ul, 
.page-content ol {
    color: #cbd5e1;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}

.page-content a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 500;
}

.page-content a:hover {
    text-decoration: underline;
}

/* =========================================
   FOOTER PREMIUM v3 (Alineado y Suave)
   ========================================= */

.footer-glass {
    position: relative;
    /* Fondo oscuro pero translúcido */
    background: rgba(2, 6, 23, 0.85); 
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    /* Borde superior muy sutil */
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin-top: 0 !important;
    padding-top: 4rem;
    padding-bottom: 2rem;
    overflow: hidden;
}

/* LA LUZ SUAVE (Nebulosa) */
.footer-glow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    /* Luz que cae desde arriba al centro, muy suave */
    background: radial-gradient(circle at 50% -20%, rgba(59, 130, 246, 0.15), transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* Contenido por encima de la luz */
.footer-content {
    position: relative;
    z-index: 1;
}

/* Alineación de textos */
.footer-desc {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 280px; /* Evita que el texto se estire demasiado */
}

/* Enlaces */
.footer-link {
    color: #94a3b8;
    text-decoration: none;
    transition: 0.3s;
    display: flex; 
    align-items: center; /* Alineación vertical perfecta */
    margin-bottom: 0.8rem;
    font-size: 0.95rem;
}
.footer-link:hover {
    color: #fff;
    transform: translateX(5px);
}
.footer-link i { 
    margin-right: 10px; 
    color: var(--accent); 
    font-size: 0.75rem; 
}

/* Botones Sociales */
.social-btn {
    width: 38px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px; color: #fff; text-decoration: none;
    transition: 0.3s; margin-right: 8px;
}
.social-btn:hover {
    background: var(--accent);
    color: #000;
    transform: translateY(-3px);
}

/* =========================================
   BOTÓN WHATSAPP PREMIUM (EFECTO WOW) - CORREGIDO
   ========================================= */
.whatsapp-premium {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    border-radius: 50px;
    padding: 12px;
    /* box-shadow mejorado para más profundidad */
    box-shadow: 0 15px 35px rgba(0,0,0,0.4), 0 5px 15px rgba(37, 211, 102, 0.4);
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    
    /* --- LÍNEA BORRADA AQUÍ: overflow: hidden; --- */
    /* Al quitarla, la notificación ya no se corta al saltar */
    
    height: 60px;
    width: 60px;
}

/* El Icono */
.whatsapp-premium i {
    font-size: 32px;
    color: white;
    transition: all 0.3s ease;
    z-index: 2;
}

/* Texto oculto inicialmente */
.wa-text {
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    color: white;
    font-weight: 700;
    font-size: 1rem;
    white-space: nowrap;
    transition: all 0.4s ease;
    margin-left: 0;
}

/* EFECTO DE ONDAS (PULSE) */
.whatsapp-premium::before, .whatsapp-premium::after {
    content: '';
    position: absolute;
    border: 1px solid #25D366;
    left: -20px;
    right: -20px;
    top: -20px;
    bottom: -20px;
    border-radius: 50%;
    animation: wa-pulse 2.5s linear infinite;
    opacity: 0;
    z-index: -1;
}
.whatsapp-premium::after {
    animation-delay: 1.25s;
}

@keyframes wa-pulse {
    0% { transform: scale(0.5); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: scale(1.2); opacity: 0; }
}

/* NOTIFICACIÓN (Puntito Rojo) */
.wa-notification {
    position: absolute;
    top: 5px;
    right: 5px;
    background: #ff3b30;
    color: white;
    font-size: 10px;
    font-weight: bold;
    height: 18px;
    width: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #0f172a;
    z-index: 3;
    animation: wa-bounce 2s infinite;
}

@keyframes wa-bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-5px);}
    60% {transform: translateY(-3px);}
}

/* INTERACCIÓN HOVER (La Magia) */
.whatsapp-premium:hover {
    width: 180px; /* Se expande */
    padding-right: 25px;
    background: linear-gradient(135deg, #2ecc71 0%, #16a085 100%);
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(37, 211, 102, 0.5);
}

.whatsapp-premium:hover .wa-text {
    max-width: 200px;
    opacity: 1;
    margin-left: 10px;
}

.whatsapp-premium:hover i {
    transform: rotate(-10deg); /* Pequeña rotación divertida */
}

/* Ocultar notificación al hacer hover */
.whatsapp-premium:hover .wa-notification {
    opacity: 0;
    transition: 0.2s;
}

/* =========================================
   FLECHA DE SCROLL PREMIUM (EFECTO WOW)
   ========================================= */
.scroll-down-premium {
    position: absolute;
    bottom: 40px; /* Un poco más arriba para dar espacio a las ondas */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
}

/* El círculo contenedor */
.scroll-circle {
    position: relative;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease;
}

/* El icono de la flecha */
.scroll-circle i {
    color: white;
    font-size: 20px;
    /* Animación de deslizamiento fluido */
    animation: scroll-slide-down 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Keyframes para el deslizamiento de la flecha */
@keyframes scroll-slide-down {
    0% { transform: translateY(-30%); opacity: 0; }
    30% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(60%); opacity: 0; }
}

/* ONDAS DE ENERGÍA (Ripple Effect) */
.scroll-circle::before, .scroll-circle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid var(--accent); /* Usa tu color de marca */
    animation: scroll-ripple 2.5s linear infinite;
    opacity: 0;
    z-index: -1;
}
.scroll-circle::after {
    animation-delay: 1.25s; /* Retraso para segunda onda */
}

@keyframes scroll-ripple {
    0% { width: 100%; height: 100%; opacity: 0.6; border-width: 2px; }
    100% { width: 300%; height: 300%; opacity: 0; border-width: 1px; }
}

/* EFECTO HOVER (Al pasar el mouse) */
.scroll-down-premium:hover .scroll-circle {
    background: var(--accent); /* Se llena del color de marca */
    border-color: var(--accent);
    box-shadow: 0 0 25px var(--accent); /* Brillo intenso */
}

.scroll-down-premium:hover i {
    /* Pausa la animación y la deja visible y centrada */
    animation-play-state: paused;
    transform: translateY(0);
    opacity: 1;
    scale: 1.2; /* Un pequeño aumento de tamaño */
    transition: 0.3s;
}

/* =========================================
   BADGE PREMIUM (ETIQUETA SUPERIOR FUTURISTA)
   ========================================= */
.badge-premium {
    display: inline-flex;
    align-items: center;
    /* Fondo de cristal oscuro y translúcido */
    background: rgba(255, 255, 255, 0.02);
    /* Borde sutil del color de acento */
    border: 1px solid var(--accent);
    /* Color del texto */
    color: var(--accent);
    /* Efecto borroso de fondo */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    
    padding: 8px 24px; /* Un poco más ancho */
    border-radius: 30px; /* Bordes redondeados elegantes */
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 2px; /* Espaciado de letras premium */
    text-transform: uppercase;
    
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    /* Sutil sombra brillante */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

/* PEQUEÑO PUNTO DE LUZ PULSANTE */
.badge-premium::before {
    content: '';
    width: 6px;
    height: 6px;
    background-color: var(--accent);
    border-radius: 50%;
    margin-right: 12px; /* Espacio entre punto y texto */
    /* El punto brilla intensamente con el color de acento */
    box-shadow: 0 0 10px var(--accent), 0 0 5px var(--accent);
    animation: badge-pulse 2s infinite ease-in-out;
}

/* Animación del punto */
@keyframes badge-pulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.3); }
}

/* EFECTO DE DESTELLO (SHINE) QUE PASA */
.badge-premium::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 50%;
    height: 200%;
    /* Un destello de luz blanca diagonal */
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.3), transparent);
    transform: rotate(25deg);
    animation: badge-shine 6s infinite; /* Pasa cada 6 segundos */
}

@keyframes badge-shine {
    0%, 70% { left: -100%; } /* Espera la mayoría del tiempo */
    100% { left: 200%; } /* Pasa rápidamente */
}

/* Interacción al pasar el mouse */
.badge-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3), 0 0 15px var(--accent); /* Brillo más intenso */
    background: rgba(255, 255, 255, 0.05);
}

/* =========================================
   BOTÓN ÚNICO FAQ (NEON SLIDE)
   ========================================= */
.btn-faq-unique {
    position: relative;
    display: inline-block;
    padding: 12px 40px;
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--accent); /* Color del texto igual al de la marca */
    background: transparent;
    border: 2px solid var(--accent); /* Borde neón */
    border-radius: 50px;
    overflow: hidden;
    z-index: 1;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 0 10px rgba(0,0,0,0.5); /* Sombra sutil */
    text-decoration: none;
}

/* El relleno que se desliza */
.btn-faq-unique::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%; /* Empieza vacío */
    height: 100%;
    background: var(--accent);
    z-index: -1;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* EFECTO HOVER */
.btn-faq-unique:hover {
    color: #020617; /* El texto se vuelve oscuro para leerse bien */
    box-shadow: 0 0 20px var(--accent), 0 0 40px var(--accent); /* Doble resplandor intenso */
    transform: translateY(-3px); /* Se eleva un poco */
    border-color: transparent;
}

.btn-faq-unique:hover::before {
    width: 100%; /* Se llena por completo */
}

/* Icono (si decides ponerle uno) */
.btn-faq-unique i {
    margin-right: 8px;
}

/* =========================================
   ANIMACIÓN DE SECCIONES
   ========================================= */

/* 1. EFECTO DE IMAGEN (Zoom suave al Hover) */
.anim-hover-scale {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px; 
}

.anim-hover-scale:hover {
    transform: scale(1.04); /* Crece un 4% */
    z-index: 2;
}

/* 2. BOTÓN GLOW ANIMADO */
.btn-glow-anim {
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
    border: none;
    color: #fff !important;
}

.btn-glow-anim:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px -5px rgba(56, 189, 248, 0.6);
    filter: brightness(1.1);
}

.btn-glow-anim::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: 0.5s;
}

.btn-glow-anim:hover::after {
    left: 100%;
}

/* =========================================
   CORRECCIÓN MÓVIL FINAL (ESPACIOS AJUSTADOS)
   ========================================= */

@media (max-width: 991px) {
    
    /* 1. CONTROL TOTAL DE ESPACIOS VERTICALES (LO QUE FALTABA) */
    /* A todas las secciones normales, les bajamos el aire a 30px */
    section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* PERO... A la primera sección (Hero/Portada) le damos más espacio 
       arriba para que el menú no la tape */
    section:first-of-type, 
    .hero, 
    .hero-full-screen {
        padding-top: 140px !important;
        padding-bottom: 40px !important;
    }

    /* 2. MÁS ESPACIO LATERAL (AIRE A LOS LADOS) */
    .container {
        padding-left: 35px !important;
        padding-right: 35px !important;
        max-width: 100%;
    }

    /* 3. CORREGIR EL DESBORDE DE BOOTSTRAP */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    /* 4. ORDEN: TEXTO ARRIBA, IMAGEN ABAJO */
    .flex-row-reverse, .row {
        flex-direction: column !important;
    }

    /* 5. COLUMNAS Y TEXTOS */
    .col-lg-6 {
        width: 100%;
        text-align: center !important;
        padding-left: 0 !important; 
        padding-right: 0 !important;
    }

    h1, h2, .lead, p {
        padding-left: 5px;
        padding-right: 5px;
    }

    /* 6. ELEMENTOS CENTRADOS */
    .mb-3 {
        display: flex;
        justify-content: center;
        width: 100%;
    }
    .badge-premium {
        margin: 0 auto !important;
    }
    .mt-4 {
        display: flex;
        justify-content: center;
        margin-top: 0 !important;
    }

    /* 7. SEPARACIÓN DE LA IMAGEN RESPECTO AL TEXTO */
    .col-lg-6.text-center {
        margin-top: 30px !important; /* Espacio justo entre texto e imagen */
        margin-bottom: 10px !important;
    }
    
    /* 8. IMÁGENES */
    .custom-img, .img-fluid {
        max-width: 100% !important;
        height: auto !important;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.3); 
    }

    /* 9. BOTONES */
    .btn-theme, .btn-glow-anim {
        width: 100%;
        max-width: 280px;
        display: flex;
        justify-content: center;
        margin: 20px auto 0 auto !important;
    }
}

/* =========================================
   FIX: RESALTAR NEGRITAS (BOLD)
   ========================================= */

strong, b {
    font-weight: 800 !important; /* Grosor máximo */
    color: #ffffff !important;   /* Blanco puro (adiós gris) */
    opacity: 1 !important;       /* Sin transparencia */
    text-shadow: 0 0 10px rgba(255,255,255,0.1); /* Sutil brillo (opcional) */
}

/* Si usas la etiqueta de color del editor (span con style), 
   aseguramos que respete el color que elijas */
span[style*="color"] strong, 
span[style*="color"] b {
    color: inherit !important;
}