/* 1. Importación de la fuente desde Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');

/* 2. Aplicación global a todo el sitio */
body, h1, h2, h3, h4, h5, h6, p, a, li, span, div {
    font-family: 'Inter', sans-serif !important;
}

.material-icons {
    font-family: 'Material Icons' !important;
}

/* ==========================================================================
   1. ESTILOS BASE Y TIPOGRAFÍA
========================================================================== */
body {
    background-color: #fff;
}

h1 {
    display: block !important;
    width: 100% !important;
    font-size: 4.5rem !important;
    font-weight: 700 !important;
    line-height: 0.75 !important;
    word-wrap: normal !important;
}

h2 { 
    font-size: 40px; 
    margin-top: 120px;
}

h3 { 
    color: #1C1D1F; 
    font-size: 28px; 
}

p { 
    font-size: 17px; 
    color: #1C1D1F; 
}


/* -------------------------------------------------------
   HERO 
--------------------------------------------------------*/
.row:has(> .dynamicform > .gradient-sunset) {
    border-bottom: 30px solid;
    border-image-source: linear-gradient(90deg, #fef25c 5%, #f5c762 15%, #eeae78 25%, #e37bae 40%, #fb8579 65%, #5cd5ff 85%);
    border-image-slice: 1;

}
/* -------------------------------------------------------
   SAVE THE DATE
--------------------------------------------------------*/

.save-date div > div > div > div,
.logos {
    display: flex;
    justify-content: center; 
    align-items: center;
    gap: 10px;              
    flex-wrap: wrap;  
    margin: 48px auto 0 auto;
}

/* Estilo para cada bloque de fecha (los párrafos <p>) */
.save-date p {
    background-color: #333;  
    color: white;
    border-radius: 24px;    
    display: flex;
    flex-direction: column;  
    justify-content: center;
    align-items: center;
    margin: 0 !important;  
    line-height: 0.8;
    min-width: 125px;
    padding: 26px 36px;
}

/* Estilo para el día (MIÉ, JUE, VIE) */
.save-date p::first-line {
    font-size: 46px;
    font-weight: bold;
    line-height: 1;
}

/* Estilo para el número (11, 12, 13) */
.save-date p {
    font-size: 26px;
    font-weight: 800;
}


/*-----------------------------------------
BULLETS
-----------------------------------------*/
    .bullets p{
text-align: center;
    background-color: #3368B0;
    color: #fff;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 12px;
    min-height: 80px;
}


.bullets{
margin-bottom: 80px;
}

/*----------------------------------
LIST BULLETS
-----------------------------------*/

.list-bullets div[id^="cms-module-"] > .row > .col > div {
    display: grid !important;
    grid-template-columns: 4fr 6fr !important; 
    column-gap: 50px !important;
    row-gap: 0 !important;
    align-items: center !important; 
    margin-bottom: 80px !important;
    width: 100% !important;
}

.list-bullets h3 {
    grid-column: 1 !important;
    grid-row: 1 / span 20 !important;
    margin: 0 !important;
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    align-self: center !important;
}

.list-bullets p {
    grid-column: 2 !important;
    position: relative !important;
    padding-left: 35px !important;
    margin: 10px 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.5 !important;
}

.list-bullets p::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    font-weight: 900 !important;
    font-size: 20px;
}

@media (max-width: 992px) {
    .list-bullets div[id^="cms-module-"] > .row > .col > div {
        grid-template-columns: 1fr !important;
        row-gap: 8px !important;
        align-items: start !important;
    }
    .list-bullets p { grid-column: 1 !important; }
}


/* -------------------------------------------------------
   CONTACTO
--------------------------------------------------------*/

.dynamicform:has(> .contact-form) {
    display: flex;
    justify-content: center;
    gap: 10px;
    background-color: #EEEEEE;
    border-radius: 32px;
    padding: 62px;
    margin-bottom: 120px;
}


/* -------------------------------------
----------- VISTA MOVIL---------------
---------------------------------------*/

@media (max-width: 600px) {
    .save-date p {
        font-size: 28px;
    }

    .dynamicform:has(> .contact-form){
        padding: 43px 32px 0 32px;
        flex-wrap: wrap;
     }
}