@font-face {
  font-family: 'Coolvetica';
  src: url('fonts/Coolvetica.ttf');
  font-display: swap;
}

@font-face {
  font-family: 'curiosa_testblack';
  src: url('fonts/curiosa-black.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'curiosa_testbold';
  src: url('fonts/curiosa-bold.woff2') format('woff2');
  font-display: swap;
}

.montserrat-font {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}


:root {
  /* Paleta de Colores Principal */
  --color-magenta-vivid: #ec297b;   /* Un rosa intenso / magenta */
  --color-amber-light: #faac3c;     /* Un naranja suave / ámbar */
  --color-sky-blue: #3e96d2;        /* Azul cielo brillante */
  --color-navy-deep: #134375;       /* Azul marino profundo */
  --color-gray-light: #f5f5f5;     /* Un gris claro para fondos */
  --color-white: #ffffff;           /* Blanco puro para contraste */


  /* Tipografía */

  --font-primary: 'Coolvetica', sans-serif; /* Para títulos y elementos destacados */
  --font-secondary: 'Montserrat', sans-serif; /* Para párrafos y texto general */
}

/* ================= RESET GENERAL ================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: 'Coolvetica', sans-serif;
}
.container {
  position: relative;
  z-index: 2;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-family: var(--font-secondary);
}

html, body {
    width: 100%;
    height: auto;
    margin: 0;
    overflow-x: hidden !important;
    color: var(--color-navy-deep);
    background-color: var(--color-white);
}

/* ================= ESTILOS BASE HTML Y BODY ================= */


/* Navbar general */
.navbar {
    padding: 10px 20px;
    display: flex;
    align-items: center; /* Alinea todo verticalmente */
    background-color: #FFFFFF;
}

/* Logos */
.logo-mp {
    height: 50px;
    margin-top: -10px; /* Ajusta este valor según sea necesario para alinear verticalmente con el otro logo */
}

.img-logo {
    height: 50px;
    margin-top: -10px;
}

/* Contenedor de rutas */
.nav-icons {
    display: flex;
    align-items: center; 
    gap: 15px;
    margin-left: auto; 
    font-weight: 500;
}
.nav-icons a {
    text-decoration: none;
    color: #fff;
    font-size: 0.9rem;
    display: flex;
    flex-direction: column; /* Para colocar el texto debajo del icono */
    align-items: center; /* Centra el texto debajo del icono */
    color: var(--color-navy-deep);
}

.nav-icons li {
  list-style: none;
  letter-spacing: 0.05rem;
  font-weight: 600;
}

.nav-icons img {
    height: 50px;
    display: block;
    transition: transform 0.3s ease;
}

.nav-icons img:hover {
    transform: scale(1.1);
}

/* Responsive */
@media (max-width: 991px) {
    .logo-mp, .img-logo {
        margin-top: 2.5px;
    }
    .navbar-collapse {
        width: 100%;
    }

    .nav-icons {
        flex-direction: column; /* Iconos en vertical */
        align-items: center;
        justify-content: center;
        margin-top: 15px;
        gap: 12px;
        width: 100%;
    }

    .nav-icons li {
        width: 100%;
        text-align: center;
    }

    .nav-icons img {
        height: 38px;
    }
}


@media (max-width: 576px) {
    .logo-mp, .img-logo {
        height: 40px;
    }

    .nav-icons img {
        height: 30px;
    }
}

/* Color personalizado del icono hamburguesa */
/* NAVBAR FLOTANTE */
/* BOTÓN HAMBURGUESA FLOTANTE */


.btn-floating-menu:hover {
  transform: scale(1.1);
}

.navbar-toggler {
    border-color: #ec297b;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23ec297b' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}


/*TEXTURA PRINCIPAL (ARRIBA DEL HEADER)*/

.textura {
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 999;
  pointer-events:none;
}
.textura img {
  width: 100%;
  height: 12px;
  display: block;
}

/* ================= SECCIÓN CARRUSEL CONOCE P ================= */

.conoce-p {
  width: 100%;
  padding: 15px 0;
  position: relative;
}

/* Contenedor del carrusel */
.conoce-p .carousel {
  width: 90%;
  height: 80vh;
  margin: 0 auto;
  border-radius: 45px;
  overflow: hidden;
}

/* Cada slide */
.conoce-p .carousel-cell {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 15% 70px 75px 0;
  border-radius: 45px;
}

/* Overlay degradado */
.conoce-p .gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0.2));
  z-index: 1;
}

/* Contenido arriba del gradiente */
.conoce-p .container {
  position: relative;
  z-index: 2;
}

/* TITULOS GENERALES */
.conoce-p h2 {
  font-size: 3.2rem;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 20px;
  background-color: rgba(19, 69, 117, 0.5);
  backdrop-filter: blur(6px);
  padding: 20px;
  border-radius: 20px;
  font-weight: 800;
}

/* PÁRRAFOS */
.conoce-p p {
  color: #fff;
  font-size: 1rem;
  line-height: 1.6;
  background-color: rgba(19, 69, 117, 0.5);
  backdrop-filter: blur(6px);
  padding: 20px;
  border-radius: 20px;
  font-weight: 600;
}

/* SLIDE 1 TEXTO GRANDE */
.titulo-grande {
  font-size: 60px;
  font-weight: 800 !important;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.1;
  background-color: rgba(19, 69, 117, 0.5);
  padding: 20px;
  border-radius: 20px;
}

.titulo-grande span {
  display: block;
}

.linea1 {
  font-size: 55px;
}

.linea2 {
  font-size: 50px;
  padding-left: 30px;
}

/* DESCRIPCIÓN */
.descripcion {
  font-size: 1.1rem;
  line-height: 1.6;
  padding: 30px 40px;
  border-radius: 20px;
  background-color: rgba(19, 69, 117, 0.5);
}
/**/
.slide3-text, .slide1-text {
  padding-left: 5%;
}
/* ALINEACIONES ESPECIALES */
.slide3-text h2,
.slide3-text p {
  text-align: left;
}

/* FONDOS DE SLIDES */
.slide1 { background: url(img/slide-11.webp) no-repeat center/cover; }
.slide2 { background: url(img/slide2-1.webp) no-repeat center/cover; }
.slide3 { background: url(img/slide-33.webp) no-repeat center/cover; }
.slide4 { background: url(img/slide4.webp) no-repeat center/cover; }
.slide5 { background: url(img/slide2-eco.webp) no-repeat center/cover; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .conoce-p .carousel {
    height: 70vh;
  }

  .titulo-grande {
    font-size: 32px;
    padding: 15px 20px;
  }

  .linea1 {
    font-size: 32px;
  }

  .linea2 {
    font-size: 28px;
    padding-left: 0;
  }

  .descripcion {
    font-size: 16px;
    padding: 20px;
  }

  .conoce-p h2 {
    font-size: 1.9rem;
  }

  .conoce-p p {
    font-size: 0.8rem;
  }
}

/* BOTONES FLICKITY */
.flickity-button {
  background: none;
  border: 2px solid #fff;
  color: #fff;
}

.flickity-button:hover {
  border-color: #fff;
}

/*===============================
  BIENVENIDA DE LA ALCALDEZA
==============================*/

.section-alcaldesa {
  padding: 50px 0 0 0;
  position: relative;
}

/* CARD */
.profile-card {
  background: linear-gradient(145deg, #ffffff 0%, #f8f9fb 100%);
  border-radius: 30px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  overflow: hidden; /* 👈 importante para que la imagen respete bordes */
}

/* ROW */
.profile-card .row {
  height: 100%;
}

/* COLUMNA IMAGEN */
.col-lg-5 {
  min-height: 500px; /* 👈 altura base */
}

/* IMAGEN FULL COVER */
.col-lg-5 img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 🔥 llena todo */
  display: block;
}

