/*

 Theme Name:   GeneratePress Child

 Theme URI:    https://generatepress.com

 Description:  Default GeneratePress child theme

 Author:       Tom Usborne

 Author URI:   https://tomusborne.com

 Template:     generatepress

 Version:      0.1

*/



/* FUENTE */



@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

/* VARIABLES POR DEFECTO */



:root {

  --c-negro: #323232;

  --c-blanco: #fffdfb;



  --c-primario-light: #94c6d7;

  --c-primario: #0A7F94;

  --c-primario-dark: #123946;



  --c-fondo: #F9F9F9;





  --c-grisclaro: #EFEFEF;

  --c-gris: #d3d3d3;;



}



/* OUTLINE */



*:focus { outline: 1px solid var(--c-primario); }





::selection {

  background-color: #249cf320; /* Cambia el color de fondo de la selección */

  color: inherit !important; /* Cambia el color del texto seleccionado */

}



html {

  scroll-behavior: smooth;

}





/* ESTILOS COMUNES */



.zindex0 {

  z-index: 0;

}



.zindex1 {

  z-index: 5;

}





body {

  font-family: 'DM Sans', sans-serif;

  color: var(--c-primario-dark);

  font-size: 1.125rem;

  font-weight: 300;

  line-height: 1.6875rem ;

}



h1.tit-home {

  font-size: 82px;

  font-weight: 200;

  font-family: 'Bebas Neue', sans-serif;

  color: var(--c-primario-dark) !important;

  margin-bottom: 20px;

  line-height: 1.2em;

  text-transform: none;

}



h1.tit-interior {

  font-size: 90px;

  font-weight: 200;

  font-family: 'Bebas Neue', sans-serif;

  color: var(--c-primario-dark)!important;

  margin-bottom: 20px;

  line-height: 1.2em;

  text-transform: none;

}

h1.tit-subpage {
  font-size: 80px;

  font-weight: 200;

  font-family: 'Bebas Neue', sans-serif;

  color: var(--c-primario-dark)!important;

  margin-bottom: 20px;
  margin-top: -10px;
  line-height: 1.2em;

  text-transform: none;
}

span.numero {
   font-size: 80px;

  font-weight: 200;

  font-family: 'Bebas Neue', sans-serif;

  color: var(--c-primario-dark)!important;
  margin-bottom: -25px!important;
  margin-top: -10px;
  line-height: 1.2em;

  text-transform: none;
}

span.subtit-home {

  font-size: 18px !important;

}



h2.titulos-interiores{

  font-size: 48px;

  margin-bottom: 20px;

  line-height: 1.2em;

  font-weight: 200;

  text-transform: none;

  color: var(--c-primario-dark);

  font-family: 'Bebas Neue', sans-serif;

}



h3.subtitulos-interiores {

  font-size: 32px;

  margin-bottom: 20px;

  line-height: 1.2em;

  font-weight: 200;

  text-transform: none;

  color: var(--c-primario-dark);

  font-family: 'Bebas Neue', sans-serif;

}



a {

  color: var(--c-primario);

  text-decoration: none;

}



a, a:hover {

  transition: all 0.4s ease !important;

}



strong, b {

  font-weight: 600;

}



em {

  color: var(--c-primario) !important;

  font-style: normal !important;

}



.text-light {

  color: var(--c-blanco)!important;



  

  em {

    color: var(--c-primario-light) !important;



  }

}



@media screen and (max-width:768px) {

  h1.tit-home {

    font-size: 40px;

  }

  h1.tit-subpage {
  font-size: 40px;

}


  h1.tit-interior {

    font-size: 40px;

  }



  h2.titulos-interiores{

    font-size: 30px;



}



}



.alinear-izquierda {

  text-align: left;

}



.alinear-centro {

  text-align: center;

}



.alinear-derecha {

  text-align: right;

}



.sombra-bloques>.vce-col-inner {

  box-shadow: 0 20px 30px 0 rgba(65, 69, 55, 0.1);

}

ul.lista-especial {
  list-style: none; /* Quitar los puntos por defecto */
  padding-left: 0 !important; /* Eliminar sangría predeterminada */
  margin-left: 0;
}

ul.lista-especial li {
  position: relative;
  padding-left: 2em; /* Espacio para el icono */
  margin-bottom: 0.25em; /* Espacio entre elementos */
}

