.elementor-10400 .elementor-element.elementor-element-ctchero01{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:70px;--padding-bottom:70px;--padding-left:20px;--padding-right:20px;}.elementor-10400 .elementor-element.elementor-element-ctchttl01{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 12px) 0px;text-align:center;}.elementor-10400 .elementor-element.elementor-element-ctchttl01 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:38px;font-weight:800;letter-spacing:-0.5px;color:#FFFFFF;}.elementor-10400 .elementor-element.elementor-element-75c6800{text-align:center;color:#FFFFFF;}.elementor-10400 .elementor-element.elementor-element-75c6800 p{margin-block-end:1px;}.elementor-10400 .elementor-element.elementor-element-ctchwv001{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10400 .elementor-element.elementor-element-ctchinf01{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-10400 .elementor-element.elementor-element-ctchgrd01{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10400 .elementor-element.elementor-element-cardph{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--border-radius:22px 22px 22px 22px;--padding-top:32px;--padding-bottom:32px;--padding-left:10px;--padding-right:10px;}.elementor-10400 .elementor-element.elementor-element-cardphi .elementor-icon-wrapper{text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardphi.elementor-view-stacked .elementor-icon{background-color:#FF6993;}.elementor-10400 .elementor-element.elementor-element-cardphi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardphi.elementor-view-default .elementor-icon{color:#FF6993;border-color:#FF6993;}.elementor-10400 .elementor-element.elementor-element-cardphi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardphi.elementor-view-default .elementor-icon svg{fill:#FF6993;}.elementor-10400 .elementor-element.elementor-element-cardphi .elementor-icon{font-size:24px;}.elementor-10400 .elementor-element.elementor-element-cardphi .elementor-icon svg{height:24px;}.elementor-10400 .elementor-element.elementor-element-cardpht{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardpht .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardem{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--border-radius:22px 22px 22px 22px;--padding-top:32px;--padding-bottom:32px;--padding-left:10px;--padding-right:10px;}.elementor-10400 .elementor-element.elementor-element-cardemi .elementor-icon-wrapper{text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardemi.elementor-view-stacked .elementor-icon{background-color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardemi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardemi.elementor-view-default .elementor-icon{color:#3F2F85;border-color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardemi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardemi.elementor-view-default .elementor-icon svg{fill:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardemi .elementor-icon{font-size:24px;}.elementor-10400 .elementor-element.elementor-element-cardemi .elementor-icon svg{height:24px;}.elementor-10400 .elementor-element.elementor-element-cardemt{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardemt .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardad{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--border-radius:22px 22px 22px 22px;--padding-top:32px;--padding-bottom:32px;--padding-left:10px;--padding-right:10px;}.elementor-10400 .elementor-element.elementor-element-cardadi .elementor-icon-wrapper{text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardadi.elementor-view-stacked .elementor-icon{background-color:#2B9DD9;}.elementor-10400 .elementor-element.elementor-element-cardadi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardadi.elementor-view-default .elementor-icon{color:#2B9DD9;border-color:#2B9DD9;}.elementor-10400 .elementor-element.elementor-element-cardadi.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardadi.elementor-view-default .elementor-icon svg{fill:#2B9DD9;}.elementor-10400 .elementor-element.elementor-element-cardadi .elementor-icon{font-size:24px;}.elementor-10400 .elementor-element.elementor-element-cardadi .elementor-icon svg{height:24px;}.elementor-10400 .elementor-element.elementor-element-cardadt{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardadt .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-cardhr{--display:flex;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--border-radius:22px 22px 22px 22px;--padding-top:32px;--padding-bottom:32px;--padding-left:10px;--padding-right:10px;}.elementor-10400 .elementor-element.elementor-element-cardhri .elementor-icon-wrapper{text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardhri.elementor-view-stacked .elementor-icon{background-color:#F6B97E;}.elementor-10400 .elementor-element.elementor-element-cardhri.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardhri.elementor-view-default .elementor-icon{color:#F6B97E;border-color:#F6B97E;}.elementor-10400 .elementor-element.elementor-element-cardhri.elementor-view-framed .elementor-icon, .elementor-10400 .elementor-element.elementor-element-cardhri.elementor-view-default .elementor-icon svg{fill:#F6B97E;}.elementor-10400 .elementor-element.elementor-element-cardhri .elementor-icon{font-size:24px;}.elementor-10400 .elementor-element.elementor-element-cardhri .elementor-icon svg{height:24px;}.elementor-10400 .elementor-element.elementor-element-cardhrt{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-10400 .elementor-element.elementor-element-cardhrt .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-ctchcmb01{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:100px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-10400 .elementor-element.elementor-element-ctchrow01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 60px;--row-gap:40px;--column-gap:60px;--flex-wrap:wrap;}.elementor-10400 .elementor-element.elementor-element-ctchcolf1{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-10400 .elementor-element.elementor-element-ctchfttl{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;text-align:start;}.elementor-10400 .elementor-element.elementor-element-ctchfttl .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:32px;font-weight:700;line-height:1.15em;letter-spacing:-0.3px;color:#3F2F85;}.elementor-10400 .elementor-element.elementor-element-ctchcolm1{--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;--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}@media(max-width:767px){.elementor-10400 .elementor-element.elementor-element-ctchero01{--padding-top:80px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-10400 .elementor-element.elementor-element-ctchttl01 .elementor-heading-title{font-size:28px;}.elementor-10400 .elementor-element.elementor-element-ctchinf01{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-10400 .elementor-element.elementor-element-cardph{--width:100%;}.elementor-10400 .elementor-element.elementor-element-cardem{--width:100%;}.elementor-10400 .elementor-element.elementor-element-cardad{--width:100%;}.elementor-10400 .elementor-element.elementor-element-cardhr{--width:100%;}.elementor-10400 .elementor-element.elementor-element-ctchcmb01{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-10400 .elementor-element.elementor-element-ctchcolf1{--width:100%;}.elementor-10400 .elementor-element.elementor-element-ctchfttl .elementor-heading-title{font-size:26px;}.elementor-10400 .elementor-element.elementor-element-ctchcolm1{--width:100%;}}@media(min-width:768px){.elementor-10400 .elementor-element.elementor-element-cardph{--width:23%;}.elementor-10400 .elementor-element.elementor-element-cardem{--width:23%;}.elementor-10400 .elementor-element.elementor-element-cardad{--width:23%;}.elementor-10400 .elementor-element.elementor-element-cardhr{--width:23%;}.elementor-10400 .elementor-element.elementor-element-ctchcolf1{--width:50%;}.elementor-10400 .elementor-element.elementor-element-ctchcolm1{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-10400 .elementor-element.elementor-element-cardph{--width:48%;}.elementor-10400 .elementor-element.elementor-element-cardem{--width:48%;}.elementor-10400 .elementor-element.elementor-element-cardad{--width:48%;}.elementor-10400 .elementor-element.elementor-element-cardhr{--width:48%;}.elementor-10400 .elementor-element.elementor-element-ctchcolf1{--width:100%;}.elementor-10400 .elementor-element.elementor-element-ctchcolm1{--width:100%;}}/* Start custom CSS *//* ===== HERO ===== */
.contacto-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #3F2F85 0%, #6B4CBB 45%, #FF6993 100%) !important;
}
.contacto-hero::before,
.contacto-hero::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    z-index: 0;
    pointer-events: none;
}
.contacto-hero::before {
    width: 340px; height: 340px;
    background: rgba(255,255,255,0.08);
    top: -100px; left: -80px;
    animation: float1 12s ease-in-out infinite;
}
.contacto-hero::after {
    width: 220px; height: 220px;
    background: rgba(255,201,228,0.18);
    bottom: -60px; right: -40px;
    animation: float2 14s ease-in-out infinite;
}
.contacto-hero > * { position: relative; z-index: 1; }
@keyframes float1 { 0%,100%{ transform: translateY(0) translateX(0); } 50%{ transform: translateY(30px) translateX(20px); } }
@keyframes float2 { 0%,100%{ transform: translateY(0) translateX(0); } 50%{ transform: translateY(-25px) translateX(-15px); } }

