/* =============================================
   FUENTES AUTO-HOSPEDADAS
   ============================================= */

@font-face {
	font-family: 'iA Writer Mono';
	src: url('../fonts/iAWriterMono-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'iA Writer Mono';
	src: url('../fonts/iAWriterMono-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* =============================================
   VARIABLES Y RESET
   ============================================= */

:root {
	--color-naranja:   #ff6b00;
	--color-cian:      #00e5ff;
	--color-amarillo:  #f5e642;
	--color-fondo:     #252525;
	--color-superficie: #373737;
	--color-texto:     #e8e8e8;
	--color-muted:     #8c8c8c; /* aclarado desde #7a7a7a: contraste 4.5:1 mínimo sobre el nuevo fondo #252525 */

	--font-mono:       'iA Writer Mono', monospace;

	--espacio-seccion: 3rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
	background-color: var(--color-fondo);
	color: var(--color-texto);
	font-family: var(--font-mono);
	line-height: 1.6;
}

a {
	color: var(--color-cian);
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

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

/* Texto solo para lectores de pantalla (skip link, paginación) — oculto hasta recibir foco */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 100;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	background-color: var(--color-fondo);
	color: var(--color-texto);
	font-family: var(--font-mono);
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.75em 1em;
	border: 1px solid var(--color-naranja);
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

/* Tamaño base unificado para párrafos de cuerpo con texto claro
   (entrada individual, intro de portada, "Hacia dónde voy", leyenda de foto) */
.entry-content,
.gds-terminal-body,
.gds-cat-caption {
	font-size: 1.125rem;
}

/* =============================================
   LAYOUT BASE
   ============================================= */

.gds-container {
	width: 100%;
	max-width: 1100px;
	margin-inline: auto;
	padding-inline: 1rem;
}

/* =============================================
   HEADER
   ============================================= */

.gds-site-header {
	background-color: var(--color-fondo);
	padding: 1rem 0 0;
}

.gds-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--color-naranja);
	padding-bottom: 1rem;
}

.gds-site-name {
	font-family: var(--font-mono);
	font-size: 1rem;
	font-weight: bold;
	color: var(--color-naranja);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: 1px solid var(--color-naranja);
	padding: 3px 10px;
}

.gds-site-name a {
	color: inherit;
}

.gds-site-name a:hover,
.gds-site-name a:focus {
	color: var(--color-cian);
}

/* NAV — mobile first */

.gds-nav-toggle {
	display: flex;
	align-items: center;
	background: none;
	border: 1px solid var(--color-naranja);
	color: var(--color-naranja);
	font-family: var(--font-mono);
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	cursor: pointer;
	line-height: 1;
}

.gds-nav-toggle:focus-visible {
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

.gds-main-nav {
	display: none;
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	padding: 0.75rem 0 0.5rem;
}

.gds-main-nav.is-open {
	display: block;
}

.gds-main-nav ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.gds-main-nav a {
	display: block;
	font-family: var(--font-mono);
	font-size: 0.875rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-texto);
	padding: 0.4rem 0;
}

.gds-main-nav a:hover,
.gds-main-nav a:focus {
	color: var(--color-naranja);
}

@media (min-width: 768px) {
	.gds-nav-toggle {
		display: none;
	}

	.gds-main-nav {
		display: flex;
		align-items: center;
		gap: 1.5rem;
		width: auto;
		border-top: none;
		padding: 0;
	}

	.gds-main-nav ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1.5rem;
	}

	.gds-main-nav a {
		display: inline;
		padding: 0;
	}
}

/* =============================================
   FOOTER
   ============================================= */

.gds-site-footer {
	padding: 0 0 2rem;
	/* margin-top eliminado: el gap viene del margin-bottom de la última sección de cada página */
}

.gds-footer-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	padding-top: 2rem;
}

