/* =========================================================================
   FinalExplicado - Archivo/listado y busqueda (dark premium editorial).
   Se carga en archivos, busqueda y paginas de listado global (body.archive /
   body.fe-listado-page). Autocontenido: redefine las
   primitivas (.fe-card, .fe-grid, .fe-btn...) porque home.css/single.css no se
   cargan aqui. Sin librerias ni fuentes externas (system font stack).
   ========================================================================= */

:root {
	--fe-bg: #070a10;
	--fe-bg-2: #0a0e16;
	--fe-surface: #10141c;
	--fe-surface-2: #121722;
	--fe-surface-alt: #151a24;
	--fe-border: #252b36;
	--fe-border-soft: #1b212c;
	--fe-text: #f5f5f7;
	--fe-muted: #a6abb8;
	--fe-primary: #a970ff;
	--fe-primary-2: #7c4dff;
	--fe-accent: #ff8aa8;
	--fe-radius: 16px;
	--fe-radius-sm: 10px;
	--fe-maxw: 1240px;
	--fe-gap: 28px;
	--fe-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

html {
	scroll-behavior: smooth;
}

/* ---- Base oscura solo en archivos/busqueda ---- */
body.archive,
body.search {
	background: var(--fe-bg);
	color: var(--fe-text);
	font-family: var(--fe-font);
}

body.archive #page,
body.archive #content,
body.archive .site-content,
body.archive .ast-container,
body.search #page,
body.search #content,
body.search .site-content,
body.search .ast-container {
	background: transparent;
	max-width: none;
	padding: 0;
	margin: 0;
}

body.archive #primary,
body.archive .ast-row,
body.archive .content-area,
body.search #primary,
body.search .ast-row,
body.search .content-area {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
}

body.archive .site-content > .ast-container,
body.search .site-content > .ast-container,
.ast-narrow-container.archive .site-content > .ast-container,
.ast-narrow-container.search .site-content > .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block !important;
}

body.archive .fe-archive-page,
body.search .fe-archive-page {
	width: 100%;
	flex: 1 1 100%;
}

/* ---- Paginas de Equipo (/equipo y /equipo/{slug}) ----
   Son rewrites propios (no son is_archive), por lo que no reciben body.archive
   y el contenedor de Astra las encajonaba. Replicamos el mismo full-bleed: el
   hero ocupa todo el ancho y el contenido se reduce con .fe-container interno. */
body.fe-team-page {
	background: var(--fe-bg);
	color: var(--fe-text);
	font-family: var(--fe-font);
}

body.fe-team-page #page,
body.fe-team-page #content,
body.fe-team-page .site-content,
body.fe-team-page .ast-container,
body.fe-team-page #primary,
body.fe-team-page .ast-row,
body.fe-team-page .content-area {
	background: transparent;
	max-width: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

/* La cabecera tambien usa .ast-container: la regla anterior (sin !important)
   deja que #masthead .ast-container conserve su max-width y siga centrada. */

body.fe-team-page .site-content > .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block !important;
}

body.fe-team-page .fe-archive-page {
	width: 100%;
	flex: 1 1 100%;
}

.fe-archive-page h1,
.fe-archive-page h2,
.fe-archive-page h3,
.fe-archive-page h4 {
	color: var(--fe-text);
}

/* ---- Header de Astra: oscuro, sticky con blur (igual que Home/single) ---- */
body.archive header.site-header,
body.archive #masthead,
body.search header.site-header,
body.search #masthead {
	position: sticky;
	top: 0;
	z-index: 99;
	background: rgba(10, 14, 22, 0.82);
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid var(--fe-border);
	box-shadow: none;
}

body.archive #masthead .ast-main-header-wrap,
body.archive #masthead .main-header-bar,
body.archive #masthead .ast-primary-header-bar,
body.search #masthead .ast-main-header-wrap,
body.search #masthead .main-header-bar,
body.search #masthead .ast-primary-header-bar {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.archive #masthead .site-title,
body.archive #masthead .site-description,
body.archive #masthead .ast-site-title-wrap,
body.search #masthead .site-title,
body.search #masthead .site-description,
body.search #masthead .ast-site-title-wrap {
	display: none !important;
}

