/*
    Theme Name: Legados-child
    Theme URI: 
    Author: Oscar Fernado Bastidas Benavides
    Author URI: http://twitter.com/codigoconjuan
    Description: Theme Diseñado la marca de cafe Legados
    Version: 1.0
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: Cafe, Tienda, flexbox, css grid, mobile first
    Text Domain: legados
*/
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');

:root {
  --fuente-inter: "Inter", sans-serif;
  --fuente-principal: "Poppins", sans-serif;
  --fuente-headings: "Staatliches", sans-serif;

  /**colores**/
    --crema-oscura:#cab5a2;
    --crema:#F2D9C3;
    --primario: #ff5b00;
    --gris-oscuro: #2f2e2e;
    --gris-claro: #EBEBEB;
    --azul-mas-oscur:#263042;
    --azul-oscuro:#273E59;
    --vino-tinto-oscuro:#571b25;
    --vino-tinto:#9D3043;
    --verde-oscuro:#1F4912;
    --verde-crema:#7cbc99;
    --verde-claro:#298452;
    --verde-legados:#548255;
    --blanco: #FFF;
    --negro: #000;
    --dorado:#C8A951;

}

html {
    box-sizing: border-box;
    font-size: 62.5%;
    /*10px = 1rem*/
}

*,
*::before,
*:after {
    box-sizing: inherit;
}

body {
    font-family: var(--fuente-principal);
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
}

/** headings**/

h1,
h2,
h3,
h4 {
    font-family: var(--fuente-headings);
    margin: 0 0 5rem 0;
    line-height: 1.2;
}

h1 {
    font-size: 6rem;
}

h2 {
    font-size: 4.8rem;
}

h3 {
    font-size: 3.6rem;
}

h4 {
    font-size: 2.4rem;
}

