/*
Theme Name:   IDAFISAD – Astra Child
Theme URI:    https://idafisad.ugr.es
Description:  Child theme of Astra para el sitio web del grupo de investigación IDAFISAD (Universidad de Granada).
Author:       IDAFISAD
Author URI:   https://idafisad.ugr.es
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  astra-idafisad
Tags:         research, university, sports-science
*/

/* ================================================================
   FUENTE DE MARCA: LEMON MILK light
   Descarga en: https://www.dafont.com/es/lemon-milk.font
   Coloca el archivo .woff2 (y .woff) en:
   /wp-content/themes/astra-idafisad/assets/fonts/
   ================================================================ */

@font-face {
	font-family: 'Lemon Milk';
	src: url('assets/fonts/LemonMilk-light.woff2') format('woff2'),
	     url('assets/fonts/LemonMilk-light.woff')  format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lemon Milk';
	src: url('assets/fonts/LemonMilk-regular.woff2') format('woff2'),
	     url('assets/fonts/LemonMilk-regular.woff')  format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* ================================================================
   VARIABLES DE LA PALETA IDAFISAD
   Fuente: manual de identidad visual IDAFISAD (2024)
   ================================================================ */

:root {
	/* Colores primarios (valores oficiales del manual) */
	--idafisad-coral:        #DD4563;
	--idafisad-teal:         #4497AC;
	--idafisad-teal-light:   #81CAD3;

	/* Colores de apoyo */
	--idafisad-white:        #FFFFFF;
	--idafisad-dark:         #1A1D2E;
	--idafisad-gray:         #4A4A4A;
	--idafisad-gray-light:   #F4F6F8;
	--idafisad-gray-border:  #DDE2E8;

	/* Degradados */
	--idafisad-gradient-main:      linear-gradient(135deg, #DD4563 0%, #4497AC 100%);
	--idafisad-gradient-secondary: linear-gradient(135deg, #4497AC 0%, #81CAD3 100%);
	--idafisad-gradient-full:      linear-gradient(135deg, #DD4563 0%, #4497AC 50%, #81CAD3 100%);
	--idafisad-gradient-hero:      linear-gradient(135deg, rgba(221,69,99,0.92) 0%, rgba(68,151,172,0.92) 60%, rgba(129,202,211,0.88) 100%);

	/* Tipografía — LEMON MILK light es la fuente oficial de marca */
	--idafisad-font-brand:   'Lemon Milk', 'Raleway', Arial, sans-serif;
	--idafisad-font-heading: 'Lemon Milk', 'Raleway', Arial, sans-serif;
	--idafisad-font-body:    'Open Sans', 'Lato', Arial, sans-serif;

	/* Espaciado */
	--idafisad-section-pad: 80px 0;
	--idafisad-radius:      10px;
	--idafisad-radius-lg:   20px;
}

/* ================================================================
   CORRECCIÓN DE LAYOUT — ASTRA COMPATIBILITY
   Fuerza las secciones IDAFISAD a apilarse verticalmente y
   ocupar el ancho completo, anulando cualquier flex/grid de Astra.
   ================================================================ */

/* Full-width: elimina restricciones de contenedor de Astra en estas plantillas */
.page-template-page-nuestro-grupo #content.site-content,
.page-template-page-nuestro-grupo .ast-container,
.page-template-page-personas #content.site-content,
.page-template-page-personas .ast-container,
.page-template-page-proyectos #content.site-content,
.page-template-page-proyectos .ast-container,
.page-template-page-servicios #content.site-content,
.page-template-page-servicios .ast-container,
.page-template-page-eventos #content.site-content,
.page-template-page-eventos .ast-container,
.page-template-page-noticias #content.site-content,
.page-template-page-noticias .ast-container,
.page-template-page-publicaciones #content.site-content,
.page-template-page-publicaciones .ast-container,
.page-template-page-colaboraciones #content.site-content,
.page-template-page-colaboraciones .ast-container,
.page-template-page-contacto #content.site-content,
.page-template-page-contacto .ast-container,
.page-template-page-inicio #content.site-content,
.page-template-page-inicio .ast-container,
.page-template-page-proximamente #content.site-content,
.page-template-page-proximamente .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
	display: block !important;
}

/* Hero versión corta para páginas interiores */
.idafisad-hero--short {
	min-height: 320px;
}

/* Cada sección ocupa todo el ancho y se apila */
.idafisad-breadcrumb,
.idafisad-hero,
.idafisad-stats,
.idafisad-section,
.idafisad-institutional,
.idafisad-cta-final {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	clear: both;
	float: none;
}

/* CRÍTICO: el atributo [hidden] debe anular siempre cualquier display.
   Sin esto, el filtro JS no puede ocultar secciones ni tarjetas. */
[hidden] {
	display: none !important;
}

/* ================================================================
   TIPOGRAFÍA BASE
   ================================================================ */

body {
	font-family: var(--idafisad-font-body);
	color: var(--idafisad-gray);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--idafisad-font-heading);
	color: var(--idafisad-dark);
}

/* ================================================================
   SECCIÓN HERO IDAFISAD
   ================================================================ */

.idafisad-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--idafisad-dark);
}

.idafisad-hero__bg {
	position: absolute;
	inset: 0;
	background-image: var(--idafisad-gradient-hero);
	z-index: 1;
}

.idafisad-hero__bg-img {
	position: absolute;
	inset: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0.45;
}

.idafisad-hero__content {
	position: relative;
	z-index: 2;
	max-width: 860px;
	padding: 60px 40px;
	color: var(--idafisad-white);
}

.idafisad-hero__badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: var(--idafisad-white);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 50px;
	margin-bottom: 20px;
}

.idafisad-hero__h1 {
	font-family: var(--idafisad-font-heading);
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 800;
	color: var(--idafisad-white);
	line-height: 1.2;
	margin: 0 0 20px;
}

.idafisad-hero__desc {
	font-size: 1.1rem;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.7;
	max-width: 640px;
	margin: 0 0 32px;
}

.idafisad-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ================================================================
   BOTONES
   ================================================================ */

.idafisad-btn {
	display: inline-block;
	padding: 13px 28px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 0.92rem;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
	cursor: pointer;
	letter-spacing: 0.02em;
}

.idafisad-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,0.18);
	text-decoration: none;
}

/* Quita el anillo azul del navegador; usa uno del color de marca en navegación por teclado */
.idafisad-btn:focus {
	outline: none;
	text-decoration: none;
}

.idafisad-btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.idafisad-btn--primary {
	background: var(--idafisad-white);
	color: var(--idafisad-coral);
}