body.archive #masthead .ast-builder-menu .menu-link,
body.archive #masthead .main-header-menu .menu-link,
body.search #masthead .ast-builder-menu .menu-link,
body.search #masthead .main-header-menu .menu-link {
	color: var(--fe-text) !important;
}

body.archive #masthead .ast-builder-menu .menu-link:hover,
body.archive #masthead .ast-builder-menu .current-menu-item > a,
body.search #masthead .ast-builder-menu .menu-link:hover,
body.search #masthead .ast-builder-menu .current-menu-item > a {
	color: var(--fe-primary) !important;
}

body.archive #masthead .menu-toggle,
body.archive #masthead svg,
body.search #masthead .menu-toggle,
body.search #masthead svg {
	color: var(--fe-text) !important;
	fill: var(--fe-text);
	background: transparent !important;
}

body.archive #masthead .custom-logo-link img,
body.archive #masthead .custom-logo,
body.search #masthead .custom-logo-link img,
body.search #masthead .custom-logo {
	max-height: 70px;
	width: auto;
}

/* ---- Footer de Astra en oscuro para coherencia ---- */
body.archive .site-footer,
body.archive #colophon,
body.search .site-footer,
body.search #colophon {
	background: var(--fe-bg) !important;
	border-top: 1px solid var(--fe-border-soft);
	color: var(--fe-muted);
}

body.archive .site-footer a,
body.search .site-footer a {
	color: var(--fe-muted);
}

body.archive .site-footer a:hover,
body.search .site-footer a:hover {
	color: var(--fe-primary);
}

/* =============================== Primitivas =============================== */
.fe-container {
	width: 100%;
	max-width: var(--fe-maxw);
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}

.fe-dot {
	opacity: .6;
}

.fe-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
	cursor: pointer;
}

.fe-btn--primary {
	background: linear-gradient(135deg, var(--fe-primary) 0%, var(--fe-primary-2) 100%);
	color: #fff;
	box-shadow: 0 8px 24px rgba(169, 112, 255, 0.28);
}

.fe-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(169, 112, 255, 0.42);
	color: #fff;
}

.fe-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fe-badge--accent {
	background: rgba(169, 112, 255, 0.16);
	color: #d6bdff;
	border: 1px solid rgba(169, 112, 255, 0.4);
}

.fe-media {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--fe-surface-2);
}

.fe-media__img,
.fe-media__fallback {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fe-media__fallback {
	position: absolute;
	inset: 0;
}

.fe-media .fe-media__img {
	transition: transform .4s ease;
}

/* =============================== Layout =============================== */
.fe-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	padding-block: 40px 56px;
}

.fe-main {
	min-width: 0;
}

/* =============================== Hero archivo =============================== */
.fe-arc-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--fe-border);
	background:
		radial-gradient(900px 360px at 12% -30%, rgba(169, 112, 255, 0.20), transparent 70%),
		radial-gradient(800px 320px at 90% -40%, rgba(255, 138, 168, 0.12), transparent 70%),
		var(--fe-bg-2);
}

.fe-arc-hero__glow {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(7, 10, 16, 0.4) 100%);
	pointer-events: none;
}

.fe-arc-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding-block: 52px 44px;
}

.fe-arc-hero__title {
	margin: 0;
	font-size: clamp(28px, 4.2vw, 46px);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.fe-arc-hero__desc {
	margin: 0;
	max-width: 720px;
	color: var(--fe-muted);
	font-size: clamp(15px, 1.6vw, 18px);
	line-height: 1.6;
}

/* =============================== Autor =============================== */
.fe-author-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--fe-border);
	background:
		radial-gradient(760px 340px at 18% -20%, rgba(169, 112, 255, 0.24), transparent 72%),
		radial-gradient(680px 300px at 86% 0%, rgba(255, 138, 168, 0.13), transparent 70%),
		var(--fe-bg-2);
}

.fe-author-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 148px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	padding-block: 54px 48px;
}

.fe-author-hero__avatar {
	position: relative;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	padding: 4px;
	background: linear-gradient(135deg, var(--fe-primary), var(--fe-accent));
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34);
}

