/*
Theme Name: Bagja Child Theme
Author: ridianur
Author URI:  http://ridianur.com/
Theme URI: http://themeforest.net/user/ridianur
Template: bagja
Description: This is child theme for Bagja Theme.
Version: 1
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: bagja-child
Tags: one-column, two-columns, right-sidebar,custom-colors,featured-images
*/

input[type="checkbox"], input[type="radio"] {
    width: auto;
    margin: 0;
    padding: 0;
  }
  
  .wpcf7-submit, .dark-page .wpcf7-submit {
    background: #0099d4 repeat scroll 0 0;
    color: #fff;
    width: auto;
      border: 1px solid #0099d4}
  
  #gallery-1,#gallery-2,#gallery-3 {
    margin: 0 auto;
    width: 100%;
    display: flex;
  }
  #gallery-1 .gallery-item{margin-top:0px !important;}
  
  #gallery-1 img {
    border: 1px solid !important;
    padding: 10px 10px !important;
    box-sizing: border-box;
      /*max-width:670px*/
      max-width:500px;
      
  }
  #gallery-1 .gallery img {
      margin: 0 auto;
  }
  
  #gallery-2 img {
    border: 1px solid !important;
    padding: 10px 5px !important;
    box-sizing: border-box;
  }
  #gallery-2 .gallery img {
      margin: 0 auto;
    /*padding: 20px;*/
    padding: 10px 5px !important;
    border: 1px solid;
    margin: 10px !important;
  }
  
  #gallery-3 img {
    border: 0 !important;
    padding: 10px 20px !important;
    box-sizing: border-box;
  }
  
  #gallery-1 .elementor-widget-container{margin:0 auto !important}
  .sponsor .elementor-widget:not(:last-child) {
    margin-bottom: 1px solid!important;
  }
  /*
  .gallery img {
    border: 0 !important;
      
  }*/
  
  #boton-noclick01 a.slider-btn,#boton-noclick02,#boton-noclick03{
  pointer-events: none;
  cursor: default;
  }
  
  .navigation li a, .menu-box .menu ul li a {font-size:14px !important;padding: 24px 10px !important;}
  
  
  
  
  
  
      
  .white-header .hamburger__icon, .white-header .hamburger__icon::before, .white-header .hamburger__icon::after {
    background: #1f1f1f !important;
    background-color: rgb(31, 31, 31);		
  }
  
  .elementor-1588 .elementor-element.elementor-element-3b6a679a .hamburger__icon,
  .elementor-1588 .elementor-element.elementor-element-3b6a679a .hamburger__icon::before,
  .elementor-1588 .elementor-element.elementor-element-3b6a679a .hamburger__icon::after{
    background-color: #1f1f1f !important;
  }
  
  select {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ddd;
    color: #888;
    line-height: inherit;
    padding: 8px 13px;
    width: 100%;
    background: #fff;
  }
  
  @media (max-width: 1920px){
   /*.elementor-background-overlay {  
    background-size: 80%;
  }*/
      .elementor-1748 .elementor-element.elementor-element-dd7074a > .elementor-background-overlay{background-size: 600px;}
      .elementor-1748 .elementor-element.elementor-element-101f565 > .elementor-background-overlay,
      .elementor-element.elementor-element-4e2225c > .elementor-background-overlay{background-size: 80%;}
      
  }
  @media (min-width: 768px){
  .elementor-section.elementor-section-height-full {
    height: auto;
  }
  }
  @media only screen and (max-width: 1280px) {
  .olasBG-dcha .elementor-background-overlay{background-position: 750px 100% !important;}
  .olasBG-izqda .elementor-background-overlay{background-position: -500px 0 !important}
      
      .elementor-1748 .elementor-element.elementor-element-899b4a9 {
    padding: 0px 0px 250px 0px;
  }
      .elementor-1748 .elementor-element.elementor-element-1885be0 > .elementor-element-populated{
          margin: 150px -200px -100px 100px;padding: 20px 30px 20px 25px;}
  }
  
  
  
  @media only screen and (max-width: 950px) {
  .olasBG-dcha .elementor-background-overlay{background-position: 500px 100% !important;}
  .olasBG-izqda .elementor-background-overlay{background-position: -500px 0 !important}
  }
  
  @media only screen and (max-width: 810px){
  .elementor-1748 .elementor-element.elementor-element-1885be0 > .elementor-element-populated {
    margin: 5px 0 0 0;
  }
  .elementor-widget-image img {
    vertical-align: middle;
    display: inline-block;
  }
  .elementor-1748 .elementor-element.elementor-element-1513948 {
    padding: 400px 0px 0px 0px;
  }
  }
  
  @media only screen and (max-width: 428px) {
  /*.olasBG-dcha .elementor-background-overlay{background-position: 200px 100% !important;}
  .olasBG-izqda .elementor-background-overlay{background-position: -500px 0 !important}*/
      
      .elementor-1748 .elementor-element.elementor-element-1885be0 > .elementor-element-populated{padding: 50px 30px 30px 30px}
      .elementor-1748 .elementor-element.elementor-element-899b4a9 {
    padding: 0px 0 0 0;
  }
      .elementor-1748 .elementor-element.elementor-element-75cfd42 {padding:0}
      .elementor-1748 .elementor-element.elementor-element-101f565 {padding:20px 0 20px 0}
      .olasBG-dcha .elementor-background-overlay,.olasBG-izqda .elementor-background-overlay{background:none !important;}
      
  }
  
  .content-title span{color:#0099d4}
  
  .is-sticky .for-sticky {
    background: #ffffff none repeat scroll 0 0;
  }
  .elementor-widget:not(:last-child) {
    margin-bottom: 0px;
  }
  
  /*b2b*/
  .Agenda-b2b .contact-list-card-first_name-value{font-size: 25px;
    color: #0099d4; font-weight:900;}
  
  .Agenda-b2b .contact-list-job-title{font-weight:700;/*text-transform:uppercase;*/
      margin-bottom: 12px;
    border-bottom: 2px dotted #0099d4;
    margin-right: 25px;
    padding-bottom: 6px;}
  
  /*.Agenda-b2b .contact-list-send-email.cl-dont-print
  {
    text-transform: uppercase;
    fill: #ffffff;
    color: #ffffff;
    background-color: #0099d4;
    border-radius: 4px 4px 4px 4px;
    padding: 10px 20px 5px 20px;
  }
  
  .Agenda-b2b  #contact-list-search ul li a {
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    color: #fff;
  }*/
  
  .Agenda-b2b .contact-list-send-email a, .Agenda-b2b  a.contact-list-show-contact-button {
   
    background: #0099d4;
    color: #fff; 
    padding: 10px 20px 10px 20px;
    margin-top: 8px;
    margin-bottom: 8px;
    border:0;
    border-radius: 4px;
    transition: all .3s;
    white-space: nowrap;
  }
  
  
  .Agenda-b2b .contact-list-contact-container {padding:25px}
  
  .Agenda-b2b .contact-list-2-cards-on-the-same-row #all-contacts li .contact-list-contact-container {  
    padding: 15px 30px;
  }
  
  .Agenda-b2b .contact-list-main-right img {  
    aspect-ratio: 1;
    object-fit: contain;
      padding: 6px;
    box-sizing: border-box;
  }
  
  .Agenda-b2b .contact-list-main-left {margin-right: 10px;
    padding-right: 5px;
    border-right: 2px dotted #0099d4;
  }
  
  .blog-link-img img {
    transition: 0.3s;
    aspect-ratio: 3/2;
    max-height: 300x;
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
  }
  .programacion .elementor-widget-container p{line-height:22px}
  .programacion .elementor-widget-container span{line-height:22px;display:inline-block}
  
  
  .fa-twitter::before {
    transition:  0.3s; 
      content: "\e61b"!important;
  }
  
  .wb-thank-you-image{	
     filter: hue-rotate(346deg) saturate(205%);
  }
  
  /*--------------Formulario B2B-------------------*/
  
  #formReservaB2B input{
      width:80%;
      margin-bottom:20px;
      border: 1px solid #cdcfde;
      border-radius: 15px;
      height: 50px;
      padding: 0 20px 0 20px;
      font-family: poppins, arial;
      font-size: 16px;
      color: #212121;
      outline: none;
      background: #fff;
  }
  
  #formReservaB2B label{
      font-family: poppins-semibold, arial;
      font-size:16px;
      margin-bottom:10px !important;
  }
  
  .oculto{
      display:none;	
  }
  
  #gallery-9 img,#gallery-10 img,#gallery-11 img {
    border: 0 !important;
      max-width: 430px;
  }
  
  .ponentes div.elementor-widget-wrap.elementor-element-populated{
          /*align-content: space-between;*/
  }
  
  .bannerRenfe h3 a{
      color:white;
  }
  
  
  .bannerRenfe h3 a:hover{
      /*color:#46A3DF;*/
      color:#e91e63;
  }
  
  .horaProgramacion{
      font-size:18px;
      color: #0099d4;
      font-weight: 600;
      font-family: 'Montserrat', sans-serif;
  }
  
  .lugarProgramacion{
      color:#7A7A7A;
      /*font-weight: 600;*/
      font-size:17px;
  }
  
  .divInfo{
          margin-top:2%;
  }
  
  .title-info{
      font-weight: 300;
      font-size: 18px;
  }
  
  .ponenteShowcooking{
      font-weight: 800;
    font-family: 'Montserrat', sans-serif;
    color: #000;
    letter-spacing: -0.04em;
    line-height: 1.3;
      font-size:18px;
      margin-left:1%;
  }
  
  .divShowcooking{
      margin-bottom:2%;
  }
  
  .wbk_service_item{
        background-size: 140px !important;
      background-repeat: no-repeat !important;
      background-position-x: 90% !important;
      background-position-y: 50% !important;
  }
  
  #expositores .wpr-member-image img{
      margin:auto;
  }
  
  #expositores .elementor-widget-wrap.elementor-element-populated{
      /*justify-content: space-between;*/
  }
  
  /*#expositores{
      transition: opacity 0.4s ease, height 0.4s ease; 
      opacity: 1;
  }
  
  .ocultar{
      display:none;
      opacity: 0;
  }*/
  
  .expositor {
      transition: opacity 0.4s ease, transform 0.4s ease;
      opacity: 1;
      transform: scaleY(1);
      transform-origin: top;
  }
  
  .expositor.ocultar {
      opacity: 0;
      transform: scaleY(0);
      height: 0;
      pointer-events: none;
  }
  
  .expositor.ocultar.display-none {
      display: none;
  }
  
  .expositor {
      border:1px solid #ECECEC;
      margin:1% !important;
      margin-bottom:3% !important;
      
  }
  
  #filtroExpositores .wpr-button{
      cursor:pointer
  }
  
  .btnFiltroActivo .wpr-button, .btnFiltroActivo .wpr-button:hover{
      background-color:black !important;
      color:white !important;
      border: 1px solid black !important;
  }
  
  img:is([sizes="auto" i], [sizes^="auto," i]) {
         contain-intrinsic-size: auto 400px;
  }
  
  @media (max-width: 767px) {
    .content-title, .table-content h3, .hero-title {
      font-size: 30px;
    }
  }
  .wbk_service_item__top-part img.wbk_service_item__image{
      width:115px !important;
      height:auto !important;
  }
  .nombre-contacto{
      font-size:16px;
  }
  .rcs-outer-container h3 {
      font-size:20px !important;
  }
  
  .wbk_service_item__description{
      line-height:24px !important;
  }
  
  .webba_booking_form_v6 .BxZgJBBVpQD78gu_Ow1w{
      margin:auto;
  }
  
  /*Ocultar elementos innesarios formulario*/
  
  .wbk_input.wbk_input--half-width input[name="last_name"]{
      display:none;
  }
  
  .wbk_form .wbk_input.wbk_input--half-width:has(> input[name="first_name"]){
      width:100% !important;
  }
  
  .wbk_form .wbk_input.wbk_input--half-width:has(> input[name="last_name"]){
      width:100% !important;
  }
  
  .wbk_form{
      row-gap:10px;
  }
  
  .wbk_sidebar__bottom-summary__wrapper .wbk_sidebar__bottom-summary__total-section span, .wbk_thank_you__panel-wrapper, .wbk_service_item__heading-wrapper__price, .wbk_sidebar__items__item__price,
  .wbk_sidebar__items > .wbk_sidebar__items__item:last-of-type,
  .wbk_sidebar__inner-wrapper.wbk_sidebar__inner-wrapper--open > .wbk_button.wbk_button--secondary
  {
      display:none !important;
  }
  
  .i1s449gMj277KqgGD6TV {
      /*
      min-height:500px !important;
      max-height:500px !important;
      */
  }
  
  .wbk_form_notice wbk_thank_you__information ul li{
      margin-bottom:13px;
  }
  
  .wbk_booking_form__body__inner-wrapper {  
    width: 1140px;
    max-width: 1140px;
    min-height: 750px;
    max-height: 1200px;  
  }
  .wbk_sidebar__bottom-summary__wrapper {
    width: 1140px;
    max-width: 1140px;
  }
  
  @media (max-width: 767px) {
      .wbk_booking_form__body__inner-wrapper {  
    width: 100%;
    max-width: 1140px;
    min-height: 750px;
    max-height: 1200px;  
  }
  .wbk_sidebar__bottom-summary__wrapper {
    width: 100%;
    max-width: 1140px;
  }
  
  }
  
  #IconBoton .elementor-button-icon svg{
      width: 40px;
      height: 40px;
      fill: #ffffff;
      vertical-align:middle
  }
  
  #IconBoton .elementor-button-content-wrapper {
      display: flex;
      align-items: center;
  }
  
  #IconBoton .elementor-button-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
  }
  
  #IconBoton .elementor-button-text {
      display: flex;
      align-items: center;
  }
  

  
