.elementor-kit-7{--e-global-color-primary:#252828;--e-global-color-secondary:#252828;--e-global-color-text:#252828;--e-global-color-accent:#252828;--e-global-color-ea70fb9:#91C7AF;--e-global-color-6fea369:#7BB89B;--e-global-color-47b9cae:#FFFFFF;--e-global-color-de6517c:#FFFFFF80;--e-global-color-0d5d51e:#F4F4F4;--e-global-color-4b1e5e0:#E7E7E7;--e-global-color-20d4a43:#888888;--e-global-color-3e4c181:#E6F7EF;--e-global-color-1d445da:#F9F9F9;--e-global-typography-primary-font-family:"Kumbh Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Kumbh Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Kumbh Sans";--e-global-typography-text-font-size:clamp(1rem, 0.5vw + 0.75rem, 1.125rem);--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Kumbh Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-4950b69-font-family:"Kumbh Sans";--e-global-typography-4950b69-font-size:clamp(0.875rem, 0.3vw + 0.65rem, 1rem);--e-global-typography-4950b69-font-weight:400;--e-global-typography-4950b69-line-height:1.3;--e-global-typography-5ad2990-font-size:clamp(1.25rem, 2vw + 0.25rem, 1.75rem);--e-global-typography-5ad2990-line-height:1.3;--e-global-typography-9fa88dc-font-family:"Kumbh Sans";--e-global-typography-9fa88dc-font-size:clamp(2.5rem, 8vw, 3rem);--e-global-typography-9fa88dc-font-weight:600;color:#252828;font-family:"Kumbh Sans", Sans-serif;font-size:clamp(1rem, 0.5vw + 0.75rem, 1.125rem);}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-ea70fb9 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-primary );border-style:none;border-radius:5px 5px 5px 5px;padding:25px 25px 25px 25px;}.elementor-kit-7 e-page-transition{background-color:#FFFFFF;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-primary );}.elementor-kit-7 h1{font-size:clamp(1.5rem, 2vw + 0.4rem, 2.75rem);line-height:1.2;}.elementor-kit-7 h2{font-size:clamp(1.3rem, 1.8vw + 0.4rem, 2rem);font-weight:400;line-height:1.3;}.elementor-kit-7 h3{font-size:clamp(1.25rem, 2vw + 0.25rem, 1.75rem);line-height:1.2;}.elementor-kit-7 h4{font-size:clamp(1.25rem, 2vw + 0.25rem, 1.75rem);line-height:1.5;}.elementor-kit-7 label{font-family:"Kumbh Sans", Sans-serif;font-weight:600;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{accent-color:#F6FBF8;background-color:#F6FBF8;border-style:solid;border-width:1px 1px 1px 1px;border-color:#90C6AE;border-radius:5px 5px 5px 5px;transition:300ms;}.elementor-kit-7 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea:focus,.elementor-kit-7 .elementor-field-textual:focus{box-shadow:0px 0px 4px 0px rgba(144.00000000000003, 198.00000000000003, 174, 0.4);border-style:solid;border-color:#7BB89B;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-9fa88dc-font-size:clamp(1.5rem, 8vw, 9rem);--e-global-typography-9fa88dc-line-height:1.2;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* variables (editar aquí)*/
:root {
    /* Variables globales de padding - Editables */
    /* Padding izquierdo y derecho para todas las secciones/contenedores */
    --fluid-side-padding-min: 1.25rem; /* 20px */
    --fluid-side-padding-max: 5rem;   /* 80px */

    /* Padding superior e inferior para todos los contenedores */
    --section-xxl-padding-min: 9.375rem; /* 150px */
    --section-xxl-padding-max: 10rem; /* 160px */ 
  
    --section-xl-padding-min: 6.875rem; /* 110px */
    --section-xl-padding-max: 7.5rem; /* 120px */
  
    --section-l-padding-min: 5.625rem; /* 90px */
    --section-l-padding-max: 6.25rem; /* 100px */
  
    --section-m-padding-min: 5rem; /* 80px */
    --section-m-padding-max: 5rem; /* 80px */
  
    --section-s-padding-min: 3.75rem; /* 60px */
    --section-s-padding-max: 3.75rem; /* 60px */
  
    --section-xs-padding-min: 2.5rem; /* 40px */
    --section-xs-padding-max: 2.5rem; /* 40px */
  
    --section-xxs-padding-min: 1.5rem; /* 24px */
    --section-xxs-padding-max: 1.5rem; /* 24px */
    
    --section-header-padding-min: 1.25rem; /* 20px */
    --section-header-padding-max: 1.25rem; /* 20px */

    /* Altura para secciones tipo "hero" */
    --section-hero-height: 90dvh; /* 100% del alto de la pantalla */
  
    /* Offset superior para cabeceras en overlay */
    --section-offset-header: 80px; /* Ajustar según el margen negativo de la cabecera */
  
    /* Ancho para secciones estrechas */
    --section-narrow: 62.5rem; /* 1000px */
    --section-narrow-xs: 45rem; /* 720px */
}


/* Plantilla CSS (no editar por debajo) */


/* Padding para secciones/contenedores - variantes fluidas */
.seccion-xxl {
  padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
  padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-xl {
  padding-top: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
  padding-bottom: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-l {
  padding-top: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
  padding-bottom: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-m {
  padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
  padding-bottom: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-m-2 {
  padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
  padding-bottom: clamp(
    calc(var(--section-m-padding-min) / 2),
    calc((0vw + 5rem) / 2),
    calc(var(--section-m-padding-max) / 2)
  );
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max)) !important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max)) !important;
}


.seccion-s {
  padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
  padding-bottom: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-s-2 {
  padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
  padding-bottom: clamp(
    calc(var(--section-s-padding-min) / 2),
    calc((0vw + 3.75rem) / 2),
    calc(var(--section-s-padding-max) / 2)
  );
  padding-left: clamp(
    calc(var(--section-s-padding-min) / 2),
    calc((0vw + 3.75rem) / 2),
    calc(var(--section-s-padding-max) / 2)
  );
  padding-right: clamp(
    calc(var(--section-s-padding-min) / 2),
    calc((0vw + 3.75rem) / 2),
    calc(var(--section-s-padding-max) / 2)
  );
}


.seccion-xs {
  padding-top: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
  padding-bottom: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-xxs {
  padding-top: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
  padding-bottom: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

.seccion-cabecera {
  padding-top: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
  padding-bottom: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
}

/* Altura para secciones tipo "hero" */
.seccion-hero {
  min-height: var(--section-hero-height)!important;
}

.seccion-hero .e-con-inner {
  justify-content: center!important;
}

/* Secciones de ancho completo - sin padding lateral */
.seccion-completa div {
  max-width: 100%!important;
}

/* Secciones estrechas */
.seccion-estrecha .e-con-inner {
  max-width: var(--section-narrow)!important;
}

.seccion-estrecha-xs .e-con-inner {
  max-width: var(--section-narrow-xs)!important;
}

/* Padding con offset para cabeceras en overlay */
.seccion-offset {
  padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
}

/* Hoja de estilos de animaciones mejoradas desde https://element.how/elementor-improve-entrance-animations/
   Funciona para las animaciones tipo 'fade' por defecto de Elementor */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0, -30px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInDown {
    animation-name: fadeDown;
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px, 0, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInLeft {
    animation-name: fadeLeft;
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px, 0, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInRight {
    animation-name: fadeRight;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 30px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
.elementor-element.fadeInUp {
    animation-name: fadeUp;
}

/* Zoom */
@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.95, 0.95, 0.95);
    }
    to {
        opacity: 1;
        transform: scale3d(1, 1, 1);
    }
}
.elementor-element.zoomIn {
    animation-name: zoomIn;
}

/* Rebote desde abajo */
@keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    from {
        opacity: 0;
        transform: translate3d(0, 3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0);
    }

    75% {
        transform: translate3d(0, 10px, 0);
    }

    90% {
        transform: translate3d(0, -5px, 0);
    }

    to {
        transform: none;
    }
}
.elementor-element.bounceInUp {
    animation-name: bounceInUp;
}

/* Rebote desde la izquierda */
@keyframes bounceInLeft {
    from, 60%, 75%, 90%, to {
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    from {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0);
    }

    75% {
        transform: translate3d(-10px, 0, 0);
    }

    90% {
        transform: translate3d(5px, 0, 0);
    }

    to {
        transform: none;
    }
}
.elementor-element.bounceInLeft {
    animation-name: bounceInLeft;
}

/* Rebote desde la derecha */
@keyframes bounceInRight {
    from, 60%, 75%, 90%, to {
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    from {
        opacity: 0;
        transform: translate3d(3000px, 0, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0);
    }

    75% {
        transform: translate3d(10px, 0, 0);
    }

    90% {
        transform: translate3d(-5px, 0, 0);
    }

    to {
        transform: none;
    }
}
.elementor-element.bounceInRight {
    animation-name: bounceInRight;
}

/* Rebote desde arriba */
@keyframes bounceInDown {
    from, 60%, 75%, 90%, to {
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    from {
        opacity: 0;
        transform: translate3d(0, -3000px, 0);
    }

    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0);
    }

    75% {
        transform: translate3d(0, -10px, 0);
    }

    90% {
        transform: translate3d(0, 5px, 0);
    }

    to {
        transform: none;
    }
}
.elementor-element.bounceInDown {
    animation-name: bounceInDown;
}

.home .no-inicio {
  display: none !important;
}

.caja-texto {
max-height: 60vh;
overflow-x: hidden;
overflow-y: scroll;
padding: 2vw;
background: linear-gradient(to bottom, #28377d 0%, #1A254E 100%);
}

.caja-texto::-webkit-scrollbar{
width: 8px;
}

.caja-texto::-webkit-scrollbar-track{
background: rgba(21, 30, 67, 0.8);
}

.caja-texto::-webkit-scrollbar-thumb{
background: rgba(42, 153, 233, 01);
}

.caja-texto-2 {
max-height: 50vh;
overflow-x: hidden;
overflow-y: scroll;
padding: 2vw;
background: linear-gradient(to bottom, #F9F9F9 0%, #EFEFEF 100%);
}

.caja-texto-2::-webkit-scrollbar{
width: 8px;
}

.caja-texto-2::-webkit-scrollbar-track{
background: rgba(21, 30, 67, 0.8);
}

.caja-texto-2::-webkit-scrollbar-thumb{
background: rgba(42, 153, 233, 01);
}

#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_right:not(.gdpr-full-screen-infobar).moove-gdpr-light-scheme {
    border: 1px solid #d3ced2;
    border-radius: 0 !important;
}

/* .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button {
    width: 100% !important;
    padding: 25px;
    background-color: #90C6AE;
    border-radius: 5px;
    color: #252828;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover {
    background-color: #7BB89B; 
    color: #252828;          
    transform: scale(1.02); 
} */

 .wcdp-progress-row {
        margin-bottom:5px;
    }

@media (max-width: 768px) {
    .wcdp-progress-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 5px;
        white-space: nowrap;
        margin-bottom:5px;
    }

    .wcdp-progress-row .wcdp-column {
        width: auto !important;
    }
}

.wcdp-progress-style-2 .wcdp-thermometer {
    border-radius: 0 !important
}

.wcdp-progress-style-2 .wcdp-thermometer-bg {
    background-color: var(--wcdp-main);
    margin: 0;
    height: 1.3em !important;
}

.wcdp_options>li>label {
    padding: 10px !important;
    cursor: pointer;
    border-radius: 5px !important;
}

.wcdp-row>label, .wcdp-variation-heading {
    padding-bottom: 10px !important;
}

/* Estilo para el radio button */
#wcdp_2_wcdp_value_other[type="radio"] {
    margin: 0;
    width: 16px;
    height: 16px;
    accent-color: #90C6AE; /* color verde consistente */
}

#wcdp_2_wcdp_value_other[type="radio"] {
    margin-right: 6px !important; 
    accent-color: #90C6AE; 
}

.wcdp-body input.wcdp-donation-amount {
    width: calc(95% - 1ch - 20px) !important;
}


/* Input de cantidad */
#wcdp_2_wcdp_value_other:not([type="radio"]) {
    padding: 6px 10px;
    font-size: 15px;
    border-radius: 4px;
    border: 1px solid #ccc;
    text-align: right;
}