.fe-author-hero__img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	display: block;
	object-fit: cover;
	border: 4px solid var(--fe-bg-2);
	background: var(--fe-surface);
}

.fe-author-hero__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.fe-author-hero__title {
	margin: 0;
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1;
	font-weight: 850;
	letter-spacing: -0.04em;
}

.fe-author-hero__role {
	margin: 0;
	color: #d6bdff;
	font-weight: 700;
	font-size: clamp(16px, 1.8vw, 20px);
}

.fe-author-hero__bio {
	margin: 0;
	max-width: 760px;
	color: var(--fe-muted);
	font-size: clamp(15px, 1.6vw, 18px);
	line-height: 1.65;
}

.fe-author-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 6px;
}

.fe-author-hero__stats span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.10);
	color: var(--fe-muted);
	font-size: 13px;
}

.fe-author-hero__stats strong {
	color: var(--fe-text);
}

.fe-author-section-head {
	margin-bottom: 22px;
	padding: 22px;
	border-radius: var(--fe-radius);
	border: 1px solid var(--fe-border);
	background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}

.fe-author-section-head h2 {
	margin: 0 0 8px;
	font-size: 24px;
}

.fe-author-section-head p {
	margin: 0;
	color: var(--fe-muted);
	line-height: 1.6;
}

.fe-author-card__list {
	margin: 0;
	display: grid;
	gap: 16px;
}

.fe-author-card__list div {
	padding-top: 16px;
	border-top: 1px solid var(--fe-border-soft);
}

.fe-author-card__list div:first-child {
	padding-top: 0;
	border-top: 0;
}

