/* Variables globais e cores */
:root {
    --color-rosa: #ef86b5;
    --color-rosa-claro: #fff7f7;
    --color-verde: #a2bf5e;
    --color-texto: #495057;
    --tabla-head: #f7a0ad;
    --tabla-body: #fed5da;
    --tabla-texto: #8b367a;
}
html {
    /* Axusta este valor dependendo da altura exacta do teu menú (aprox 90px) */
    scroll-padding-top: 90px; 
    /* Dálle un efecto suave ao navegar polas seccións */
    scroll-behavior: smooth; 
}
body { font-family: 'Maven Pro', sans-serif; color: var(--color-texto); }
h1, h2, h3, h4, h5, h6, .navbar-brand { font-family: 'Aleo', serif; font-weight: 700; text-transform: uppercase; }

.text-rosa { color: var(--color-rosa); }
.text-verde { color: var(--color-verde); }
.bg-rosa-claro { background-color: var(--color-rosa-claro); }

.navbar-nav .nav-link { color: #333; font-weight: 500; transition: color 0.3s ease; }
.navbar-nav .nav-link:hover { color: var(--color-verde); }

/* Beneficios Numeración */
.numero-lista {
    background-color: var(--color-rosa);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-weight: 700;
    display: inline-block;
    margin-right: 10px;
}

/* Tablas Personalizadas */
.tabla-iriscup { width: 100%; border-collapse: separate; border-spacing: 4px; color: var(--tabla-texto); margin-bottom: 2rem; }
.tabla-iriscup th { background-color: var(--tabla-head); padding: 12px; border-radius: 10px; text-align: center; font-weight: 700; }
.tabla-iriscup td { background-color: var(--tabla-body); padding: 12px; border-radius: 10px; text-align: center; font-weight: 500;}
.tabla-peque { max-width: 600px; margin: 0 auto; }

/* Cajas de Presentaciones */
.format-box table { width: 100%; text-align: left; }
.format-box th { color: var(--tabla-texto); font-size: 1.1rem; padding-bottom: 10px; font-weight: 700; }
.format-box td { padding: 4px 0; border: none; background: transparent; text-align: left; }

/* Imágenes responsive y ajustes */
.step-img { max-width: 150px; margin-bottom: 1rem; transition: transform 0.3s; }
.step-img:hover { transform: scale(1.05); }

section { padding: 4rem 0; }

/* FAQs */
.faq-title { font-size: 1.2rem; color: var(--color-texto); font-weight: 700; margin-top: 1.5rem; }

/* ADORNO */
.decoracion-curva {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 25vh; 
    object-fit: cover;
    object-position: bottom;
    z-index: 0; 
    pointer-events: none; 
}

.hero-content {
    position: relative;
    z-index: 2; 
}

/* Blog Cards */
.blog-card { transition: transform 0.3s ease; }
.blog-card:hover { transform: translateY(-5px); }
.blog-card-img { height: 200px; object-fit: cover; border-top-left-radius: calc(.25rem - 1px); border-top-right-radius: calc(.25rem - 1px); }