/**Globales**/
p {
    margin: 0;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

hr{
    border: 1px solid var(--gris-claro)
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

.logo img{
    height: 4rem;;
}

.imagen-destacada {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.imagen-destacada img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}


.contenedor {
    width: 95%;
    margin: 0 auto;
}

.contenido-centrado{
    width: 60%;
}



/** Utilidades**/
.text-primary{
  color: var(--azul-mas-oscur)
}
.titulo-enfoque{
  font-size: 4.8rem;
  color: var(--vino-tinto)
}

@media screen and (max-width: 768px) {
.titulo-enfoque{
  padding: 10px;
  font-size: 3rem;
}
}



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

.text-blanco{
    color:var(--blanco)
}

.text-vino-tinto{
    color:var(--vino-tinto)
}

.seccion {
    padding: 5rem 0;
}

.header {

    background-color: var(--crema);
    padding: .5rem 0;
}

.barra-navegacion {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width:768px) {
    .barra-navegacion {
        flex-direction: row;
        justify-content: space-between;
    }
}

/* .menu ul {
    display: none;

}  */
@media (min-width:768px) {
    .menu-principal{
        display: block;
    }
.menu-principal ul {
    display: flex;

}  
}

.menu a {
    font-family: var(--fuente-inter);
    display: block;
    text-align: center;
    color: var(--negro);
    font-size: 1.4rem;
    padding:.5rem 2rem;
}

.hamburger-menu:hover{
  cursor:pointer;
}
@media (min-width:768px){
  .hamburger-menu {
    display: none;
  }
}

.contenedor-menu{
  opacity: 0;
  max-height: 0;
    transition-delay: 100ms, 300ms;
  transition-property:opacity , max-height;
  transition-timing-function: ease-in-out;
  transition-duration: 300ms;
}
@media (min-width:768px){
  .contenedor-menu{
    all:unset;
  }
}

.mostrar{
  opacity: 1;
  max-height: 35rem;
  transition-delay: 100ms, 300ms;
  transition-property:max-height,opacity ;
  transition-timing-function: ease-in-out;
  transition-duration: 300ms;
}
.menu-principal .current_page_item{
    border-bottom:3px solid var(--verde-claro) ;
}


@media (min-width:768px){
    .menu-principal a{
        position: relative;
        z-index:1;
    }
    .menu-principal .current_page_item{
        border-bottom:3px solid var(--verde-claro) ;
    }
    .menu-principal a::before, 
.menu-principal a::after {
    position: absolute;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 50%;
    background-color: var(--verde-claro);
    z-index: -1;
    transform: scaleX(0);
    transition: transform .6s;
}
.menu-principal a::before {
    top: 0;
    transform-origin: left;
}
.menu-principal a::after {
    top:50%;
    transform-origin: right;
}
.menu-principal a:hover::before {
    transform: scaleX(1);
}
.menu-principal a:hover::after {
    transform: scaleX(1);
}
}

.header .contenedor.barra-navegacion {
    display: flex;
    justify-content: space-between; /* Esto coloca el logo y el menú en lados opuestos */
    align-items: center; /* Alinea verticalmente los elementos */
}

.header nav.menu-principal {
    flex: 1; /* Ocupa el espacio restante entre el logo y el borde derecho */
    text-align: center; /* Centra el contenido dentro del espacio asignado */
}
.menu-principal ul{
    justify-content: center;
}

.footer {
    padding: 20px 0;
    background-color: #334058;
    text-align: center;
}

.footer-columnas {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.columna {
    flex: 1;
    font-size: 2rem; /* aumenta el tamaño base */
    margin: 1px;
    min-width: 100px;
}

.columna h3 {
    color: var(--crema);
    margin-bottom: 3px;
    font-size: 18px;
}

.columna ul {
    list-style: none;
    padding: 0;
}

.columna ul li {
    margin-bottom: 3px;
}

.columna ul li a {
    font-size: 2rem;
    font-family: var(--fuente-inter);
    text-decoration: none;
    color: #ffffff;
}

.columna ul li a:hover {
    color: #0073e6;
}
.asesorias{
    background-color: #F2D9C3;
}
.contenedor-pagina-asesorias{
    justify-items: center;
    background-color: #F2D9C3;
    padding: 5rem;
}

/**Cards**/

.listado-grid{
    margin-top: 4rem;
    display: grid;
    gap: 2rem;
    justify-content: center;
}
.card {
    padding: 4rem;
    text-align: center; /* Centra el contenido dentro de cada tarjeta */
}

.contenido h3{
    margin-bottom: -1rem;
    color:var(--azul-oscuro);
}

@media(min-width:768px){
        .listado-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* Tres columnas iguales */
            gap: 1rem; /* Espaciado entre tarjetas */
            justify-content: center; /* Centrar el contenido del grid */
        }
        /* Si hay un solo elemento sobrante (el 4.º, por ejemplo) */
        .listado-grid > :nth-last-child(1):nth-child(3n+1) {
            grid-column: 2 / 3; /* Coloca el elemento en la columna del medio */
        }
        .card {
            padding: 4rem;
            text-align: center; /* Centra el contenido dentro de cada tarjeta */
        }
        .contenido h3{
            margin-bottom: -1rem;
            color:var(--azul-oscuro);
        }
        .card img{
            width: 100%;
        }
  
    /* .listado-grid{
        align-items: center;
        justify-content: center;
        grid-template-columns: repeat(3,1fr);
    }
    .contenido h3{
        color:var(--azul-oscuro);
    } */
}

/**Sidebar**/
@media(min-width:768px){
    .con-sidebar{
        display: grid;
        grid-template-columns: 2fr 1fr ;
        gap:4rem;
        justify-content: center;
    }
    section img{
        display: inline;
    }
}

.parrafo-asesoria{
  margin: 1rem;
}
.contenedor-pagina-asesorias section{
justify-content: center;
text-align: center;
}
.titulo-pagina-asesorias{
  color: var(--azul-oscuro);
  text-align: center;
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
.titulo-pagina-asesorias{
  font-size: 4rem;
}

}


/**Listado de clases sidebar**/

.asesorias-sidebar li{
    border-bottom: 1px solid var(--verde-claro);
    padding: 2rem 0;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 2rem;
    align-items: center;
}
.asesorias-sidebar li:last-of-type{
border: none;
}
.asesorias-sidebar .imagen{

}

.asesorias-sidebar .contenido-asesoria h3{
    margin: 0;
    color: var(--azul-oscuro);
    font-size: 2.6rem;

}

/** Inicio**/

.somos-contenedor{
    padding:0.1rem ;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color:var(--crema);
}
.somos-contenedor h2{
    margin: 1;
    color: var(--azul-oscuro);
    text-align: center;
}
.caja-somos{
    margin-top: 0.3rem;
    text-align: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    width: 95%;
    background-color: #FFFAF4;
    padding-top: 2rem;
    padding-right: 1rem;
    padding-left: 1rem;
}
.somos-contenedor h5{
    margin:0;
    color: var(--vino-tinto);
}
.caja-somos h2{
    margin-top: 1rem;
    color: var(--vino-tinto);
}
.somos-contenedor .caja-somos p {
  font-family: var(--fuente-principal);
  line-height: 1.5 !important; /* fuerza a reducir el espacio */
  margin: 2 1 1 1 !important;
  text-align: center;
  font-size: 1.4rem;      /* Tamaño base en escritorio */
  max-width: 900px;  /* Para buena legibilidad */
}

@media(min-width:768px){
    .somos-contenedor{
        padding:10rem ;

    }
    .caja-somos{
        width: 85%;
        padding-top: 1rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

/** Vista enfoque **/
.enfoque-inicio {
    padding-bottom: 7rem;
    padding-top: 5rem;
    flex-direction: column;
    height: auto; /* Altura completa de la ventana */ /* Altura máxima */
    align-items: center; /* Centrar verticalmente los elementos del grid */
}

.imagen-somos {
    margin: 2rem;
    display: flex; /* Convertir en flexbox */
    align-items: center; /* Centrar verticalmente */
    justify-content: center; /* Centrar horizontalmente */
    height: 100%; /* Ocupar toda la altura de la columna */
}

.imagen-somos img {
    
    max-width: 100%; /* Asegurar que la imagen no se salga del contenedor */
    height: auto; /* Mantener la proporción de la imagen */
    border-radius: 8px; /* Bordes redondeados (opcional) */
}
.enfoque-inicio h2{
    margin: 0;
    color: var(--blanco);
}
.enfoque-inicio h5{
    margin: 0;
    color: var(--blanco);
}
.enfoque-inicio p{
    margin-top: 5rem;
    color: var(--blanco);
    text-align: justify;
}
.enfoque-inicio-seccion-texto{
    text-align: center;
    margin: 1rem;
}
.ver-mas {
    font-size: 2rem;
    color:#e8da42;
}
@media(min-width:768px){

    .enfoque-inicio {
        display: grid;
        grid-template-columns: 2fr 2fr; /* Dos columnas de igual tamaño */
    }
    .enfoque-inicio-seccion-texto{
        text-align:start;
    }

}

/** Inicio Servicios**/
@media(min-width:768px){

.servicios-inicio{
    text-align: center !important;
    padding-bottom: 7rem;
    padding-top: 5rem;
    display: grid;
    grid-template-columns: 2fr 2fr;
    height: auto; /* Altura completa de la ventana */ /* Altura máxima */
    align-items: center; /* Centrar verticalmente los elementos del grid */
}

}


.servicios-inicio{
    padding-bottom: 7rem;
    text-align: center;
}

.imagen-servicio {
    margin-top: 0;
    margin-right: 12rem;
    margin-left: 12rem;
    display: flex; /* Convertir en flexbox */
    align-items: center; /* Centrar verticalmente */
    justify-content: center; /* Centrar horizontalmente */
    height: 100%; /* Ocupar toda la altura de la columna */
    border-radius: 20px; /* Bordes redondeados (opcional) */
    overflow: hidden; /* Recorta la imagen dentro del borde redondeado */
}
.servicio-1 h2{
    font-weight: 800;
    text-align: center;
    margin: 0;
    color: var(--vino-tinto);
}
.servicio-2 h2{
    font-weight: 800;
    text-align: center;
    margin:0;
    color: var(--verde-claro);
}
.boton-servicio {
    display: inline-block; /* Hace que el enlace se comporte como un bloque */
    padding: 10px 20px; /* Espaciado interno */

    color: #fff; /* Color del texto */
    text-decoration: none; /* Quita el subrayado */
    border-radius: 5px; /* Bordes redondeados */
    font-size: 16px; /* Tamaño de la fuente */
    font-weight: bold; /* Texto en negrita */
    text-align: center; /* Centra el texto */
    margin-top: 15px; /* Espacio arriba del botón */
    transition: background-color 0.3s ease;
    border: 3px solid var(--verde-claro); /* Transición suave */
}

.boton-servicio:hover {
    background-color: var(--azul-mas-oscur); /* Cambia el color al pasar el mouse */
}
.servicio-2 {
    display: flex;
    flex-direction: column; /* Apila los elementos verticalmente */
    align-items: center; /* Centra los elementos horizontalmente */
    text-align: center; /* Centra el texto dentro de los elementos */
}
.servicio-1 {
    display: flex;
    flex-direction: column; /* Apila los elementos verticalmente */
    align-items: center; /* Centra los elementos horizontalmente */
    text-align: center; /* Centra el texto dentro de los elementos */
}

.hero-inicio { position: relative; } /* ya lo tienes centrado con flex */


.hero-imagen {
  width: 30%;
  margin-bottom: 20px;
    display: flex;
  flex-direction: column;
  align-items: center;   /* centra horizontalmente todo dentro */
  justify-content: center; /* centra verticalmente si tiene altura fija */
  text-align: center;
}

.hero-imagen img {
  max-width: 200px !important; /* fuerza el tamaño en computador */
  width:70%;
  width: auto !important;
  height: auto !important;
  display: inline-block;
  transition: all 0.3s ease;
}

/* Móviles */
@media (max-width: 768px) {
  .hero-imagen img {
    max-width: 100px !important; /* más pequeño en celular */
    align-items: center;
    text-align: center;
  }
    .hero-inicio {
    min-height: 100vh;      /* ocupa toda la pantalla */
    max-height: 100vh;      /* no excede la pantalla */
    align-items: center;
    text-align: center;
  }
}

/* Tablets */
@media (min-width: 769px) and (max-width: 1023px) {
  .hero-imagen img {
    max-width: 280px !important;
    align-items: center;
    text-align: center;
  }
  .hero-inicio {
    align-items: center;
    text-align: center;
  }
}

.hero-inicio {
  position: relative;
  height: 80rem;
  padding: 10rem;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
}

.hero-inicio-seccion-texto{
    text-align: center;
}


.hero-inicio h2 {
    font-size: 4.5rem;   /* antes 6rem — ajusta a gusto */
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 1rem 0;
    color: var(--blanco);
    text-align: center;
}

@media screen and (max-width: 768px) {
  .hero-inicio h2 {
    text-align: center;
    font-size: 3rem;
    line-height: 1.1;
  }
}


.hero-inicio h5 {
    font-size: 2rem;
    margin: 0;
    color: var(--blanco);
}
.boton-hero {
    display: inline-block; /* Hace que el enlace se comporte como un bloque */
    padding: 10px 20px; /* Espaciado interno */
    background-color: var(--vino-tinto);
    color: #fff; /* Color del texto */
    text-decoration: none; /* Quita el subrayado */
    border-radius: 7px; /* Bordes redondeados */
    font-size: 16px; /* Tamaño de la fuente */
    font-weight: bold; /* Texto en negrita */
    text-align: center; /* Centra el texto */
    margin-top: 15px; /* Espacio arriba del botón */
    transition: background-color 0.3s ease;
    display: block;
    margin: 15px auto; /* auto a los lados centra el bloque */
    width: fit-content; /* hace que el ancho se ajuste al texto */
    align-self: center; 
    
}

.hero-inicio h2,
.hero-inicio h5 {
  text-align: center;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}


.boton-hero:hover {
    background-color: var(--vino-tinto-oscuro); /* Cambia el color al pasar el mouse */
}
h5.alargar-texto {
    font-weight: 500;
    letter-spacing: 3px;
  }

  .ml3 {
       font-size: inherit !important;
  }

  .nacemos-origen {
    background-color: var(--crema);
    padding-bottom: 7rem;
    padding-top: 5rem;
    flex-direction: column;
    height: auto; /* Altura completa de la ventana */ /* Altura máxima */
    align-items: center; /* Centrar verticalmente los elementos del grid */
}
@media(min-width:768px){

    .nacemos-origen {
        display: grid;
        grid-template-columns: 2fr 2fr; /* Dos columnas de igual tamaño */
    }
    .enfoque-inicio-seccion-texto{
        text-align:start;
    }

}

.nacemos-origen h2{
    font-size: 8rem;
}
@media screen and (max-width: 768px) {
.nacemos-origen h2{
    font-size: 5rem;
}
}



/**Origen Territorio**/

.territorio-origen {
    background-color: var(--verde-oscuro);
    padding-bottom: 7rem;
    padding-top: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
}
.bloque-territorio{
    height: auto;
}
.territorio-origen h2{
    color: white;
    text-align: center;
}
.territorio-origen h3{
    margin: 4rem;
    color: white;
    text-align: center;
}
@media(min-width:768px){
    .bloques-territorio-origen{
    margin: 5rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto; /* Asegura que las filas se ajusten al contenido */
    gap: 1rem; /* Añade un espacio entre los elementos si es necesario */
}
}
.bloque-territorio{
text-align: center;
}
.bloques-territorio-origen{
    margin: 5rem;
    display: grid;
    grid-template-rows: auto; /* Asegura que las filas se ajusten al contenido */
    gap: 1rem; /* Añade un espacio entre los elementos si es necesario */
}

.bloque-territorio p {
    color: white;
    width: 100%; /* o auto */
}

.imagen-territorio{
    width: 70%; 
    margin-bottom: 1rem;
    margin-left: 6rem;
    margin-right: 6rem;
}

@media (max-width: 768px) {
  .imagen-territorio {
    width: 70%;            /* también en celulares */
  }
}
/**Galeria**/

.galeria-imagenes{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-template-rows: repeat(6,300px);
    gap: 2rem;
}
@media(min-width:768px){
    .galeria-imagenes{
        grid-template-columns: repeat(4,1fr);
        grid-template-rows: auto;
    }
}
.galeria-imagenes li{

}
.galeria-imagenes li:nth-child(4){
    grid-row: 2/4;
    grid-column: 2/3;
}
.galeria-imagenes li:nth-child(6){
grid-row: 4/6;
grid-column: 1/2;
}

@media(min-width:768px){
    .galeria-imagenes li:nth-child(4){
        grid-column: 4/5;
        grid-row: 1/3 ;
    }
    .galeria-imagenes li:nth-child(6){
        grid-column: 2/3;
        grid-row: 2/4 ;
    }

}
.galeria-imagenes li:nth-child(4) img,
.galeria-imagenes li:nth-child(6) img{
    height: 620px;
}
.galeria-imagenes img{
    height: 300px; /* Asegúrate de que la imagen ocupe todo el espacio del li */
    width: 100%;

    object-fit: cover;
}
@media(min-width:768px){
.integrantes-columnas {

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); /* Dos columnas de igual ancho */
    margin-left: 3rem;
    margin-right: 3rem;
    gap: 10rem; /* Espacio entre columnas */
}
}
.integrantes-columnas {


    margin-left: 3rem;
    margin-right: 3rem;
    gap: 10rem; /* Espacio entre columnas */
}



.cafe-columnas {
  margin-left: 3rem;
  margin-right: 3rem;
}

/* Activar grid solo en pantallas mayores a 1200px */
@media (min-width: 1200px) {
  .cafe-columnas {
    display: grid;
    grid-template-columns: minmax(3rem, 2fr) minmax(10rem, 1fr);
    gap: 10rem; /* Espacio entre columnas */
  }
}

.swiper {
    width: 100%; /* Asegura que el Swiper ocupe todo el ancho de su contenedor */
    overflow: hidden; /* Evita que el contenido se desborde */
}

.card-caficultores{
    text-align: center;
    align-items: center;
justify-content: center;
    background-image: linear-gradient(to bottom,transparent 0,rgb(0 0 0 /.7));
    
}
.caficultores-footer{
    text-align: center;
    justify-content: center;
    align-items: center;



}
.caficultores-footer img {
    
    z-index: -1;
 /* Asegura que la imagen cubra el contenedor */
    display: block; /* Elimina el espacio inferior de la imagen */
}
@media (min-width:768px){
   .caficultores,.fundadores{
    margin: 1rem;
} 
}
.caficultores,.fundadores{
    margin: 5rem;
}
.tipo-cafe{
    margin: 0;
}


.integrantes, .cafe{
    background-color: var(--vino-tinto-oscuro);
}
.integrantes h3{
    margin: 0;
    padding-top: 2rem;
    text-align: center !important;
    color: var(--blanco) !important;
}
.integrantes h2, .cafe h2{
    margin-bottom: 1rem;
    margin-top: 0;
    text-align: center !important;
    color: var(--gris-claro) !important;
}
.integrantes h4{
    margin: 0;
    text-align: center !important;
    color: var(--blanco) !important;
}
@media screen and (max-width: 768px) {
.integrantes h4{
 margin: 1rem;
}
}

.caficultores-footer h3{
    margin-top: 3rem;
    color: var(--blanco);
}

.card-cafe-flex {
  text-decoration: none;
  color: inherit;
    display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Solo aplicar flex cuando el ancho sea mayor a 1200px */
@media (min-width: 1200px) {
  .card-cafe-flex {
    display: flex;
    gap: 1.5rem;
    align-items: center;
  }
}

.card-imagen {
    flex: none; 
    width: 80%
}

.card-imagen img {
    width: 70%;
    height: auto;
    max-height: none;
    object-fit: contain;
      display: block;         /* quita espacio en línea */
  margin: 0 auto;         /* centra la imagen si es más pequeña */
}

.cafe-footer {
    margin-right: 3rem;
    flex: 1;
}

.cafe-footer h3{
    margin-top: 3rem;

    color: var(--blanco);
}
.cafe-footer p{
    margin-top: 3rem;

    color: var(--blanco);
}
.asesorias-sidebar-cafe {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
}
.contenedor-asesorias{
  padding: 1rem;
}
.asesorias-sidebar-cafe .cafe-card {
    padding: 2rem;
    text-align: center;
    background: rgba(30, 30, 30, 0.3);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.asesorias-sidebar-cafe .cafe-card .imagen {
    height: auto !important; /* Fuerza que la altura sea automática */
}
.asesorias-sidebar-cafe .cafe-card a {
    margin-top: 4rem;
    color: #ffffff;
}
.asesorias-sidebar-cafe .cafe-card a h4 {
    margin: 0;

}
.card-cafe{
    text-align:left;
    align-items: center;
justify-content: center;
}
 .cafe h1{
    padding: 3rem;
    margin: 0;
    text-align: center;
    color: white;
 }
 .asesorias-sidebar-cafe .cafe-card .descripcion-cafe{
    color: white;
 }
 .cafe{
    padding-bottom: 4rem;
 }
@media (min-width:992px){
   .fixed-top{
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: var(--crema);
    padding: 1rem 5rem;
    height: 5rem;
    z-index: 1000;
   } 
}

/* 
--------------------------------------
Página Café - Procesos
--------------------------------------
*/

/* Desktop: desactivar flex y usar float */
@media (min-width: 768px) {
  .cafe-proceso {
    display: block !important;      /* anulamos flex */
  }
  .cafe-proceso::after {
    content: "";
    display: block;
    clear: both;                     /* clearfix para contener float */
  }

  /* Asegurar que NO queden reglas de flex aplicadas */
  .cafe-proceso-img,
  .cafe-proceso-content {
    flex: none !important;
    width: auto;                     /* para que el texto pueda ocupar 100% debajo */
  }

  /* Flotar solo la imagen (figure) */
  .cafe-proceso-img {
    float: left;
    width: clamp(260px, 40vw, 520px);
    margin: 0 2rem 1rem 0;
    padding: 0;
    background: transparent;         /* por si tenía fondo */
    box-shadow: none !important;     /* la sombra va en el <img> */
    display: block;
  }

  /* Sombra SOLO en la imagen, no en la columna entera */
  .cafe-proceso-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* si quieres sombra */
  }

  /* El contenido debe poder fluir (sin ancho fijo) */
/* Bloque central (imagen + texto) */
.cafe-proceso-content {
  max-width: 1000px;          /* ancho máximo centrado */
  margin: 0 auto;             /* centra horizontalmente */
  padding: 2rem 3rem;         /* espacio interno */
  background-color: var(--crema);
  border-radius: 12px;        /* opcional */
  font-family: 'Segoe UI', sans-serif;
  color: #3e2f1c;
  text-align: justify;        /* 🔹 justifica el texto */
  text-justify: inter-word;   /* mejora la distribución de espacios */
}

/* Imagen flotante */
@media (min-width: 768px) {
  .cafe-proceso-img {
    float: left;
    width: clamp(260px, 40vw, 520px);
    margin: 0 2.5rem 1.5rem 0;
  }
}

/* Asegura que el texto fluya debajo de la imagen */
.cafe-proceso-content::after {
  content: "";
  display: block;
  clear: both;
}

/* Responsive móvil */
@media (max-width: 767px) {
  .cafe-proceso-content {
    max-width: 95%;
    padding: 1.5rem;
    text-align: justify;
    text-justify: inter-word;
  }

  .cafe-proceso-img {
    float: none;
    width: 100%;
    margin: 0 0 1.5rem 0;
  }
}




/*
seccin cafe -procesos
*/
.contenedor-procesos {
    text-align: center;
    max-width: auto;
    margin: 0 auto;
    padding: 4rem 2rem;
    background-color: var(--crema);
    color: var(--azul-oscuro);
}

.procesos-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    list-style: none;
    padding: 0;
}

.proceso-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(0,0,0,0.06);
    transition: transform 0.2s ease;
}

.proceso-card:hover {
    transform: translateY(-5px);
}

.proceso-card a {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

.proceso-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.proceso-contenido {
    padding: 1rem;
}

.proceso-contenido h3 {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    color: #3e2f1c;
}

.proceso-contenido p {
    font-size: 1.7rem;
    color: #000000;
    line-height: 1.5;
}
.cafe-proceso-img {
    height: auto;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.proceso-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/*
carrusel seccion certificaciones
*/
.certificaciones-grid.seccion {
    background-color: var(--crema);
  text-align: center;
  padding: 2rem 1rem;

}

.titulo-certificaciones {
  font-size: 4rem;
  margin-bottom: 2rem;
  color: #3e2f1c;
}

.grid-certificaciones {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}




.cert-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
  text-align: center;
}



.cert-img img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  border-radius: 8px;
 
}

.cert-titulo {
  margin-top: 1rem;
  font-size: 3rem;
  color: #5c432b;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cert-card:hover .cert-img img {
  transform: scale(1.05);
}

.cert-card:hover .cert-titulo {
  opacity: 1;
}

/*
prueba
*/
.mapa-fincas {
  margin-top: 4rem;
  padding: 2rem 1rem;
  background-color: #f8f5ef;
  text-align: center;
}

.titulo-mapa {
  font-size: 2rem;
  color: #3e2f1c;
  margin-bottom: 1rem;
}

/*
tarjetas fincas

*/
.fincas-grid {
  text-align: center;
  padding: 3rem 1rem;
  background-color: #f9f6f0;
}

.titulo-fincas {
  font-size: 2rem;
  color: #3e2f1c;
  margin-bottom: 2rem;
}

.grid-fincas {
  padding: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
  gap: 2rem;
  max-width: auto;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .grid-fincas {
    grid-template-columns: none;
  }
}



.finca-card {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.finca-card:hover {
  transform: translateY(-6px);
}

.finca-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.finca-contenido {
  padding: 1rem;
}

.finca-contenido h3 {
  font-size: 3.2rem;
  color: #3e2f1c;
  margin-bottom: 0.5rem;
}

.finca-contenido p {
  font-size: 1.5rem;
  color: #5b4635;
  line-height: 1.6;
}

.mapa-fincas {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(0,0,0,0.1);
}

.titulo-fincas {
  font-size: 6rem;
  margin-bottom: 2rem;
  color: #3e2f1c;
}

/*
page fincas
*/
/* Sección principal */
.finca-individual {
  padding: 3rem 3rem;
  max-width: auto;
  margin: 0 auto;
  background-color: #f9f6f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}

/* Título */
.titulo-finca {
  font-size: 4.4rem;
  color: #3e2f1c;
  text-align: center;
  margin-bottom: 2rem;
  font-family: 'Georgia', serif;
}

/* Imagen destacada */
.finca-banner img {
  width: 50%;
  max-width: 250px;
  height: auto;
  border-radius: 8px;
  margin-bottom: 2rem;
}

/* Descripción de la finca */
.finca-descripcion {
  font-size: 2.05rem;
  line-height: 1.8;
  color: #5b4635;
  margin-bottom: 2rem;
}

/* Lista de datos */
.finca-datos ul {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  background-color: #fff;
  border-left: 4px solid #a77a4e;
  padding: 1rem;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.finca-datos li {
  margin-bottom: 0.8rem;
  font-size: 2rem;
  color: #3e2f1c;
}

.finca-datos strong {
  color: #a77a4e;
}

/* Mapa */
#mapa-finca {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
}

/* expotacion */
.seccion-exportacion {
  padding: 4rem 2rem;
  background-color: #f8f5ef;
}

.titulo-exportacion {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 2rem;
  color: #3e2f1c;
}

.grid-bloques-exportacion {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}

.bloque-exportacion {
  background-color: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  text-align: left;
}

.contacto-exportacion {
  text-align: center;
  margin-top: 3rem;
}

.btn-whatsapp {
  display: inline-block;
  background-color: #25D366;
  color: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
}

.seccion-exportacion ul {
  padding-left: 1.2rem;
  margin-bottom: 2rem;
}

.seccion-exportacion ul li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: #4d3b28;
  position: relative;
}

.seccion-exportacion ul li::before {
  content: "•";
  position: absolute;
  left: -1rem;
  color: #a77a4e;
  font-weight: bold;
}

/*seccion exportacion*/
.cta-exportacion {
  height: 40rem;
  position: relative;
  display: flex;
  justify-content: center;      /* Centra horizontalmente */
  align-items: center;          /* Centra verticalmente */
  flex-direction: column;       /* Coloca el contenido uno debajo de otro */
  text-align: center;
  padding: 2rem;
  margin-top: 4rem;
  border-radius: 12px;
  color: #fff;
  background-color: rgba(0,0,0,0.5); /* Fallback si imagen falla */
  background-blend-mode: overlay;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
.cta-exportacion {
  height: 100% !important;
}
}




.cta-exportacion h2 {
  font-size: 4.8rem;
  color: #ffffff;
  margin-bottom: 1rem;
}

.cta-exportacion p {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 1.5rem;
}

.btn-exportacion {
  display: inline-block;
  background-color: #a77a4e;
  color: #fff;
  padding: 0.7rem 1.4rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-exportacion:hover {
  background-color: #8c6033;
}

.cta-exportacion {
    flex-direction: column !important;
    justify-content: center !important;
  height: 40rem;
  position: relative;
  padding: 4rem 2rem;
  text-align: center;
  margin-top: 4rem;
  border-radius: 12px;
  color: #fff;
  background-color: rgba(0,0,0,0.5); /* Si la imagen no carga */
  background-blend-mode: overlay;
}

.contenido-cta h2,
.contenido-cta p {
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

/* Sección Exportación */
.seccion-exportacion {
  padding: 4rem 2rem;
  max-width: auto;
  margin: 0 auto;
  text-align: center;
  background-color: #f8f5ef;
  color: #4d3b28;
}

/* Título principal */
.seccion-exportacion h1 {
  font-size: 4.8rem;
  margin-bottom: 2rem;
  color: #3e2f1c;
}

/* Imagen exportación */
.imagen-exportacion {
  margin: 0 auto 2rem auto;
  max-width: 600px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.imagen-exportacion img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Párrafo de introducción */
.seccion-exportacion p {
  font-size: 2.1rem;
  margin-bottom: 3rem;
  line-height: 1.6;
}

/* Subtítulos */
.seccion-exportacion h2 {
  font-size: 3.6rem;
  margin-top: 3rem;
  margin-bottom: 1rem;
  color: #5a3f27;
}

/* Listas */
.seccion-exportacion ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 2rem;
}

.seccion-exportacion ul li {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  position: relative;
  padding-left: 1.2rem;
}

.seccion-exportacion ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #a77a4e;
  font-weight: bold;
}

/* Botón de WhatsApp */
.btn-whatsapp {
  display: inline-block;
  background-color: #25D366;
  color: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 2rem;
  transition: background-color 0.3s ease;
}

.btn-whatsapp:hover {
  background-color: #1da851;
}

.imagen-exportacion {
  margin: 2rem auto;
  max-width: 600px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.imagen-exportacion img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Conversemos*/
/* Sección general */
.seccion-contacto {
  background-color: var(--crema);
  padding: 4rem 2rem;
  color: #4d3b28;
}

/* Contenedor de columnas */
.contenedor-contacto {
    align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
.contenedor-contacto {
justify-content: center;
}
}

/* Columna formulario */
.formulario-contacto {
    text-align: center;
  flex: 1;
  min-width: 300px;
}

.formulario-contacto h1 {
  font-size: 4.5rem;
  margin-bottom: 2rem;
  color: #3e2f1c;
}

.formulario-contacto input,
.formulario-contacto button {
  width: 100%;
  padding: 0.8rem 1rem;
  margin-bottom: 1rem;
  border-radius: 6px;
  border: 1px solid #cdbba4;
  font-size: 1rem;
}

.formulario-contacto button {
  background-color:var(--crema-oscura);
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease;
}

.formulario-contacto button:hover {
  background-color: #8c6033;
}

/* Columna info */
.info-contacto {
  flex: 1;
  min-width: 300px;
  text-align: center;
}

.info-contacto h3 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
  color: #5a3f27;
}

.info-contacto p {
  font-size: 1.8rem;
  margin-bottom: 0.7rem;
}

/* Íconos de redes */
.redes-contacto {
  margin-top: 1rem;
}

.redes-contacto a {
  display: inline-block;
  margin-right: 1rem;
}

.redes-contacto img {
  width: 32px;
  height: 32px;
}

.icono-red {
  width: 40px;
  height: 40px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.redes-contacto a:hover .icono-red {
  transform: scale(1.1);
}

.bloque-contacto {
  margin-top: 3rem;
  text-align: center;
}

.redes-contacto {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.imagen-legados-contacto {
  margin: 3rem auto;
  max-width: 800px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  text-align: center;
}

.imagen-legados-contacto img {
  width: 50%;
  height: auto;
  border-radius: 12px;
}
@media screen and (max-width: 768px) {
.imagen-legados-contacto img {
  width: 1000%;
}
}
.mensaje-confirmacion {
  background-color: var(--vino-tinto-oscuro);
  color: #ffffff;
  padding: 1rem;
  border: 1px solid var(--vino-tinto-oscuro);
  margin-bottom: 2rem;
  text-align: center;
  border-radius: 6px;
}

/* faq*/
.seccion-preguntas-frecuentes{
   background-color: var(--crema); 
   max-width: auto;
}
.preguntas-frecuentes {
    background-color: var(--crema);
  padding: 4rem 2rem;
  max-width: 900px;
  margin: 0 auto;
}

.preguntas-frecuentes h2 {
  font-size: 4.8rem;
  margin-bottom: 2rem;
  text-align: center;
  color: #5a3f27;
}

.faq-item {
  margin-bottom: 1rem;
  border: 1px solid #cdbba4;
  border-radius: 8px;
  overflow: hidden;
}

.faq-pregunta {
      display: inline-flex; /* alineación horizontal */
  align-items: center;  /* centra verticalmente logo y texto */


  background-color: var(--crema-oscura);
  width: 100%;
  padding: 1rem;
  font-weight: bold;
  text-align: left;
  border: none;
  cursor: pointer;
  color: #4d3b28;
  transition: background 0.3s ease;
}

.faq-pregunta:hover {
  background-color: #e5dbcc;
}

.faq-respuesta {
  display: none;
  padding: 1rem;
  background-color: var(--crema-oscura);
  color: #3e2f1c;
}

/* efecto cuando está activo */
.faq-item.active .faq-respuesta {
  display: block;
}

.logo-faq {
  width: 24px;
  height: 24px;
  object-fit: contain;
  vertical-align: middle;
}

/* single pagina producto*/
.vista-producto-legados {
  background-color: var(--vino-tinto-oscuro);
  /* background-color:var(--azul-mas-oscur); */
  color: #ffffff;
  padding: 4rem 2rem;
}

.contenedor-producto {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  align-items: center;
  justify-content: center;
}

.imagen-cafe img {
  background-color: rgba(30, 30, 30, 0.3);
  max-width: 400px;
  border-radius: 16px;
  box-shadow: 0 0 24px rgba(0,0,0,0.3);
}
@media screen and (max-width: 768px) {
  .imagen-cafe img {
  max-width: 100%;
}
}

.datos-cafe {
  max-width: 60rem;
}

.datos-cafe h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.descripcion {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.precio-box {
  background-color: #1e7f35;
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  display: inline-block;
  margin-bottom: 1.5rem;
}

.precio-box .precio {
  color: #ffffff;
  font-size: 4.4rem;
  font-weight: bold;
  margin: 0;
}

.cantidad-control {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.boton-verde {
  background-color: #2b9343;
  color: white;
  padding: 0.8rem 1.5rem;
  text-decoration: none;
  border-radius: 6px;
  font-weight: bold;

}

.boton-verde:hover {
  background-color: #1f7f35;
}

.titulo-producto {
  font-size: 6.2rem !important; /* antes era 2.5rem */
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-left: 4px solid #c7a16f;
  padding-left: 1rem;
}

@media screen and (max-width: 768px) {
.titulo-producto {
  font-size: 5.2rem !important; /* antes era 2.5rem */
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-left: 4px solid #c7a16f;
  padding-left: 1rem;
}
}

.fila-selectores {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.selector-cafe {
  flex: 1 1 220px;
}

.selector-cafe label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #c7a16f;
}

.selector-cafe select {
  width: 100%;
  padding: 0.6rem;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: rgba(30, 30, 30, 0.3);
  color: #ffffff;
}


.cantidad-control {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}

.cantidad-control button {
  background-color: #c7a16f;
  color: #0a0f1d;
  font-size: 2.2rem;
  padding: 0.4rem 0.8rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

#cantidad {
  width: 80px;
  padding: 0.5rem;
  text-align: center;
  font-size: 2.1rem;
  border: 1px solid #444;
  border-radius: 6px;
  background-color:rgba(30, 30, 30, 0.3);
  color: #ffffff;
}

.info-stock {
  font-size: 1.2rem;
  color: #c7a16f;
  margin-top: 0.5rem;
}

/* seccion datos*/
.ficha-cafe {
  max-width: 900px;
  margin: 4rem auto;
  padding-top: 2rem;
  border-top: 1px solid #444;
  text-align: center;
}

.ficha-cafe h3 {
  font-size: 1.6rem;
  color: #c7a16f;
  margin-bottom: 1rem;
}

.grid-datos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 2rem;
  margin-bottom: 2rem;
}

.grid-datos div {
  font-size: 1.5rem;
  color: #ddd;
  text-align: center; /* ✅ Centra el texto dentro de cada columna */
}



@media (max-width: 600px) {
  .grid-datos {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/* mi trajetas */
.product-grid {
  display: grid;
  gap: 2rem;
  padding: 2rem;
  background-color: var(--vino-tinto-oscuro); /* Fondo oscuro */
}

@media screen and (max-width: 768px) {
  .product-grid {
    display: block;
  }
}




.mini-tarjeta {
  background-color: rgba(30, 30, 30, 0.3);
  /* background-color:var(--azul-mas-oscur); */
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  color: #f5f5f5;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  transition: transform 0.2s ease;
}

.mini-tarjeta:hover {
  transform: translateY(-5px);
}

.mini-tarjeta img {
  max-width: 100%;
  height: auto;
  box-shadow: none !important;
  border-radius: 6px;
  margin-bottom: 1rem;
}

.mini-tarjeta h3 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: #e0c097; /* tono canela/dorado */
}

.precio {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.3rem;
  color: #f0f0f0;
}

.presentacion {
  font-size: 2rem;
  font-weight: bold;

  color: #ccc;
}

.comprar {
  padding: 0.6rem 1.2rem;
  background-color: #1e7f35;
  color: white;
  border: none;
  border-radius: 4px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.comprar:hover {
  background-color: var(--vino-tinto);
}

.comprar:disabled {
  background-color: #555;
  color: #aaa;
  cursor: not-allowed;
}

.tarjetas-producto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12rem;
  padding: 6rem;
  background-color: var(--vino-tinto-oscuro);
  /* background-color:var(--azul-mas-oscur);  */
}

@media screen and (max-width: 768px) {
.tarjetas-producto {
  padding: 4rem;
  grid-template-columns: none;

}
}



.card-image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
}

.card-image-wrapper img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.tienda-catalogo{
  background-color: var(--vino-tinto-oscuro);
  /* background-color: var(--azul-mas-oscur); */
}

.seccion-tienda {
  background-color: var(--vino-tinto-oscuro);
  /* background-color: var(--azul-mas-oscur); */
  padding: 4rem 2rem;
  color: white;
}

.swal-titulo {
  font-size: 1.6rem;
  font-weight: 600;
}

.swal-contenido {
  font-size: 1.2rem;
  line-height: 1.6;
}

.swal-confirmar, .swal-cancelar {
  font-size: 1.1rem;
  padding: 0.6em 1.2em;
}

/* Contenedor principal */
.cafe-single {
  background-color: var(--crema) !important;
  margin: 0 auto;
  padding: 2rem;
  font-family: 'Inter', sans-serif;
  color: #2e2e2e;
  text-align: center !important;

}

.cafe-single h1 {
  color: var(--azul-mas-oscur) !important;
}



/* Pantallas mayores a 1000px */
@media (min-width: 1000px) {
  .cafe-single {
    padding: 10rem;
  }
}

/* Imagen destacada */
.cafe-imagen {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  border-radius: 0.5rem;
  margin-bottom: 2rem;
}

/* Título */
.cafe-titulo {
  text-align: center;
  font-size: 5.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: white;
  width: 100%;
  justify-content: center;
  align-self: center;

}

.cafe-subtitulo{
  text-align: center;
  font-size: 4rem;
  font-weight: 400;
  width: 100%;
  justify-content: center;
  align-self: center;
  margin-bottom: 0.1rem;
  color: var(--azul-mas-oscur);
}

/* Contenido principal */
.cafe-contenido {
  font-size: 2.1rem;
  line-height: 1.7;
  margin-bottom: 2rem;
  color: var(--azul-mas-oscur);
}

/* Detalles ACF */
.detalles-cafe {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.detalles-cafe li {
  font-size: 2rem;
  background:var(--crema);
  padding: 1rem;
  border-radius: 0.5rem;

  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Responsive: una columna en móvil */
@media (max-width: 768px) {
  .detalles-cafe {
    grid-template-columns: 1fr;
  }

  .cafe-titulo {
    font-size: 2rem;
  }

  .cafe-contenido {
    font-size: 1rem;
  }
}
.boton-tienda {
  margin-top: 2rem;
  text-align: center;
}

.btn-comprar {
  display: inline-block;
  background-color: #6b4f3b;
  color: #fff;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-comprar:hover {
  background-color: #4a3628;
}

 /* Estilo del enlace dentro del subtítulo */
    .transparente-link {
      color: var(--vino-tinto);
      text-decoration: none;
      transition: color 0.3s ease;
      font-weight: 600;
    }

    .transparente-link:hover {
      color: var(--azul-oscuro);
    }

    /* Forzar el fondo crema en los single de café */
html body.single-cafe1 main.cafe-single {
  background-color: var(--crema-oscura, #cab5a2) !important;
}

.quienes-somos-imagen img {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
}

.seccion-quienes-somos {
  text-align: center;
  padding: 2rem 1rem;
  background-color: var(--crema); /* opcional */
}

.contenedor-quienes {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.imagen-quienes {
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.btn-quienes {
  background-color: var(--dorado);
  color: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.btn-quienes:hover {
  background-color: #b3913f; /* dorado más oscuro */
}

/* === Mostrar u ocultar el botón del carrito === */

/* Ocultar el botón del carrito si está vacío */
.menu-item-carrito.carrito-oculto {
  display: none !important;
}

/* Mostrar el botón del carrito cuando tiene productos */
.menu-item-carrito.carrito-visible {
  display: inline-block;
}

/* ============================
   Fondo crema en páginas WooCommerce
   ============================ */

/* Aplica a carrito, checkout, tienda y productos */
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-shop,
body.single-product {
  background-color: var(--crema) !important;
}

/* Pinta los contenedores padres para incluir título y bordes */
body .site,
body .page,
body .page-wrapper,
body .entry-content,
body .site-content,
body main,
body .contenedor,
body .contenido,
body .content-area {
  background-color: var(--crema) !important;
}

/* Contenido de WooCommerce */
body .woocommerce,
body .woocommerce-page {
  background-color: var(--crema) !important;
  padding: 1.5rem 0;
}

/* Evitar fondos blancos internos */
body .woocommerce .cart_totals,
body .woocommerce .woocommerce-checkout-review-order,
body .woocommerce .woocommerce-form-login,
body .woocommerce .woocommerce-order,
body .woocommerce .woocommerce-MyAccount-content {
  background: transparent !important;
}

/* ============================
   Botones WooCommerce con colores de LEGADOS
   ============================ */

/* 1. Dentro de páginas WooCommerce forzamos estos estilos */
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce .button,
body.woocommerce .woocommerce-message a.button,
body.woocommerce .woocommerce a.button,
body.woocommerce .woocommerce button.button,
body.woocommerce .woocommerce input.button {
  background: var(--verde-legados) !important;
  border: 1px solid var(--verde-legados) !important;
  color: #fff !important;
  border-radius: .5rem !important;
  font-weight: 500 !important;
  transition: all .2s ease-in-out;
}

/* 2. Hover: vino tinto */
body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce .button:hover {
  background: var(--vino-tinto) !important;
  border-color: var(--vino-tinto) !important;
  color: #fff !important;
}

/* 3. Botón de proceder al pago en carrito */
body.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: var(--verde-legados) !important;
  border-color: var(--verde-legados) !important;
  color: #fff !important;
  border-radius: .6rem !important;
  font-size: 1rem;
  padding: .7rem 1.4rem;
}
body.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--vino-tinto) !important;
  border-color: var(--vino-tinto) !important;
}

/* 4. Botón de finalizar pedido (checkout) */
body.woocommerce #payment #place_order,
body.woocommerce-page #payment #place_order {
  background: var(--verde-legados) !important;
  border-color: var(--verde-legados) !important;
  color: #fff !important;
  border-radius: .6rem !important;
}
body.woocommerce #payment #place_order:hover,
body.woocommerce-page #payment #place_order:hover {
  background: var(--vino-tinto) !important;
  border-color: var(--vino-tinto) !important;
}

/* 5. Por si tu tema usa input[type=submit] en checkout */
body.woocommerce input[type="submit"],
body.woocommerce-page input[type="submit"] {
  background: var(--verde-legados) !important;
  border: 1px solid var(--verde-legados) !important;
  color: #fff !important;
  border-radius: .5rem !important;
}
body.woocommerce input[type="submit"]:hover,
body.woocommerce-page input[type="submit"]:hover {
  background: var(--vino-tinto) !important;
  border-color: var(--vino-tinto) !important;
}
