/* Landing con carrusel arreglado (3.33.5). El carrusel es el diseño del usuario; fallaba porque tenía una altura fija
   que recortaba títulos, tarjetas y el formulario de alta (no se veía el botón de registrarse), las flechas tapaban el
   contenido y landing-carrusel.js forzaba los títulos a una línea. Ahora:
   - cada diapositiva ocupa la altura de su contenido (solo se ve la activa, con un fundido);
   - flechas y puntos van en una barra debajo de la tarjeta, sin tapar nada;
   - ordenador: acceso a la izquierda y carrusel a la derecha; móvil y tablet: acceso arriba y carrusel debajo. */
body.landing-mode .header { background: var(--card-color, #fff) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.landing-mode .container { flex: 1 0 auto !important; height: auto !important; max-height: none !important; overflow: visible !important; }
body.landing-mode .footer-wrapper { position: static !important; margin-top: 1rem; }
body.landing-mode .landing-page { min-height: 0 !important; height: auto !important; overflow: visible !important; }
body.landing-mode .login-card { height: auto !important; max-height: none !important; }

/* Carrusel: barra de controles debajo */
body.landing-mode .hero-section { padding: 0 !important; min-height: 0 !important; height: auto !important; max-height: none !important;
    display: grid !important; grid-template-columns: auto 1fr auto; grid-template-areas: "slider slider slider" "izq puntos der"; align-items: center; row-gap: .9rem; }
body.landing-mode .hero-section::before { display: none !important; }
body.landing-mode .hero-slider { grid-area: slider; height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; border-radius: 24px !important; }
body.landing-mode .hero-slide { position: static !important; display: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; height: auto !important; }
body.landing-mode .hero-slide.active { display: block !important; animation: ttFundido .35s ease; }
@keyframes ttFundido { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body.landing-mode .hero-section .slider-arrow { position: static !important; transform: none !important; margin: 0 !important; }
body.landing-mode .hero-section .slider-arrow.left { grid-area: izq; }
body.landing-mode .hero-section .slider-arrow.right { grid-area: der; }
body.landing-mode .slider-controls { grid-area: puntos; position: static !important; transform: none !important; display: flex !important; justify-content: center; gap: .5rem; margin: 0 !important; }

/* Contenido de cada diapositiva, completo */
body.landing-mode .slide-card { height: auto !important; max-height: none !important; overflow: visible !important; padding: 2rem !important;
    justify-content: flex-start !important; gap: 1rem !important; border-radius: 24px !important; }
body.landing-mode .slide-card h2, body.landing-mode .slide-card h3, body.landing-mode .slide-card p,
body.landing-mode .hero-title, body.landing-mode .hero-subtitle { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }
body.landing-mode .hero-title { font-size: clamp(1.6rem, 3vw, 2.3rem) !important; line-height: 1.15 !important; }
body.landing-mode .hero-subtitle { font-size: 1.05rem !important; line-height: 1.55 !important; }
body.landing-mode .slide-card .features, body.landing-mode .slide-card .benefit-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .9rem !important; max-height: none !important; overflow: visible !important; }
body.landing-mode .feature-card { height: auto !important; min-height: 0 !important; padding: 1.1rem .9rem !important; }
body.landing-mode .feature-card p { font-size: .9rem !important; line-height: 1.45 !important; }
body.landing-mode .slide-card .signup-form { max-height: none !important; overflow: visible !important; }
body.landing-mode .slide-card .btn, body.landing-mode .slide-card button[type="submit"] { white-space: normal !important; }

/* Ordenador: dos columnas */
@media (min-width: 1025px) and (min-height: 601px) {
    body.landing-mode .landing-page { grid-template-columns: minmax(340px, 400px) minmax(0, 720px) !important; grid-template-rows: auto !important;
        justify-content: center !important; align-items: start !important; gap: 2.5rem !important; padding: 2.5rem 2rem 3rem !important; }
    body.landing-mode .login-card { position: static !important; margin: 0 !important; }
}
/* Móvil y tablet: una columna, acceso primero */
@media (max-width: 1024px), (max-height: 600px) {
    body.landing-mode .landing-page { grid-template-columns: 1fr !important; padding: 1rem .75rem 2rem !important; gap: 1.25rem !important; }
    body.landing-mode .login-card { width: 100% !important; max-width: 560px; margin: 0 auto !important; position: static !important; }
    body.landing-mode .slide-card { padding: 1.5rem 1.25rem !important; }
}
@media (max-width: 420px) {
    body.landing-mode .slide-card .features, body.landing-mode .slide-card .benefit-list { grid-template-columns: 1fr !important; }
}
