/*
Theme Name: CEDLAS
Template: generatepress
Description: Tema hijo de GeneratePress que reproduce el diseño del sitio anterior (Patti).
Version: 1.3.10
Text Domain: cedlas
*/

/*
 * Colores, fuentes y tamaños base se configuran en Apariencia > Personalizar (GeneratePress);
 * los valores por defecto están en functions.php. Acá solo va lo propio de CEDLAS, siempre con
 * las variables de GeneratePress (--contrast, --contrast-2, --accent, --base, --base-2, --oscuro...)
 * para que un cambio de color en el Personalizador llegue a todos los componentes.
 */

body { overflow-x: hidden; background-color: var(--base-3); }
h1, h2, h3, h4, h5, h6 { margin-bottom: 15px; }
/* Como en Patti, el tamaño del h1 del tema gana sobre el CSS propio de cada página (cedlas_css) */
.entry-content h1 { font-size: 28px; }
strong, b { font-weight: 700; }
.inside-article a { text-decoration: none; }
.entry-content p a strong, .entry-content p strong a { color: var(--contrast); }
/* Sobre bandas de color o imágenes el texto (y sus enlaces) lo define el bloque */
.entry-content .has-background a, .entry-content .wp-block-cover a { color: inherit; }

/* ---- Cabecera ---- */
.site-header {
	box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .site-header { top: 32px; }
.inside-header { padding: 15px 20px; }
.site-logo img, .header-image { max-height: 52px; width: auto; }

.main-navigation .main-nav ul li a { line-height: 50px; padding: 0 14px; }
.main-navigation .main-nav ul ul li a {
	line-height: 20px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--base-2);
}
.main-navigation ul ul { box-shadow: 0 4px 12px rgba(0, 0, 0, .1); width: 240px; }

/* Selector de idioma de Polylang: cuadros ES / EN como en Patti */
.main-navigation .main-nav ul li.lang-item > a {
	display: inline-block;
	line-height: 22px;
	margin: 14px 2px;
	padding: 0 6px;
	background: var(--oscuro);
	color: var(--base-3);
	font-size: 0;
}
.main-navigation .main-nav ul li.lang-item > a img { display: none; }
.main-navigation .main-nav ul li.lang-item-es > a::after { content: "ES"; font-size: 13px; font-weight: 400; }
.main-navigation .main-nav ul li.lang-item-en > a::after { content: "EN"; font-size: 13px; font-weight: 400; }
.main-navigation .main-nav ul li.lang-item > a:hover,
.main-navigation .main-nav ul li.current-lang > a { background: var(--accent); color: var(--base-3); }

.cedlas-redes { display: flex; align-items: center; gap: 12px; margin-left: 14px; }
.cedlas-redes a { color: var(--contrast-3); display: flex; }
.cedlas-redes a:hover { color: var(--accent); }

/* ---- Contenido ---- */
.one-container .site-content { padding: 0 20px 40px; }
.one-container.page .site-content { padding-top: 0; }
.entry-content > *:first-child { margin-top: 0; }
.entry-header .entry-title { text-transform: uppercase; text-align: center; margin: 30px 0 20px; }
.single .entry-header .entry-title { text-transform: none; text-align: left; font-size: 24px; }

/* Bandas de ancho completo (filas con fondo de WPBakery) */
.entry-content .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.entry-content .wp-block-group.has-background { padding: 10px 20px; margin-bottom: 0; }
.entry-content .wp-block-image.alignfull { margin-bottom: 0; }
.entry-content .wp-block-image.alignfull img { width: 100%; }
.entry-content .wp-block-group.alignfull > *,
.entry-content .wp-block-group.alignfull > .wp-block-group__inner-container { max-width: 1130px; margin-left: auto; margin-right: auto; }
/* Filas con imagen de fondo (Cover): el contenido alineado como en las bandas de color */
.entry-content .wp-block-cover.alignfull { padding: 25px 20px; }
.entry-content .wp-block-cover.alignfull > .wp-block-cover__inner-container { max-width: 1130px; margin-left: auto; margin-right: auto; }
.entry-content .wp-block-group.alignfull > .wp-block-image,
.entry-content .wp-block-group.alignfull > .wp-block-gallery { max-width: none; }

/* Título de sección (dt-section-title de Patti) */
.cedlas-titulo-seccion {
	text-align: center;
	text-transform: uppercase;
	font-size: 32px;
	line-height: 40px;
	margin: 10px 0 25px;
}
.cedlas-titulo-seccion::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin: 12px auto 0;
	background: var(--accent);
}
.cedlas-subtitulo-seccion { text-align: center; font-size: 17px; }

.wp-block-columns { gap: 30px; margin-bottom: 0; }
.wp-block-image { margin-bottom: 10px; }
.wp-block-image img { height: auto; }
.wp-block-gallery.has-nested-images { gap: 8px; }