.gds-footer-copy {
	font-size: 0.8125rem;
	color: var(--color-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Switcher de idioma */
.gds-language-switcher {
	display: flex;
	gap: 4px;
}

.gds-lang-link {
	border: 1px solid #444;
	color: #8c8c8c;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	text-decoration: none;
}

.gds-lang-link.is-active {
	background: #ff6b00;
	border-color: #ff6b00;
	color: #0a0a0a;
}

.gds-lang-link:hover,
.gds-lang-link:focus {
	border-color: #ff6b00;
	color: #ff6b00;
}

.gds-lang-link.is-active:hover,
.gds-lang-link.is-active:focus {
	color: #0a0a0a;
}

/* =============================================
   HERO — FRONT PAGE
   ============================================= */

.gds-hero {
	padding-top: 4rem;
	margin-bottom: var(--espacio-seccion);
}

.gds-hero .gds-container {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.gds-wordmark {
	font-family: var(--font-mono);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 0.9;
	letter-spacing: -0.02em;
}

.gds-wordmark__guadua {
	color: var(--color-naranja);
}

.gds-wordmark__studio {
	color: var(--color-cian);
}

.gds-wordmark__punto {
	color: var(--color-naranja);
}

.gds-tagline {
	margin-top: 1.5rem;
	font-family: var(--font-mono);
	font-size: clamp(0.9rem, 2.5vw, 1.125rem);
	color: var(--color-texto);
}

.gds-cursor {
	animation: gds-blink 1s step-end infinite;
}


@keyframes gds-blink {
	0%, 100% { opacity: 1; }
	50%       { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.gds-cursor {
		animation: none;
		opacity: 1;
	}
}

/* Tags de categorías en hero */
.gds-hero-tags {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gds-hero-tag {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.2em 0.5em;
	border: 1px solid currentColor;
}

.gds-hero-tag--naranja {
	color: var(--color-naranja);
}

.gds-hero-tag--cian {
	color: var(--color-cian);
}

.gds-hero-tag:hover,
.gds-hero-tag:focus {
	background-color: var(--color-superficie);
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
	text-decoration: none;
}

/* =============================================
   INTRO — FRONT PAGE
   ============================================= */

.gds-intro {
	margin-bottom: var(--espacio-seccion);
}

.gds-intro .gds-container {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	padding-bottom: 2rem;
}

/* Ventana de terminal — sección intro */
.gds-terminal-window {
	border: 1px solid #333;
}

.gds-terminal-bar {
	background-color: var(--color-superficie);
	padding: 8px 14px;
	border-bottom: 1px solid #333;
}

.gds-terminal-filename {
	font-family: var(--font-mono);
	font-size: 0.6875rem;
	color: #8c8c8c;
}

.gds-terminal-body {
	padding: 18px;
	font-family: var(--font-mono);
	line-height: 1.75;
	color: var(--color-texto);
}

/* Espaciado entre párrafos del intro — mismo valor que .gds-summary-text p */
.gds-intro .gds-terminal-body p {
	margin-bottom: 1.5em;
}

.gds-intro .gds-terminal-body p:last-of-type {
	margin-bottom: 0;
}

.gds-terminal-body p:last-of-type::after {
	content: "_";
	animation: gds-blink 1s step-end infinite;
}

@media (prefers-reduced-motion: reduce) {
	.gds-terminal-body p:last-of-type::after,
	.gds-egg-line:last-child::after {
		animation: none;
		opacity: 1;
	}
}

/* =============================================
   ÚLTIMAS ENTRADAS — FRONT PAGE
   ============================================= */

.gds-posts-section {
	margin-bottom: var(--espacio-seccion);
}

.gds-contact-section {
	margin-bottom: var(--espacio-seccion);
}

.gds-posts-section .gds-container {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.gds-section-title {
	font-family: var(--font-mono);
	font-size: 1.125rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--color-muted);
	margin-bottom: 2rem;
}

.gds-posts-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
	padding-bottom: 2rem;
	margin-bottom: var(--espacio-seccion); /* gap hacia la paginación; reemplaza margin-top de .gds-pagination */
}

.gds-post-card {
	border: 1px solid #333;
	padding: 16px;
}

.gds-post-meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.gds-post-category {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.1em 0.4em;
	border: 1px solid currentColor;
}

.gds-post-card--naranja  .gds-post-category { color: var(--color-naranja); }
.gds-post-card--cian     .gds-post-category { color: var(--color-cian); }
.gds-post-card--amarillo .gds-post-category { color: var(--color-amarillo); }

.gds-post-date {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--color-muted);
}

.gds-post-title {
	font-family: var(--font-mono);
	font-size: clamp(1.125rem, 3vw, 1.5rem);
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 0.5rem;
}

.gds-post-title a {
	color: var(--color-texto);
}

.gds-post-title a:hover,
.gds-post-title a:focus {
	color: var(--color-naranja);
}

.gds-post-excerpt {
	font-family: var(--font-mono);
	font-size: 0.9375rem;
	color: var(--color-muted);
	line-height: 1.6;
	margin-bottom: 0.75rem;
}

.gds-read-more {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-cian);
}

.gds-read-more::after {
	content: ' →';
}

/* =============================================
   CONTACTO — FRONT PAGE
   ============================================= */

.gds-contact-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.gds-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-mono);
	font-size: 0.9375rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-texto);
	border: 1px solid currentColor;
	padding: 0.5em 1em;
	transition: border-color 0.15s, color 0.15s;
}

