.elementor-7246 .elementor-element.elementor-element-69103d5{--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;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7246 .elementor-element.elementor-element-fa727de{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7246 .elementor-element.elementor-element-52b93f3 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:48px;font-weight:600;}.elementor-7246 .elementor-element.elementor-element-b0727a5{--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;--padding-top:20px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-7246 .elementor-element.elementor-element-e9e6a6f{--display:flex;}.elementor-7246 .elementor-element.elementor-element-e9e6a6f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7246 .elementor-element.elementor-element-2ada8b5{font-family:"Inter Tight", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:var( --e-global-color-primary );}.elementor-7246 .elementor-element.elementor-element-5f02a6f{--display:flex;}@media(max-width:767px){.elementor-7246 .elementor-element.elementor-element-52b93f3 .elementor-heading-title{font-size:32px;line-height:40px;}}@media(min-width:768px){.elementor-7246 .elementor-element.elementor-element-e9e6a6f{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-7246 .elementor-element.elementor-element-e9e6a6f{--width:79.556%;}}/* Start custom CSS for shortcode, class: .elementor-element-2e7da95 *//* CONTENEDOR GENERAL */
.csp-container {
    font-family: 'Inter Tight', sans-serif;
    color: #4a1162;
    max-width: 800px;
    margin: 0 auto;
}

/* FILAS */
.csp-row {
    margin-bottom: 14px;
}

/* CONTACT FORM 7 WRAPPERS */
.csp-container .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* FULL WIDTH */
.full-width span,
.full-width input,
.full-width select,
.full-width textarea {
    width: 100%;
}

/* DOS COLUMNAS */
.flex-row {
    display: flex;
    gap: 20px;
}

.flex-row > span,
.flex-row > p,
.flex-row .wpcf7-form-control-wrap {
    width: 100%;
    display: block;
}

/* INPUTS / SELECT / TEXTAREA */
.csp-container input[type="text"],
.csp-container input[type="email"],
.csp-container input[type="tel"],
.csp-container textarea,
.csp-container select {
    width: 100%;
    border: 2px solid #4a1162 !important;
    border-radius: 18px !important;
    padding: 15px 20px !important;
    margin-bottom: 0 !important;
    font-size: 16px;
    font-family: 'Inter Tight', sans-serif;
    color: #4a1162 !important;
    box-sizing: border-box;
    background-color: #fff !important;
    outline: none;
    box-shadow: none;
}

/* PLACEHOLDERS */
.csp-container input::placeholder,
.csp-container textarea::placeholder {
    color: #6f4b80;
    opacity: 1;
}

/* SELECT ESPECIALIDAD */
.csp-container select {
    cursor: pointer;
    padding: 15px 45px 15px 20px !important;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, #4a1162 50%),
        linear-gradient(135deg, #4a1162 50%, transparent 50%);

    background-position:
        calc(100% - 22px) 50%,
        calc(100% - 16px) 50%;

    background-size: 6px 6px;
    background-repeat: no-repeat;
}

/* FOCUS */
.csp-container input[type="text"]:focus,
.csp-container input[type="email"]:focus,
.csp-container input[type="tel"]:focus,
.csp-container textarea:focus,
.csp-container select:focus {
    border-color: #ed6a00 !important;
    box-shadow: 0 0 0 3px rgba(237,106,0,0.12);
}

/* SECCIÓN LEGAL */
.csp-legal {
    margin-top: 20px;
    color: #4a1162;
}

.legal-title {
    font-weight: 700;
    font-size: 18px;
    margin: 18px 0 8px 0;
}

/* CHECKBOX */
.csp-legal .wpcf7-list-item {
    display: block;
    margin: 0 0 12px 0;
}

.csp-legal .wpcf7-list-item-label {
    font-size: 15px;
    line-height: 1.5;
    color: #4a1162;
}

.csp-legal a {
    color: #ed6a00;
    text-decoration: none;
    font-weight: 600;
}

.csp-legal a:hover {
    text-decoration: underline;
}

/* BOTÓN */
.csp-submit-container {
    text-align: center;
    margin-top: 30px;
}

.csp-container .wpcf7-submit {
    background-color: #ed6a00 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 60px !important;
    border-radius: 30px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: 'Inter Tight', sans-serif;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.10);
    transition: all 0.25s ease;
}

.csp-container .wpcf7-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.14);
}

/* MENSAJES DE VALIDACIÓN */
.csp-container .wpcf7-not-valid-tip {
    color: #d93025;
    font-size: 13px;
    margin-top: 4px;
}

.csp-container .wpcf7-response-output {
    margin: 20px 0 0 0 !important;
    border-radius: 14px;
    padding: 12px 16px !important;
    font-size: 14px;
}

/* ENCUESTA (SI SE USA EN OTRO FORM) */
.csp-survey-section {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

.csp-survey-section p {
    margin-bottom: 15px !important;
}

.csp-survey-section .wpcf7-list-item {
    display: inline-block;
    margin-right: 20px;
}

/* RESPONSIVE */
@media (max-width: 600px) {

    .flex-row {
        flex-direction: column;
        gap: 14px;
    }

    .csp-container input[type="text"],
    .csp-container input[type="email"],
    .csp-container input[type="tel"],
    .csp-container textarea,
    .csp-container select {
        font-size: 15px;
        padding: 14px 16px !important;
    }

    .csp-container .wpcf7-submit {
        width: 100%;
        padding: 14px 20px !important;
    }

}

.csp-container textarea {
    height: 110px !important;
    min-height: 110px !important;
    resize: vertical;
}/* End custom CSS */