/*

 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=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap');
:root {

    --c-negro: #000;
    --c-blanco: #FFFFFF;

    --c-primario: #0D0D0D;
    --c-primario-light: #373737;

    --c-secundario: #6B705C;
    --c-secundario-light: #A5A58D;

    --c-grisclaro: #EFEFEF;
    --c-gris: #f9f9f9;

    --font-main: 'Newsreader', serif;
    --font-cuerpo: 'DM Sans', sans-serif;

}


/* OUTLINE */

*:focus { 
  outline: 0px solid orange;
 }

 html {
  scroll-behavior: smooth;
}

::selection {
  background-color: #c6ad8436; 
  color: inherit; 
}
.zindex0 {
  color: var(--c-negro);
}

.zindex1 {
  z-index:1;
}

/* ESTILOS COMUNES */


body {
  font-family: var(--font-cuerpo);
  color: var(--c-blanco);
  font-size: 1.125rem;
  line-height: 1.6875rem;
  font-weight: 300;
}

h1, h2, h3 {
  font-family: var(--font-main), serif;
  font-weight: 300;

  color: var(--c-blanco);
}

h1 {
  font-size: clamp(32px, 5vw, 65px);
  line-height: 01em;

}

.subtit-home {
  font-family: var(--font-cuerpo);
  text-transform: uppercase;
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.175em;
  line-height: 1.2em;
  text-wrap: balance;
  white-space: nowrap;
}

h2 {

  font-size: clamp(26px, 4vw, 50px);
}

h3 {

  font-size: clamp(26px, 4vw, 45px);
}

.text-dark {
  color: var(--c-primario);
}

.alinear-centro {
  text-align: center;
}

.sombra-bloques>.vce-col-inner {
  box-shadow: 0 20px 30px 0 rgba(255, 255, 255, 0.1);
}

.cita {
  font-family: var(--font-main), serif;
  font-weight: 300;

  color: var(--c-blanco);
  font-size: clamp(26px, 4vw, 45px);
  line-height: 1.2em;
  text-wrap: balance;
}

.cita-pe {
  color: #6F1D1B;
  font-family: var(--font-main), serif;
  font-weight: 300;
  font-size: 30px;
  line-height: 1.2em;
  font-style: italic;
  text-wrap: balance;
}

.cita-pe.blanca {
   color: var(--c-blanco);
}

.numero {
  font-family: var(--font-main), serif;
  font-weight: 300;
  color: #6f1d1b;
  font-size: clamp(26px, 4vw, 60px);
  margin-top: 20px;
  margin-bottom: 30px;


}

p.text-dark.precio {
    display: inline-block;
    padding-right: 30px;
    text-transform: uppercase;
    font-size: 15px;
}

/* 
Subtitulo con línea

Ejemplo de uso: 

<span class="subtitulo-decorativo">Esto e sun título</span>

*/

.subtitulo-decorativo {
  font-family: var(--font-main);
  font-size: 20px;
  font-style: italic;
  font-weight: 400;
  position: relative;
  display: inline-block;
}

.subtitulo-decorativo::after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + 15px);
  transform: translateY(-50%);
  width: 150px;
  height: 1px;
  background: var(--c-blanco); /* valor por defecto */
}

/* Línea blanca */
.subtitulo-decorativo.line-white::after {
  background: var(--c-blanco);
}

/* Línea negra */
.subtitulo-decorativo.line-black::after {
  background: var(--c-primario);
}

@media (max-width:500px) {

  .subtitulo-decorativo::after {
    display: none;
  }
}

/* ENLACES */

a {
  opacity: 1;
  text-decoration: none;
  transition: all 0.4s ease !important;
  color: inherit !important;
}

a:hover {
  opacity: 0.8;
  
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: var(--c-primario);
  font-weight: 700;
}

/* Animación de enlaces destacados con linea por debajo */
.a-destacado {
  display: inline-block;
  position: relative;
}

.a-destacado::after {
    content: "";
    position: absolute;
    width: 0px;
    background-color: var(--c-blanco);
    height: 6%;
    transform-origin: left bottom;
    bottom: -8px;
    left: 0;
    transition: all 0.5s ease-in-out;
}

.a-destacado:hover::after {
    width: 100%;
}

/* MARGEN PANTALLAS PANORÁMICAS */

@media (min-width: 1800px) {
  .entry-content > .vce-row-container > .vce-row:not(.full-width)  {
    padding-inline: 25% !important;
  }

  
  .textwidget.custom-html-widget  {
    padding-inline: 10% !important;
  }

   .entry-content > .vce-row-container > .vce-row.izquierda  {
    padding-left: 25% !important;
    padding-right: 0px !important;
  }

   .entry-content > .vce-row-container > .vce-row.derecha  {
    padding-right: 25% !important;
    padding-left: 0px !important;
  }

}


@media (min-width: 1800px) {
 
}

.mayuscula {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 15px;

}


ul.lista-especial {
  list-style: none;
  padding-left: 0;
  margin: 0;
  padding-top: 20px;

  
}

.lista-especial li {
    display: inline-block;
    position: relative;
    padding-block: 10px;
    text-transform: uppercase;
}

.lista-especial li:not(:last-child) {
  
    border-bottom: 1px solid #bfbfadc7;

}






.clickable {
  .vce-asset-background-simple-item.vcv-lozad {
  transition: transform 0.5s ease-in-out;
  transform: scale(1);
}
}

.clickable:hover {
  .vce-asset-background-simple-item.vcv-lozad {
  transform: scale(1.05);
}
}



.vce-faq-toggle-title-text {
    position: relative;
    font-size: 15px;
}

.txt-legal {
    font-size: 15px;
}

.text-dos-lineas {

  line-height: 1.1; 

  height: calc(2 * 1.1em);

  display: block;
  overflow: hidden; 
}


.incluye {
  --incluye-bg: #e0e0db71;       



  --incluye-padL: 36px;    
  --incluye-dot: #ffffff;     
  
}


.incluye .vce-col-content {
  position: relative;
  background: var(--incluye-bg);

  height: 100%;
  box-sizing: border-box;
}

.incluye .vce-col-content::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    top: 30px;
    left: 30px;
    margin-bottom: 20px;
    background: #c8c7b9;
    border-radius: 0%;
}

.incluye.dark .vce-col-content::before {
  background: #686864;

}
.incluye p {

  margin-top: 10PX;
}

/* Asegura alineación a la izquierda y compacidad del texto */
.incluye .vce-text-block p,
.incluye .vce-col-content p,
.incluye .vce-col-content .vce-text-block-wrapper {
  margin: 0;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 20px;
}

/* Si necesitas algo de separación vertical entre elementos apilados en móvil */
@media (max-width: 768px) {
  .incluye .vce-col {
    margin-bottom: 12px;
  }

  .subtit-home {
  white-space: normal;
}

}

/**/

/* Para navegadores basados en WebKit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
  cursor: pointer;
  width: 10px; 
}

/* Fondo de la barra de desplazamiento */
::-webkit-scrollbar-track {
  background: var(--c-gris); 
  cursor: pointer;
}

/* Color de la barra en sí */
::-webkit-scrollbar-thumb {
  background: #a5a58d98; 
  transition: all 0.5s ease-in;
  cursor: pointer;
}

/* Cuando el usuario pasa el cursor sobre la barra */
::-webkit-scrollbar-thumb:hover {
  background: var(--c-secundario); 
  transition: all 0.3s ease-in;
}


table, td, th {
    border: 1px solid rgba(255, 255, 255, .7) !important;
}

