/*
 Theme Name: GeneratePress Child
 Description: Tema hijo para la revista Gentelibre con Agenda de Eventos
 Author: Gentelibre
 Template: generatepress
 Version: 1.1.0
*/

/* ==========================================================================
   1. VARIABLES Y ESTILOS GENERALES
   ========================================================================== */

:root {
    --rojo-gl: #f10430;
    --gris-oscuro: #675d42;
    --gris-medio: #8a7f61;
    --gris-claro: #c9c4b7;
    --gris-muyclaro: #e8e3d7;
    --beige-fondo: #f9f7f2;
    --negro: #333333;
    --blanco: #ffffff;
}

body { color: var(--gris-oscuro); font-size: 1.3rem; }
h1, h2, h3, h5 { color: var(--rojo-gl); }
h2 a { text-decoration: none; }
h3.wp-block-heading {margin-top:20px;}
.tx-rojo {color: #f10430 !important;}
.tx-negro {color: var(--negro);}
.centro {text-align:center;}
.oculto{ display:none; visibility:hidden;}

.mg-20 {margin-bottom:20px;}
.page-header { margin-left:20px;}
.wp-block-latest-comments__comment-meta, .wp-block-latest-comments__comment-meta a{	font-size:1.2rem; line-height: 1.1; } /* ultimos comentarios */
.wp-block-latest-comments__comment{	font-size:1.2rem; line-height: 1.1; }
.fecha_home{ font-size:0.8rem;}
.entry-meta, time, .author-name {color: var(--gris-oscuro); }		
/*.entry-meta, .entry-meta a, .entry-meta span { color: var(--gris-oscuro); border:solid 1px red; }*/
.cat-links, .tags-links, .post-navigation { display:none;}  /* metas ocultas */
.seccion-home {margin:0; padding-top:10px}
.wp-block-heading {font-size:1.2rem; color: var(--negro); }
.entry-content h2{ font-family: Host Grotesk, sans-serif;
    font-weight: 200;
    text-transform: uppercase;
    font-size: 1.6rem;
    letter-spacing: 0.1em; text-align:center; }
.entry-content h3{ font-family: Host Grotesk, sans-serif;
    font-weight: 200;
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 0.1em; color: var(--rojo-gl); }
.separador-punto {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 0; margin-bottom:20px;
}
.separador-punto::after {
    content: "";
    width: 20px;
    height: 20px;
    background-color: rgba(241, 4, 48, 0.5);
    border-radius: 50%;
}

blockquote {
    border: 0;
    color: var(--rojo-gl);
    font-family: montserrat, sans-serif;
	font-weight:800;
    padding: 0;
	text-align: center;
}
img {border-radius: 4px;}
input, .woocommerce-Input {border-radius: 0 !important;}
#banner_pantalla_peq {display:none;}

.wp-block-post-featured-image{
	margin-bottom:20px; border: solid 1px var(--gris-claro); padding:5px;
}
.gb-media-f5d8911a, .gb-media-2019ae6a, .gb-media-b59582f1, .post-image {
	border: solid 1px var(--gris-claro); padding:5px; border-radius: 0;
}
.tx_nota{ font-size: .9rem; font-style: italic; }

.fecha_home{ text-transform:uppercase; letter-spacing: 0.1rem;}

.seccion-home{ /* CULTURA, VÍNCULOS, ENTREVISTAS */
  font-family: 'Host Grotesk', sans-serif;
  font-weight: 200; /* semi-bold */
  font-size: 2rem;
  text-transform: uppercase;
  color: #8a7f61; /* gris-medio */
  margin-top: 20px;
  border-top: solid 1px #8a7f61; /* gris-medio */
}

article { background-color:#ffffff; }
.wp-block-latest-comments__comment article { background-color:var(--gris-muyclaro); }
.wp-block-latest-comments__comment-meta, .wp-block-latest-comments__comment-link, .wp-block-latest-comments__comment-excerpt { background-color: var(--gris-muyclaro); }
/* Ocultar campos de comentarios: Nombre y Web */
#commentform .comment-form-cookies-consent,
#commentform label[for="author"], 
#commentform input#author,
#commentform label[for="url"], 
#commentform input#url {
    display: none !important;
}


	
	
	
.footer-widgets, 
.footer-widgets a { font-size:12px; color:#c9c4b7; } /* pie de pagina */	
.wp-block-social-links {font-size:48px;}
.copyright{ font-size: 12px; color:#c9c4b7; font-weight: 200;}

/* =========== BANNER REVISTA ============= */
	.gb-element-b9179132 {text-align:center;}
	.gb-text-afceb33b {font-weight: 200;}
	.banner_revista {text-align:center;}
	.img_banner_revista {text-align:center;}
	H3.tx_banner_revista_1 {font-size:2.6rem; font-style:normal; font-weight:200; color: var(--rojo-gl); }
	.tx_banner_revista_2 {font-size:1.4rem; line-height:1.4rem; font-weight:400; padding-bottom:20px;}
	.tx_banner_revista_3 {font-size:1rem; font-weight:200;}
	.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull {
		margin-left: 0;
		width: 90%;
		max-width: 90%;
		margin: 0 5%;
	}
	
/* ==========================================================================
   2. BOTONES
   ========================================================================== */
.secciones:where(.is-layout-flex) { gap: 0 !important; }
.secciones a {
     margin: 3px 0;
	 padding: 3px 20px;
	 width:100%;
}

.boton, .submit, .boton-black {
    display: flex !important;
    justify-content: center;
    align-items: center;
    text-align: center;
    min-height: 44px;
    padding: 10px 20px;
    width: 300px;
    box-sizing: border-box;
    text-decoration: none;
    border-radius: 0;
    transition: all 0.3s ease;
    font-weight: 600;
}
	
.boton-100 { width: 100%;}

.boton, .submit {
    background-color: var(--beige-fondo) !important;
    border: solid 2px var(--gris-claro) !important;
    color: var(--gris-medio) !important;
}

.boton:hover, .submit:hover {
    background-color: var(--negro) !important;
    border-color: var(--beige-fondo) !important;
    color: var(--blanco) !important;
    transform: translateY(-2px);
}

.boton-black {
    background-color: var(--negro) !important;
    border: solid 2px var(--gris-claro);
    color: var(--beige-fondo) !important;
    margin: 10px 0;
}

.boton-black:hover {
    background-color: var(--beige-fondo) !important;
    color: var(--gris-oscuro) !important;
    transform: translateY(-2px);
}

.boton-red, .woocommerce-button, .single_add_to_cart_button {
    background-color: var(--rojo-gl) !important;
    color: var(--blanco) !important;
    margin: 10px 0;
	padding: 3px 20px;
}

.boton-red:hover, .woocommerce-button:hover, .single_add_to_cart_button:hover {
    background-color: var(--negro) !important;
    color: var(--blanco) !important;
    transform: translateY(-2px);
}


/* ==========================================================================
   3. ESTRUCTURA AGENDA Y FILTROS (GENERAL)
   ========================================================================== */
.agenda-layout-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Estilo base de filtros (Escritorio) */
.agenda-filtros {
    position: sticky;
    top: 20px;
    background: var(--gris-claro);
    padding: 20px;
    z-index: 10;
}

.botones-filtros-desktop { display: none !important; }

select[name="provincia_evento"], 
select[name="local_evento"] {
    display: block;
    width: 100%;
    margin-bottom: 20px;
}
.agenda-layout-container{ margin-top:0; padding:0; }
.titulo-filtro-desktop { margin:0; padding:0;}

.btn-filtro {
    display: block;
    text-decoration: none;
    padding: 4px 12px;
    background: #f7f7f7;
    color: #333;
    margin-bottom: 5px;
    border-bottom: 2px solid #bdb5a1;
    border-right: 2px solid #bdb5a1;
    font-size: 14px;
}
.btn-filtro:hover { background: #f1d9de; }

.btn-filtro.activo {
    background: var(--rojo-gl);
    color: var(--blanco);
    font-weight: bold;
}

.evento-card {
    display: flex;
    background: var(--blanco);
    border: 1px solid #eee;
    margin-bottom: 20px;
    overflow: hidden;
}

.evento-imagen {
    position: relative; 
    width: 200px;
    height: 200px;
    flex: 0 0 200px;
    background: var(--gris-medio);
    overflow: hidden;
}

.img-blur-bg {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: blur(10px) brightness(0.9) opacity(50%);
    transform: scale(1.2);
    z-index: 1;
}

.img-main {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: contain;
    z-index: 2;
}

.evento-cuerpo {
    flex: 1;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
	font-size: 0.8rem;
}

.evento-titulo {
    font-family: "Anton", sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    font-weight:normal;
}

.evento-fecha-hora {
    font-size: 0.9rem;
    color: var(--rojo-gl);
    font-weight: bold;
}

.evento-descripcion {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
	margin-top:10px;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.0rem;
    max-height: 9.5rem;
}

.evento-descripcion p {
	margin:0px !important;
	padding:0px !important;
}
/* ==========================================================================
   4. MEDIA QUERIES ESTRUCTURALES (MANDATORIO ESTE ORDEN)
   ========================================================================== */

/* PANTALLAS GRANDES (PC) */
@media (min-width: 1025px) {
    .agenda-layout-container {
        display: grid;
        grid-template-columns: 250px 1fr;
        gap: 40px;
        align-items: flex-start;
    }
    .botones-filtros-desktop {
        display: flex !important; 
        flex-direction: column;
    }
    select[name="provincia_evento"], 
    select[name="local_evento"] {
        display: none !important;
    }
}

/* PANTALLAS PEQUEÑAS (MÓVIL / TABLET) */
@media (max-width: 1024px) {
    .agenda-layout-container {
        display: flex;
        flex-direction: column;
    }
    .agenda-filtros {
        order: -1; /* Sube arriba de los eventos */
        position: relative !important; /* Anula el sticky para que suba con el scroll */
        top: 0 !important;
        margin-bottom: 30px;
    }
    .agenda-container-grid {
        order: 1; /* Los eventos van debajo */
    }
}

/* ==========================================================================
   5. AGENDA : EVENTOS
   ========================================================================== */

/* ==========================================================================
   6. PÁGINA DE LOCAL (FICHA TÉCNICA)
   ========================================================================== */
.local-layout-split {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 40px auto;
    gap: 50px;
}

.columna-ficha-tecnica, .columna-eventos-lista {
    flex: 1 1 calc(50% - 25px);
    border: 1px solid #eee;
    min-width: 320px;
}

.columna-ficha-tecnica {
    background-color:#fff;
    padding:40px;
}

.ficha-logo-container img {
    width: auto;
    height: auto;
    margin-bottom: 25px;
}

.titulo-local-sidebar {
    font-size: 2.8rem;
    color: var(--negro);
    line-height: 1.1;
    text-align: center;
}

/* ==========================================================================
   7. SLIDER LOGOS
   ========================================================================== */
.full-width-slider {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #000000;
    overflow: hidden;
    padding: 0;
}

/* Ajuste para evitar scroll horizontal innecesario en el body */
body {
    overflow-x: hidden;
}

.logo-slider {
    background: #000000;
    height: 100px;
    margin: 20px 0;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.logo-slide-track {
    display: flex;
    /* Calculamos el ancho total: (ancho de 1 logo * cantidad total de logos incluyendo duplicados) */
    width: calc(250px * 40); 
    animation: scroll 40s linear infinite;
    justify-content: flex-start; /* Alineación forzada al inicio */
}

.logo-slider img {
    max-width: none; /* Evita que el tema limite el tamaño del logo */
    height: auto;
}

.slide {
    height: 100px;
    width: 250px;
    display: flex;
    align-items: center;
    padding: 15px;
}

.slide img {
    width: 100%;
    /*filter: sepia(100%) hue-rotate(-30deg) saturate(1.2); */
	filter: grayscale(100%); /* Efecto elegante de diseñador */
    transition: filter 0.3s ease;
}

.slide img:hover {
    filter: grayscale(0%); /* El logo recupera su color al pasar el ratón */
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-250px * 5)); } /* La mitad del total de logos */
}








/* ==========================================================================
   8. BANNERS PUBLICITARIOS
   ========================================================================== */
#block-17 { background-color: var(--beige-fondo); padding:0; padding-left:30px; text-align:center;}

/* Contenedor principal del banner */
.banner-pro-container {
    /*position: relative;*/
    padding: 10px 10px 3px 10px;
    border: solid 1px var(--gris-claro);
    max-width: fit-content;
    background-color: var(--beige-fondo);
    text-align: center;
}

/* Etiqueta de "Publicidad" */
.etiqueta-publicidad {
    display: block;
    font-size: 10px;
    color: #999; /* Gris discreto */
    letter-spacing: 1px;
    margin-top: 5px;
    font-family: inherit; /* Usa la misma fuente que tu web */
}

/* Ajuste de la imagen */
.banner-pro-container img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    transition: opacity 0.3s ease;
}

/* Efecto al pasar el ratón (opcional) */
.banner-pro-container img:hover {
    opacity: 0.9;
}

/* Ajuste para móviles */
@media (max-width: 768px) {
    .banner-pro-container {
        margin: 20px 10px;
        padding: 5px;
    }
	#block-17 { display:none; }
}




/* ==========================================================================
   9. AJUSTES PÁGINAS CATEGORIA: CULTURA, VÍNCULOS, ENTREVISTAS
   ========================================================================== */

/* Contenedor principal en 3 columnas */
.cultura-grid-container { 
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 20px;
	background-color: #ffffff; 
}

.cultura-card { margin: 0px !important; padding: 0px !important;
    background: #fafafa;
    transition: transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

.cultura-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 5px rgba(0,0,0,0.10);
}

.cultura-card-inside { margin: 0px !important; padding: 0px !important;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Imagen */
.cultura-card .post-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

/* Título y texto */
.entry-content-container {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.cultura-card h2.entry-title { 
    font-size: 1.2rem;
	line-height:1.3rem;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limita el título a 3 líneas máximo */
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.9em; /* (line-height * 3) */
}


.cultura-card h2.entry-title a { margin: 0px !important; padding: 0px !important;
    color: var(--rojo-gl);
    text-decoration: none;
}

.cultura-card .entry-summary a{ margin: 0px !important; padding: 0px !important;
    font-size: 0.9rem;
	color: var(--negro);
    margin-bottom: 15px;
	text-decoration: none;margin-top: 0px !important;
}

.cultura-card .entry-summary a:hover {
    color: var(--gris-medio);
}

.cultura-card .entry-summary{ margin-top:0 !important;  padding-top:0 !important;  }
.entry-meta { font-size: 75%; }

/* Estilo para la categoría/sección encima del título */
.entry-category-top {
    margin-bottom: 10px; /* Espacio respecto al título */
}
.entry-category-top a {
    color: var(--rojo-gl); /* Tu color rojo */
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.entry-category-top a:hover {
    opacity: 0.7;
    color: #f10430;
}
/* Opcional: Si quieres añadir el pequeño círculo rojo al 50% antes del nombre */
.entry-category-top::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #f1043080; /* Rojo al 50% */
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}

.pregunta { color: var(--rojo-gl);}
/* añadir el pequeño círculo rojo al 50% antes del texto*/
.pregunta::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #f1043080; /* Rojo al 50% */
    border-radius: 50%;
    margin-right: 16px;
    vertical-align: middle;
}

/* Ajuste imagen destacada en pantallas grandes */
@media (min-width: 1025px) {
    .page-header-image-single {
		  align-items:center;
		  background-position:50%;
		  box-sizing:border-box;
		  display:flex;
		  justify-content:center;
		  max-height:430px;
		  overflow:hidden;
		  overflow:clip;
		  position:relative;
	}
}

/* Ajuste para móviles (1 columna) y tablets (2 columnas) */
@media (max-width: 1024px) {
    .cultura-grid-container { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .cultura-grid-container { grid-template-columns: 1fr; }
}


/* ==========================================================================
   COMENTARIOS
   ========================================================================== */

H3.comment-reply-title {
	font-size: 1rem; margin:10px 0 10px 0; 
}
.comment-form {
	font-size: 0.9rem;
}

.comment-form p{
	margin:0 0 10px 0; 
}

.comments-title {font-size: 1rem; }
.comment-content { padding:10px; }



/* ==========================================================================
   LIBROS: copiado de
   ========================================================================== */
.libros-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
.libro-card {
    background: #fff;
    padding: 15px;
	border: solid 1px  var(--gris-medio);
}


.libro-imagen {
	margin-bottom:10px;
	text-align:center;
}

.libro-imagen img {
	border-radius: 0;
	border: solid 1px  var(--negro);
}

.libro-card h3.libro-titulo {
    font-size: 1.0rem;
	line-height:1.1rem;
	text-align:center;
    /*display: -webkit-box;
    -webkit-line-clamp: 3; /* Limita el título a 3 líneas máximo *
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.3em; /* (line-height * 3) */
	margin-bottom:10px !important;
	padding-bottom:0 !important;
}
.libro-card H4.wp-block-heading{
	font-size: 0.8rem;
	line-height:0.9rem;
	letter-spacing: 0; 
	margin-bottom:10px !important;
}
.libro-cuerpo p {
    font-size: 0.8rem;
	line-height:0.9rem;
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}

.wp-block-group-is-layout-constrained {
	line-height:1.1rem; 
	padding: 10px 0 0 0 !important;
	margin: 10px 0 3px 0;
	border-top: solid 1px var(--gris-medio);
}
.wp-block-group-is-layout-constrained p{
	line-height:1.1rem; 
}


.dato-item {
	color: var(--gris-medio);
	font-size: 0.9rem;	
}

.bot_libro{
	font-size: 0.9rem; 
	text-transform:uppercase;
	justify-content: center;
	color: var(--beige-fondo) !important;
    padding: 2px !important;
    width: 260px;
    background-color: var(--negro) !important;
	min-height:12px;
    margin: 3px 0 0 0;
}

.bot_libro:hover {
    background-color: var(--rojo-gl) !important;
    color: var(--blanco) !important;
    transform: translateY(-2px);
}

.pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
	font-size: 0.9rem; 
    margin-top: 30px;
}

.pagination a {
    text-decoration: none;
    color: var(--gris-medio);
    padding: 4px 7px;
    border: 1px solid var(--gris-medio);
    border-radius: 2px;
    transition: all 0.3s ease;
}

.pagination a.btn-num.active {
    background-color: var(--beige-fondo);
    color: white;
    border-color: var(--gris-medio);
    font-weight: bold;
	padding: 4px 7px;
}

.pagination a:hover:not(.active) {
    background-color: var(--gris-claro);
    border-color: #bbb;
	color: var(--gris-oscuro);
}

.pagination .btn-nav {
    background-color: var(--gris-claro);
    font-weight: 500;
}

.pagination .current {
    font-weight: bold;
	padding: 4px 7px;
	color: var(--gris-oscuro);
}


/* ==========================================================================
   AVISO CONSENTIMIENTO DE EDAD
   ========================================================================== */
	
/* Contenedor principal que bloquea la vista */
body.dg-lock-scroll #page, 
body.dg-lock-scroll .site-header, 
body.dg-lock-scroll .site-footer {
    filter: blur(8px); /* Ajusta los px para más o menos desenfoque */
    transition: filter 0.4s ease;
    pointer-events: none; /* Evita que se pueda hacer clic en el fondo */
}
#dg-age-gate-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Fondo casi opaco */
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
    padding: 20px;
}

/* El cuadro del modal */
.dg-age-gate-modal {
    background: #1a1a1a;
    color: #ffffff;
    padding: 40px;
    max-width: 500px;
    width: 100%;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border: 1px solid #333;
}

.dg-age-gate-modal h2 {
    color: #ff4757; /* Un rojo sutil para advertencia */
    margin-bottom: 20px;
    font-size: 28px;
}

.dg-age-gate-body p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.dg-legal-text {
    font-size: 12px !important;
    color: #888;
    margin-top: 20px;
}

.dg-legal-text a {
    color: #bbb;
    text-decoration: underline;
}

/* Botones */
.dg-age-gate-footer {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

#dg-btn-confirm {
    background-color: #ff4757;/* rojo sutil */
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
    text-transform: uppercase;
    transition: background 0.3s;
}

#dg-btn-confirm:hover {
    background-color: #47FF93;/* verde */
	color: #333;
}