.fe-author-card__list dt {
	margin: 0 0 5px;
	color: var(--fe-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.fe-author-card__list dd {
	margin: 0;
	color: var(--fe-text);
	font-size: 15px;
	line-height: 1.65;
}

/* =============================== Buscador / filtros =============================== */
.fe-filters {
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 24px;
}

.fe-filters__search {
	display: flex;
	gap: 12px;
}

.fe-filters__input {
	flex: 1 1 auto;
	min-width: 0;
	background: var(--fe-bg-2);
	border: 1px solid var(--fe-border);
	border-radius: 999px;
	color: var(--fe-text);
	font-size: 16px;
	font-family: inherit;
	padding: 13px 20px;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.fe-filters__input::placeholder {
	color: var(--fe-muted);
}

.fe-filters__input:focus {
	border-color: var(--fe-primary);
	box-shadow: 0 0 0 3px rgba(169, 112, 255, 0.18);
}

.fe-filters__submit {
	flex: 0 0 auto;
}

.fe-filters__row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.fe-select {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 150px;
	flex: 1 1 160px;
}

.fe-select__label {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--fe-muted);
	font-weight: 700;
	padding-left: 4px;
}

.fe-select select {
	appearance: none;
	-webkit-appearance: none;
	background: var(--fe-bg-2);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius-sm);
	color: var(--fe-text);
	font-size: 14px;
	font-family: inherit;
	line-height: 10px;
	padding: 11px 36px 11px 14px;
	cursor: pointer;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a6abb8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	transition: border-color .18s ease;
}

.fe-select select:focus {
	outline: none;
	border-color: var(--fe-primary);
}

.fe-select select option {
	background: var(--fe-surface);
	color: var(--fe-text);
}

.fe-filters__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.fe-chip-filter {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--fe-bg-2);
	border: 1px solid var(--fe-border);
	color: var(--fe-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.fe-chip-filter:hover {
	border-color: var(--fe-primary);
	color: var(--fe-text);
}

.fe-chip-filter.is-active {
	background: linear-gradient(135deg, var(--fe-primary), var(--fe-primary-2));
	border-color: transparent;
	color: #fff;
}

/* =============================== Resumen =============================== */
.fe-arc-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.fe-arc-summary__count {
	margin: 0;
	color: var(--fe-muted);
	font-size: 14px;
}

.fe-arc-summary__clear {
	color: var(--fe-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.fe-arc-summary__clear:hover {
	color: var(--fe-primary);
}

/* =============================== Grids / Cards =============================== */
.fe-grid {
	display: grid;
	gap: var(--fe-gap);
}

.fe-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 40px;
}

.fe-grid--feature {
	grid-template-columns: 1fr;
	margin-bottom: var(--fe-gap);
}

.fe-card {
	display: flex;
	flex-direction: column;
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius);
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.fe-card:hover {
	transform: translateY(-4px);
	border-color: rgba(169, 112, 255, 0.5);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.fe-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
}

.fe-card:hover .fe-card__media .fe-media__img {
	transform: scale(1.05);
}

.fe-card__badge {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 2;
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: #fff;
	background: rgba(7, 10, 16, 0.7);
	border: 1px solid rgba(169, 112, 255, 0.5);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.fe-card__score {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 2;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	color: #ffdf7e;
	background: rgba(7, 10, 16, 0.72);
	border: 1px solid rgba(255, 223, 126, 0.35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.fe-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px 20px;
}

.fe-card__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--fe-muted);
	font-size: 13px;
}

.fe-card__title {
	margin: 0;
	font-size: 17px;
	line-height: 1.35;
	font-weight: 700;
}

.fe-card__title a {
	color: var(--fe-text);
	text-decoration: none;
}

.fe-card__title a:hover {
	color: var(--fe-primary);
}

.fe-card__excerpt {
	margin: 0;
	color: var(--fe-muted);
	font-size: 14px;
	line-height: 1.55;
}

/* Card destacada (primer resultado, pagina 1 sin busqueda) ocupa fila completa */
.fe-grid--feature .fe-card--big {
	flex-direction: row;
}

.fe-grid--feature .fe-card--big .fe-card__media {
	flex: 0 0 54%;
	aspect-ratio: 16 / 9;
}

.fe-grid--feature .fe-card--big .fe-card__body {
	justify-content: center;
	padding: 28px 32px;
	gap: 14px;
}

.fe-grid--feature .fe-card--big .fe-card__title {
	font-size: clamp(20px, 2.2vw, 26px);
}

/* =============================== Paginacion =============================== */
.fe-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 8px;
}

.fe-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: var(--fe-radius-sm);
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	color: var(--fe-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.fe-pagination a.page-numbers:hover {
	border-color: var(--fe-primary);
	color: var(--fe-primary);
}

.fe-pagination .page-numbers.current {
	background: linear-gradient(135deg, var(--fe-primary), var(--fe-primary-2));
	border-color: transparent;
	color: #fff;
}

.fe-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	color: var(--fe-muted);
}

/* =============================== Estado vacio =============================== */
.fe-empty {
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius);
	padding: 40px 28px;
	text-align: center;
}

.fe-empty__title {
	margin: 0 0 10px;
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 800;
}

.fe-empty__text {
	margin: 0 0 20px;
	color: var(--fe-muted);
	font-size: 15px;
}

.fe-empty__alt {
	margin-top: 36px;
	text-align: left;
}

.fe-empty__alt-title {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 800;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fe-border-soft);
}

/* =============================== Sidebar =============================== */
.fe-sidebar {
	display: flex;
	flex-direction: column;
	gap: 28px;
	align-self: start;
	position: sticky;
	top: 88px;
}

.fe-box {
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius);
	padding: 22px;
}

.fe-box__title {
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 800;
}

.fe-trend {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fe-trend__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 12px 0;
	border-top: 1px solid var(--fe-border-soft);
}

.fe-trend__item:first-child {
	border-top: none;
	padding-top: 0;
}

.fe-trend__num {
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	background: linear-gradient(135deg, var(--fe-primary), var(--fe-primary-2));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	min-width: 22px;
}

.fe-trend__link {
	color: var(--fe-text);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.fe-trend__link:hover {
	color: var(--fe-primary);
}

.fe-tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.fe-tagcloud__item {
	display: inline-flex;
	align-items: center;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--fe-bg-2);
	border: 1px solid var(--fe-border);
	color: var(--fe-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease;
}

.fe-tagcloud__item:hover {
	border-color: var(--fe-primary);
	color: var(--fe-text);
}

/* =============================== Anuncios =============================== */
.fe-ad {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: var(--fe-surface-2);
	border: 1px dashed var(--fe-border);
	border-radius: var(--fe-radius);
	padding: 14px;
}

.fe-ad__label {
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--fe-muted);
}

