/* 1. PALETA DE COLORES UI/UX FINAL (Adaptada de index.html) */
        :root {
            --color-base: #FFFFFF; /* Blanco (Primary Background) */
            --color-principal: #000000; /* Negro (Header, Footer, Títulos principales) - Adaptado de index.html */
            --color-acento: #D81B60; /* Fucsia vibrante (Acento, Botones) - Adaptado de index.html */
            --color-rosado-suave: #ffe6f0; /* Rosado Suave (Fondo de Contraste) - Adaptado de index.html */
            --color-dark: #212121; /* Texto oscuro para máxima legibilidad */
            --color-texto-claro: #FFFFFF;
            --color-texto-oscuro: black;
            --fuente-titulo: 'Montserrat', sans-serif;
        }

        body {
            font-family: var(--fuente-titulo);
            background-color: var(--color-base); 
            color: var(--color-dark);
            overflow-x: hidden;
            line-height: 1.65; 
        }

        h1, h2, h3, h4, h5, h6 {
            color: var(--color-principal); /* Títulos en negro */
            font-weight: 900; 
        }

        /* 2. HEADER Y FOOTER EN NEGRO (color-principal) */
        #contacto {
            background-color: var(--color-principal) !important;
        }
        
        /* Navbar */
        .navbar-custom {
            transition: all 0.5s ease-in-out;
            background-color: white !important;
        }
        .navbar-custom.scrolled {
            background-color: white !important;
        }
        .navbar-custom.navbar-dark:has(.navbar-collapse.show) {
             background-color: var(--color-principal) !important;
        }
        .navbar-custom .nav-link, .navbar-custom .navbar-brand {
            color: var(--color-texto-oscuro);
            font-weight: 700;
        }

        /* 3. BOTONES (Rosado suave con texto Fucsia vibrante) */
        .btn-custom {
            background-color: var(--color-acento); /* Botón principal en Fucsia vibrante */
            border-color: var(--color-acento);
            color: var(--color-texto-claro); 
            font-weight: 900;
            padding: 10px 30px;
            border-radius: 50px; 
            transition: all 0.3s ease;
        }
        .btn-custom:hover {
            background-color: var(--color-dark); /* Oscurecer en hover */
            border-color: var(--color-dark);
            color: var(--color-texto-claro); 
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(216, 27, 96, 0.5);
        }
        /* Botón Secundario (outline Fucsia vibrante) */
        .btn-outline-fuscia { 
            border-color: var(--color-acento) !important;
            color: var(--color-acento) !important;
            font-weight: 700;
            border-radius: 50px;
        }
        .btn-outline-fuscia:hover {
            background-color: var(--color-acento) !important;
            color: var(--color-texto-claro) !important;
        }

        /* 4. SECCIONES Y ESPACIADO */
        section {
            padding: 100px 0;
        }
        /* Solo la sección de pasos y FAQ usan el contraste rosado suave */
        .section-rosado-contraste {
             background-color: var(--color-rosado-suave); 
        }

        /* 5. HERO BANNER */
        .hero-banner {
            height: 100vh; 
            background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/hero.jpg');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            padding-top: 56px; 
            text-align: left;
        }
        .hero-content-box {
            background-color: rgba(255, 255, 255, 0.95); 
            padding: 60px 40px;
            border-radius: 15px;
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2); 
            max-width: 550px;
        }
        
        /* 6. TARJETAS */
        .content-card {
            background-color: var(--color-base);
            border-radius: 10px;
            padding: 30px;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); 
            border-top: 5px solid var(--color-acento); /* Fucsia vibrante en la línea superior */
            transition: transform 0.3s ease;
        }
        .icon-accent {
            font-size: 2rem;
            color: var(--color-texto-claro); /* Ícono blanco */
            background-color: var(--color-acento); /* Fondo Fucsia vibrante */
            border-radius: 50%;
            width: 70px;
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
        }
        /* Estilos para los pasos (como-funciona) */
        .step-circle {
            font-size: 2rem;
            color: var(--color-acento);
            background-color: var(--color-base);
            border: 3px solid var(--color-acento);
            border-radius: 50%;
            width: 70px;
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            font-weight: 700;
        }
        .step-item {
            position: relative;
        }

        /* 7. PARALLAX SECTION */
        .parallax-section {
            position: relative;
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/parallax.jpg');
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            min-height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
        }

        
        /* 8. ACORDEÓN (FAQ) - Asegura funcionalidad y estilo */
        .accordion-item {
            border: 1px solid var(--color-acento) !important;
        }
        .accordion-button:not(.collapsed) {
            background-color: var(--color-acento) !important;
            color: var(--color-texto-claro) !important; 
            font-weight: 700;
        }

        /* 9. FOOTER: Texto Claro y Redes Sociales */
        #contacto h5 {
            color: var(--color-texto-claro);
            font-weight: 900;
        }
        #contacto p, #contacto address, #contacto .small {
            color: rgba(255, 255, 255, 0.8) !important;
        }
        .social-icon a {
            font-size: 1.8rem;
            margin: 0 10px;
            transition: color 0.3s ease;
            color: var(--color-acento) !important; /* Íconos en Fucsia vibrante */
        }
        .social-icon a:hover {
            color: var(--color-base) !important; /* Iconos a blanco en hover */
        }