/* TEXTO */
.profile-info {
  padding: 50px;
}

.profile-tag {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #ec297b;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  margin-bottom: 10px;
  display: block;
}

.profile-name {
  font-family: 'Coolvetica', sans-serif !important;
  color: #134575;
  font-size: 2.8rem;
  margin-bottom: 20px;
}

.profile-text {
  font-family: 'Montserrat', sans-serif;
  color: #555;
  line-height: 1.6;
  border-left: 2px solid #ddd;
  padding-left: 20px;
}

.profile-signature {
  margin-top: 30px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #134575;
}


/*=======================================
       SECCION DESCUBRE
=========================================*/
/* TÍTULO */
.tt-sec { 
  font-family: 'Coolvetica', sans-serif;  
  font-size: 55px; 
  color: var(--color-magenta-vivid); 
  font-weight: 600;
  text-align: left;
}

.tt-sec span { 
  color: var(--color-navy-deep); 
  font-family: 'Montserrat'; 
  font-weight: 800; 
  font-size: 90px; 
}

/* TEXTO */
.text-intro { 
  font-family: 'Coolvetica', sans-serif;
  font-size: 1.9rem;
  line-height: 1.6;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-navy-deep);
  text-align: left !important; 
}


/* PALABRAS DESTACADAS */
.important_t {
  color: var(--color-sky-blue);
}

/* Imágenes */
.icono-info img {
  width: 100%;
  aspect-ratio: 4/3; /* mantiene proporción */
  object-fit: cover;
  border-radius: 25px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease;
}

/* efecto hover (opcional pero pro) */
.icono-info img:hover {
  transform: scale(1.05);
}

/*ESTILOS DEL SEPATADOR (PATTERN)*/
.pattern { 
  background: url(img/pattern.png) no-repeat; 
  max-width: 1280px; 
  height: 100px; 
  margin: auto; 
  background-position: center top;  
  position: relative; 
}

/*=========================
        SECCION MAPA
========================*/
/* Contenedor principal */
.mapa { 
  background: url(img/mapa-l.PNG) no-repeat right center;
  background-size: contain;
  max-width: 1280px; 
  margin: 0 auto; 
  position: relative;
}

/* Texto grande */
.text-intro2 { 
  font-size: 2.2rem; 
  font-weight: 700;
  line-height: 35px; 
  letter-spacing:0.1rem; 
  color: var(--color-sky-blue); 
  text-transform: uppercase; 
  font-family: 'Coolvetica', sans-serif; 
  text-align: left !important;

}

.text-intro2 p {
  font-size: 30px;
  margin: 0; 
  line-height: 1.9rem;
}

.text-intro2 span { 
  color: #e71d73;
  font-family: 'Montserrat'; 
  font-weight: 800; 
}

.mt-4{
  color: var(--color-navy-deep);
  font-family: 'Coolvetica', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 22px;
}

/* Imagen del mapa (oculta) */
.mapa-container {
  display: none;
}

.mapa-img {
  width: 100%;
  height: auto;
  display: block; 
  max-width: 500px;
  object-fit: contain;
}



/*=============================
SECCIÓN VIDEO
==============================*/
/* CONTENEDOR */
.video-wrapper {
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 45px;
}

/* VIDEO */
.video-custom { 
  width: 100%;
  display: block; /* 👈 elimina espacios raros */
  border-radius: 45px;
}

/* HOVER SUAVE */
.video-custom:hover {
  transform: scale(1.01);
}

/* SECCIÓN */
.video-section {
  padding: 60px 0;
  margin: 0;
}


/*=============================
TEXTURA 2
==============================*/
.textura2 {
  background-image: url("img/textura1.png");
  background-repeat: repeat-x; /* solo horizontal */
  background-position: center;
  background-size: contain;
  width: 100%;
  height: 50px;
  margin-top: 30px;
}

/*=============================
FOOTER
==============================*/

footer { 
  width: 100%; 
  height: auto;  
  position: relative; 
  color: #fff;
  padding: 115px 0; 
  background: url(img/foo.jpg) no-repeat top center; 
  background-size: cover; 
  text-align: left; 
  
}

footer b { 
  display: block; 
  font-weight: 600; 
  font-size: 16px; 
  margin-top: 9px; 
}

footer a { 
  color: #fff; 
  font-size: 1rem; 
  line-height: 18px !important; 
  display: block; 
  margin-bottom: 5px;  
}


footer ul { 
  padding: 0; 
  margin: 0 0 38px 0; 
}

footer ul li { 
  list-style: none; 
  font-size: 1rem; 
  margin: 0 0 15px 0; 
  padding: 0; 
  font-family: var(--font-primary);
  text-transform: uppercase;
  font-weight: 600;  
  letter-spacing: 0.1rem;
}

footer ul li a {  
  line-height: 19px; 
  text-decoration: none; 
  color: #fff; 
}

footer ul li a:hover,
.firmas a:hover { 
  color: var(--color-amber-light) !important; 
  text-decoration: none; 
}


.fa-brands{
  font-size: 1.3rem;
}

footer .img-fluid { 
  width: 100%;  
}

footer img { 
  margin-bottom: 50px;  
}

.firmas { 
  padding-top:165px; 
  font-weight: 600;
}


/*=============================
          ENOTURISMO
===============================*/

/* Sección Viñedos - Fondo General */
.vinedo { 
    background: #ffe9f3; 
}

/* Contenedor del Slide Principal de Viñedo */
.slide-v1 {
    width: 100%;
}

.slide-v1 .carousel-cel, 
.slide-v1 .carousel-cell {
  min-height: 60vh; 
  height: auto; 
}

/* Fondo de la sección slide-v */
.slide-v {
    background: url(img/vinedo-slide.jpg) no-repeat center;
    background-size: cover;
}

/* Contenedor general del carrusel */
.carousel { 
    width: 90%; 
    height: 88vh; 
    margin: 0rem auto; 
    border-radius: 45px; 
    overflow: hidden;  
}

/* Diapositivas individuales */
.carousel-cell {  
    width: 100%;  
    height: 100%; 
    position: relative; 
    padding: 40px 0 0 0 !important;  
}

.carousel.is-fullscreen .carousel-cell {  
    height: 100%; 
}

/* Carrusel específico de viñedos */
.slides-v .carousel {
    width: 100%;
    height: 600px;
    position: relative;
    z-index: 10;
    font-family: 'Coolvetica', sans-serif;
}

.bienvenida_ p{
  padding-left: 75px;
  font-size: 1.0rem;
  font-weight: 600;
}

/* Botones de navegación (Flickity) */
.flickity-button, 
.flickity-button:hover {
    position: absolute;
    background: none;
    border: none;
    color: #fff;
}

.flickity-prev-next-button {
    width: 40px;
    height: 40px;
    background: transparent !important;
}

.flickity-prev-next-button:hover {
    background: rgba(255, 255, 255, 0.2) !important;
}

/* Panel de Información Flotante */
.panel-info {
  background: rgba(22, 60, 97, 0.9);
  /*background: var(--color-navy-deep);*/
  color: var(--color-white);
  width: 80%;
  height: 500px;
  transition: all 0.5s;
  left: 10%;
  top: 87%;
  position: absolute;
  z-index: 11;
  border-radius: 35px;
  padding: 20px;
  font-family: var(--font-primary);
}

.panel-info .col-sm-4 {
  text-align: right !important;
}


/* Ajuste de posición activa/alterna */
.panel-info1 {
  top: 20%;
}