.idafisad-btn--primary:hover {
	color: var(--idafisad-teal);
}

.idafisad-btn--outline {
	background: transparent;
	color: var(--idafisad-white);
	border: 2px solid rgba(255,255,255,0.7);
}

.idafisad-btn--outline:hover {
	background: rgba(255,255,255,0.12);
	border-color: var(--idafisad-white);
	color: var(--idafisad-white);
}

.idafisad-btn--coral {
	background: var(--idafisad-gradient-main);
	color: var(--idafisad-white);
}

.idafisad-btn--teal {
	background: var(--idafisad-gradient-secondary);
	color: var(--idafisad-white);
}

/* Outline sobre fondo claro (tarjetas, secciones blancas) */
.idafisad-btn--outline-coral {
	background: transparent;
	color: var(--idafisad-coral);
	border: 2px solid var(--idafisad-coral);
}

.idafisad-btn--outline-coral:hover {
	background: rgba(221, 69, 99, 0.06);
	color: var(--idafisad-coral);
}

.idafisad-btn--outline-teal {
	background: transparent;
	color: var(--idafisad-teal);
	border: 2px solid var(--idafisad-teal);
}

.idafisad-btn--outline-teal:hover {
	background: rgba(68, 151, 172, 0.06);
	color: var(--idafisad-teal);
}

/* ================================================================
   BARRA DE ESTADÍSTICAS
   ================================================================ */

.idafisad-stats {
	background: var(--idafisad-gradient-full);
	padding: 36px 0;
}

.idafisad-stats__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

.idafisad-stats__item {
	flex: 1;
	min-width: 200px;
	text-align: center;
	color: var(--idafisad-white);
	padding: 16px 24px;
	border-right: 1px solid rgba(255,255,255,0.3);
}

.idafisad-stats__item:last-child {
	border-right: none;
}

.idafisad-stats__number {
	display: block;
	font-family: var(--idafisad-font-heading);
	font-size: 2.8rem;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 6px;
}

.idafisad-stats__label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.9;
}

/* ================================================================
   SECCIONES DE CONTENIDO
   ================================================================ */

.idafisad-section {
	padding: var(--idafisad-section-pad);
}

.idafisad-section--alt {
	background: var(--idafisad-gray-light);
}

.idafisad-container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

.idafisad-section__header {
	text-align: center;
	margin-bottom: 56px;
}

.idafisad-section__eyebrow {
	display: inline-block;
	background: var(--idafisad-gradient-main);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.idafisad-section__h2 {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 16px;
	line-height: 1.25;
}

.idafisad-section__lead {
	font-size: 1.1rem;
	color: var(--idafisad-gray);
	max-width: 680px;
	margin: 0 auto;
	line-height: 1.75;
}

/* ================================================================
   BLOQUE QUIÉNES SOMOS (dos columnas)
   ================================================================ */

.idafisad-who {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.idafisad-who__text h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--idafisad-teal);
	margin-bottom: 16px;
}

.idafisad-who__text p {
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 20px;
}

.idafisad-who__image {
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(68,151,172,0.2);
}

.idafisad-who__image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Acento de color en la imagen */
.idafisad-who__image-wrapper {
	position: relative;
}

.idafisad-who__image-wrapper::before {
	content: '';
	position: absolute;
	top: -12px;
	left: -12px;
	right: 12px;
	bottom: 12px;
	background: var(--idafisad-gradient-main);
	border-radius: var(--idafisad-radius-lg);
	z-index: -1;
	opacity: 0.3;
}

/* ================================================================
   MISIÓN Y VISIÓN
   ================================================================ */

.idafisad-mission {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.idafisad-mission__card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius-lg);
	padding: 40px 36px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.07);
	border-top: 4px solid transparent;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.idafisad-mission__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.11);
}

.idafisad-mission__card--mision {
	border-top-color: var(--idafisad-coral);
}

.idafisad-mission__card--vision {
	border-top-color: var(--idafisad-teal);
}

.idafisad-mission__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	font-size: 1.4rem;
}

.idafisad-mission__icon--coral {
	background: linear-gradient(135deg, rgba(221,69,99,0.15), rgba(221,69,99,0.05));
	color: var(--idafisad-coral);
}

.idafisad-mission__icon--teal {
	background: linear-gradient(135deg, rgba(68,151,172,0.15), rgba(68,151,172,0.05));
	color: var(--idafisad-teal);
}

.idafisad-mission__h3 {
	font-size: 1.3rem;
	font-weight: 800;
	margin-bottom: 14px;
	color: var(--idafisad-dark);
}

.idafisad-mission__text {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--idafisad-gray);
}

/* ================================================================
   VALORES (grid de tarjetas)
   ================================================================ */

.idafisad-values {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px;
}

.idafisad-values__card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius);
	padding: 36px 28px;
	text-align: center;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.idafisad-values__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgba(68,151,172,0.18);
}

.idafisad-values__icon-wrap {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--idafisad-gradient-main);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	font-size: 1.5rem;
	color: var(--idafisad-white);
}

/* Variantes de color para los iconos de valores */
.idafisad-values__card:nth-child(2) .idafisad-values__icon-wrap {
	background: var(--idafisad-gradient-secondary);
}

.idafisad-values__card:nth-child(3) .idafisad-values__icon-wrap {
	background: linear-gradient(135deg, #4497AC, #DD4563);
}

.idafisad-values__card:nth-child(4) .idafisad-values__icon-wrap {
	background: var(--idafisad-gradient-full);
}

.idafisad-values__h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin-bottom: 10px;
}

.idafisad-values__text {
	font-size: 0.92rem;
	color: var(--idafisad-gray);
	line-height: 1.7;
}

/* ================================================================
   BLOQUE INSTITUCIONAL UGR
   ================================================================ */

.idafisad-institutional {
	background: var(--idafisad-dark);
	color: var(--idafisad-white);
	padding: 60px 0;
}

.idafisad-institutional__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.idafisad-institutional__logos {
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}

.idafisad-institutional__logo img {
	height: 60px;
	width: auto;
	opacity: 0.9;
}

.idafisad-institutional__text h3 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--idafisad-white);
	margin-bottom: 8px;
}

.idafisad-institutional__text p {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.7);
	max-width: 480px;
	line-height: 1.65;
}

/* ================================================================
   CTA FINAL
   ================================================================ */

.idafisad-cta-final {
	background: var(--idafisad-gradient-main);
	padding: 80px 0;
	text-align: center;
}

