/* Custom CSS */

html {font-size: 14px; line-height:1.3em;}
.elementor-heading-title {line-height:1.3em;}
@media (min-width: 768px) {html {font-size: 16px;}}

/* Menú principal */
.raven-nav-menu-main > ul > li.menu-item.current_page_ancestor > a, 
.raven-nav-menu-main > ul > li.current-menu-item > a, 
.raven-nav-menu-main > ul > li.current_page_item > a {
    border-top: 3px solid #ece3d1 !important;
}


/* Formularios */
:root {
    --color-formulario-fondo: #ececec;
    --color-formulario-borde: #ececec;
    --color-formulario-texto: #000;
    --color-formulario-placeholder: #ECE3D1;
    --color-formulario-placeholder-hover: #ececec;
    --color-formulario-placeholder-focus: #fff;
    --color-formulario-boton: #B85642;
    --color-formulario-texto-boton: #fff;
    --radius-formulario: 0px;
    --fuente-formulario: 'Outfit', sans-serif;
    --fuente-formulario-titulos: 'Playfair Display', serif;

  }
  
  
  .formulario-texto-cabecera {
      text-align: center;
      margin-bottom: 15px;
  }
  .formulario-texto-cabecera h2 {
    font-size: 28px !important;
    font-weight: bold !important;
    margin-bottom: 15px;
}
  .formulario-texto-cabecera p {
      font-weight: normal;
      text-align: center;
      margin: 0;
      font-size: 1.375rem;
      font-family: var(--fuente-formulario-titulos);
  }
  
  .wpcf7-form p{
    margin: 0;
  }
  
  .wpcf7-form select {
      padding: 10px;
      height: auto;
      width: 100%;
      border-radius: 3px;
      border: 1px solid var(--color-formulario-borde);
      background: var(--color-formulario-fondo);
  }
  .wpcf7-form .form-control {
      padding: 10px;
      border-radius: 3px;
      border: 1px solid var(--color-formulario-borde);
      background: var(--color-formulario-fondo);
      box-shadow: none;
  }
  
  .wpcf7-response-output {
      font-size: 14px;
      line-height: 1.3em;
      border-radius: 5px;
      background: #e8f0fe;
      border: none !important;
      padding: 15px !important;
  
  }
  .wpcf7-not-valid-tip {
      font-size: 0.8em;
  }
  
  input.wpcf7-quiz {
      padding: 10px;
      background: var(--color-formulario-fondo);
      border: 1px solid var(--color-formulario-borde);
      border-radius: 3px;
      display: inline-block;
      width: 62px;
  }
  
  
  .wpcf7-form input[type=text],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=tel],
  .wpcf7-form select {
      background: var(--color-formulario-placeholder) !important;
      border-color: var(--color-formulario-placeholder) !important;
      border-radius: var(--radius-formulario) !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      font-family: var(--fuente-formulario) !important;
  }
  
  .wpcf7-form input[type=checkbox] {
      appearance: none;
      width: 15px;
      height: 15px;
      background-color: var(--color-formulario-placeholder);
      border: 1px solid var(--color-formulario-placeholder);
      border-radius: 4px;
  }
  /* Estilo cuando el checkbox está marcado */
  .wpcf7-form input[type="checkbox"]:checked {
      /* Añadir un símbolo de check personalizado */
      position: relative;
  }
  
  /* Añadir una marca de check personalizada */
  .wpcf7-form input[type="checkbox"]:checked::after {
      content: '✓'; /* Símbolo de check */
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: var(--color-formulario-texto); /* Color del símbolo */
      font-weight: bold;
  }
  
  .wpcf7-form input[type=submit] {
      color: var(--color-formulario-texto-boton) !important;
      background: var(--color-formulario-boton) !important;
      padding: 15px 29px !important;
      border: 1px solid var(--color-formulario-boton) !important;
      border-radius: 3px;
      appearance: none !important;
      font-size: 16px !important;
      font-weight: normal !important;
      width: auto;
      cursor: pointer;
      font-family: var(--fuente-formulario) !important;
      text-transform: uppercase
  }
  
  .wpcf7-form .texto-form {
      font-size: 12px;
      line-height: 1.2em;
  }
  
  .wpcf7-form .form-control:not([size]):not([multiple]) {
      height: auto !important
  }
  
  .pregunta .wpcf7-quiz-label, .wpcf7-acceptance .wpcf7-list-item-label, span.wpcf7-not-valid-tip {
      font-size: 0.9em;
      font-family: var(--fuente-formulario) !important;
  }
  
  .wpcf7-form .formulario-enviado-titulo {
      font-family: 'Libre Baskerville';
      color: var( --e-global-color-primary );
      text-align: center;
      font-size: 30px;
  }
  .wpcf7-form .formulario-enviado-texto {
      text-align: center;
      font-size: 20px;
  }
  .wpcf7-form .formulario-enviado {
      display:none;
  }
  .wpcf7-form.sent .formulario-enviado{
      display: block;
       height: 100%;
        background: #f7f7f5;
        padding: 65px 20px;
  }
  
  .wpcf7-form.sent .formulario{
      display:none;
  }
  
  .wpcf7-form .popup-privacidad{
      border-bottom: 1px dashed #000;
      cursor: pointer;
  }
  
  span.wpcf7-spinner {
      position:absolute;
      top: -40px;
  }
.jupiterx-popup__container-content .wpcf7-form .wpcf7-submit {
    width: 100%;
}
.form-columnas {
    display: flex;
    flex-direction: column;
    gap: 0px;
    align-items: center;
}
.form-columnas .form-group{
    flex: 1;
}
@media (min-width: 982px){
    .form-columnas{
        flex-direction: row;
        gap: 20px;
    }
}

/* Submenú servicios */

.submenu-servicios {
    list-style: none;
    padding-left: 0;
    margin: 0;
    /* Por defecto, una columna en móviles */
    column-count: 1;
}

.submenu-servicios li {
    /* Evita que un elemento se parta entre dos columnas */
    break-inside: avoid-column;
    padding-bottom: 0 !important;
}
.submenu-servicios li a{
    color: #000;
    font-size:0.9375rem !important;
}

.submenu-servicios li a .fas{
    display: inline-block;
    margin-right:10px;
}
.submenu-servicios li a:hover{
    color: #B85642;
}

.submenu-servicios .pagina-actual a {
    font-weight: bold;
    color: #B85642; /* O tu color primario */
}

/* A partir de 768px de ancho, mostramos 4 columnas */
@media (min-width: 768px) {
    .submenu-servicios {
        column-count: 4;
        column-gap: 20px; /* Espacio entre columnas */
    }
}

/* --- Ajustes para el carrusel Raven --- */

/* Hacemos que el slide sea un contenedor flex para que su contenido se pueda estirar */
#carrusel-equipo .swiper-slide {
    height: auto;
    display: flex;
}

/* Hacemos que el wrapper del post ocupe todo el alto disponible */
#carrusel-equipo .raven-post-wrapper {
    width: 100%;
    height: 100%;
    display: flex !important;
}

#carrusel-equipo .raven-posts-carousel-swiper-container {
    padding: 20px !important;
}
#carrusel-equipo .swiper-pagination.swiper-pager-outside {
    text-align: left;
}
@media (min-width:1024px){
    #carrusel-equipo .swiper-slide {
        height: auto;
        display: flex;
        width: 21% !important;
    }
}