/* ====================================================
======= ESTILO FOMRULARIO PARA FIRMAR CONTRATO ========
=======================================================*/

.contrato-wrapper {
    /* max-width: 620px; */
    margin: 0 auto;
    padding: 2rem 1rem;
    font-family: inherit;
}

/* Pasos */
.contrato-steps {
    display: flex;
    margin-bottom: 2rem;
}

.contrato-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: relative;
}

.contrato-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 14px;
    left: 50%;
    width: 100%;
    height: 1px;
    background: #e0e0e0;
    z-index: 0;
}

.contrato-step.active:not(:last-child)::after,
.contrato-step.done:not(:last-child)::after {
    background: #0199D4;
}

.step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    position: relative;
    z-index: 1;
    background: #f0f0f0;
    border: 1px solid #ddd;
    color: #888;
}

.contrato-step.active .step-dot {
    background: #0199D4;
    border-color: #0199D4;
    color: #fff;
}

.contrato-step.done .step-dot {
    background: #3B6D11;
    border-color: #3B6D11;
    color: #fff;
}

.step-label {
    font-size: 11px;
    color: #888;
    text-align: center;
}

.contrato-step.active .step-label {
    color: #0199D4;
    font-weight: 500;
}

/* Paneles */
.contrato-panel {
    display: none;
}