.wcdp_options>li>input:checked+label:after {
    padding-top: 3px;
    
}

.single-product .wcdp-donation-form-container {
    display: none !important;
}

@media (max-width: 768px) {
    .fix-bottom-mobile {
        position: fixed;
        bottom: 0;
        left: 0;
        padding:4%;
        width: 100%;
        z-index: 1;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); /* opcional */
    }
}

/* Botón que abre el popup */

button.wcdp-modal-open.wcdp-button {
    width: 100% !important;
    padding: 25px;
    background-color: #90C6AE;
    border-radius: 5px;
    color: #252828;
}

button.wcdp-modal-open.wcdp-button:hover {
    background-color: #7BB89B; 
    color: #252828;
    transform: scale(1.02);
}



/* Botones dentro del popup */
button.button.wcdp-button.wcdp-right {
    background-color: #90C6AE;
    color: #252828;
    border: none;
    padding: 25px;
    width: 48% !important;
}

button.button.wcdp-button.wcdp-right:hover {
    background-color: #7BB89B;
}

button.button.wcdp-button.wcdp-left {
    background-color: #fff;
    color: #252828;
    padding: 25px;
    border: 1px solid #252828;
    width: 48% !important;
}

button.button.wcdp-button.wcdp-left:hover {
    background-color: #f9f9f9;
}