#dg-btn-exit {
    color: #888;
    text-decoration: none;
    font-size: 14px;
}

#dg-btn-exit:hover {
    color: #fff;
}

/* Clase para bloquear el scroll del fondo */
body.dg-lock-scroll {
    overflow: hidden !important;
}




/* ==========================================================================
   WOOCOMMERCE
   ========================================================================== */
	.woocommerce-form-login { border-radius: 0 !important;	}
	.woocommerce-breadcrumb { display:none; visibility:hidden; }
	.wc-block-components-product-image__inner-container{ width: 300px;}
	.woocommerce-product-details__short-description{ font-size:1rem; }
	/* SIDEBAR DERECHO */
	#right-sidebar {background-color: var(--beige-fondo);}
.right-sidebar .inside-right-sidebar { background-color: var(--beige-fondo, #f9f7f2) !important; height: 100%; }
.right-sidebar .widget { background-color: transparent !important; /* Para que hereden el fondo del contenedor */}
.site-content { display: flex; }/*  toda la columna del sidebar llegue hasta abajo con ese color */
.widget_products { border:solid 1px var(--gris-medio, #8a7f61); }
.product_list_widget li{ border-bottom:solid 1px var(--gris-claro, #c9c4b7); }
	.single-product .related.products { display: none !important; }/* Ocultar sección de productos relacionados */
 	.ppcp-recaptcha-v2-container, .product_meta { display:none; visibility:hidden;} /* oculto SKU y categoria*/
	.nota-envio-revista {
		display: block;
		clear: both;
		padding-top: 15px;
		font-size: 0.85rem;
		line-height: 1.4;
	}
	/** DESCARGA DE REVISTAS DENTRO DE PRODUCTO **/
	/* Estilo del botón dentro de la descripción */
	.boton-descarga-revista {
		background-color: var(--rojo-gl) !important;
		color: #ffffff !important;
		padding: 12px 24px !important;
		text-decoration: none !important;
		display: inline-flex !important;
		border-radius: 0 !important;
		font-weight: bold !important;
		transition: background 0.3s ease;
		border: none !important;
	}
	.boton-descarga-revista:hover {
		background-color: #000000 !important;
		color: #ffffff !important;
	}
	/* OCULTAR ÚNICAMENTE EL ERROR DE DOWNLOAD MONITOR */
	/* Buscamos el div de error específico del plugin para no ocultar los de WooCommerce */
	.dlm-error, 
	div[class*="dlm-error"],
	.download-monitor-error {
		display: none !important;
		visibility: hidden !important;
	}



/* ==========================================================================
   PIE
   ========================================================================== */
/* Ajustar tamaño de iconos sociales en GeneratePress */
.wp-block-social-links svg {
    width: 30px !important;
    height: 30px !important;
}
/* Si usas los iconos integrados en el menú o widgets */
.gp-icon svg {
    width: 1.2em; /* Puedes usar px o em para que sea relativo al texto */
    height: 1.2em;
    top: 0.125em; /* Ajuste fino de alineación vertical */
    position: relative;
}


/* ==========================================================================
   AJUSTES FINALES RESPONSIVE (SMARTPHONES)
   ========================================================================== */
	
/* PANTALLAS GRANDES */
@media (min-width: 1025px) {
	.woocommerce-form-login {
		max-width: 90% !important;
		width: 100% !important;
		margin: 0 auto !important;
	}
	/* Seleccionamos el contenedor principal de la ficha de producto */
    .single-product div.product {
        max-width: 80% !important; /* El 60% central deja un 20% a cada lado */
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important; /* Asegura que el centrado funcione */
    }
    .single-product div.product {
        display: flex !important;
        flex-wrap: wrap;
        gap: 4%;
    }
    /* Ajuste para que la galería de imágenes y el sumario no se amontonen */
    .woocommerce-product-gallery { width: 48% !important; }
    .summary { width: 48% !important; }
    */
	
}

/* PANTALLAS TABLET */
@media (max-width: 1024px) {
    body{ font-size: 1rem; }
	.wp-block-latest-comments__comment-meta, .wp-block-latest-comments__comment-meta a{ /* ultimos comentarios */
		font-size:0.9rem; line-height: 1; }
	.wp-block-latest-comments__comment{
		font-size:1rem; line-height: 1; }
	.fecha_home{ font-size:0.7rem; }
	.titulo-filtro-desktop {display:none;}
}

/* PANTALLAS MÓVIL */
@media (max-width: 768px) {
	h2.home-fiestas{font-size: 1rem; }
	.local-layout-split { flex-direction: column; }
    .evento-card { flex-direction: column; }
    .evento-imagen {
        width: 100% !important;
        height: 250px;
        flex: 0 0 250px;
    }
    .evento-titulo { font-size: 1.6rem; }
	#banner_pantalla_peq {display: block ;}
	H3.tx_banner_revista_1 {font-size:2.0rem; font-style:normal; font-weight:200; color: var(--rojo-gl); }
	.tx_banner_revista_2 {font-size:1.2rem; line-height:1.4rem !important; font-weight:400 !important; padding-bottom:20px;}
	
}