.contrato-panel.active {
    display: block;
}

/* Card */
.contrato-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 2rem;
}

.text-center {
    text-align: center;
}

/* Iconos de panel */
.panel-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    font-size: 26px;
}

.panel-icon.cert { background: #E6F1FB; color: #0199D4; }
.panel-icon.firma { background: #EAF3DE; color: #3B6D11; }
.panel-icon.exito { background: #EAF3DE; color: #3B6D11; }

/* Títulos y textos */
.panel-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #1a1a1a;
}

.panel-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}

/* Caja informativa */
.contrato-info-box {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #f5f7fa;
    border-radius: 8px;
    padding: 12px 16px;
    margin: 0 auto 1.5rem;
    max-width: 420px;
    text-align: left;
}

.contrato-info-box i {
    color: #0199D4;
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0;
}

.contrato-info-box p {
    font-size: 13px;
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* Badge certificado OK */
.cert-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #EAF3DE;
    color: #3B6D11;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 13px;
    margin-bottom: 1.25rem;
}

/* Secciones del formulario */
.section-label {
    font-size: 11px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #eee;
    padding-bottom: 6px;
    margin: 3rem 0 1rem;
}

/* Campos */
.field-group {
    margin-bottom: 12px;
}

.field-group label {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
}

.field-group input {
    width: 100%;
}

.field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 0;
}