.wcdp-button-container {
    display: flex;
    justify-content: space-between;
    gap: 4%;
}

/* Campos de texto generales */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    width: 100%;
    transition: all 0.3s ease;
}

/* Estado válido */
.woocommerce form .form-row input.input-text:valid,
.woocommerce form .form-row textarea:valid {
    border-color: #90C6AE;
    background-color: #f6fbf8;
}

/* Estado inválido */
.woocommerce form .form-row input.input-text:invalid,
.woocommerce form .form-row textarea:invalid {
    border-color: #e74c3c;
    background-color: #fff6f6;
}

/* Al enfocar */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: #7BB89B;
    outline: none;
    box-shadow: 0 0 4px rgba(144, 198, 174, 0.4);
}

/* Etiquetas */
.woocommerce form .form-row label {
    font-weight: 600;
    margin-bottom: 4px;
    display: inline-block;
}

/* -------------- */

/* Contenedor del select */
.select2-container .select2-selection--single {
    height: 55px !important;
    padding: 15px !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    background-color: #fff !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
}

/* Texto seleccionado */
.select2-container .select2-selection__rendered {
    line-height: 25px !important;
    padding-left: 5px !important;
}

/* Flecha */
.select2-container .select2-selection__arrow {
    height: 55px !important;
}

/* Al enfocar o abierto */
.select2-container--focus .select2-selection--single,
.select2-container--open .select2-selection--single {
    border-color: #90C6AE !important;
    box-shadow: 0 0 4px rgba(144, 198, 174, 0.4) !important;
}