.idafisad-cta-final h2 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	color: var(--idafisad-white);
	margin-bottom: 16px;
}

.idafisad-cta-final p {
	font-size: 1.05rem;
	color: rgba(255,255,255,0.88);
	margin-bottom: 36px;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.idafisad-cta-final__buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

/* ================================================================
   BREADCRUMB PERSONALIZADO
   ================================================================ */

.idafisad-breadcrumb {
	background: var(--idafisad-gray-light);
	padding: 12px 0;
	border-bottom: 1px solid var(--idafisad-gray-border);
}

.idafisad-breadcrumb__inner {
	font-size: 0.85rem;
	color: var(--idafisad-gray);
}

.idafisad-breadcrumb__inner a {
	color: var(--idafisad-teal);
	text-decoration: none;
	font-weight: 600;
}

.idafisad-breadcrumb__inner a:hover {
	color: var(--idafisad-coral);
}

.idafisad-breadcrumb__sep {
	margin: 0 8px;
	color: var(--idafisad-gray-border);
}

/* ================================================================
   PÁGINA LÍNEAS DE INVESTIGACIÓN
   ================================================================ */

/* Layout fix para esta plantilla */
.page-template-page-lineas-de-investigacion #content.site-content,
.page-template-page-lineas-de-investigacion .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
	display: block !important;
}

/* Sección de cada línea de investigación */
.idafisad-research-line__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
}

/* Layout invertido: imagen a la derecha */
.idafisad-research-line--reverse .idafisad-research-line__image {
	order: 2;
}
.idafisad-research-line--reverse .idafisad-research-line__content {
	order: 1;
}

/* Imagen */
.idafisad-research-line__image {
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
	position: relative;
}

.idafisad-research-line__image img {
	width: 100%;
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Placeholder si no hay imagen */
.idafisad-research-line__image-placeholder {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4rem;
}

/* Barra de acento de color */
.idafisad-research-line__accent {
	display: inline-block;
	width: 48px;
	height: 4px;
	border-radius: 2px;
	margin-bottom: 16px;
}
.idafisad-research-line__accent--coral      { background: var(--idafisad-coral); }
.idafisad-research-line__accent--teal       { background: var(--idafisad-teal); }
.idafisad-research-line__accent--teal-light { background: var(--idafisad-teal-light); }

/* Eyebrow */
.idafisad-research-line__eyebrow {
	display: block;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.idafisad-research-line__eyebrow--coral      { color: var(--idafisad-coral); }
.idafisad-research-line__eyebrow--teal       { color: var(--idafisad-teal); }
.idafisad-research-line__eyebrow--teal-light { color: var(--idafisad-teal-light); }

/* Títulos */
.idafisad-research-line__h2 {
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 8px;
	line-height: 1.2;
}

.idafisad-research-line__subtitle {
	font-size: 1rem;
	font-weight: 600;
	color: var(--idafisad-teal);
	margin-bottom: 20px;
	line-height: 1.55;
}

.idafisad-research-line__text {
	font-size: 0.95rem;
	color: var(--idafisad-gray);
	line-height: 1.78;
	margin-bottom: 22px;
}

/* Lista de proyectos */
.idafisad-research-line__list-title {
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--idafisad-dark);
	margin-bottom: 12px;
}

.idafisad-research-line__list {
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.idafisad-research-line__list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.92rem;
	color: var(--idafisad-gray);
	line-height: 1.62;
}

.idafisad-research-line__list li::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--idafisad-coral);
	flex-shrink: 0;
	margin-top: 6px;
}

.idafisad-research-line--teal .idafisad-research-line__list li::before {
	background: var(--idafisad-teal);
}

.idafisad-research-line--light .idafisad-research-line__list li::before {
	background: var(--idafisad-teal-light);
}

/* Bloque de ejemplos */
.idafisad-research-line__example {
	background: var(--idafisad-gray-light);
	border-radius: var(--idafisad-radius);
	padding: 16px 20px;
	border-left: 3px solid var(--idafisad-gray-border);
	margin-bottom: 24px;
	font-size: 0.87rem;
	color: var(--idafisad-gray);
	line-height: 1.65;
}

.idafisad-research-line__example strong {
	color: var(--idafisad-dark);
	font-weight: 700;
	display: block;
	margin-bottom: 4px;
}

/* CTAs de cada línea */
.idafisad-research-line__links {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

/* ================================================================
   PÁGINA PERSONAS — FILTRO DE ROLES
   ================================================================ */

.idafisad-filter-bar {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 0 24px 48px;
}

.idafisad-filter-bar__btn {
	padding: 9px 22px;
	border-radius: 50px;
	border: 2px solid var(--idafisad-gray-border);
	background: transparent;
	color: var(--idafisad-gray);
	font-family: var(--idafisad-font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	cursor: pointer;
	transition: all 0.2s ease;
	letter-spacing: 0.04em;
}

.idafisad-filter-bar__btn:hover,
.idafisad-filter-bar__btn.is-active {
	background: linear-gradient(to right, #DD4563 -25%, #4497AC 125%);
	color: var(--idafisad-white);
	border-color: transparent;
}

/* ================================================================
   PÁGINA PERSONAS — TARJETAS DE INVESTIGADORES PRINCIPALES
   ================================================================ */

.idafisad-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 28px;
}

.idafisad-team-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	display: flex;
	flex-direction: column;
}

.idafisad-team-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(68, 151, 172, 0.18);
}

/* Tarjeta oculta por el filtro */
.idafisad-team-card[hidden] {
	display: none;
}

.idafisad-team-card__photo-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	/* El degradado actúa de fondo cuando no hay foto */
	background: var(--idafisad-gradient-secondary);
}

/* Placeholder con iniciales: siempre visible como capa base */
.idafisad-team-card__photo-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--idafisad-gradient-secondary);
	color: var(--idafisad-white);
	font-family: var(--idafisad-font-heading);
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	z-index: 0;
}

/* La foto va encima del placeholder: si no carga, el placeholder queda visible */
.idafisad-team-card__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
	transition: transform 0.3s ease;
	z-index: 1;
}

.idafisad-team-card:hover .idafisad-team-card__photo {
	transform: scale(1.04);
}

.idafisad-team-card__role-badge {
	position: absolute;
	bottom: 12px;
	left: 12px;
	background: var(--idafisad-gradient-main);
	color: var(--idafisad-white);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 5px 12px;
	border-radius: 50px;
}