/* Color por red: borde sigue al color del texto con currentColor */
.gds-contact-link--linkedin { color: var(--color-naranja); }
.gds-contact-link--github   { color: var(--color-cian); }
.gds-contact-link--email    { color: var(--color-amarillo); }

.gds-contact-link:hover,
.gds-contact-link:focus {
	color: var(--color-naranja);
	text-decoration: none;
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

.gds-contact-link svg {
	width: 1.25em;
	height: 1.25em;
	flex-shrink: 0;
	fill: currentColor;
}

/* =============================================
   MENÚ ACTIVO
   ============================================= */

.gds-main-nav .current-menu-item > a {
	color: var(--color-cian);
	border-bottom: 1px solid var(--color-cian);
	padding-bottom: 2px;
}

/* =============================================
   PÁGINA QUIÉN SOY
   ============================================= */

/* Layout general */
.gds-quien-soy {
	padding-top: 3rem;
	padding-bottom: var(--espacio-seccion);
}

.gds-quien-soy .entry-content {
	max-width: Auto;
	font-family: var(--font-mono);
}

/* Cierra la sección "Hacia dónde voy" cuando no hay enlace al blog a continuación */
.gds-quien-soy .entry-content:not(:has(+ .gds-cta-link)) {
	margin-bottom: var(--espacio-seccion);
}

/* Etiquetas de sección h2 */
.gds-quien-soy .gds-section-label {
	font-family: var(--font-mono);
	font-size: 1.125rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--color-muted);
	/* margin-top eliminado: gap viene de margin-bottom del bloque anterior */
	margin-bottom: 1.25rem;
}

/* Skills */
.gds-skills-label {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--color-muted);
	text-transform: lowercase;
	letter-spacing: 0.05em;
	/* margin-top eliminado: gap viene del h2's margin-bottom (1.25rem) */
	margin-bottom: 0.5rem;
}

.gds-skills-group {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem; /* gap al siguiente .gds-skills-label */
}

/* El último grupo antes de un h2 necesita el espacio completo */
.gds-skills-group:has(+ .gds-section-label) {
	margin-bottom: var(--espacio-seccion);
}

.gds-skill-tag {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.2em 0.6em;
	border: 1px solid currentColor;
}

.gds-skill-tag--prod {
	color: var(--color-naranja);
	border-color: var(--color-naranja);
}