/* Wave divider */
.wave-divider { position: relative; height: 60px; margin-top: -60px; z-index: 2; pointer-events: none; }
.wave-divider svg { display: block; width: 100%; height: 100%; }

/* ===== CARDS ===== */
.contact-card {
    transition: transform .35s ease, box-shadow .35s ease;
    cursor: default;
    position: relative;
    overflow: hidden;
}
.contact-card::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 120px; height: 120px;
    border-radius: 50%;
    opacity: 0.35;
    transition: transform .5s ease;
}
.contact-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(63,47,133,0.15);
}
.contact-card:hover::before { transform: scale(1.4); }
.contact-card.card-1 { background: linear-gradient(135deg, #FFE7F1, #FCD4F0) !important; }
.contact-card.card-1::before { background: #FF6993; }
.contact-card.card-2 { background: linear-gradient(135deg, #E8E1FF, #D4C5F5) !important; }
.contact-card.card-2::before { background: #3F2F85; }
.contact-card.card-3 { background: linear-gradient(135deg, #D4F3FF, #BFECFF) !important; }
.contact-card.card-3::before { background: #2B9DD9; }
.contact-card.card-4 { background: linear-gradient(135deg, #FFF3D6, #FCE8B2) !important; }
.contact-card.card-4::before { background: #F6B97E; }
.contact-card .elementor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    border-radius: 16px;
    background: rgba(255,255,255,0.6);
    box-shadow: 0 4px 12px rgba(63,47,133,0.1);
}

/* ===== FORMULARIO (versión simple, sobre fondo directo) ===== */
.contacto-form-section {
    background: linear-gradient(180deg, #FEFEE6 0%, #FFF8E1 100%) !important;
    position: relative;
    overflow: hidden;
}
.contacto-form-section::before,
.contacto-form-section::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}
.contacto-form-section::before {
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(255,105,147,0.15) 0%, transparent 70%);
    top: -100px; right: -100px;
}
.contacto-form-section::after {
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(63,47,133,0.12) 0%, transparent 70%);
    bottom: -80px; left: -80px;
}
.contacto-form-section > * { position: relative; z-index: 1; }

.cf7-row { display: flex; gap: 16px; }
.cf7-row > p { flex: 1; margin: 0 0 12px; }
@media (max-width: 767px){ .cf7-row { flex-direction: column; gap: 0; } }

.contacto-form { width: 100%; }
.contacto-form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
    width: 100%;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid #E5E5E5;
    background: #FFFFFF;
    font-size: 15px;
    font-family: 'Poppins', sans-serif;
    color: #333;
    box-sizing: border-box;
    transition: all .25s ease;
}
.contacto-form .wpcf7-form-control:focus {
    outline: none;
    border-color: #3F2F85;
    box-shadow: 0 0 0 3px rgba(63,47,133,0.1);
}
.contacto-form textarea { resize: vertical; min-height: 130px; }
.contacto-form .wpcf7-list-item-label a { color: #3F2F85; text-decoration: underline; }
.contacto-form .wpcf7-submit {
    background-color: #3F2F85 !important;
    color: #FFFFFF !important;
    border: 0 !important;
    padding: 16px 40px !important;
    font-weight: 600 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    border-radius: 50px !important;
    cursor: pointer;
    transition: all .3s ease;
    box-shadow: 0 4px 14px rgba(63,47,133,0.2);
}
.contacto-form .wpcf7-submit:hover {
    background-color: #FF6993 !important;
    transform: translateY(-2px);
}
.contacto-form label { display: block; }
.contacto-form .wpcf7-response-output { border-radius: 10px !important; margin: 20px 0 0 !important; }

/* ===== MAPA ===== */
.mapa-section { position: relative; }
.mapa-frame {
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(63,47,133,0.2);
    border: 4px solid #FCD4F0;
    position: relative;
}
.mapa-frame iframe { display: block; }
.mapa-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #3F2F85 0%, #6B4CBB 100%);
    color: #FFF;
    padding: 16px 36px;
    border-radius: 50px;
    text-decoration: none;
    font-family: Poppins, sans-serif;
    font-weight: 600;
    font-size: 15px;
    box-shadow: 0 8px 24px rgba(63,47,133,0.25);
    transition: all .3s ease;
}
.mapa-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(63,47,133,0.35); }
@media (max-width: 767px){ .mapa-frame iframe { height: 340px !important; } }


/* ===== FIX: formulario y mapa en 2 columnas ===== */
@media (min-width: 768px) {
    .elementor-element-ctchrow01 {
        flex-wrap: nowrap !important;
    }
    .elementor-element-ctchrow01 > .e-con {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }
}/* End custom CSS */