.idafisad-team-card__body {
	padding: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.idafisad-team-card__name {
	font-family: var(--idafisad-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin: 0 0 4px;
	line-height: 1.3;
}

.idafisad-team-card__title {
	font-size: 0.83rem;
	color: var(--idafisad-teal);
	font-weight: 600;
	margin-bottom: 14px;
}

.idafisad-team-card__bio {
	font-size: 0.9rem;
	color: var(--idafisad-gray);
	line-height: 1.68;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.idafisad-team-card__links {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--idafisad-gray-border);
}

.idafisad-team-card__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--idafisad-teal);
	text-decoration: none;
	padding: 5px 13px;
	border-radius: 50px;
	border: 1.5px solid var(--idafisad-teal);
	transition: all 0.2s ease;
	white-space: nowrap;
}

.idafisad-team-card__link:hover {
	background: var(--idafisad-teal);
	color: var(--idafisad-white);
	text-decoration: none;
}

.idafisad-team-card__link--coral {
	color: var(--idafisad-coral);
	border-color: var(--idafisad-coral);
}

.idafisad-team-card__link--coral:hover {
	background: var(--idafisad-coral);
	color: var(--idafisad-white);
}

/* ================================================================
   PÁGINA PERSONAS — INVESTIGADORES EN FORMACIÓN
   ================================================================ */

.idafisad-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0 36px;
}

.idafisad-topics__tag {
	background: var(--idafisad-white);
	color: var(--idafisad-dark);
	font-size: 0.85rem;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 50px;
	border: 1.5px solid var(--idafisad-gray-border);
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.idafisad-phd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.idafisad-phd-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius);
	padding: 24px 26px;
	border-left: 4px solid var(--idafisad-teal);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s ease;
}

.idafisad-phd-card:hover {
	transform: translateY(-2px);
}

.idafisad-phd-card[hidden] {
	display: none;
}

.idafisad-phd-card__name {
	font-weight: 800;
	font-size: 0.95rem;
	color: var(--idafisad-dark);
	margin: 0 0 6px;
}

.idafisad-phd-card__thesis {
	font-size: 0.88rem;
	color: var(--idafisad-gray);
	line-height: 1.55;
	font-style: italic;
	margin-bottom: 8px;
}

.idafisad-phd-card__director {
	font-size: 0.8rem;
	color: var(--idafisad-teal);
	font-weight: 600;
}

/* ================================================================
   PÁGINA PERSONAS — COLABORADORES
   ================================================================ */

.idafisad-collab-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 18px;
}

.idafisad-collab-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius);
	padding: 20px 24px;
	border-left: 4px solid var(--idafisad-coral);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 3px;
	transition: transform 0.2s ease;
}

.idafisad-collab-card:hover {
	transform: translateY(-2px);
}

.idafisad-collab-card[hidden] {
	display: none;
}

.idafisad-collab-card__name {
	font-weight: 800;
	font-size: 0.95rem;
	color: var(--idafisad-dark);
}

.idafisad-collab-card__institution {
	font-size: 0.82rem;
	color: var(--idafisad-teal);
	font-weight: 600;
}

.idafisad-collab-card__role {
	font-size: 0.82rem;
	color: var(--idafisad-gray);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 900px) {
	.idafisad-who,
	.idafisad-mission,
	.idafisad-research-line__inner {
		grid-template-columns: 1fr;
	}

	/* En móvil, la imagen siempre va primero en todas las líneas */
	.idafisad-research-line--reverse .idafisad-research-line__image,
	.idafisad-research-line--reverse .idafisad-research-line__content {
		order: unset;
	}

	.idafisad-who__image-wrapper {
		order: -1;
	}

	.idafisad-stats__item {
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,0.3);
	}

	.idafisad-stats__item:last-child {
		border-bottom: none;
	}

	.idafisad-institutional__inner {
		flex-direction: column;
		text-align: center;
	}
}

@media (max-width: 600px) {
	:root {
		--idafisad-section-pad: 52px 0;
	}

	.idafisad-hero__content {
		padding: 40px 20px;
	}

	.idafisad-hero__ctas {
		flex-direction: column;
	}

	.idafisad-hero__ctas .idafisad-btn {
		text-align: center;
	}

	.idafisad-values {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 400px) {
	.idafisad-values {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
   PÁGINA PROYECTOS — TARJETAS Y SECCIONES
   ================================================================ */

/* Layout fix para esta plantilla */
.page-template-page-proyectos #content.site-content,
.page-template-page-proyectos .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
	display: block !important;
}

/* Sección de proyectos (activos / finalizados) */
.idafisad-projects-section {
	padding: 48px 0 0;
}

.idafisad-projects-section__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 28px;
}

.idafisad-projects-section__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1.35rem;
	color: var(--idafisad-dark);
	margin: 0;
}

.idafisad-projects-section__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 20px;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--idafisad-white);
}

.idafisad-projects-section__badge--activo {
	background: var(--idafisad-coral);
}

.idafisad-projects-section__badge--finalizado {
	background: var(--idafisad-teal);
}

/* Lista de tarjetas */
.idafisad-projects-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-bottom: 48px;
}

/* Tarjeta de proyecto */
.idafisad-project-card {
	background: var(--idafisad-white);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-left: 5px solid transparent;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	overflow: hidden;
}

.idafisad-project-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
}

.idafisad-project-card--activo {
	border-left-color: var(--idafisad-coral);
}

.idafisad-project-card--finalizado {
	border-left-color: var(--idafisad-teal);
}

.idafisad-project-card__body {
	padding: 28px 32px;
}