.gds-skill-tag--learning {
	color: var(--color-cian);
	border-color: var(--color-cian);
}

/* Tarjeta gato */
.gds-cat-card {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	align-items: flex-start;
	/* margin-top eliminado: gap viene del h2's margin-bottom (1.25rem) */
	margin-bottom: var(--espacio-seccion);
}

.gds-cat-photo-frame {
	border: 3px solid var(--color-naranja);
	flex-shrink: 0;
}

.gds-cat-photo {
	max-width: 280px;
	display: block;
	object-fit: cover;
}

.gds-cat-terminal {
	/*border: 1px solid #333;*/
	padding: 14px 16px;
	flex: 1;
}

.gds-cat-line {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	line-height: 1.8;
}

.gds-cat-line--cyan   { color: var(--color-cian); }
.gds-cat-line--orange { color: var(--color-naranja); }
.gds-cat-line--muted  { color: #8c8c8c; }

.gds-cat-caption {
	font-family: var(--font-mono);
	width: 100%;
	color: #ccc;
	line-height: 1.6;
	margin-top: 0.75rem;
}

/* CTA link */
.gds-cta-link {
	display: inline-block;
	margin-top: 0.75rem;
	margin-bottom: var(--espacio-seccion);
	font-family: var(--font-mono);
	font-size: 0.9375rem;
	font-weight: bold;
	color: var(--color-cian);
	text-transform: lowercase;
}

.gds-cta-link:hover,
.gds-cta-link:focus {
	color: var(--color-naranja);
}

/* =============================================
   BLOG — home.php y archive.php
   ============================================= */

.gds-blog,
.gds-archive {
	padding-top: 3rem;
	padding-bottom: var(--espacio-seccion);
}

/* Filtro de categorías */
.gds-category-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 2rem;
}

.gds-filter-tag {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #999;
	border: 1px solid #444;
	padding: 5px 12px;
	transition: color 0.1s, border-color 0.1s;
}

.gds-filter-tag:hover,
.gds-filter-tag:focus {
	color: var(--color-naranja);
	border-color: var(--color-naranja);
	text-decoration: none;
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

.gds-filter-tag.is-active {
	color: var(--color-naranja);
	border-color: var(--color-naranja);
}

/* Título de archivo de categoría */
.gds-archive-title {
	font-family: var(--font-mono);
	font-size: clamp(1.125rem, 3vw, 1.5rem);
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	color: var(--color-texto);
}

.gds-archive-title span {
	color: var(--color-naranja);
}

/* Paginación — sin margin-top: gap viene del margin-bottom de .gds-posts-list */
.gds-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

.gds-pagination .page-numbers {
	font-family: var(--font-mono);
	font-size: 0.8125rem;
	font-weight: bold;
	color: var(--color-muted);
	border: 1px solid #333;
	padding: 6px 12px;
	min-width: 2.5rem;
	text-align: center;
	transition: color 0.1s, border-color 0.1s;
}

.gds-pagination .page-numbers:hover,
.gds-pagination .page-numbers:focus {
	color: var(--color-naranja);
	border-color: var(--color-naranja);
	text-decoration: none;
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

.gds-pagination .page-numbers.current {
	color: var(--color-cian);
	border-color: var(--color-cian);
}

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

/* Bloque de código Gutenberg (sin librería de resaltado) */
.entry-content pre,
.entry-content .wp-block-code {
	background-color: var(--color-superficie);
	font-family: var(--font-mono);
	font-size: 0.875rem;
	line-height: 1.7;
	padding: 16px;
	overflow-x: auto;
	border: 1px solid #333;
}

.entry-content pre code,
.entry-content .wp-block-code code {
	font-family: inherit;
	font-size: inherit;
	background: none;
	padding: 0;
	color: var(--color-texto);
}

/* =============================================
   EASTER EGGS
   ============================================= */

/* Botón disparador — foto de las gatas */
#gds-cat-trigger {
	display: block;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	line-height: 0; /* elimina hueco inline bajo la imagen */
}

#gds-cat-trigger:focus-visible {
	outline: 2px solid var(--color-cian);
	outline-offset: 2px;
}

