.elementor-3094 .elementor-element.elementor-element-27255c7{--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:90px;--padding-bottom:90px;--padding-left:20px;--padding-right:20px;}.elementor-3094 .elementor-element.elementor-element-70e92b4{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-3094 .elementor-element.elementor-element-b20c20f > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-3094 .elementor-element.elementor-element-b20c20f{text-align:center;}.elementor-3094 .elementor-element.elementor-element-b20c20f .elementor-heading-title{font-size:48px;}.elementor-3094 .elementor-element.elementor-element-d4cb2e9{text-align:center;}.elementor-3094 .elementor-element.elementor-element-ee9485c .wpcf7 span.wpcf7-not-valid-tip{text-align:left;display:block;}.elementor-3094 .elementor-element.elementor-element-ee9485c .wpcf7 div.wpcf7-response-output{text-align:left;}@media(max-width:1024px){.elementor-3094 .elementor-element.elementor-element-b20c20f .elementor-heading-title{font-size:38px;}}@media(min-width:768px){.elementor-3094 .elementor-element.elementor-element-27255c7{--content-width:996px;}}@media(max-width:767px){.elementor-3094 .elementor-element.elementor-element-27255c7{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-3094 .elementor-element.elementor-element-b20c20f .elementor-heading-title{font-size:32px;}}/* Start custom CSS for contact-form-7, class: .elementor-element-ee9485c */.elementor-3094 .elementor-element.elementor-element-ee9485c p {
    width: 100%;
    margin: 0;
    display: flex;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .box-input-establecimiento p {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
        font-family: "Merriweather Sans", Sans-serif;
    margin-bottom: 10px;
}

/*--file custom --*/
.section-file{
    display: flex;
    width: 100%;
    padding: 7px 10px 7px 30px;
    background: #E6EBF3;
    border: 1px dashed #96AFCD;
    color: #00586F;
    border-radius: 12px;
    cursor: pointer;
    margin-top: 15px;
    align-items: center;
    justify-content: space-between;
}
.section-file p {
    width: auto !important;
}
.section-file svg{
    position: relabook-titletive !important;
    left: -25px !important;
    top: 55%;
}
.section-file svg path{
    fill: #000;
}
#file{
    position: absolute;
    top: 0;
    display: none;
}
.elementor-3094 .elementor-element.elementor-element-ee9485c .book-title {
    font-size: 24px !important;
}
.text-msm{
    font-size: 14px;
    padding: 10px;
    text-align: right;
    width: auto;
}
.form-libro{
    font-size: 14px;
}
.form-libro input[type='radio'] {
    accent-color: var(--e-global-color-secondary );
}
.form-libro input{
    border-radius: 0px;
    padding: 12px;
    border:1px solid #A6B2C1;
}
.form-libro select{
    border:1px solid #A6B2C1;
    border-radius: 0px;
    padding: 12px;
}
/* Contenedor de cada campo */
.cf7-field {
  position: relative;
  margin-bottom: 15px;
  width: 100%;
}

/* Estilo para los inputs y textarea */
.cf7-input {
  width: 100%;
  padding: 14px 14px 4px 14px !important;
  font-size: 16px;
  border: 1px solid #BDBDBD !important;
  border-radius: 5px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
  min-height: 54px;
}

.cf7-input:focus {
  border-color: #0041a8;
  outline: none;
}

/* Estilo para las etiquetas */
.cf7-field label {
  position: absolute;
  top: 18px; /* Ajusta según el padding del input */
  left: 10px;
  font-size: 16px;
  color: #777;
  background-color: white; /* Para que el label no tape el borde del input */
  padding: 0 5px;
  transition: all 0.3s ease;
  pointer-events: none; /* Evita que el label interfiera con el input */
}
/* Estilos cuando el campo está enfocado o tiene valor */
.cf7-field.is-focused label,
.cf7-field.has-value label {
  top: 6px; /* Mueve el label hacia arriba */
  font-size: 12px;
  color: var(--e-global-color-secondary);
  background-color: transparent;
}


.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.wpcf7-not-valid-tip {
    font-size: 13px;
    line-height: 1.1;
    background: #ffe3e3;
    padding: 4px 10px;
}

.select:after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: relative;
    bottom: 45px;
    left: calc(100% - 30px);
    pointer-events: none;
}
.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos{
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 16px;
    flex-direction: row;
    justify-content: center;
}
.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 12px 25px;
    background: var(--e-global-color-2f9bd7e);
    border-radius: 5px;
}
.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box.numero-correlativo {
    flex-direction: column;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box.numero-correlativo p {
    justify-content: center;
    text-align: center;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box p label {
    width: 100%;
    margin: 0;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box p label .wpcf7-form-control-wrap {
    display: block;
    width: auto;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box p .label {
    font-size: 14px;
    font-weight: 400;
    font-family: "Merriweather Sans", Sans-serif;
    color: var(--e-global-color-b8750fa) !important;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box p label .wpcf7-form-control-wrap .wpcf7-form-control {
    display: block;
    width: auto;
}

.elementor-3094 .elementor-element.elementor-element-ee9485c .book-datos-box input{
    border: 0 !important;
    pointer-events:none;
    background: transparent;
    padding: 0 !important;
    text-align: right;
}
.book-box-first{
    padding: 50px 0px 50px;
}
.book-box{
    padding: 50px 0px 50px;
    border-top: 1px solid rgba(0,0,0,0.1);
}
.book-title{
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    margin-bottom: 16px;
}
.book-subtitle{
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    margin-bottom: 28px;
}
.book-input-two{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.book-input-two .book-input{
    width: 49%;
}
.book-input-three{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;;
}
.book-input-three .book-input{
    width: 32.2%;
}
.book-checks{
    margin-bottom: 40px;
    color: #000;
}
.book-checks .wpcf7-list-item{
    margin: 0;
    margin-right: 60px;
    color: #000;
}
.book a{
    color: #000;
    font-weight: 700;
    text-decoration: underline !important;
}
.wpcf7-list-item label{
    display: flex;
    align-items: center;
}
.wpcf7-list-item label input{
    position: relative;
    border: 1px solid var( --e-global-color-b8750fa );
    width: 18px;
    height: 18px !important;
    appearance: none;
    flex-shrink: 0;
    background-color: transparent;
    border-radius: 50%;
    margin-right: 7px;
}
.wpcf7-list-item label input:checked:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: var( --e-global-color-b8750fa );
    border-radius: 50%;
}

.book-accept .wpcf7-list-item {
    margin: 0;
    margin-bottom: 16px;
}

.book-accept .wpcf7-list-item label input  {
    position: relative;
    border: 2px solid var( --e-global-color-b8750fa );
    width: 18px;
    height: 18px !important;
    appearance: none;
    flex-shrink: 0;
    background-color: transparent;
    border-radius: 3px;
    margin-right: 7px;
}

.book-accept .wpcf7-list-item label input:checked:after {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
    background-color: transparent;
    width: 16px;
    height: 16px;
}

.book-accept .wpcf7-list-item label input:checked {
    background: var( --e-global-color-b8750fa );
}

.book-input .input-file{
    width: 100%;
    background: #F2F2F2;
    padding: 12px 18px 12px;
}
.book-input .input-file::-webkit-file-upload-button{
    visibility: hidden;
    width: 0;
}

.book-edad{
    margin-top: 50px;
    margin-bottom: 28px;
    font-size: 16px;
}
.book-edad .wpcf7-list-item{
    margin: 0;
}
.btn-send{
    display: flex;
    align-items: center;
    justify-content: center;
}
.book-accept{
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-info p {
    display: block !important;
    width: initial;
    margin-bottom: 10px !important;
}
@media screen and (max-width: 767px){
   .book-input-three .book-input{
        width: 100%
    }
    .book-input-two .book-input{
        width: 100%
    }
    .book-datos {
        flex-direction: column !important;
    }
    .book-datos-box p {
        flex-direction: column;
        text-align: center;
    }
    .book-datos-box p .wpcf7-form-control-wrap input {
        text-align: center !important;
    }
    .book-datos-box{
        width: 100%;
    }
    .book-title{
        font-size: 16px;
    }
    .book-subtitle{
        font-size: 15px;
    }
    .section-file {
        flex-direction: column;
        padding: 20px 10px;
                gap: 20px;
    }
    .section-file .text-msm {
        padding: 0px;
    }
}/* End custom CSS */