.field-row .field-group {
    margin-bottom: 12px;
}

.field-row-3 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 12px;
}

.field-row-3 .field-group {
    margin-bottom: 12px;
}

/* Footer del formulario */
.form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

/* Botones */
.contrato-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0199D4;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s;
}

.contrato-btn-primary:hover { opacity: 0.88; }
.contrato-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.contrato-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: #444;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s;
}

.contrato-btn-secondary:hover { background: #f5f5f5; }

/* Barra de estado */
.status-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    color: #555;
    margin: 1rem 0;
}

.spinner {
    width: 18px;
    height: 18px;
    border: 2px solid #e0e0e0;
    border-top-color: #0199D4;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* Enlace PDF */
.pdf-link {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f5f7fa;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 1.5rem auto 0;
    max-width: 420px;
    text-decoration: none;
    color: #1a1a1a;
    transition: background 0.15s;
}

.pdf-link:hover { background: #edf0f5; }
.pdf-link .fa-file-pdf { font-size: 24px; color: #E24B4A; }
.pdf-link div { flex: 1; text-align: left; }
.pdf-link strong { display: block; font-size: 14px; margin-bottom: 2px; }
.pdf-link span { font-size: 12px; color: #888; }
.pdf-link .fa-arrow-right { color: #aaa; font-size: 14px; }

/* Responsive */
@media (max-width: 480px) {
    .field-row, .field-row-3 {
        grid-template-columns: 1fr;
    }
    .contrato-card {
        padding: 1.25rem;
    }
}

#panel-2 .panel-desc {
    margin: 0px 0px 1.25rem 0px;
    max-width: 100%;
}


.error {
    color: red;
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