/* Pista de UI */
.gds-egg-hint {
	display: block;
	color: #8c8c8c; /* aclarado desde #7a7a7a: ~4.56:1 sobre el nuevo fondo #252525, cumple AA */
	font-size: 11px;
	margin-top: 6px;
}

#gds-easter-egg {
	margin-bottom: var(--espacio-seccion);
}

/* Panel oculto */
#gds-easter-egg[hidden] {
	display: none;
}

#gds-easter-egg .gds-terminal-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	
}

/* Botón cerrar */
#gds-egg-close {
	background: none;
	border: none;
	padding: 0;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--color-muted);
	cursor: pointer;
}

#gds-egg-close:hover,
#gds-egg-close:focus-visible {
	color: var(--color-naranja);
	outline: 2px solid var(--color-naranja);
	outline-offset: 2px;
}

/* Líneas del informe */
.gds-egg-line {
	font-family: var(--font-mono);
	font-size: 1rem;
	line-height: 1.7;
}

/* Contrastes verificados sobre #252525: naranja 5.4:1 AA, cian 10.0:1 AAA, amarillo 11.9:1 AAA, gris 4.6:1 AA */
.gds-egg-line--naranja  { color: var(--color-naranja); }
.gds-egg-line--cian     { color: var(--color-cian); }
.gds-egg-line--amarillo { color: var(--color-amarillo); }
.gds-egg-line--gris     { color: #8c8c8c; }

/* Cursor en la última línea — reutiliza @keyframes gds-blink ya declarado */
.gds-egg-line:last-child::after {
	content: "_";
	animation: gds-blink 1s step-end infinite;
}

/* =============================================
   PÁGINA QUIÉN SOY — TICKER, RESUMEN, CV
   ============================================= */

/* Ticker / marquee */
.gds-marquee-wrap {
	overflow: hidden;
	border-top: 1px solid var(--color-naranja);
	border-bottom: 1px solid var(--color-naranja);
	padding: 10px 0;
	margin-bottom: 30px; /* excepción deliberada: el ticker necesita menos espacio que --espacio-seccion */
}

.gds-marquee-track {
	display: flex;
	width: max-content;
	white-space: nowrap;
	font-family: var(--font-mono);
	font-weight: bold;
	letter-spacing: 1px;
	color: var(--color-cian); /* contraste ~10.0:1 sobre #252525 — pasa AAA */
	animation: gds-marquee 14s linear infinite;
}

.gds-marquee-track:hover {
	animation-play-state: paused;
}

@keyframes gds-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.gds-marquee-track {
		animation: none;
	}
}

/* Bloque de resumen profesional */
.gds-summary-box {
	position: relative;
	border: 1px solid #f5e642;
	padding: 24px;
	margin-bottom: var(--espacio-seccion);
	display: flex;
	gap: 28px;
	align-items: center;
	flex-wrap: wrap;
}

.gds-summary-tag {
	position: absolute;
	top: -12px;
	left: 20px;
	background: var(--color-fondo);
	border: 1px solid #f5e642;
	color: #f5e642; /* contraste ~11.9:1 sobre #252525 — pasa AAA */
	font-size: 11px;
	font-weight: 700;
	padding: 2px 10px;
	transform: rotate(-2deg);
}

.gds-summary-text {
	max-width: 600px;
}

.gds-summary-text p {
	font-family: var(--font-mono);
	font-size: 18px;
	line-height: 1.7;
	color: #e8e8e8;
	margin-bottom: 1.5em;
}

.gds-summary-text p:last-of-type {
	margin-bottom: 0;
}

.gds-summary-image {
	width: 330px;
	object-fit: contain;
	image-rendering: pixelated; /* preserva píxeles al escalar — no suavizar */
	flex-shrink: 0;
}