.idafisad-project-card__meta-top {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.idafisad-project-card__status {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 20px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.idafisad-project-card__status--activo {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-project-card__status--finalizado {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-project-card__period {
	font-family: var(--idafisad-font-body);
	font-size: 0.82rem;
	color: var(--idafisad-gray);
}

.idafisad-project-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1.05rem;
	color: var(--idafisad-dark);
	margin: 0 0 16px;
	line-height: 1.45;
}

.idafisad-project-card__info {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 5px 16px;
	margin: 0 0 16px;
	font-family: var(--idafisad-font-body);
	font-size: 0.85rem;
	align-items: baseline;
}

.idafisad-project-card__info dt {
	color: var(--idafisad-gray);
	font-weight: 600;
	white-space: nowrap;
}

.idafisad-project-card__info dd {
	color: var(--idafisad-dark);
	margin: 0;
}

.idafisad-project-card__summary {
	font-family: var(--idafisad-font-body);
	font-size: 0.92rem;
	color: var(--idafisad-gray);
	line-height: 1.75;
	margin: 0 0 20px;
}

.idafisad-project-card__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Sección de resumen ejecutivo */
.idafisad-executive-summary {
	background: var(--idafisad-gray-light);
	border-left: 4px solid var(--idafisad-teal-light);
	border-radius: 0 8px 8px 0;
	padding: 24px 28px;
	margin: 40px 0 0;
	font-family: var(--idafisad-font-body);
	font-size: 0.95rem;
	line-height: 1.8;
	color: var(--idafisad-gray);
}

/* Responsive proyectos */
@media (max-width: 600px) {
	.idafisad-project-card__body {
		padding: 20px 18px;
	}

	.idafisad-project-card__info {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.idafisad-project-card__info dt {
		margin-top: 8px;
	}

	.idafisad-project-card__actions {
		flex-direction: column;
	}
}

/* ================================================================
   PÁGINA SERVICIOS — GRID DE TARJETAS
   ================================================================ */

.idafisad-services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	padding: 60px 0;
}

.idafisad-service-card {
	background: var(--idafisad-white);
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
	padding: 36px 32px;
	border-top: 4px solid transparent;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.idafisad-service-card:hover {
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.11);
	transform: translateY(-3px);
}

.idafisad-service-card--coral {
	border-top-color: var(--idafisad-coral);
}

.idafisad-service-card--teal {
	border-top-color: var(--idafisad-teal);
}

.idafisad-service-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	flex-shrink: 0;
	color: var(--idafisad-white);
}

.idafisad-service-card--coral .idafisad-service-card__icon {
	background: linear-gradient(135deg, #DD4563, #e87f97);
}

.idafisad-service-card--teal .idafisad-service-card__icon {
	background: linear-gradient(135deg, #4497AC, #81CAD3);
}

.idafisad-service-card__eyebrow {
	font-family: var(--idafisad-font-heading);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.idafisad-service-card--coral .idafisad-service-card__eyebrow {
	color: var(--idafisad-coral);
}

.idafisad-service-card--teal .idafisad-service-card__eyebrow {
	color: var(--idafisad-teal);
}

.idafisad-service-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1.1rem;
	color: var(--idafisad-dark);
	margin: 0 0 8px;
	line-height: 1.4;
}

.idafisad-service-card__subtitle {
	font-family: var(--idafisad-font-body);
	font-size: 0.82rem;
	font-style: italic;
	color: var(--idafisad-gray);
	margin: 0 0 14px;
}

.idafisad-service-card__desc {
	font-family: var(--idafisad-font-body);
	font-size: 0.92rem;
	color: var(--idafisad-gray);
	line-height: 1.75;
	margin: 0 0 16px;
}

.idafisad-service-card__list-label {
	font-family: var(--idafisad-font-body);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--idafisad-gray);
	margin-bottom: 10px;
}

.idafisad-service-card__list {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	flex: 1;
}

.idafisad-service-card__list li {
	font-family: var(--idafisad-font-body);
	font-size: 0.88rem;
	color: var(--idafisad-gray);
	padding-left: 18px;
	position: relative;
	line-height: 1.6;
	margin-bottom: 8px;
}

.idafisad-service-card__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
}

.idafisad-service-card--coral .idafisad-service-card__list li::before {
	background: var(--idafisad-coral);
}

.idafisad-service-card--teal .idafisad-service-card__list li::before {
	background: var(--idafisad-teal);
}

/* Responsive servicios */
@media (max-width: 900px) {
	.idafisad-services-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 600px) {
	.idafisad-service-card {
		padding: 24px 20px;
	}
}

/* ================================================================
   PÁGINA EVENTOS — TARJETAS Y SECCIONES
   ================================================================ */

/* Lista de próximos eventos (vertical, igual que proyectos) */
.idafisad-events-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 40px 0 0;
}

/* Grid de eventos pasados (2 columnas) */
.idafisad-events-past-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding: 40px 0 48px;
}

/* Tarjeta de evento — comparte estructura con project-card */
.idafisad-event-card {
	background: var(--idafisad-white);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-left: 5px solid transparent;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.idafisad-event-card:hover {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
}

.idafisad-event-card--upcoming {
	border-left-color: var(--idafisad-coral);
}

.idafisad-event-card--past {
	border-left-color: var(--idafisad-teal);
}

.idafisad-event-card__body {
	padding: 24px 28px;
}

.idafisad-events-past-grid .idafisad-event-card__body {
	padding: 20px 22px;
}

/* Badge estado + fecha */
.idafisad-event-card__meta-top {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.idafisad-event-card__status {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 20px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.idafisad-event-card--upcoming .idafisad-event-card__status {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-event-card--past .idafisad-event-card__status {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-event-card__date {
	font-family: var(--idafisad-font-body);
	font-size: 0.82rem;
	color: var(--idafisad-gray);
}

/* Título, metadatos, descripción */
.idafisad-event-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1.05rem;
	color: var(--idafisad-dark);
	margin: 0 0 12px;
	line-height: 1.4;
}

.idafisad-event-card__info {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 5px 16px;
	margin: 0 0 12px;
	font-family: var(--idafisad-font-body);
	font-size: 0.85rem;
	align-items: baseline;
}

.idafisad-event-card__info dt {
	color: var(--idafisad-gray);
	font-weight: 600;
	white-space: nowrap;
}

.idafisad-event-card__info dd {
	color: var(--idafisad-dark);
	margin: 0;
}

.idafisad-event-card__desc {
	font-family: var(--idafisad-font-body);
	font-size: 0.88rem;
	color: var(--idafisad-gray);
	line-height: 1.7;
	margin-bottom: 18px;
}

.idafisad-event-card__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Responsive eventos */
@media (max-width: 900px) {
	.idafisad-events-past-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-event-card__body {
		padding: 18px 16px;
	}

	.idafisad-event-card__info {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.idafisad-event-card__info dt {
		margin-top: 8px;
	}

	.idafisad-event-card__actions {
		flex-direction: column;
	}
}

/* ================================================================
   PÁGINA NOTICIAS — TARJETAS DE NOTICIAS Y BLOG
   ================================================================ */

/* Grid 3 columnas para noticias y blog */
.idafisad-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	padding: 40px 0 60px;
}

/* Tarjeta de noticia */
.idafisad-news-card {
	background: var(--idafisad-white);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.idafisad-news-card:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);
	transform: translateY(-3px);
}

/* Imagen */
.idafisad-news-card__img-wrap {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--idafisad-gray-light);
	position: relative;
	flex-shrink: 0;
}

.idafisad-news-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.idafisad-news-card:hover .idafisad-news-card__img {
	transform: scale(1.04);
}

/* Placeholder cuando no hay imagen destacada */
.idafisad-news-card__img-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--idafisad-gradient-hero);
	font-family: var(--idafisad-font-brand);
	font-size: 1.1rem;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.55);
}