.panel-info h2 {
  font-family: var(--font-secondary);
  font-weight: 800;
  text-transform: uppercase;
  float: left;
  color: var(--color-white);
  text-shadow: 2px 2px 0px #505050;
}

.panel-info p,
.productos_v {
  font-family: var(--font-primary);
  font-size: 1.1rem;
  letter-spacing: 0.05rem;
  line-height: 1.6;
  color: var(--color-white);
  text-shadow: 1px 1px 0px #505050;
  font-weight: 600;
}

h3 {
  letter-spacing: 0.5px;
  font-family: var(--font-primary);
  font-weight: 800;
}

.panel-info div {
  margin-bottom: 10px;
}



/* Contenedor con scroll interno */
.scroll_ {
    height: 350px;
    overflow-x: auto;
}

/* Textos en Slide-V1 */
.slide-v1 .carousel-cell h2 {
    font-size: 60px;
    text-transform: uppercase;
    color: #fff;
    -webkit-text-stroke: 1.3px rgb(0, 48, 135);
}

.slide-v1 .carousel-cell h3 {
    font-size: 45px;
    text-transform: uppercase;
    color: #fff;
    -webkit-text-stroke: 1.3px rgb(0, 48, 135);
}

.slide-v1 .carousel-cell p {
    font-size: 18px;
    color: #fff;
}

/* Estilos de Vinícola Individual (Slide-vin) */
.slide-vin {
    width: 90%;
    height: 85vh;
    margin: 0 auto;
    padding: 75px 0 0 0;
    background: url(img/arte2.jpg) no-repeat center;
    background-position: center;
    border-radius: 45px;
}

.slide-vin h3, 
.slide-vin p {
    text-align: left;
    color: var(--color-white);
    text-shadow: 2px 2px 4px black;
    /* color: rgb(19, 69, 117); */
    /* background-color: rgba(255, 255, 255, 0.7); */
    padding: 10px;
}

.slide-vin h3 { font-size: 2.5rem; text-transform: uppercase; }
.slide-vin p { font-size: 20px; font-weight: 600;}

/* Botones de Icono */
.buton_ {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 40px;
    background: url(img/boton_.png) no-repeat center;
    background-size: cover;
}

.buton_ img {
    width: 40px;
    height: 40px;
}

/* Cuadros de Dirección y Contacto */
.address-viñedo, 
address {  
  margin-top: 25px;
  padding: 15px 25px 5px 25px;
  background: rgba(0, 159, 227, 0.4);
  border-radius: 15px;
  font-family: var(--font-primary);
}

.address-viñedo a,
.address-viñedo p {
    color: #ffffff;
    text-decoration: none;
    font-family: var(--font-primary);
    font-weight: 600;
    display: block;
    margin: 0;
}

.address-viñedo a:hover {
    color: var(--color-amber-light);
    text-decoration: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

.address-viñedo i {
    margin-right: 8px;
    font-size: 1.1em;
}

/* Pleca de Directorio / Filtros */
#pleca-dir {
    width: 80%;
    margin: 0px auto;
    padding: 25px 3%;
    text-align: center;
    clear: both;
}

#pleca-dir div {
  font-family: var(--font-primary);
  font-size: 1.2rem;
  font-weight: 600;
  display: inline-block;
  margin: 15px;
  padding: 5px 25px;
  color: #fff;
  background: rgba(0, 48, 135, 0.85);
  border-radius: 25px;
  cursor: pointer;
    
}

#pleca-dir div:hover {
    background: rgba(0, 163, 255, 0.8);
}

.horario-eco,
.panel-info ul li {
  font-family: var(--font-primary);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-white);
}

.bullet-v { 
  position: absolute;
  margin-top: 500px; /*CAMBIAR SI ES NECESARIO, ES LA ALTURA DE ICONO*/
  /* bottom: 20px;    */
  right: 20px;   
  width: 100px;  
  height: auto;
  z-index: 10; 
}  
.bullet { 
  width: 100px;
  float: right;
  margin-top: 300px; /*CAMBIAR SI ES NECESARIO, ES LA ALTURA DE ICONO*/
}

.principal { 
    margin: -190px 0 0 -170px; 
}

.se { 
    float: right; 
    margin-top: -270px; 
}

.carousel-cell-image { 
    display: block;  
    max-height: 100%; 
}

#tittle-h{
  text-shadow: 2px 2px 0px #505050;
}

#servicios {
  color: var(--color-magenta-vivid);
  text-shadow: 2px 2px 0px #505050;
}

#actividades {
  color: #fcc124;
  text-shadow: 2px 2px 0px #505050;
}

#eventos {
  color: #29a6fa;
  text-shadow: 2px 2px 0px #505050;
}

.fa-wine-glass-empty{
  transform: rotate(45deg);
}
/* ================= VIÑEDOS ================= */


/* ================================
   VIÑEDO – REAL DE PLATA / IMAGENES CARRUSEL
   ================================ */
.vin1a { background: url(img/viñedos/realdeplata/realdeplata1.webp) no-repeat center; background-size:cover; }
.vin1b { background: url(img/viñedos/realdeplata/realdeplata2.webp) no-repeat center; background-size:cover; }
.vin1c { background: url(img/viñedos/realdeplata/realdeplata3.webp) no-repeat center; background-size:cover; }
.vin1d { background: url(img/viñedos/realdeplata/realdeplata4.webp) no-repeat center; background-size:cover; }

/* ================================
   VIÑEDO – HACIENDA LETRAS / IMAGENES CARRUSEL
   ================================ */
.vin2a { background: url(img/viñedos/haciendaletras/letras1.webp) no-repeat center; background-size:cover; }
.vin2b { background: url(img/viñedos/haciendaletras/letras2.webp) no-repeat center; background-size:cover; }
.vin2c { background: url(img/viñedos/haciendaletras/letras3.webp) no-repeat center; background-size:cover; }
.vin2d { background: url(img/viñedos/haciendaletras/letras4.webp) no-repeat center; background-size:cover; }
.vin2e { background: url(img/viñedos/haciendaletras/letras5.webp) no-repeat center; background-size:cover; }
.vin2f { background: url(img/viñedos/haciendaletras/letras6.webp) no-repeat center; background-size:cover; }
.vin2g { background: url(img/viñedos/haciendaletras/letras7.webp) no-repeat center; background-size:cover; }

/* ================================
   VIÑEDO – ORIGEN / IMAGENES CARRUSEL
   ================================ */
.vin3a { background: url(img/viñedos/origen/origen1.webp) no-repeat center; background-size:cover; }
.vin3b { background: url(img/viñedos/origen/origen2.webp) no-repeat center; background-size:cover; }
.vin3c { background: url(img/viñedos/origen/origen3.webp) no-repeat center; background-size:cover; }
.vin3d { background: url(img/viñedos/origen/origen4.webp) no-repeat center; background-size:cover; }
.vin3e { background: url(img/viñedos/origen/origen5.webp) no-repeat center; background-size:cover; }
.vin3f { background: url(img/viñedos/origen/origen6.webp) no-repeat center; background-size:cover; }
.vin3g { background: url(img/viñedos/origen/origen7.webp) no-repeat center; background-size:cover; }

/* ================================
   VIÑEDO – SANTA ELENA / IMAGENES CARRUSEL
   ================================ */