/* Separador fino entre secciones (mismo valor de línea que .gds-intro .gds-container, .gds-posts-section .gds-container, etc.) */
.gds-section-divider {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	margin-bottom: var(--espacio-seccion);
}

/* Descargar mi CV — invitación con icono pixel art */
.gds-cv-download {
	margin-bottom: var(--espacio-seccion);
}

.gds-cv-download-link {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: nowrap;
	text-decoration: none;
}

.gds-cv-download-icon {
	image-rendering: pixelated; /* preserva píxeles al escalar — no suavizar */
	flex-shrink: 0;
}

.gds-cv-download-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.gds-cv-download-invite {
	font-family: var(--font-mono);
	font-size: 1.125rem;
	color: #e8e8e8;
	margin-bottom: 12px;
}

.gds-cv-download-label {
	color: var(--color-naranja); /* contraste ~5.4:1 sobre #252525 — pasa AA, ya verificado en otros usos */
	font-family: var(--font-mono);
	font-weight: 700;
	font-size: 1.375rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	line-height: 1;
}

.gds-cv-download-link:hover,
.gds-cv-download-link:focus-visible {
	text-decoration: none;
}

.gds-cv-download-link:hover .gds-cv-download-label,
.gds-cv-download-link:focus-visible .gds-cv-download-label {
	color: #ffb27a;
}

@media (max-width: 600px) {
	.gds-cv-download-link {
		flex-wrap: wrap;
	}
}

/* =============================================
   NAV DIVIDER + LANGUAGE SWITCHER EN MÓVIL
   ============================================= */

/* Móvil (columna): divisor horizontal naranja */
.gds-nav-divider {
	width: 100%;
	height: 1px;
	background: #ff6b00;
	margin: 14px 0;
}

/* Móvil: switcher centrado y botones más grandes para touch.
   Especificidad 0,2,0 necesaria para ganar a .gds-main-nav a (0,1,1). */
.gds-main-nav .gds-language-switcher {
	justify-content: center;
}

.gds-main-nav .gds-lang-link {
	display: inline;
	border: 1px solid #444;
	color: #8c8c8c;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	padding: 5px 16px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: normal;
}

.gds-main-nav .gds-lang-link.is-active {
	background: #ff6b00;
	border-color: #ff6b00;
	color: #0a0a0a;
}

.gds-main-nav .gds-lang-link:hover,
.gds-main-nav .gds-lang-link:focus {
	border-color: #ff6b00;
	color: #ff6b00;
}

.gds-main-nav .gds-lang-link.is-active:hover,
.gds-main-nav .gds-lang-link.is-active:focus {
	color: #0a0a0a;
}

/* =============================================
   BOTÓN VOLVER ARRIBA
   ============================================= */

.gds-back-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	border: 1px solid #ff6b00;
	background: var(--color-fondo);
	color: #ff6b00;
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 700;
	padding: 10px 14px;
	cursor: pointer;
	z-index: 50;
}

.gds-back-to-top[hidden] {
	display: none;
}

.gds-back-to-top:hover,
.gds-back-to-top:focus-visible {
	background: #ff6b00;
	color: #0a0a0a;
}

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

@media (min-width: 768px) {
	/* Escritorio (fila): divisor vertical fino */
	.gds-nav-divider {
		width: 1px;
		height: 16px;
		background: #333;
		margin: 0;
	}

	/* Escritorio: padding reducido, alineación a la izquierda */
	.gds-main-nav .gds-language-switcher {
		justify-content: flex-start;
	}

	.gds-main-nav .gds-lang-link {
		padding: 3px 8px;
	}

	/* En escritorio .gds-main-nav a { display: inline } ya,
	   así que no hace falta repetir display aquí. */
}

@media (min-width: 48em) {
	.gds-footer-inner {
		flex-direction: row;
		justify-content: space-between;
	}
}