.fe-ad__slot {
	width: 100%;
	background:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.02) 0, rgba(255, 255, 255, 0.02) 12px, transparent 12px, transparent 24px);
	border-radius: var(--fe-radius-sm);
}

.fe-ad__slot--mpu {
	height: 250px;
	max-width: 300px;
	margin-inline: auto;
}

/* Slot con banner real: la imagen fluye a su proporcion nativa (responsive).
   El alto fijo del formato solo aplica al placeholder vacio (reserva anti-CLS);
   con banner real, los atributos width/height de la imagen reservan el alto. */
.fe-ad__slot--filled {
	display: block;
	overflow: hidden;
	background: none;
	height: auto;
}

.fe-ad__link {
	display: block;
	width: 100%;
	height: auto;
}

.fe-ad__img {
	display: block;
	width: 100%;
	height: auto;
}

/* =============================== Responsive =============================== */
@media (max-width: 1024px) {
	.fe-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.fe-sidebar {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.fe-author-hero__inner {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
	}

	.fe-author-hero__body {
		align-items: center;
	}

	.fe-author-hero__stats {
		justify-content: center;
	}

	.fe-grid--2 {
		grid-template-columns: 1fr;
	}

	.fe-grid--feature .fe-card--big {
		flex-direction: column;
	}

	.fe-grid--feature .fe-card--big .fe-card__media {
		flex: none;
		width: 100%;
	}

	.fe-grid--feature .fe-card--big .fe-card__body {
		padding: 16px 18px 20px;
	}

	.fe-sidebar {
		grid-template-columns: 1fr;
	}

	.fe-filters__search {
		flex-direction: column;
	}

	.fe-filters__submit {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.fe-select {
		flex: 1 1 100%;
	}
}

/* =============================== Equipo editorial =============================== */
/* El indice de equipo no tiene avatar: forzamos una sola columna para que el
   cuerpo no quede comprimido en la columna de 148px del layout con avatar. */
.fe-author-hero__inner--center {
	grid-template-columns: 1fr;
	justify-items: center;
	text-align: center;
}

.fe-author-hero__inner--center .fe-author-hero__body {
	align-items: center;
	max-width: 760px;
	margin-inline: auto;
}

/* Breadcrumb del perfil de editor (archive.css no traia estos estilos, por lo
   que los enlaces "Inicio / Equipo" salian con el azul por defecto). */
.fe-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	color: var(--fe-muted);
	margin: 0;
}

.fe-breadcrumb a {
	color: var(--fe-muted);
	text-decoration: none;
}

.fe-breadcrumb a:hover {
	color: var(--fe-primary);
}

.fe-breadcrumb__sep {
	opacity: 0.5;
}

.fe-btn--ghost {
	background: transparent;
	color: var(--fe-text);
	border: 1px solid var(--fe-border);
	margin-top: 16px;
	width: 100%;
}

.fe-btn--ghost:hover {
	border-color: rgba(169, 112, 255, 0.6);
	color: var(--fe-primary);
}

.fe-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fe-team-grid {
	padding-block: 44px 56px;
}

.fe-team-card {
	background: var(--fe-surface);
	border: 1px solid var(--fe-border);
	border-radius: var(--fe-radius);
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.fe-team-card:hover {
	transform: translateY(-4px);
	border-color: rgba(169, 112, 255, 0.5);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.fe-team-card__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 28px 24px 24px;
	text-decoration: none;
	height: 100%;
	box-sizing: border-box;
}

.fe-team-card__avatar {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(169, 112, 255, 0.4);
	margin-bottom: 6px;
}

.fe-team-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.fe-team-card__name {
	margin: 0;
	font-size: 20px;
	color: var(--fe-text);
}

.fe-team-card__role {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--fe-primary);
}

.fe-team-card__bio {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fe-text-muted, #9aa3b2);
}

.fe-team-card__cta {
	margin-top: auto;
	padding-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--fe-primary);
}

@media (max-width: 900px) {
	.fe-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.fe-grid--3 {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}