/* Cuerpo de la tarjeta */
.idafisad-news-card__body {
	padding: 18px 20px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.idafisad-news-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

/* Badge de categoría */
.idafisad-news-card__cat {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 20px;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.idafisad-news-card__cat--coral {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-news-card__cat--teal {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-news-card__date {
	font-family: var(--idafisad-font-body);
	font-size: 0.78rem;
	color: var(--idafisad-gray);
}

.idafisad-news-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 0.92rem;
	margin: 0 0 10px;
	line-height: 1.5;
}

.idafisad-news-card__title a {
	color: var(--idafisad-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.idafisad-news-card__title a:hover {
	color: var(--idafisad-coral);
}

.idafisad-news-card__excerpt {
	font-family: var(--idafisad-font-body);
	font-size: 0.84rem;
	color: var(--idafisad-gray);
	line-height: 1.7;
	margin: 0 0 16px;
	flex: 1;
}

/* Placeholder notice (admin) */
.idafisad-news-placeholder-notice {
	background: rgba(68, 151, 172, 0.07);
	border-left: 4px solid var(--idafisad-teal);
	border-radius: 0 8px 8px 0;
	padding: 16px 20px;
	margin-bottom: 32px;
	font-family: var(--idafisad-font-body);
	font-size: 0.85rem;
	color: var(--idafisad-teal);
}

/* Responsive noticias */
@media (max-width: 900px) {
	.idafisad-news-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-news-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* ================================================================
   PÁGINA PUBLICACIONES — TARJETAS Y FILTROS
   ================================================================ */

/* Descripción de sección */
.idafisad-section__desc {
	font-size: 1.05rem;
	color: var(--idafisad-gray);
	max-width: 720px;
	margin: 0 auto;
	line-height: 1.75;
}

/* Barra de filtros de publicaciones */
.idafisad-pub-filters {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 0 24px 24px;
}

.idafisad-pub-filters__label {
	font-family: var(--idafisad-font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--idafisad-gray);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	align-self: center;
	margin-right: 6px;
}

/* Lista de publicaciones */
.idafisad-pub-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Tarjeta de publicación */
.idafisad-pub-card {
	background: var(--idafisad-white);
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	border-left: 4px solid transparent;
	padding: 22px 26px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.idafisad-pub-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.09);
	transform: translateY(-2px);
}

.idafisad-pub-card--articulo {
	border-left-color: var(--idafisad-coral);
}

.idafisad-pub-card--tesis {
	border-left-color: var(--idafisad-teal);
}

.idafisad-pub-card--capitulo {
	border-left-color: var(--idafisad-teal-light);
}

.idafisad-pub-card--congreso {
	border-left-color: var(--idafisad-dark);
}

/* Icono de tipo */
.idafisad-pub-card__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	color: var(--idafisad-white);
}

.idafisad-pub-card--articulo .idafisad-pub-card__icon {
	background: linear-gradient(135deg, #DD4563, #e87f97);
}

.idafisad-pub-card--tesis .idafisad-pub-card__icon {
	background: linear-gradient(135deg, #4497AC, #81CAD3);
}

.idafisad-pub-card--capitulo .idafisad-pub-card__icon {
	background: linear-gradient(135deg, #81CAD3, #b0dfe5);
}

.idafisad-pub-card--congreso .idafisad-pub-card__icon {
	background: linear-gradient(135deg, #1A1D2E, #3a3e56);
}

/* Contenido de la tarjeta */
.idafisad-pub-card__content {
	flex: 1;
	min-width: 0;
}

.idafisad-pub-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}

.idafisad-pub-card__type {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 20px;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.idafisad-pub-card--articulo .idafisad-pub-card__type {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-pub-card--tesis .idafisad-pub-card__type {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-pub-card--capitulo .idafisad-pub-card__type {
	background: rgba(129, 202, 211, 0.15);
	color: #3a8e9e;
}

.idafisad-pub-card--congreso .idafisad-pub-card__type {
	background: rgba(26, 29, 46, 0.08);
	color: var(--idafisad-dark);
}

.idafisad-pub-card__year {
	font-family: var(--idafisad-font-body);
	font-size: 0.78rem;
	color: var(--idafisad-gray);
	font-weight: 600;
}

.idafisad-pub-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 0.95rem;
	color: var(--idafisad-dark);
	margin: 0 0 6px;
	line-height: 1.45;
}

.idafisad-pub-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.idafisad-pub-card__title a:hover {
	color: var(--idafisad-coral);
}

.idafisad-pub-card__authors {
	font-family: var(--idafisad-font-body);
	font-size: 0.82rem;
	color: var(--idafisad-gray);
	line-height: 1.5;
	margin-bottom: 4px;
}

.idafisad-pub-card__journal {
	font-family: var(--idafisad-font-body);
	font-size: 0.82rem;
	color: var(--idafisad-teal);
	font-weight: 600;
	font-style: italic;
}

.idafisad-pub-card__links {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.idafisad-pub-card__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--idafisad-teal);
	text-decoration: none;
	padding: 4px 12px;
	border-radius: 50px;
	border: 1.5px solid var(--idafisad-teal);
	transition: all 0.2s ease;
	white-space: nowrap;
}

.idafisad-pub-card__link:hover {
	background: var(--idafisad-teal);
	color: var(--idafisad-white);
	text-decoration: none;
}

.idafisad-pub-card__link--coral {
	color: var(--idafisad-coral);
	border-color: var(--idafisad-coral);
}

.idafisad-pub-card__link--coral:hover {
	background: var(--idafisad-coral);
	color: var(--idafisad-white);
}

/* Sección de tesis — grid de tarjetas compactas */
.idafisad-thesis-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
	gap: 20px;
}

.idafisad-thesis-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius);
	padding: 24px 26px;
	border-left: 4px solid var(--idafisad-teal);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s ease;
}

.idafisad-thesis-card:hover {
	transform: translateY(-2px);
}

.idafisad-thesis-card__status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 20px;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
}

.idafisad-thesis-card__status--finalizada {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-thesis-card__status--en-curso {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-thesis-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 0.92rem;
	color: var(--idafisad-dark);
	margin: 0 0 8px;
	line-height: 1.4;
}

.idafisad-thesis-card__author {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin-bottom: 4px;
}

.idafisad-thesis-card__director {
	font-size: 0.8rem;
	color: var(--idafisad-teal);
	font-weight: 600;
}

.idafisad-thesis-card__year {
	font-size: 0.78rem;
	color: var(--idafisad-gray);
	margin-top: 6px;
}

/* Estadísticas académicas compactas */
.idafisad-academic-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	margin-bottom: 40px;
}

.idafisad-academic-stat {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius);
	padding: 28px 24px;
	text-align: center;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-top: 3px solid var(--idafisad-teal);
}

.idafisad-academic-stat__number {
	display: block;
	font-family: var(--idafisad-font-heading);
	font-size: 2rem;
	font-weight: 800;
	color: var(--idafisad-teal);
	line-height: 1;
	margin-bottom: 6px;
}

.idafisad-academic-stat__label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--idafisad-gray);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Responsive publicaciones */
@media (max-width: 900px) {
	.idafisad-thesis-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-pub-card {
		flex-direction: column;
		gap: 12px;
		padding: 18px 16px;
	}

	.idafisad-pub-card__icon {
		width: 36px;
		height: 36px;
		font-size: 1rem;
	}

	.idafisad-pub-filters {
		gap: 6px;
	}

	.idafisad-academic-stats {
		grid-template-columns: 1fr 1fr;
	}
}

/* ================================================================
   PÁGINA COLABORACIONES — TARJETAS Y GRILLAS
   ================================================================ */

/* Grilla de colaboradores (logos interactivos) */
.idafisad-collab-logo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
}

.idafisad-collab-logo-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius-lg);
	padding: 32px 28px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
	border-top: 4px solid transparent;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	position: relative;
	overflow: hidden;
}