/* Dropdown */
.select2-dropdown {
    border-color: #90C6AE !important;
}

/* Opción resaltada */
.select2-results__option--highlighted {
    background-color: #90C6AE !important;
    color: #252828 !important;
}

.select2-container .select2-selection--single {
    height: 55px !important;
    min-height: 55px !important;
    border: 1px solid #90C6AE !important;
    border-radius: 5px !important;
    background-color: #fff !important;
    font-size: 16px !important;
    padding: 15px !important;
    box-shadow: none !important;
}

/* Texto centrado verticalmente */
.select2-container .select2-selection__rendered {
    line-height: 25px !important;
    padding-left: 5px !important;
    margin-top:-10px !important;
}

/* Flecha */
.select2-container .select2-selection__arrow {
    height: 55px !important;
    top: 0 !important;
}

/* Ajuste de dropdown */
.select2-dropdown {
    border: 1px solid #90C6AE !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

/* ----------- */

/* Caja del resumen del donativo */
#wcdp-step-3 .woocommerce-checkout-review-order-table {
    border: 1px solid #90C6AE !important;
    border-radius: 5px !important;
    background-color: #f6fbf8 !important;
    font-size: 16px !important;
}

/* Mensajes de error / aviso */
#wcdp-step-3 .woocommerce-error,
#wcdp-step-3 .woocommerce-notice {
    border: 1px solid #e74c3c !important;
    background-color: #fff6f6 !important;
    color: #e74c3c !important;
    border-radius: 5px !important;
    padding: 15px !important;
}