/* Diapositivas y carruseles (antes Revolution Slider) */
.wp-block-cover.cedlas-diapositiva { min-height: 140px; padding: 20px 24px; align-items: flex-start; }
.wp-block-cover.cedlas-diapositiva p { margin-bottom: 6px; font-size: 14px; line-height: 20px; }
.wp-block-cover.cedlas-diapositiva:not(.cedlas-diapositiva--panel) p:nth-of-type(2) { font-weight: 600; color: var(--contrast); }
.wp-block-cover.cedlas-diapositiva .wp-block-image img { max-width: 420px; }

/* Cabeceras con panel translúcido a la izquierda e imagen a la derecha (portada y secciones) */
.wp-block-cover.cedlas-diapositiva--panel { padding: 0; min-height: 260px; align-items: stretch; }
/* Como en Patti, la cabecera ocupa todo el ancho de la ventana */
.entry-content > .wp-block-cover.cedlas-diapositiva--panel {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
	max-width: 100vw;
	margin-bottom: 25px;
}
.wp-block-cover.cedlas-diapositiva--panel > .wp-block-cover__inner-container { display: flex; width: 100%; max-width: none; }
.cedlas-diapositiva__columnas { gap: 0; width: 100%; margin: 0; align-items: stretch; }
.cedlas-diapositiva__columnas > .wp-block-column:first-child { padding-left: 8%; }
.cedlas-panel { height: 100%; margin: 0; padding: 30px 40px; display: flex; align-items: center; }
/* El bloque (logo + texto) va centrado dentro del panel, con el texto alineado a la izquierda */
.cedlas-panel { justify-content: center; }
.cedlas-panel > .wp-block-group__inner-container { width: auto; max-width: 560px; margin: 0 auto; }
.cedlas-panel p { color: #0a0a0a; font-style: italic; font-weight: 400; font-size: 15px; line-height: 26px; margin: 8px 0 0; }
.cedlas-panel .wp-block-image { margin-bottom: 0; }
.cedlas-diapositiva__titulo { color: var(--accent); font-size: 56px; line-height: 1.1; font-weight: 600; text-transform: uppercase; margin: 0; }
.cedlas-diapositiva__columnas > .wp-block-column:last-child { display: flex; align-items: center; justify-content: center; overflow: hidden; }
/* Alto fijo de la cabecera; la imagen de la derecha (mapa) es un poco más alta y la columna la
   recorta, como en el original */
.wp-block-cover.cedlas-diapositiva--panel { min-height: 280px; }
.cedlas-diapositiva--panel .cedlas-diapositiva__columnas { height: 280px; }
.cedlas-diapositiva__columnas > .wp-block-column:last-child .wp-block-image { margin: 0; height: 125%; flex-shrink: 0; }
.cedlas-diapositiva__columnas > .wp-block-column:last-child img { height: 100%; width: auto; max-width: none; max-height: none; }
/* Cabeceras de sección (con título de texto): su mapa es más ancho, entra completo sin agrandar */
.cedlas-diapositiva--panel:has(.cedlas-diapositiva__titulo) .wp-block-column:last-child .wp-block-image { height: auto; flex-shrink: 1; }
.cedlas-diapositiva--panel:has(.cedlas-diapositiva__titulo) .wp-block-column:last-child img { height: auto; max-height: 260px; max-width: 100%; }
/* Con temas clásicos el grupo envuelve las diapositivas en .wp-block-group__inner-container */
.cedlas-carrusel > .wp-block-group__inner-container > :not(:first-child) { display: none; }
.cedlas-carrusel--activo > .wp-block-group__inner-container > :first-child { display: none; }
.cedlas-carrusel--activo > .wp-block-group__inner-container > .es-visible { display: flex; animation: cedlas-aparecer .6s ease; }
.cedlas-carrusel--activo > .wp-block-group__inner-container > figure.es-visible { display: block; }
@keyframes cedlas-aparecer { from { opacity: 0; } to { opacity: 1; } }

/* Portada: sección Novedades. Tarjetas con los últimos documentos de trabajo ([cedlas_novedades]) y
   avisos manuales (grupos "cedlas-novedad": 1er párrafo = etiqueta, 2º = título, el resto = detalle) */
.cedlas-novedades__titulo {
	font-size: 18px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 10px 0 18px;
}
/* Abajo de la grilla de botones (wp cedlas novedades --posicion=abajo): más aire arriba */
.wp-block-columns + .cedlas-novedades__titulo { margin-top: 45px; }
.cedlas-novedades__titulo::after {
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	margin-top: 8px;
	background: var(--accent);
}
.cedlas-novedades { margin-bottom: 40px; }
/* GeneratePress les da 40px de relleno a todos los grupos */
.site-main :is(.cedlas-novedades, .cedlas-novedad) > .wp-block-group__inner-container { padding: 0; max-width: none; }
.cedlas-novedades > .wp-block-group__inner-container { display: grid; gap: 30px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .cedlas-novedades > .wp-block-group__inner-container { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cedlas-novedades > .wp-block-group__inner-container { grid-template-columns: repeat(3, 1fr); } }
/* El bloque de shortcode envuelve su salida en <p>: que no ocupen lugar en la grilla */
.cedlas-novedades > .wp-block-group__inner-container > p,
.cedlas-novedades__auto { display: contents; }
.cedlas-novedad {
	position: relative;
	margin: 0;
	padding: 20px 22px;
	background: var(--base-2);
	border-top: 3px solid var(--accent);
	transition: box-shadow .2s ease, transform .2s ease;
}
.cedlas-novedad:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .1); transform: translateY(-2px); }
.cedlas-novedad a { color: inherit; }
.cedlas-novedad a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta es el enlace */
.cedlas-novedad:hover :is(.cedlas-novedad__titulo, p:nth-child(2)) { color: var(--accent); }
.cedlas-novedad p { margin: 0 0 6px; font-size: 13px; line-height: 19px; color: var(--contrast-2); }
.cedlas-novedad :is(.cedlas-novedad__etiqueta, .wp-block-group__inner-container > p:first-child) {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 8px;
}
.cedlas-novedad :is(.cedlas-novedad__titulo, .wp-block-group__inner-container > p:nth-child(2)) {
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	color: var(--contrast);
	margin: 0 0 8px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.cedlas-novedad :is(.cedlas-novedad__autores, .wp-block-group__inner-container > p:nth-child(n+3)) {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* Botones (vc_btn): los colores y la fuente vienen de Personalizar > Colores/Tipografía > Botones */
.entry-content .wp-block-button__link { border-radius: 3px; padding: 8px 14px; text-decoration: none; }
.wp-block-buttons { margin-bottom: 10px; }

/* Acordeones (vc_tta_accordion / vc_toggle) */
.wp-block-details {
	border: 1px solid var(--base);
	background: var(--base-2);
	border-radius: 3px;
	margin-bottom: 10px;
}
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 8px 14px 8px 38px;
	position: relative;
	text-transform: uppercase;
	font-size: 14px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::before {
	content: "+";
	position: absolute;
	left: 16px;
	top: 6px;
	font-size: 18px;
	font-weight: 400;
}
.wp-block-details[open] summary::before { content: "−"; }
.wp-block-details[open] { background: var(--base-3); }
.wp-block-details > :not(summary) { padding: 0 20px; }

/* Buscador */
.wp-block-search__inside-wrapper { border: 0; }
.wp-block-search__input { border: 1px solid var(--base); padding: 10px 14px; }
.wp-block-search__button { margin-left: 0; }

/* Listados de entradas ([cedlas_listado], antes dt-blog-grid) */
.cedlas-listado__item { border-bottom: 1px solid var(--base); padding: 16px 0 12px; }
.cedlas-listado__titulo { font-size: 13px; line-height: 20px; font-weight: 600; margin: 0 0 4px; }
.cedlas-listado__titulo a { color: var(--contrast); }
.cedlas-listado__titulo a:hover { color: var(--accent); }
.cedlas-listado__resumen { font-size: 14px; }
.cedlas-listado__resumen p { margin-bottom: 4px; }
.entry-content .cedlas-listado__resumen .wp-block-button__link { font-size: 11px; padding: 4px 10px; }

/* Íconos de Font Awesome usados en el contenido (<i class="fa fa-phone">): SVG propios, sin cargar la librería */
.entry-content .fa {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .35em;
	vertical-align: -0.125em;
	background-color: currentColor;
	-webkit-mask: var(--cedlas-icono) center / contain no-repeat;
	mask: var(--cedlas-icono) center / contain no-repeat;
}
.entry-content .fa-map-marker { --cedlas-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.entry-content .fa-phone { --cedlas-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.entry-content .fa-envelope-o { --cedlas-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5zm2 2v.4l7 4.6 7-4.6V7H5zm14 2.8-7 4.6-7-4.6V17h14V9.8z'/%3E%3C/svg%3E"); }
.entry-content .fa-envelope { --cedlas-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5zm2 2v.4l7 4.6 7-4.6V7H5zm14 2.8-7 4.6-7-4.6V17h14V9.8z'/%3E%3C/svg%3E"); }

/* ---- Pie (colores en Personalizar > Colores > Pie) ---- */
.inside-site-info { padding: 25px 20px; }

@media (max-width: 768px) {
	.cedlas-titulo-seccion { font-size: 24px; line-height: 30px; }
	.cedlas-redes { margin-left: 0; }
	.wp-block-column[style*="flex-basis"]:empty { display: none; }
	.cedlas-diapositiva__columnas > .wp-block-column:last-child { display: none; }
	.cedlas-diapositiva--panel .cedlas-diapositiva__columnas { height: auto; }
	.cedlas-diapositiva__columnas > .wp-block-column:first-child { padding-left: 0; }
	.cedlas-diapositiva__titulo { font-size: 34px; }
}