.idafisad-collab-logo-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgba(68, 151, 172, 0.16);
}

.idafisad-collab-logo-card--coral {
	border-top-color: var(--idafisad-coral);
}

.idafisad-collab-logo-card--teal {
	border-top-color: var(--idafisad-teal);
}

.idafisad-collab-logo-card--teal-light {
	border-top-color: var(--idafisad-teal-light);
}

.idafisad-collab-logo-card--dark {
	border-top-color: var(--idafisad-dark);
}

/* Icono/logo placeholder */
.idafisad-collab-logo-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	font-size: 1.6rem;
	color: var(--idafisad-white);
	flex-shrink: 0;
}

.idafisad-collab-logo-card--coral .idafisad-collab-logo-card__icon {
	background: linear-gradient(135deg, #DD4563, #e87f97);
}

.idafisad-collab-logo-card--teal .idafisad-collab-logo-card__icon {
	background: linear-gradient(135deg, #4497AC, #81CAD3);
}

.idafisad-collab-logo-card--teal-light .idafisad-collab-logo-card__icon {
	background: linear-gradient(135deg, #81CAD3, #b0dfe5);
}

.idafisad-collab-logo-card--dark .idafisad-collab-logo-card__icon {
	background: linear-gradient(135deg, #1A1D2E, #3a3e56);
}

.idafisad-collab-logo-card__name {
	font-family: var(--idafisad-font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin: 0 0 6px;
}

.idafisad-collab-logo-card__type {
	display: inline-block;
	padding: 2px 12px;
	border-radius: 20px;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 12px;
}

.idafisad-collab-logo-card--coral .idafisad-collab-logo-card__type {
	background: rgba(221, 69, 99, 0.10);
	color: var(--idafisad-coral);
}

.idafisad-collab-logo-card--teal .idafisad-collab-logo-card__type {
	background: rgba(68, 151, 172, 0.10);
	color: var(--idafisad-teal);
}

.idafisad-collab-logo-card--teal-light .idafisad-collab-logo-card__type {
	background: rgba(129, 202, 211, 0.15);
	color: #3a8e9e;
}

.idafisad-collab-logo-card--dark .idafisad-collab-logo-card__type {
	background: rgba(26, 29, 46, 0.08);
	color: var(--idafisad-dark);
}

.idafisad-collab-logo-card__desc {
	font-family: var(--idafisad-font-body);
	font-size: 0.88rem;
	color: var(--idafisad-gray);
	line-height: 1.65;
	margin: 0;
}

/* Sección de colaboración detallada (dos columnas texto+visual) */
.idafisad-collab-detail {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

.idafisad-collab-detail--reverse .idafisad-collab-detail__visual {
	order: -1;
}

.idafisad-collab-detail__content h3 {
	font-family: var(--idafisad-font-heading);
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 10px;
}

.idafisad-collab-detail__content p {
	font-size: 0.95rem;
	color: var(--idafisad-gray);
	line-height: 1.78;
	margin: 0 0 18px;
}

.idafisad-collab-detail__accent {
	display: inline-block;
	width: 48px;
	height: 4px;
	border-radius: 2px;
	margin-bottom: 16px;
}

.idafisad-collab-detail__accent--coral      { background: var(--idafisad-coral); }
.idafisad-collab-detail__accent--teal       { background: var(--idafisad-teal); }
.idafisad-collab-detail__accent--teal-light { background: var(--idafisad-teal-light); }

.idafisad-collab-detail__visual {
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.10);
}

.idafisad-collab-detail__visual-placeholder {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
}

.idafisad-collab-detail__visual-placeholder--coral {
	background: linear-gradient(135deg, rgba(221,69,99,0.12), rgba(221,69,99,0.04));
}

.idafisad-collab-detail__visual-placeholder--teal {
	background: linear-gradient(135deg, rgba(68,151,172,0.12), rgba(68,151,172,0.04));
}

.idafisad-collab-detail__visual-placeholder--teal-light {
	background: linear-gradient(135deg, rgba(129,202,211,0.15), rgba(129,202,211,0.05));
}

/* Tarjetas de proyectos conjuntos destacados */
.idafisad-featured-projects {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}

.idafisad-featured-project {
	background: var(--idafisad-white);
	border-radius: 12px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
	padding: 28px 26px;
	border-left: 5px solid transparent;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.idafisad-featured-project:hover {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
}

.idafisad-featured-project--coral {
	border-left-color: var(--idafisad-coral);
}

.idafisad-featured-project--teal {
	border-left-color: var(--idafisad-teal);
}

.idafisad-featured-project--teal-light {
	border-left-color: var(--idafisad-teal-light);
}

.idafisad-featured-project__icon {
	font-size: 1.8rem;
	margin-bottom: 12px;
	display: block;
}

.idafisad-featured-project__name {
	font-family: var(--idafisad-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin: 0 0 6px;
}

.idafisad-featured-project__partner {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--idafisad-teal);
	margin-bottom: 10px;
}

.idafisad-featured-project__desc {
	font-family: var(--idafisad-font-body);
	font-size: 0.9rem;
	color: var(--idafisad-gray);
	line-height: 1.7;
	margin: 0;
}

/* Responsive colaboraciones */
@media (max-width: 900px) {
	.idafisad-collab-detail {
		grid-template-columns: 1fr;
	}

	.idafisad-collab-detail--reverse .idafisad-collab-detail__visual {
		order: unset;
	}

	.idafisad-collab-logo-grid {
		grid-template-columns: 1fr 1fr;
	}

	.idafisad-featured-projects {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-collab-logo-grid {
		grid-template-columns: 1fr;
	}

	.idafisad-collab-logo-card {
		padding: 24px 20px;
	}

	.idafisad-featured-project {
		padding: 22px 18px;
	}
}

/* ================================================================
   PÁGINA CONTACTO
   ================================================================ */

.idafisad-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.idafisad-contact-info {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.idafisad-contact-item {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.idafisad-contact-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--idafisad-white);
}

.idafisad-contact-item__icon--coral {
	background: linear-gradient(135deg, #DD4563, #e87f97);
}

.idafisad-contact-item__icon--teal {
	background: linear-gradient(135deg, #4497AC, #81CAD3);
}

.idafisad-contact-item__icon--dark {
	background: linear-gradient(135deg, #1A1D2E, #3a3e56);
}

.idafisad-contact-item__label {
	font-family: var(--idafisad-font-heading);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--idafisad-gray);
	margin-bottom: 4px;
}

.idafisad-contact-item__value {
	font-family: var(--idafisad-font-body);
	font-size: 1.05rem;
	color: var(--idafisad-dark);
	font-weight: 600;
	line-height: 1.5;
}

.idafisad-contact-item__value a {
	color: var(--idafisad-teal);
	text-decoration: none;
	transition: color 0.2s ease;
}

.idafisad-contact-item__value a:hover {
	color: var(--idafisad-coral);
}

.idafisad-contact-item__note {
	font-size: 0.85rem;
	color: var(--idafisad-gray);
	line-height: 1.6;
	margin-top: 4px;
}

/* Formulario placeholder */
.idafisad-contact-form-placeholder {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius-lg);
	padding: 40px 36px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.07);
	border-top: 4px solid var(--idafisad-coral);
}

.idafisad-contact-form-placeholder__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 8px;
}

.idafisad-contact-form-placeholder__desc {
	font-size: 0.92rem;
	color: var(--idafisad-gray);
	line-height: 1.7;
	margin: 0 0 24px;
}

.idafisad-contact-form-placeholder__field {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: 2px solid var(--idafisad-gray-border);
	border-radius: 8px;
	font-family: var(--idafisad-font-body);
	font-size: 0.92rem;
	margin-bottom: 14px;
	background: var(--idafisad-gray-light);
	color: var(--idafisad-gray);
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.idafisad-contact-form-placeholder__field:focus {
	outline: none;
	border-color: var(--idafisad-teal);
}

textarea.idafisad-contact-form-placeholder__field {
	min-height: 120px;
	resize: vertical;
}

.idafisad-contact-map {
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	margin-top: 40px;
}

.idafisad-contact-map iframe {
	display: block;
	width: 100%;
	height: 360px;
	border: none;
}

@media (max-width: 900px) {
	.idafisad-contact-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-contact-form-placeholder {
		padding: 28px 20px;
	}
}

/* ================================================================
   PÁGINA INICIO (HOME)
   ================================================================ */

/* Hero grande para home */
.idafisad-hero--home {
	min-height: 560px;
}

/* Grid de tarjetas de acceso rápido */
.idafisad-quick-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

.idafisad-quick-card {
	background: var(--idafisad-white);
	border-radius: var(--idafisad-radius-lg);
	padding: 32px 28px;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06);
	border-top: 4px solid transparent;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.idafisad-quick-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgba(68,151,172,0.16);
	text-decoration: none;
}

.idafisad-quick-card--coral  { border-top-color: var(--idafisad-coral); }
.idafisad-quick-card--teal   { border-top-color: var(--idafisad-teal); }

.idafisad-quick-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	color: var(--idafisad-white);
}

.idafisad-quick-card--coral .idafisad-quick-card__icon {
	background: linear-gradient(135deg, #DD4563, #e87f97);
}

.idafisad-quick-card--teal .idafisad-quick-card__icon {
	background: linear-gradient(135deg, #4497AC, #81CAD3);
}

.idafisad-quick-card__title {
	font-family: var(--idafisad-font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: var(--idafisad-dark);
	margin: 0 0 8px;
}

.idafisad-quick-card__desc {
	font-size: 0.85rem;
	color: var(--idafisad-gray);
	line-height: 1.6;
	margin: 0;
}

/* Destacado horizontal */
.idafisad-highlight-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.idafisad-highlight-row__text h3 {
	font-family: var(--idafisad-font-heading);
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 14px;
}

.idafisad-highlight-row__text p {
	font-size: 0.95rem;
	color: var(--idafisad-gray);
	line-height: 1.78;
	margin: 0 0 20px;
}

.idafisad-highlight-row__visual {
	border-radius: var(--idafisad-radius-lg);
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(0,0,0,0.10);
}

.idafisad-highlight-row__visual img {
	width: 100%;
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.idafisad-highlight-row__visual-placeholder {
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(68,151,172,0.12), rgba(129,202,211,0.06));
	font-size: 3.5rem;
}

@media (max-width: 900px) {
	.idafisad-highlight-row {
		grid-template-columns: 1fr;
	}

	.idafisad-quick-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.idafisad-hero--home {
		min-height: 440px;
	}

	.idafisad-quick-grid {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
   PÁGINA PRÓXIMAMENTE
   ================================================================ */

.idafisad-coming-soon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 50vh;
	padding: 80px 24px;
}

.idafisad-coming-soon__icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--idafisad-gradient-main);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	color: var(--idafisad-white);
	font-size: 2rem;
}

.idafisad-coming-soon__title {
	font-family: var(--idafisad-font-heading);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	color: var(--idafisad-dark);
	margin: 0 0 14px;
}

.idafisad-coming-soon__desc {
	font-size: 1.05rem;
	color: var(--idafisad-gray);
	max-width: 520px;
	margin: 0 auto 32px;
	line-height: 1.75;
}

.idafisad-coming-soon__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}