/* Mensajes de información / advertencia */
#wcdp-step-3 .woocommerce-info {
    border: 1px solid #90C6AE !important;
    background-color: #f6fbf8 !important;
    color: #252828 !important;
    border-radius: 5px !important;
    padding: 15px !important;
}

/* Mensaje de éxito */
#wcdp-step-3 .woocommerce-message {
    border: 1px solid #90C6AE !important;
    background-color: #e6f7ef !important;
    color: #252828 !important;
    border-radius: 5px !important;
    padding: 15px !important;
}

/* Avisos y errores sin icono */
.woocommerce-info:before,
.woocommerce-error:before,
.e-wc-info-notice .woocommerce-info:before {
    display: none !important;
}

/* Tabla resumen donativo */
#wcdp-step-3 .woocommerce-checkout-review-order-table,
#wcdp-step-3 .woocommerce-checkout-review-order-table th,
#wcdp-step-3 .woocommerce-checkout-review-order-table td {
    border: none !important;
}

/* Bordes suaves solo exteriores */
#wcdp-step-3 .woocommerce-checkout-review-order-table {
    border: 1px solid #90C6AE !important;
    border-radius: 5px !important;
    overflow: hidden;
}

/* Línea divisoria interna solo entre filas */
#wcdp-step-3 .woocommerce-checkout-review-order-table tr + tr td {
    border-top: 1px solid #ddd !important;
}

/* ------- */

/* Mensaje de campos no válidos */
#wcdp-invalid-fields.woocommerce-info {
    background-color: #fff8e5 !important; /* amarillo pastel */
    border: 1px solid #e0b200 !important;
    color: #252828 !important;
}

/* Botón dentro de la alerta */
#wcdp-invalid-fields .wcdp-button {
    background-color: transparent !important;
    color: #e0b200 !important;
    border: 1px solid #e0b200 !important;
    color: #252828 !important;
}

#wcdp-invalid-fields .wcdp-button:hover {
    background-color: #fff3cc !important;
    color: #252828 !important;
}


/* Mensaje de alerta */
#wcdp-invalid-fields.woocommerce-info {
    background-color: #fff8e5 !important;
    border: 1px solid #e0b200 !important;
    color: #252828 !important;
}

/* Botón de corregir campos */
#wcdp-invalid-fields.woocommerce-info .button.button.wcdp-button {
    background-color: transparent !important;
    color: #e0b200 !important;
    border: 1px solid #e0b200 !important;
}

#wcdp-invalid-fields.woocommerce-info .button.button.wcdp-button:hover {
    background-color: #fff3cc !important;
    color: #252828 !important;
}

/* === INPUTS, TEXTAREAS, SELECTS === */
.form_ input[type="text"],
.form_ input[type="email"],
.form_ input[type="tel"],
.form_ input[type="number"],
.form_ input[type="url"],
.form_ input[type="password"],
.form_ textarea,
.form_ select {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    width: 100%;
    transition: all 0.3s ease;
    font-size: 16px;
}

.form_ input:valid,
.form_ textarea:valid {
    border-color: #90C6AE;
    background-color: #f6fbf8;
}

.form_ input:focus,
.form_ textarea:focus,
.form_ select:focus {
    border-color: #7BB89B;
    outline: none;
    box-shadow: 0 0 4px rgba(144, 198, 174, 0.4);
}

.form_ label {
    font-weight: 600;
    margin-bottom: 4px;
    display: inline-block;
}

.form_ a, .form_ a:link , .form_ a:hover {
    color: #252828;
    text-decoration: underline;
    text-underline-offset: 2px;
}/* End custom CSS */