.elementor-22501 .elementor-element.elementor-element-d1c1916 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-22501 .elementor-element.elementor-element-d1c1916:not(.elementor-motion-effects-element-type-background), .elementor-22501 .elementor-element.elementor-element-d1c1916 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-d1c1916{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-22501 .elementor-element.elementor-element-d1c1916 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-22501 .elementor-element.elementor-element-1ac67c0{text-align:center;}.elementor-22501 .elementor-element.elementor-element-1ac67c0 .elementor-heading-title{font-family:"Baloo 2", Sans-serif;font-size:16px;color:#FFFFFF;}.elementor-22501 .elementor-element.elementor-element-d18f78e:not(.elementor-motion-effects-element-type-background), .elementor-22501 .elementor-element.elementor-element-d18f78e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFF0;}.elementor-22501 .elementor-element.elementor-element-d18f78e{box-shadow:0px 5px 5px -6px rgba(0, 0, 0, 0.49);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-22501 .elementor-element.elementor-element-d18f78e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-22501 .elementor-element.elementor-element-18ce81f.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-22501 .elementor-element.elementor-element-18ce81f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-22501 .elementor-element.elementor-element-7efc431 img{max-width:79%;}.elementor-22501 .elementor-element.elementor-element-4971e8c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22501 .elementor-element.elementor-element-4971e8c:not(.elementor-motion-effects-element-type-background), .elementor-22501 .elementor-element.elementor-element-4971e8c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-0c32385{--spacer-size:50px;}.elementor-22501 .elementor-element.elementor-element-295e459{text-align:center;}.elementor-22501 .elementor-element.elementor-element-295e459 .elementor-heading-title{font-size:60px;font-weight:500;color:#FFFFFF;}.elementor-22501 .elementor-element.elementor-element-c3a1684 > .elementor-widget-container{margin:50px 50px 50px 50px;}.elementor-22501 .elementor-element.elementor-element-2d1da98 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-22501 .elementor-element.elementor-element-2d1da98:not(.elementor-motion-effects-element-type-background), .elementor-22501 .elementor-element.elementor-element-2d1da98 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-22501 .elementor-element.elementor-element-2d1da98{box-shadow:0px 4px 10px -7px rgba(0,0,0,0.5) inset;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-22501 .elementor-element.elementor-element-2d1da98 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-22501 .elementor-element.elementor-element-ecd4a05.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-22501 .elementor-element.elementor-element-ecd4a05.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-22501 .elementor-element.elementor-element-d1b1936{--spacer-size:10px;}.elementor-22501 .elementor-element.elementor-element-66e7e28{text-align:center;}.elementor-22501 .elementor-element.elementor-element-66e7e28 .elementor-heading-title{font-size:120px;font-weight:500;letter-spacing:-2.3px;}.elementor-22501 .elementor-element.elementor-element-a87d361{text-align:center;}.elementor-22501 .elementor-element.elementor-element-a87d361 .elementor-heading-title{font-size:80px;font-weight:500;letter-spacing:-2.3px;}.elementor-22501 .elementor-element.elementor-element-d3f5d9c{text-align:center;font-family:"Helvetica", Sans-serif;font-size:18px;}.elementor-22501 .elementor-element.elementor-element-a0f1948 > .elementor-widget-container{margin:-15px 0px 0px 0px;}.elementor-22501 .elementor-element.elementor-element-a0f1948{text-align:center;}.elementor-22501 .elementor-element.elementor-element-a0f1948 .elementor-heading-title{font-size:50px;font-weight:500;text-transform:uppercase;color:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-8530520{text-align:center;font-family:"Helvetica", Sans-serif;font-size:18px;}.elementor-22501 .elementor-element.elementor-element-65455cd{--spacer-size:30px;}.elementor-22501 .elementor-element.elementor-element-838f0b4 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-22501 .elementor-element.elementor-element-838f0b4:not(.elementor-motion-effects-element-type-background), .elementor-22501 .elementor-element.elementor-element-838f0b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-22501 .elementor-element.elementor-element-838f0b4{box-shadow:0px 0px 15px 4px rgba(180.2, 180.2, 180.2, 0.99);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-22501 .elementor-element.elementor-element-838f0b4 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-22501 .elementor-element.elementor-element-9265625.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-22501 .elementor-element.elementor-element-9265625.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-22501 .elementor-element.elementor-element-3c5d1ae{--spacer-size:30px;}.elementor-22501 .elementor-element.elementor-element-ef508c8{text-align:justify;}.elementor-22501 .elementor-element.elementor-element-ef508c8 .elementor-heading-title{font-family:"Baloo 2", Sans-serif;font-size:30px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-0cdb534{text-align:start;}.elementor-22501 .elementor-element.elementor-element-0cdb534 .elementor-heading-title{font-size:60px;font-weight:500;}.elementor-22501 .elementor-element.elementor-element-60ba1b8 > .elementor-widget-container{margin:-15px 0px 0px 0px;}.elementor-22501 .elementor-element.elementor-element-60ba1b8{text-align:start;}.elementor-22501 .elementor-element.elementor-element-60ba1b8 .elementor-heading-title{font-size:60px;font-weight:500;font-style:normal;color:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-df53356{text-align:start;font-family:"Helvetica", Sans-serif;font-size:20px;}.elementor-22501 .elementor-element.elementor-element-0c8ec76{--iteration-count:infinite;--animation-duration:1200ms;--dynamic-text-color:#235552;}.elementor-22501 .elementor-element.elementor-element-0c8ec76 .elementor-headline{text-align:center;font-family:"Baloo 2", Sans-serif;font-size:29px;}.elementor-22501 .elementor-element.elementor-element-0c8ec76 .elementor-headline-dynamic-text{font-family:"Baloo 2", Sans-serif;font-weight:900;z-index:auto;}.elementor-22501 .elementor-element.elementor-element-0c8ec76 .elementor-headline-dynamic-wrapper path{stroke:#1ECAD3;}.elementor-22501 .elementor-element.elementor-element-0c8ec76 .elementor-headline-dynamic-wrapper svg{z-index:2;}.elementor-22501 .elementor-element.elementor-element-626da5b{--spacer-size:25px;}@media(max-width:767px){.elementor-22501 .elementor-element.elementor-element-295e459 .elementor-heading-title{font-size:40px;}.elementor-22501 .elementor-element.elementor-element-a0f1948 .elementor-heading-title{font-size:67px;}.elementor-22501 .elementor-element.elementor-element-ef508c8 .elementor-heading-title{font-size:14px;}.elementor-22501 .elementor-element.elementor-element-0cdb534 .elementor-heading-title{font-size:40px;}.elementor-22501 .elementor-element.elementor-element-60ba1b8 .elementor-heading-title{font-size:40px;}.elementor-22501 .elementor-element.elementor-element-df53356{text-align:center;font-size:20px;}}/* Start custom CSS for container, class: .elementor-element-4971e8c *//* ==========================================================================
   ESTILO DEFINITIVO MÁXIMA ESPECIFICIDAD - TARJETAS GRISES SIN DUPLICAR
   ========================================================================== */

/* 1. EL CONTENEDOR GRANDE (Transparente para que mande tu web) */
div.wpforms-container, 
div.wpforms-container-full,
div[id*="wpforms-"] {
    max-width: 900px !important;
    margin: 15px auto !important;
    padding: 10px 20px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Títulos de sección */
.wpforms-container h3.wpforms-page-indicator,
.wpforms-container h3, 
div[id*="wpforms-"] h3 {
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    color: #1ECAD3 !important;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
    padding-bottom: 6px !important;
    border-bottom: 2px solid #1ECAD3 !important;
    letter-spacing: -0.02em;
}

/* 2. LA SOLUCIÓN: Aplicamos la tarjeta gris al contenedor de campos de WPForms */
div.wpforms-container .wpforms-field-container {
    background: transparent !important;
    padding: 0 !important;
}

/* Pintamos solo los bloques de campo reales y evitamos las filas de diseño */
div.wpforms-container .wpforms-field:not(.wpforms-field-layout):not(.wpforms-field-section) {
    background-color: #f8fafc !important; /* El gris clarito de la tarjeta */
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
    clear: both !important;
}

/* Si usas columnas (Nombre/Apellidos), pintamos las subcajas individuales para que no se descuadre */
div.wpforms-container .wpforms-field-layout-column {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
}

/* Quitamos el fondo a la fila contenedora de las columnas para que no se duplique */
div.wpforms-container .wpforms-field.wpforms-field-layout {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Etiquetas generales de los campos (Labels) */
.wpforms-field-label {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    color: #2d3748 !important;
    margin-bottom: 6px !important;
    display: inline-block !important;
}

/* Asterisco de campo obligatorio */
.wpforms-required-label {
    color: #e53e3e !important;
    font-weight: bold !important;
    margin-left: 4px !important;
}

/* 3. INPUTS EN BLANCO PURO (Para romper la transparencia) */
div.wpforms-container input[type="text"],
div.wpforms-container input[type="email"],
div.wpforms-container input[type="tel"],
div.wpforms-container select,
div.wpforms-container textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 0.95rem !important;
    color: #2d3748 !important;
    background-color: #ffffff !important; /* Blanco puro e inalterable */
    border: 1px solid #cbd5e0 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
    margin-top: 4px !important;
}

/* Efecto de enfoque (Focus) */
div.wpforms-container input[type="text"]:focus,
div.wpforms-container input[type="email"]:focus,
div.wpforms-container input[type="tel"]:focus,
div.wpforms-container select:focus,
div.wpforms-container textarea:focus {
    border-color: #1ECAD3 !important;
    box-shadow: 0 0 0 3px rgba(30, 202, 211, 0.15) !important;
    outline: none !important;
}

/* Sub-etiquetas explicativas */
.wpforms-field-sublabel {
    font-size: 1.1rem !important;
    color: #718096 !important;
    margin-top: 4px !important;
    font-weight: 400 !important;
}

/* Bloque de Stripe / Tarjeta de Crédito */
.wpforms-field-stripe {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 14px 18px !important;
}

/* Módulo del "Total" a pagar */
.wpforms-field-total, 
.wpforms-payment-total {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: #169ea5 !important; 
    padding: 10px 24px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    margin-top: 5px !important;
    border: none !important;
}

/* Botón de Envío ("Reservar") */
.wpforms-submit-container {
    text-align: right !important;
    margin-top: 15px !important;
    clear: both !important;
}

.wpforms-submit {
    background-color: #1ECAD3 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 36px !important;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 4px 6px rgba(30, 202, 211, 0.15) !important;
}

.wpforms-submit:hover {
    background-color: #169ea5 !important; 
    transform: translateY(-1px) !important;
    box-shadow: 0 7px 14px rgba(30, 202, 211, 0.2) !important;
}

.wpforms-submit:active {
    transform: translateY(0) !important;
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================================
   ESTILO DEFINITIVO MÁXIMA ESPECIFICIDAD - VERSIÓN RESPONSIVE ADAPTADA
   ========================================================================== */

/* 1. EL CONTENEDOR GRANDE (Transparente para que mande tu web) */
div.wpforms-container, 
div.wpforms-container-full,
div[id*="wpforms-"] {
    max-width: 900px !important;
    margin: 1px auto !important;
    padding: 10px 20px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    box-sizing: border-box !important;
}

/* Títulos de sección */
.wpforms-container h3.wpforms-page-indicator,
.wpforms-container h3, 
div[id*="wpforms-"] h3 {
    font-size: 3rem !important;
    font-weight: 500 !important;
    color: #1ECAD3 !important;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
    padding-bottom: 6px !important;
    border-bottom: 2px solid #1ECAD3 !important;
    letter-spacing: -0.02em;
}

/* 2. CONTENEDOR DE CAMPOS DE WPFORMS */
div.wpforms-container .wpforms-field-container {
    background: transparent !important;
    padding: 0 !important;
}

/* Bloques de campo estándar (Tarjetas grises) */
div.wpforms-container .wpforms-field:not(.wpforms-field-layout):not(.wpforms-field-section) {
    background-color: #f8fafc !important; 
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 19px 20px !important;
    margin-bottom: 13px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 3px rgba(0,0,0,0.32) !important;
    clear: both !important;
}

/* Subcajas individuales para columnas de maquetación (Ej: Nombre/Apellidos) */
div.wpforms-container .wpforms-field-layout-column {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
}

/* Fila contenedora de las columnas */
div.wpforms-container .wpforms-field.wpforms-field-layout {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Etiquetas generales de los campos (Labels) */
.wpforms-field-label {
    font-size: 1.7rem !important;
    font-weight: 500 !important;
    color: #2d3748 !important;
    margin-bottom: 5px !important;
    display: inline-block !important;
}

/* Asterisco de campo obligatorio */
.wpforms-required-label {
    color: #e53e3e !important;
    font-weight: bold !important;
    margin-left: 3px !important;
}

/* 3. INPUTS EN BLANCO PURO */
div.wpforms-container input[type="text"],
div.wpforms-container input[type="email"],
div.wpforms-container input[type="tel"],
div.wpforms-container select,
div.wpforms-container textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 1.25rem !important;
    color: #2d3748 !important;
    background-color: #ffffff !important; 
    border: 1px solid #cbd5e0 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
    margin-top: 4px !important;
}

/* Efecto de enfoque (Focus) */
div.wpforms-container input[type="text"]:focus,
div.wpforms-container input[type="email"]:focus,
div.wpforms-container input[type="tel"]:focus,
div.wpforms-container select:focus,
div.wpforms-container textarea:focus {
    border-color: #1ECAD3 !important;
    box-shadow: 0 0 0 3px rgba(30, 202, 211, 0.15) !important;
    outline: none !important;
}

/* Sub-etiquetas explicativas */
.wpforms-field-sublabel {
    font-size: 1.25rem !important;
    color: #718096 !important;
    margin-top: 4px !important;
    font-weight: 400 !important;
}

/* Bloque de Stripe / Tarjeta de Crédito */
.wpforms-field-stripe {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
}

/* Módulo del "Total" a pagar */
.wpforms-field-total, 
.wpforms-payment-total {
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    background: #169ea5 !important; 
    padding: 10px 10px !important;
    border-radius: 8px !important;
    margin-top: 5px !important;
    border: none !important;
}

/* Botón de Envío ("Reservar") */
.wpforms-submit-container {
    text-align: right !important;
    margin-top: 11px !important;
    clear: both !important;
}

.wpforms-submit {
    background-color: white !important;
    color: #1ECAD3 !important;
    border: none !important;
    padding: 2px 36px !important;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 4px 6px rgba(30, 202, 211, 0.15) !important;
}

.wpforms-submit:hover {
    background-color: #DBDBDB !important; 
    color: #1ECAD3 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 7px 14px rgba(30, 202, 211, 0.2) !important;
}

.wpforms-submit:active {
    transform: translateY(0) !important;
}


/* ==========================================================================
   4. ADAPTACIÓN APARTADO RESPONSIVE (MÓVILES Y TABLETS)
   ========================================================================== */
@media screen and (max-width: 768px) {
    /* Reducimos los márgenes externos del formulario para ganar espacio */
    div.wpforms-container, 
    div.wpforms-container-full,
    div[id*="wpforms-"] {
        padding: 10px 5px !important; /* Pasamos de 20px a 5px para aprovechar la pantalla */
        margin: 5px auto !important;
    }

    /* Ajustamos el padding de las tarjetas grises para que no ahoguen el input en pantallas estrechas */
    div.wpforms-container .wpforms-field:not(.wpforms-field-layout):not(.wpforms-field-section),
    div.wpforms-container .wpforms-field-layout-column,
    .wpforms-field-stripe {
        padding: 14px 12px !important; /* Más espacio para los campos reduciendo el aire lateral */
        margin-bottom: 12px !important;
    }

    /* Escalado de textos para que no se amontonen en el móvil */
    .wpforms-container h3, 
    div[id*="wpforms-"] h3 {
        font-size: 2rem !important; /* Un tamaño de h3 mucho más lógico en móvil */
        margin-top: 15px !important;
    }

    .wpforms-field-label {
        font-size: 1.35rem !important; /* Ajuste sutil de las etiquetas */
    }

    div.wpforms-container input[type="text"],
    div.wpforms-container input[type="email"],
    div.wpforms-container input[type="tel"],
    div.wpforms-container select,
    div.wpforms-container textarea {
        font-size: 1.1rem !important; /* Inputs ligeramente más compactos */
        padding: 12px 10px !important; /* Más cómodos de pulsar con el dedo */
    }

    /* ⚡ FORZAR COLUMNAS AL 100%: Si pones campos en paralelo, en móvil se apilarán uno debajo de otro */
    .wpforms-field-layout-row {
        display: block !important;
        width: 100% !important;
    }

    div.wpforms-container .wpforms-field-layout-column {
        width: 100% !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: block !important;
    }
    
    /* Centramos el botón de enviar en dispositivos móviles para mejorar la experiencia de usuario */
    .wpforms-submit-container {
        text-align: center !important;
    }
    
    .wpforms-submit {
        width: 100% !important; /* El botón ocupa todo el ancho en móviles */
        padding: 20px 24px !important; /* Altura más balanceada para pantallas táctiles */
    }
}/* End custom CSS */