.vin4a { background: url(img/viñedos/santaelena/elena1.webp) no-repeat center; background-size:cover; }
.vin4b { background: url(img/viñedos/santaelena/elena2.webp) no-repeat center; background-size:cover; }
.vin4c { background: url(img/viñedos/santaelena/elena3.webp) no-repeat center; background-size:cover; }
.vin4d { background: url(img/viñedos/santaelena/elena4.webp) no-repeat center; background-size:cover; }
.vin4e { background: url(img/viñedos/santaelena/elena5.webp) no-repeat center; background-size:cover; }

/* ================================
   VIÑEDO – AGUAJE /  IMAGENES CARRUSEL
   ================================ */
.vin5a { background: url(img/viñedos/aguaje/aguaje3.webp) no-repeat center; background-size:cover; }
.vin5b { background: url(img/viñedos/aguaje/aguaje2.webp) no-repeat center; background-size:cover; }
.vin5c { background: url(img/viñedos/aguaje/aguaje1.webp) no-repeat center; background-size:cover; }
.vin5d { background: url(img/viñedos/aguaje/aguaje4.webp) no-repeat center; background-size:cover; }
.vin5e { background: url(img/viñedos/aguaje/aguaje5.webp) no-repeat center; background-size:cover; }

/* ================================
   LAS CRUCES – GALERÍA / IMAGENES CARRUSEL
   ================================ */
.cruz1 { background: url(img/viñedos/lascruces/lascruces2.webp) no-repeat center; background-size:cover; }
.cruz2 { background: url(img/viñedos/lascruces/lascruces1.webp) no-repeat center; background-size:cover; }
.cruz3 { background: url(img/viñedos/lascruces/lascruces3.webp) no-repeat center; background-size:cover; }
.cruz4 { background: url(img/viñedos/lascruces/lascruces4.webp) no-repeat center; background-size:cover; }
.cruz5 { background: url(img/viñedos/lascruces/lascruces5.webp) no-repeat center; background-size:cover; }
.cruz6 { background: url(img/viñedos/lascruces/lascruces6.webp) no-repeat center; background-size:cover; }
.cruz7 { background: url(img/viñedos/lascruces/lascruces7.webp) no-repeat center; background-size:cover; }
.cruz8 { background: url(img/viñedos/lascruces/lascruces8.webp) no-repeat center; background-size:cover; }
.cruz9 { background: url(img/viñedos/lascruces/lascruces9.webp) no-repeat center; background-size:cover; }
.cruz10 { background: url(img/viñedos/lascruces/lascruces10.webp) no-repeat center; background-size:cover; }
.cruz11 { background: url(img/viñedos/lascruces/lascruces11.webp) no-repeat center; background-size:cover; }
.cruz12 { background: url(img/viñedos/lascruces/lascruces12.webp) no-repeat center; background-size:cover; }
.cruz13 { background: url(img/viñedos/lascruces/lascruces13.webp) no-repeat center; background-size:cover; }
.cruz14 { background: url(img/viñedos/lascruces/lascruces14.webp) no-repeat center; background-size:cover; }

/* ================================
   SARMIENTO – GALERÍA COMPLETA / IMAGENES CARRUSEL
   ================================ */
.vsar1  { background: url(img/viñedos/sarmiento/vsar3.webp) no-repeat center; background-size:cover; }
.vsar2  { background: url(img/viñedos/sarmiento/vsar2.webp) no-repeat center; background-size:cover; }
.vsar3  { background: url(img/viñedos/sarmiento/vsar1.webp) no-repeat center; background-size:cover; }
.vsar4  { background: url(img/viñedos/sarmiento/vsar4.webp) no-repeat center; background-size:cover; }
.vsar5  { background: url(img/viñedos/sarmiento/vsar5.webp) no-repeat center; background-size:cover; }
.vsar6  { background: url(img/viñedos/sarmiento/vsar16.webp) no-repeat center; background-size:cover; }
.vsar7  { background: url(img/viñedos/sarmiento/vsar7.webp) no-repeat center; background-size:cover; }
.vsar8  { background: url(img/viñedos/sarmiento/vsar8.webp) no-repeat center; background-size:cover; }
.vsar9  { background: url(img/viñedos/sarmiento/vsar9.webp) no-repeat center; background-size:cover; }
.vsar10 { background: url(img/viñedos/sarmiento/vsar10.webp) no-repeat center; background-size:cover; }
.vsar11 { background: url(img/viñedos/sarmiento/vsar11.webp) no-repeat center; background-size:cover; }
.vsar12 { background: url(img/viñedos/sarmiento/vsar12.webp) no-repeat center; background-size:cover; }
.vsar13 { background: url(img/viñedos/sarmiento/vsar13.webp) no-repeat center; background-size:cover; }
.vsar14 { background: url(img/viñedos/sarmiento/vsar14.webp) no-repeat center; background-size:cover; }
.vsar15 { background: url(img/viñedos/sarmiento/vsar15.webp) no-repeat center; background-size:cover; }


/*GARNACHA*/

.slide-gast{
  width: 100%;
}

.slide-g {
  background: url(img/ruta_garnacha/img-principal.webp) no-repeat center;
  background-size: cover;
  background-position: center;
  border-radius: 50px;
  overflow: hidden;
  width:90%;
  height: 85vh;
  padding: 75px 0 0 0;
  margin:0 auto;
  overflow: hidden;
}

.slide-g h3 {
  font-size:2.5rem;
  text-transform:uppercase;
  width:100% !important;
  margin:0;
  text-align: center;
  color: var(--color-white);
  text-shadow: 3px 3px 6px black;
  padding: 10px;
}

.slide-g p {
  text-align: center;
  width:100%;
  font-size:20px;
  color: var(--color-white);
  text-shadow: 3px 3px 6px black;
  padding: 10px;
}

.slide-g p{
  font-size: 1.25rem;
  padding: 15px;
  font-weight: 600;
}


.text-intro2 span { 
  color: #e71d73;
  font-family: 'Montserrat'; 
  font-weight: 800; 
  font-size:1em; 
}

.text-intro2 .bienvenida { 
  height: auto; 
  padding:190px 0; 
  max-width:1280px; 
  margin:0 auto;   
}

.bienvenida_ { 
  height: auto; 
  padding: 90px 3%;   
}

.bienvenida_ p { 
  padding-left: 75px; 
  font-size: 1.0rem;
}

.slides-g .carousel {
  width: 100%;
  height:390px !important;
  position:relative;
  z-index:10;
}

.slides-g .carousel h2 {
  font-family: var(--font-primary);
  font-weight: 900;
  color:#fff;
  font-size:32px;
  position:absolute;
  z-index:10;
  bottom:45px;
  left:25px;
  text-transform:uppercase;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 1) !important;
  -webkit-text-stroke: 1.3px rgb(227, 28, 121);
}

.slides-g .carousel .carousel-cell {
  height:350px !important;
  border-radius:50px;
  margin-right:10px;
}

.slides-g .col-sm-4 { 
  margin-bottom:50px; 
}

