/* ESTÉTICA FRESH BREEZE - FÁTIMA TORRELLA (LAVANDERÍA & TINTORERÍA) */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600&family=Poppins:wght@500;700;800&display=swap');

:root {
    --wash-navy: #03045E;    /* Azul Marino Profundo / Texto principal */
    --wash-blue: #00B4D8;    /* Azul Acuático / Acentos y botones */
    --wash-sky: #CAF0F8;     /* Cielo Suave / Fondos secundarios */
    --wash-white: #FFFFFF;   /* Blanco Puro / Tarjetas */
    --wash-gray: #6C757D;    /* Gris Suave / Texto secundario */
    --radius-bubble: 24px;   /* Bordes muy redondeados (efecto burbuja) */
    --transition: all 0.3s ease-in-out;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Nunito', sans-serif; background-color: var(--wash-sky); color: var(--wash-navy); line-height: 1.6; font-weight: 400; }
h1, h2, h3, h4 { font-family: 'Poppins', sans-serif; color: var(--wash-navy); }

/* BARRA DE CONTACTO SUPERIOR */
.top-bar { background-color: var(--wash-blue); color: var(--wash-white); padding: 10px 5%; display: flex; justify-content: space-between; align-items: center; font-size: 0.9rem; font-weight: 600; }
.top-bar span { margin-right: 20px; }

/* CABECERA (LIMPIA Y LUMINOSA) */
header { background: var(--wash-white); padding: 20px 5%; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1000; box-shadow: 0 10px 30px rgba(3, 4, 94, 0.05); border-bottom-left-radius: var(--radius-bubble); border-bottom-right-radius: var(--radius-bubble); margin-bottom: 20px; }
.brand h1 { font-size: 2.2rem; font-weight: 800; letter-spacing: -1px; color: var(--wash-blue); }
.brand h1 span { color: var(--wash-navy); }
.brand p { font-size: 0.9rem; color: var(--wash-gray); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; margin-top: -5px; }
nav { display: flex; gap: 30px; align-items: center; }
.nav-links { display: flex; list-style: none; gap: 25px; }
.nav-links a { text-decoration: none; color: var(--wash-navy); font-family: 'Poppins', sans-serif; font-size: 0.95rem; font-weight: 600; transition: var(--transition); padding: 8px 16px; border-radius: 50px; }
.nav-links a:hover { background-color: var(--wash-sky); color: var(--wash-blue); }
.lang-selector { border: 2px solid var(--wash-blue); background: var(--wash-white); color: var(--wash-blue); padding: 8px 20px; font-family: 'Poppins', sans-serif; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: var(--transition); border-radius: 50px; }
.lang-selector:hover { background: var(--wash-blue); color: var(--wash-white); }

/* HERO SECTION (VIDEO FULL WIDTH) */
.hero { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; min-height: 85vh; overflow: hidden; margin: 0; padding: 0; }
.hero-video-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; filter: brightness(45%); }
.hero-content { position: relative; z-index: 2; max-width: 900px; padding: 0 5%; }
.hero-content h2 { font-size: 4rem; line-height: 1.1; margin-bottom: 25px; color: var(--wash-white); font-weight: 800; text-shadow: 0 5px 15px rgba(3, 4, 94, 0.8); }
.hero-content h2 span { color: var(--wash-sky); }
.hero-content p { font-size: 1.25rem; color: var(--wash-white); margin-bottom: 30px; text-shadow: 0 2px 10px rgba(3, 4, 94, 0.8); font-weight: 600; }

/* CONTENEDORES Y TÍTULOS */
.content-block { padding: 80px 5%; max-width: 1300px; margin: 0 auto; }
.section-title { font-size: 2.8rem; margin-bottom: 50px; text-align: center; color: var(--wash-navy); position: relative; }
.section-title::after { content: '🫧'; display: block; font-size: 2rem; margin-top: 10px; }

/* SERVICIOS (REGLA: SOLO TÍTULOS) */
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.service-card { background: var(--wash-white); border-radius: var(--radius-bubble); overflow: hidden; box-shadow: 0 10px 30px rgba(3, 4, 94, 0.05); transition: var(--transition); text-align: center; border: 2px solid transparent; }
.service-card:hover { transform: translateY(-10px); border-color: var(--wash-sky); box-shadow: 0 20px 40px rgba(0, 180, 216, 0.15); }
.service-card img { width: 100%; height: 250px; object-fit: cover; border-bottom: 5px solid var(--wash-blue); }
.service-card h3 { font-size: 1.3rem; color: var(--wash-navy); padding: 25px 20px; margin: 0; }

/* TESTIMONIOS (REGLA: 100% ANÓNIMOS) */
.testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
.testimonial-card { background: var(--wash-white); padding: 40px; border-radius: var(--radius-bubble); position: relative; box-shadow: 0 10px 30px rgba(3, 4, 94, 0.05); }
.testimonial-card p { font-size: 1.15rem; color: var(--wash-gray); font-style: italic; line-height: 1.8; position: relative; z-index: 1; }
.testimonial-card::before { content: '❝'; position: absolute; top: 10px; left: 20px; font-family: 'Poppins', sans-serif; font-size: 5rem; color: var(--wash-sky); line-height: 1; z-index: 0; }

/* DUDAS (REGLA: EXACTAMENTE 2, H3 + P) */
.faq-container { max-width: 800px; margin: 0 auto; }
.faq-box { background: var(--wash-white); padding: 40px; border-radius: var(--radius-bubble); margin-bottom: 25px; box-shadow: 0 10px 30px rgba(3, 4, 94, 0.05); border-left: 8px solid var(--wash-blue); }
.faq-box h3 { font-size: 1.4rem; margin-bottom: 15px; color: var(--wash-navy); }
.faq-box p { font-size: 1.1rem; color: var(--wash-gray); }

/* FOOTER MARINO */
footer { background-color: var(--wash-navy); padding: 80px 5% 40px; color: var(--wash-sky); border-top-left-radius: 50px; border-top-right-radius: 50px; margin-top: 60px; }
.footer-columns { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 50px; max-width: 1300px; margin: 0 auto 50px; }
.footer-columns > div { flex: 1; min-width: 240px; }
.footer-columns h4 { color: var(--wash-white); font-size: 1.3rem; margin-bottom: 25px; font-family: 'Poppins', sans-serif; letter-spacing: 1px; }
.footer-columns p { margin-bottom: 12px; font-size: 1rem; color: var(--wash-sky); }
.footer-menu-links { list-style: none; }
.footer-menu-links li { margin-bottom: 15px; }
.footer-menu-links a { color: var(--wash-sky); text-decoration: none; font-size: 1rem; transition: var(--transition); display: inline-block; }
.footer-menu-links a:hover { color: var(--wash-white); transform: translateX(5px); }

/* LOGO KIT DIGITAL (REGLA ESTRICTA APLICADA) */
.logo-kit-local { display: block; margin: 0 auto 40px; max-width: 280px; width: 100%; height: auto; background-color: #FFFFFF; padding: 15px; border-radius: 8px; }
.footer-legal-text { text-align: center; font-size: 0.9rem; border-top: 1px solid rgba(202, 240, 248, 0.2); padding-top: 30px; color: var(--wash-sky); }