ul.lista-especial li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1em;
  height: 1em;
  background-image: url("/wp-content/uploads/2025/05/Recurso-21@2x.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}







.divisor-bot svg {



  height: 100px;



}







@media screen and (max-width:768px) {



  .divisor-bot svg {



    height: 100px;



  }



}







.vce-faq-toggle-icon {







  left: -41px !important;



 



}







.vce-faq-toggle-title-text {



  font-weight: 500;



}



.page-id-2 .vce-faq-toggle-title-text {



  color: var(--c-blanco);



}











	/* Create and position :after pseudo-element */



	



	.vce-col.clickable a:after {



    content: "";



    display: block; 



    position: absolute;



    top: 0;



    left: 0;



    right: 0;



    bottom: 0;



    z-index: 2; 



 }



 /* Remove relatively-positioned parent elements in column */



 



 .clickable .vce-col-content, .clickable .vce-col-inner {



    position: static;



 }







 /* FORMULARIO DE CONTACTO */



/* Configuraciones generales */







form .contacto {



  display: flex;



  flex-direction: column;



  padding-top: 20px;



  



}







form .contacto .datos {



  display: flex;



  flex-wrap: wrap; 



  gap: 20px; 



  margin-bottom: 20px;



}







form .contacto .datos > div {



  flex: 1 1 calc(50% - 20px); 



  min-width: 250px; 



  box-sizing: border-box;



}







form .contacto label {



  display: inline-block;



  margin-bottom: 10px;



}







form .contacto input,



form .contacto textarea,



form .contacto select {



border: 1px solid transparent;



background-color: #043f630e;



font-family: inherit !important;



}







form .contacto input, form .contacto select {



  width:100%;



}  







form .contacto select {



  box-sizing: border-box;



 padding-top: 10px;



 padding-bottom: 11px;



 -webkit-appearance: none;



  -moz-appearance: none;



  appearance: none;



}







form .contacto .datos > div p{



  margin-bottom: 0 !important;



}







form .contacto textarea {



  resize: none;



  max-height: 150px;



}







form .contacto input:focus,



form .contacto textarea:focus, form .contacto input:active,



form .contacto textarea:active,



form .contacto input:focus-visible, form .contacto textarea:focus-visible {



  border: 1px solid var(--c-primario-dark);



  opacity: 0.9;



}







/* Mensaje de error */







.wpcf7-not-valid-tip {



  color:red;



  padding-top: 5px;



  font-weight: 300 !important;



}







/* Tipo de letra de las textareas */







input, select, textarea {



  font-family: "Hando", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";



  font-weight: 300;



  color: var(--c-primario-dark);



}







/* Check box de aceptar */







form .contacto input[type=checkbox] {



  width: auto;



}







form .aceptar-rgpd > p, form .btn-enviar > p {



  margin-bottom: 0;



}







form .aceptar-rgpd .wpcf7-list-item {



  margin: 0;



}







/* Letra pequeña */







form .let-peq {



  font-size: 0.8rem;



}







/* Botón de enviar */







.btn-enviar input[type=submit] {



  display: inline-block;



  max-height: 50px !important;



  



  text-transform: uppercase;



  font-family: inherit;



 



  font-size: 1rem /*16px*/ !important;







  padding: 15px 40px;



  padding-bottom: 40px !important;



  color: var(--c-blanco) !important;



  background-color: var(--c-primario-dark) !important;







  box-shadow: none;



 



  border: 1px solid transparent!important;







  overflow: hidden;



  



  z-index: 1;







  margin-bottom: 0;



  margin-top: 20px;



}







.btn-enviar input[type=submit]:hover {



  background-color: var(--c-primario-light);







 



  border: 1px solid var(--c-primario-dark)!important;







  color: var(--c-primario-dark);



}







@media screen and (max-width:768px) {



  form.contacto select {



      -webkit-appearance: textfield;



      -moz-appearance: none;



      appearance: none;



  }



  



  form.contacto select {



      padding-top: 20px;



      padding-bottom: 15px;



      min-height: 45px; 



      height: auto; 



  }



  }





  .cta {

    h2{

    font-size: 3.5em;

  }



  p {

    font-size: 23px;

  }



  } 



  .vce-faq-toggle-inner {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;



    .vce-faq-toggle-title-text {

      font-weight: inherit !important;

    }



}





@media screen and (max-width:768px) {

 .cta {

    h2{

    font-size: 1.8em;

  }



  p {

    font-size: 20px;

  }



  }

}







.vce-faq-toggle .vce-faq-toggle-text-block>:first-child {

    margin-top: 0;

    font-size: 14px;

    text-align: center;

    max-width: 70%;

    margin-inline: auto;

}





#aseguradoras, #formulario {

  scroll-margin-top: 100px;

}