.slides-g .flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: 5px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.slides-g .flickity-page-dots .dot {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 3px;
  background: rgba(0,163,255, 0.75);
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.slides-g .flickity-page-dots .dot.is-selected {
  opacity: 1 !important;
}

.info-res {
  font-family: var(--font-primary);
  font-size: 1.1rem;
  font-weight: 600;
  background: rgb(227, 28, 121);
  /* background: rgba(0, 163, 255, 0.5); */
  color: #fff;
  border-radius: 35px;
  padding: 15px 10px;
  margin-top: 10px;
}

.info-res a{
  color: #fff;
  text-decoration: none;
  text-align: center;
}

.info-res a:hover{
  color:#163c61;
  cursor: pointer;
}


/* =====================================
   GALERÍA / SECCIÓN GORDITAS Y MIGADAS IME
   ===================================== */
.gymi-1 { background: url(img/ruta_garnacha/gorditas_ime/gymi-1.webp) no-repeat center; background-size:cover; }
.gymi-2 { background: url(img/ruta_garnacha/gorditas_ime/gymi-2.webp) no-repeat center; background-size:cover; }
.gymi-3 { background: url(img/ruta_garnacha/gorditas_ime/gymi-3.webp) no-repeat center; background-size:cover; }
.gymi-4 { background: url(img/ruta_garnacha/gorditas_ime/gymi-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   GALERÍA / SECCIÓN GORDITAS TOMY
   ===================================== */
.gt-1 { background: url(img/ruta_garnacha/goritas_tomy/gt-1.webp) no-repeat center; background-size:cover; }
.gt-2 { background: url(img/ruta_garnacha/goritas_tomy/gt-2.webp) no-repeat center; background-size:cover; }
.gt-3 { background: url(img/ruta_garnacha/goritas_tomy/gt-3.webp) no-repeat center; background-size:cover; }


/* =====================================
   GALERÍA / SECCIÓN LONCHERIA SERNA
   ===================================== */
.ls-1 { background: url(img/ruta_garnacha/loncheria_serna/ls-1.webp) no-repeat center; background-size:cover; }
.ls-2 { background: url(img/ruta_garnacha/loncheria_serna/ls-2.webp) no-repeat center; background-size:cover; }
.ls-3 { background: url(img/ruta_garnacha/loncheria_serna/ls-3.webp) no-repeat center; background-size:cover; }
.ls-4 { background: url(img/ruta_garnacha/loncheria_serna/ls-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   GALERÍA / SECCIÓN MARISCOS CACHE
   ===================================== */
.mc-1 { background: url(img/ruta_garnacha/mariscos_cache/mc-1.webp) no-repeat center; background-size:cover; }
.mc-2 { background: url(img/ruta_garnacha/mariscos_cache/mc-2.webp) no-repeat center; background-size:cover; }
.mc-3 { background: url(img/ruta_garnacha/mariscos_cache/mc-3.webp) no-repeat center; background-size:cover; }
.mc-4 { background: url(img/ruta_garnacha/mariscos_cache/mc-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – GORDITAS ARTURO
   ===================================== */
.rgga-1 { background: url(img/ruta_garnacha/gorditas_arturo/ga-1.webp) no-repeat center; background-size:cover; }
.rgga-2 { background: url(img/ruta_garnacha/gorditas_arturo/ga-2.webp) no-repeat center; background-size:cover; }
.rgga-3 { background: url(img/ruta_garnacha/gorditas_arturo/ga-3.webp) no-repeat center; background-size:cover; }
.rgga-4 { background: url(img/ruta_garnacha/gorditas_arturo/ga-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – ANTOJITOS CRISTY
   ===================================== */
.rgac-1 { background: url(img/ruta_garnacha/antojitos_cristy/rgac-1.webp) no-repeat center; background-size:cover; }
.rgac-2 { background: url(img/ruta_garnacha/antojitos_cristy/rgac-2.webp) no-repeat center; background-size:cover; }
.rgac-3 { background: url(img/ruta_garnacha/antojitos_cristy/rgac-3.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – CENADURÍA LILI
   ===================================== */
.rg-cl-1 { background: url(img/ruta_garnacha/cenaduria_lili/rgcl-1.webp) no-repeat center; background-size:cover; }
.rg-cl-2 { background: url(img/ruta_garnacha/cenaduria_lili/rgcl-2.webp) no-repeat center; background-size:cover; }
.rg-cl-3 { background: url(img/ruta_garnacha/cenaduria_lili/rgcl-3.webp) no-repeat center; background-size:cover; }
.rg-cl-4 { background: url(img/ruta_garnacha/cenaduria_lili/rgcl-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – CENADURÍA HORTENCIA
   ===================================== */
.rg-gh-1 { background: url(img/ruta_garnacha/cenaduria_hortencia/rg-gh-1.webp) no-repeat center; background-size:cover; }
.rg-gh-2 { background: url(img/ruta_garnacha/cenaduria_hortencia/rg-gh-2.webp) no-repeat center; background-size:cover; }
.rg-gh-3 { background: url(img/ruta_garnacha/cenaduria_hortencia/rg-gh-3.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – GORDITAS MEÑA
   ===================================== */
.rg-gm-1 { background: url(img/ruta_garnacha/gorditas_meña/rg-gm-1.webp) no-repeat center; background-size:cover; }
.rg-gm-2 { background: url(img/ruta_garnacha/gorditas_meña/rg-gm-2.webp) no-repeat center; background-size:cover; }
.rg-gm-3 { background: url(img/ruta_garnacha/gorditas_meña/rg-gm-3.webp) no-repeat center; background-size:cover; }
.rg-gm-4 { background: url(img/ruta_garnacha/gorditas_meña/rg-gm-4.webp) no-repeat center; background-size:cover; }


/* =====================================
   RUTA GASTRONÓMICA – TAQUERIA YATZIL
   ===================================== */
.rg-ty-1 { background: url(img/ruta_garnacha/taqueria_yatzil/rg-ty-1.webp) no-repeat center; background-size:cover; }

/* =====================================
   RUTA GASTRONÓMICA – LAS CARMELINAS
   ===================================== */
.rg-lc-1 { background: url(img/ruta_garnacha/las_carmelinas/res-s1b.webp) no-repeat center; background-size:cover; }
.rg-lc-2 { background: url(img/ruta_garnacha/las_carmelinas/res-s2c.webp) no-repeat center; background-size:cover; }

/* =====================================
   RUTA GASTRONÓMICA – RESTAURANTE PELICANOS
   ===================================== */
.rg-rp-1 { background: url(img/ruta_garnacha/restaurante_pelicanos/peli1.webp) no-repeat center; background-size:cover; }
.rg-rp-2 { background: url(img/ruta_garnacha/restaurante_pelicanos/peli2.webp) no-repeat center; background-size:cover; }

/* =====================================
   RUTA GASTRONÓMICA – CASA NACHO
   ===================================== */
.rg-nc-1 { background: url(img/ruta_garnacha/casa_nacho/cdn1.webp) no-repeat center; background-size:cover; }
.rg-nc-2 { background: url(img/ruta_garnacha/casa_nacho/cdn2.webp) no-repeat center; background-size:cover; }
.rg-nc-3 { background: url(img/ruta_garnacha/casa_nacho/cdn3.webp) no-repeat center; background-size:cover; }

/* =====================================
   RUTA GASTRONÓMICA – RESTAURANTE CUQUITA
   ===================================== */
.rg-rc-1 { background: url(img/ruta_garnacha/restaurante_cuquita/cu1.webp) no-repeat center; background-size:cover; }
.rg-rc-2 { background: url(img/ruta_garnacha/restaurante_cuquita/cu2.webp) no-repeat center; background-size:cover; }
.rg-rc-3 { background: url(img/ruta_garnacha/restaurante_cuquita/cu3.webp) no-repeat center; background-size:cover; }


/* =====================================

   ECOTURISMO Y TURISMO DE AVENTURA

   ===================================== */

/* SLIDE ECOTURISMO – ALTURA Y TEXTO*/
.slide-eco{
  width: 100%;
}

/* SLIDE ECO / IMAGEN DE FONDO */
.eco {
    background: url(img/eco/yuca/yuca7.webp) no-repeat center;
    overflow: hidden !important;
    background-size:cover;
    border-radius:45px;
    width:90%;
    height: 85vh;
    margin:0 auto;
}

/* Título sección eco */
.eco h3 {
    font-size:2.5rem;
    text-transform:uppercase;
    text-align: center;
    width:100% !important;
    margin:0;
    /*color:#fff;*/
    /*-webkit-text-stroke: 1.3px rgb(0, 163, 255);*/
    color: var(--color-white);
    text-shadow: 2px 2px 4px black;
}

/* Texto sección eco */
.eco p {
    text-align: center;
    color: var(--color-white);
    text-shadow: 2px 2px 4px black;
    width:100%;
    font-size:18px;
    font-weight: 600;
}

/* ================================
   CARRUSELES POR SECCIÓN
   ================================ */
.slides-e .carousel {
    width: 100%;
    height:600px;
    position:relative;
    z-index:10;
}

.slides-e { width: 100% }

/* FONDO VERDE / SECCIÓN GENERAL */
.verde-bg { 
  /*background:#3e96d2;*/
  background: rgb(22, 60, 97, 0.9);
 }

/* Enlaces dentro de address cuando está en fondo verde */
.verde-bg address a {
  color: #ffff;
  /*color:rgb(19, 69, 117);*/
  /*color:rgba(0,48,135,0.9);*/
  text-decoration:none;
  font-family: var(--font-primary);
  font-weight: 600;
}

/* Hover de enlaces dentro de address */
.verde-bg address a:hover {
  color: #fcc124;
}


/*Galeria de ecoturismo*/
/* SPA TONALLI */
.tonalli1 { background: url(img/eco/tonalliSpa/tonalli1.webp) no-repeat center; background-size:cover; }
.tonalli2 { background: url(img/eco/tonalliSpa/tonalli2.webp) no-repeat center; background-size:cover; }
.tonalli4 { background: url(img/eco/tonalliSpa/tonalli4.webp) no-repeat center; background-size:cover; }
.tonalli5 { background: url(img/eco/tonalliSpa/tonalli5.webp) no-repeat center; background-size:cover; }
.tonalli6 { background: url(img/eco/tonalliSpa/tonalli6.webp) no-repeat center; background-size:cover; }
.tonalli7 { background: url(img/eco/tonalliSpa/tonalli7.webp) no-repeat center; background-size:cover; }
.tonalli8 { background: url(img/eco/tonalliSpa/tonalli8.webp) no-repeat center; background-size:cover; }

/* SPA VITA */
.vita1 { background: url(img/eco/vitaspa/vita1.png) no-repeat center; background-size:cover; }

/* ECO YUCA */
.yuca1 { background: url(img/eco/yuca/yuca1.webp) no-repeat center; background-size:cover; }
.yuca2 { background: url(img/eco/yuca/yuca2.webp) no-repeat center; background-size:cover; }
.yuca3 { background: url(img/eco/yuca/yuca3.webp) no-repeat center; background-size:cover; }
.yuca4 { background: url(img/eco/yuca/yuca4.webp) no-repeat center; background-size:cover; }
.yuca5 { background: url(img/eco/yuca/yuca5.webp) no-repeat center; background-size:cover; }
.yuca6 { background: url(img/eco/yuca/yuca6.webp) no-repeat center; background-size:cover; }
.yuca7 { background: url(img/eco/yuca/yuca7.webp) no-repeat center; background-size:cover; }

/* LUNARIA */
.luna1 { background: url(img/eco/luna/luna1.webp) no-repeat center; background-size:cover; }
.luna2 { background: url(img/eco/luna/luna2.webp) no-repeat center; background-size:cover; }
.luna3 { background: url(img/eco/luna/luna3.webp) no-repeat center; background-size:cover; }

/* RIDVAN */
.rid0 { background: url(img/eco/ridvan/rid0.webp) no-repeat center; background-size:cover; }
.rid1 { background: url(img/eco/ridvan/rid1.webp) no-repeat center; background-size:cover; }
.rid2 { background: url(img/eco/ridvan/rid2.webp) no-repeat center; background-size:cover; }
.rid3 { background: url(img/eco/ridvan/rid3.webp) no-repeat center; background-size:cover; }
.rid4 { background: url(img/eco/ridvan/rid4.webp) no-repeat center; background-size:cover; }
.rid5 { background: url(img/eco/ridvan/rid5.webp) no-repeat center; background-size:cover; }
.rid6 { background: url(img/eco/ridvan/rid6.webp) no-repeat center; background-size:cover; }

/* CASA BAMBU */
.bam1 { background: url(img/eco/casabambu/cb1.webp) no-repeat center; background-size:cover; }
.bam2 { background: url(img/eco/casabambu/cb2.webp) no-repeat center; background-size:cover; }
.bam3 { background: url(img/eco/casabambu/cb3.webp) no-repeat center; background-size:cover; }
.bam4 { background: url(img/eco/casabambu/cb4.webp) no-repeat center; background-size:cover; }
.bam5 { background: url(img/eco/casabambu/cb5.webp) no-repeat center; background-size:cover; }

/* RANCHO UBUNTU */
.ubu1 { background: url(img/eco/ubuntu/ubu1.webp) no-repeat center; background-size:cover; }
.ubu2 { background: url(img/eco/ubuntu/ubu2.webp) no-repeat center; background-size:cover; }
.ubu3 { background: url(img/eco/ubuntu/ubu3.webp) no-repeat center; background-size:cover; }
.ubu4 { background: url(img/eco/ubuntu/ubu4.webp) no-repeat center; background-size:cover; }

/* HACIENDA GARABATO */
.gara1 { background: url(img/eco/garabato/gara1.webp) no-repeat center; background-size:cover; }
.gara2 { background: url(img/eco/garabato/gara2.webp) no-repeat center; background-size:cover; }
.gara3 { background: url(img/eco/garabato/gara3.webp) no-repeat center; background-size:cover; }
.gara4 { background: url(img/eco/garabato/gara4.webp) no-repeat center; background-size:cover; }

/* HOTEL DEL CARMEN */
.carm1 { background: url(img/eco/hotelcarmen/hdc1.webp) no-repeat center; background-size:cover; }
.carm2 { background: url(img/eco/hotelcarmen/hdc2.webp) no-repeat center; background-size:cover; }
.carm3 { background: url(img/eco/hotelcarmen/hdc3.webp) no-repeat center; background-size:cover; }
.carm4 { background: url(img/eco/hotelcarmen/hdc4.webp) no-repeat center; background-size:cover; }
.carm5 { background: url(img/eco/hotelcarmen/hdc5.webp) no-repeat center; background-size:cover; }
.carm6 { background: url(img/eco/hotelcarmen/hdc6.webp) no-repeat center; background-size:cover; }

/* CASA ENCANTO */
.casaE1 { background: url(img/eco/casaencanto/casae1.webp) no-repeat center; background-size:cover; }
.casaE2 { background: url(img/eco/casaencanto/casae2.webp) no-repeat center; background-size:cover; }
.casaE3 { background: url(img/eco/casaencanto/casae3.webp) no-repeat center; background-size:cover; }
.casaE4 { background: url(img/eco/casaencanto/casae4.webp) no-repeat center; background-size:cover; }
.casaE5 { background: url(img/eco/casaencanto/casae5.webp) no-repeat center; background-size:cover; }

/*PRESA DEL JOCOQUI*/
.presaj1 { background: url(img/eco/jocoqui/pjocoqui4.webp) no-repeat center; background-size:cover; }
.presaj2 { background: url(img/eco/jocoqui/pjocoqui2.webp) no-repeat center; background-size:cover; }
.presaj3 { background: url(img/eco/jocoqui/pjocoqui3.webp) no-repeat center; background-size:cover; }
.presaj4 { background: url(img/eco/jocoqui/pjocoqui1.webp) no-repeat center; background-size:cover; }
.presaj5 { background: url(img/eco/jocoqui/pjocoqui5.webp) no-repeat center; background-size:cover; }


/* =====================================

   HOLISTICA

   ===================================== */


/* HERO */
.holistica-bg {
  background: url(img/eco/tonalliSpa/tonalli6.webp) no-repeat center;
  background-size: cover;
  border-radius: 50px;
  width: 90%;
  height: 85vh;
  margin: 0 auto;
  padding: 75px 0 0 0;
}

.slide-ho h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  width: 100% !important;
  margin: 0;
  text-align: center;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
}

.slide-ho p {
  font-weight: 600;
  text-align: center;
  width: 100%;
  font-size: 20px;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
}


/* ========================= */
/* INTRO (SANA) */
/* ========================= */

.txt-intro2-h, .txt-intro2 {
  padding: 80px 0; /* aire vertical premium */
}

.txt-intro2-h .row {
  align-items: center; /* centra verticalmente */
}

/* Columna izquierda (texto) */
.bienvenida_ {
  padding-right: 30px;
}

/* Columna derecha (imagen) */
.txt-intro2 .col-sm-6 {
  padding-left: 40px; /* separa imagen del texto */
}

/* Imagen */
.img-sana {
  max-width: 80%;
  height: auto;
  border-radius: 60px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.12);
  display: block;
  margin: 0 auto;
  transform: translateX(10px); /* efecto flotante sutil */
}

/* ========================= */
/* FOTOGRAFICA */
/* ========================= */



.foto-bg{
  background:url(img/fotografica/presa.webp) no-repeat center;
  background-size:cover;
  border-radius:50px;
  width:90%;
  height: 85vh;
  margin:0 auto;
  padding:80px 0;
}

.slide-foto h3{
  font-size: 2.5rem;
  text-transform: uppercase;
  text-align: center;
  width: 100% !important;
  
  margin: 0;
  /* color: #fff; */
  /* -webkit-text-stroke: 1.3px rgb(0, 163, 255); */
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
}

.slide-foto p{
  text-align: center;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  padding-top: 100px;
  font-size: 1.1rem;
  font-weight: 600;
}

.img-fotografica{
  max-width: 80%;
  height: 70%;
  border-radius: 60px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
  display: block;
  margin: 0 auto;
  transform: translateX(10px);
}

.card-foto{
  background:#fff;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
  transition:.3s;
}

.card-foto:hover{
  transform:translateY(-10px);
}

.img-card{
  height:220px;
  background-size:cover;
  background-position:center;
}

.foto1{background:url(img/fotografica/mariposa.webp) center/cover;}
.foto2{background:url(img/fotografica/danza.webp) center/cover;}
.foto3{background:url(img/fotografica/reina.webp) center/cover;}

.info-card{
  padding:20px;
}

.btn-foto{
  display:inline-block;
  margin-top:10px;
  padding:8px 20px;
  background:#ec297b;
  color:#fff;
  border-radius:20px;
  text-decoration:none;
  font-weight: 600;
  letter-spacing: 0.05rem;
}

.base-box{
  background:#f5f5f5;
  padding:20px;
  border-radius:20px;
  text-align:center;
  font-weight:600;
  margin-bottom: 20px;
}

.text-intro2-foto{
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: 0.1rem;
  color: var(--color-sky-blue);
  text-transform: uppercase;
  font-family: 'Coolvetica', sans-serif;
  text-align: left !important;
  padding: 80px 0 0 0;
}


/* ========================= */
/* HACIENDAS */
/* ========================= */

.slide-haciendas {
    width: 100%;
}
/* HERO */
.slide-h{
  background: url(img/haciendas/h-letras/h-letras11.webp) no-repeat center;
  overflow: hidden !important;
  background-size: cover;
  border-radius: 45px;
  width: 90%;
  height: 85vh;
  margin: 0 auto;
}

.slide-h h3 {
  font-size: 2.5rem;
  text-align: left;
  text-transform: uppercase;
  width: 100% !important;
  margin: 0;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
}

.slide-h p {
  text-align: left;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 600;
}


/* GRID */
.container-h{
  width:90%;
  max-width:1200px;
  margin:50px auto;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

/* CARD */
.hacienda-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
  transition:.3s;
}

.hacienda-card:hover{
  transform:translateY(-10px);
}

.hacienda-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.contenido{
  padding:20px;
}

.contenido h3{
  margin-top:0;
}

.btn-ver{
  background: var(--color-amber-light);
  color:#fff;
  font-weight: 600;
  padding:10px 20px;
  border:none;
  border-radius:30px;
  cursor:pointer;
  margin-top:10px;
}

/* MODAL */
.modal{
  display:none;
  position:fixed;
  z-index:999;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.7);
}

.modal-content{
  background:rgba(19, 67, 117,0.8);
  margin:5% auto;
  padding:30px;
  width:90%;
  max-width:700px;
  border-radius:20px;
}

.close{
  float:right;
  font-size:25px;
  cursor:pointer;
}

.haciendas-h,
.haciendas-h h2{
  font-family: var(--font-primary);
  font-weight: 600;
  letter-spacing: 0.5px;
  /* text-shadow: #000 1px 1px 2px; */
}

.address-haciendas{
  background: rgba(62, 150, 210, 0.7);
  letter-spacing: 0.5px;
}
.hdas{
  font-size: 1rem;
}

/*==========================*/
/*BARRIOS MAGICOS*/
/*===========================*/
.slide-barrios {
    width: 100%;
}
/* HERO */
.slide-b{
  background: url(img/barrios/palo-alto/palo-alto1.jpg) no-repeat center;
  overflow: hidden !important;
  background-size: cover;
  border-radius: 45px;
  width: 90%;
  height: 85vh;
  margin: 0 auto;
}

.slide-b h3 {
  font-size: 2.5rem;
  text-align: left;
  text-transform: uppercase;
  width: 100% !important;
  margin: 0;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
}

.slide-b p {
  text-align: left;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 600;
}



/* ========================= */
/* RELIGIOSA */
/* ========================= */
.slide-religiosa {
    width: 100%;
}
/* HERO */
.slide-r{
  background: url(img/religiosa/Sagrado-Corazon/sagrado-c.webp) no-repeat center;
  overflow: hidden !important;
  background-size: cover;
  border-radius: 45px;
  width: 90%;
  height: 85vh;
  margin: 0 auto;
}

.slide-r h3 {
  font-size: 2.5rem;
  text-align: left;
  text-transform: uppercase;
  width: 100% !important;
  margin: 0;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  color: var(--color-white);
}

.slide-r p {
  color: var(--color-white);
  text-align: left;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 600;
}

/* GRID */
.container-r{
  width:90%;
  max-width:1200px;
  margin:60px auto;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}

/* CARD */
.container-r .card{
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(10px);
  border-radius:20px;
  overflow:hidden;
  transition:.4s;
  cursor:pointer;
}

.container-r .card:hover{
  transform:translateY(-10px) scale(1.02);
}

.container-r .card img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.card-content{
  padding:20px;
}

.container-r .card h3{
  margin:0;
  color: var(--color-navy-deep);
}

.container-r .card p{
  color: var(--color-navy-deep);
  font-size:1rem;
  opacity:.9;
}

.container-r .btn-explorar{
  display:inline-block;
  margin-top:10px;
  padding:10px 20px;
  background:var(--color-magenta-vivid);
  border-radius:30px;
  color:var(--color-white);
  font-weight:bold;
}

/* MODAL */
.modal{
  display:none;
  position:fixed;
  top:0; left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.8);
  z-index:1000;
  color: var(--color-white);
}



@keyframes fade{
  from{opacity:0; transform:translateY(30px);}
  to{opacity:1; transform:translateY(0);}
}

.close{
  float:right;
  font-size:25px;
  cursor:pointer;
}

/* GALERIA */
.gallery{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
  margin:15px 0;
}

.gallery img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:12px;
  cursor:pointer;
  transition:.3s;
}

.gallery img:hover{
  transform:scale(1.05);
}

/* TIMELINE */
.timeline{
  border-left:2px solid var(--color-magenta-vivid);
  margin-top:20px;
  padding-left:15px;
}

.timeline div{
  margin-bottom:10px;
}

/* BOTON MAPA */
.map-btn{
  margin-top:15px;
  display:inline-block;
  padding:10px 20px;
  background:var(--color-magenta-vivid);
  border-radius:30px;
  color: var(--color-gray-light);
  font-weight:bold;
  text-decoration: none;
}

.lightbox{
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  background:rgba(0,0,0,0.95);
  justify-content:center;
  align-items:center;
  z-index:9999;
}

.lightbox img{
  max-width:90%;
  max-height:90%;
  border-radius:20px;
}

/* ========================= */
/* CENTRO CULTURAL */
/* ========================= */

.slide-cultural {
    width: 100%;
}
/* HERO */
.slide-c-c{
  background: url(img/c-cultural/DJI_0206.jpg) no-repeat center;
  overflow: hidden !important;
  background-size: cover;
  border-radius: 45px;
  width: 90%;
  height: 85vh;
  margin: 0 auto;
}

.slide-c-c h3 {
  font-size: 2.5rem;
  text-align: left;
  text-transform: uppercase;
  width: 100% !important;
  margin: 0;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  color: var(--color-white);
  background-color: rgba(0, 0, 0, 0.4);
  padding: 10px;
  border-radius: 20px;
}

.slide-c-c p {
  color: var(--color-white);
  text-align: left;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 600;
  background-color: rgba(0, 0, 0, 0.4);
  padding: 10px;
  border-radius: 20px;
}

/* 1. Contenedor principal: define la perspectiva 3D */
.flip-card-container {
    background-color: transparent;
    height: 320px; /* Ajusta la altura según necesites */
    perspective: 1000px; /* Esencial para el efecto 3D */
    font-family: 'Montserrat', sans-serif;
}

/* 2. El elemento que gira */
.flip-card {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s; /* Suavidad del giro */
    transform-style: preserve-3d; /* Mantiene los hijos en 3D */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 15px;
}

/* 3. Acción de giro al pasar el mouse */
.flip-card-container:hover .flip-card {
    transform: rotateY(180deg);
}

/* 4. Estilos comunes para frente y reverso */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Oculta el reverso cuando no está girado */
    backface-visibility: hidden;
    border-radius: 15px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #eee;
}

/* 5. Estilos del Frente */
.flip-card-front {
    background-color: var(--color-white);
    color: var(--color-navy-deep);
}

.flip-card-front i {
    font-size: 3.5rem;
    color: var(--color-sky-blue);
    margin-bottom: 20px;
}

.flip-card-front h3 {
    font-family: 'Coolvetica', sans-serif;
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.flip-card-front p {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 20px;
}

/* Indicador visual de "ver historia" */
.vete-al-reverso {
    font-size: 0.8rem;
    color: var(--color-magenta-vivid);
    font-weight: bold;
    text-transform: uppercase;
}

/* 6. Estilos del Reverso */
.flip-card-back {
    background-color: var(--color-navy-deep); /* Usamos el azul marino de fondo */
    color: var(--color-white);
    transform: rotateY(180deg); /* El reverso ya empieza girado */
    justify-content: flex-start; /* Alinea el texto arriba */
    padding-top: 30px;
}

.flip-card-back h3 {
    font-family: 'Coolvetica', sans-serif;
    font-size: 1.3rem;
    color: var(--color-magenta-vivid); /* Título en magenta */
    margin-bottom: 20px;
    border-bottom: 1px solid var(--color-magenta-vivid);
    padding-bottom: 10px;
    width: 80%;
}

/* Lista de información histórica */
.info-cultural {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    width: 90%;
}

.info-cultural li {
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
}

.info-cultural li i {
    color: var(--color-sky-blue); /* Iconos de check en azul cielo */
    margin-right: 10px;
    margin-top: 3px;
    font-size: 0.7rem;
}
/*===================*/
/*ENLACE*/
/*===================*/
/* HERO */
.slide-enlace {
    width: 100%;
}
.foto-enlace{
  background:url(img/enlace/Tepezala/Observatorio/Observatorio1.webp) no-repeat center;
  background-size:cover;
  border-radius:50px;
  width:90%;
  height: 85vh;
  margin:0 auto;
  padding:80px 0;
}

.slide-enlace h3{
  color: var(--color-white);
  font-size: 2.5rem;
  text-transform: uppercase;
  text-align: left;
  width: 100% !important;
  margin: 0;
  text-shadow: 2px 2px 4px black;
}

.slide-enlace p{
  text-align: left;
  color: var(--color-white);
  text-shadow: 2px 2px 4px black;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 600;
}




#rutas{
  margin-top: 50px;
}

/* TABS */
.nav-tabs .nav-link {
  border: none;
  color: var(--color-navy-deep);
  font-size: 1.1rem;
  font-weight: 700;
}

.nav-tabs .nav-link.active {
  color: var(--color-magenta-vivid);
  border-bottom: 3px solid var(--color-sky-blue);
}

/* COLUMNAS */
.row.g-4 > div {
  display: flex;
}

/* CARDS */
.card-ruta {
  border: none;
  border-radius: 20px;
  transition: 0.3s;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  overflow: hidden;
  width: 100%;
  padding: 15px;
}

.card-ruta:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.card-ruta h5{
  color: var(--color-navy-deep);
  font-weight: 600;
} 

.card-ruta p,
.card-ruta ul li{
  font-family: var(--font-secondary);
  color: var(--color-navy-deep);
  font-weight: 500;
  opacity: 0.9;
}
.card-ruta a{
  font-family: var(--font-secondary);
  color: var(--color-navy-deep);
  font-weight: 500;
  text-decoration: none;
}

.card-ruta a:hover{
  color: var(--color-navy-deep);
  font-weight: 800;
  letter-spacing: 0.05rem;
}



/* CARRUSEL */
#carouselTuneles, 
#carouselTepozan, 
#carouselGuadalupe, 
#carouselAntonio, 
#carouselAltamira, 
#carouselObservatorio {
  width: 90%;
  height: auto;
  margin: 0rem auto;
  border-radius: 45px;
  overflow: hidden;
}
.card-ruta .carousel-enlace {
  margin-bottom: 15px;
}

.card-ruta .carousel-inner {
  border-radius: 15px;
  overflow: hidden;
}

.card-ruta .carousel-item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.card-ruta .carousel-control-prev,
.card-ruta .carousel-control-next {
  width: 12%;
}

.card-ruta .carousel-control-prev-icon,
.card-ruta .carousel-control-next-icon {
  background-color: rgba(0,0,0,0.45);
  border-radius: 50%;
  padding: 12px;
}

/* TITULOS */
.section-title {
  font-weight: 700;
  margin-bottom: 10px;
}

.section-sub {
  color: var(--color-navy-deep);
  opacity: 0.8;
  margin-bottom: 30px;
}

/* BADGES */
.badge-custom {
  background: #000;
  color: #fff;
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 12px;
}

/* BOTONES */
.btn-ruta {
  border-radius: 25px;
  padding: 8px 20px;
  font-weight: 600;
}