/*
Theme Name: Agencements
Template: twentytwentyfive
Description: Tema hijo sobrio para agencements.net — riel lateral izquierdo, cuadrícula de archivo y tipografía Karla, inspirado en el lenguaje visual de milm2.com. Mantenimiento CTS.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: agencements
*/

/* ── Base ─────────────────────────────────────────────────────────────── */
:root {
	--agc-papel: #ffffff;
	--agc-tinta: #111112;
	--agc-gris: #6e6e72;
	--agc-linea: #dcdcde;
	--agc-tenue: #f4f4f5;
}

body {
	background: var(--agc-papel);
	color: var(--agc-tinta);
	font-family: Karla, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

a { color: var(--agc-tinta); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--agc-gris); }

/* ── Marco: riel + divisoria + contenido ──────────────────────────────── */
.agc-marco {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	max-width: 1200px;
	margin: 0 auto;
	min-height: 100vh;
}

.agc-riel {
	padding: 48px 28px 48px 24px;
	border-right: 1px solid var(--agc-linea);
}
.agc-riel-fijo { position: sticky; top: 48px; display: flex; flex-direction: column; gap: 0; }

.agc-contenido {
	padding: 48px 32px 96px 44px;
}

/* ── Riel: identidad, navegación, meta ────────────────────────────────── */
.agc-sitio, .agc-sitio a {
	font-size: 21px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--agc-tinta);
	margin: 0;
}
.agc-sub {
	color: var(--agc-gris);
	font-size: 13px;
	margin: 6px 0 40px;
}

.agc-nav { margin: 0 0 44px; }
.agc-nav .wp-block-navigation__container,
.agc-nav ul {
	display: flex;
	flex-direction: column;
	gap: 13px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.agc-nav a {
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	color: var(--agc-tinta);
	line-height: 1.3;
}
.agc-nav a:hover, .agc-nav a:focus-visible { color: var(--agc-gris); }
.agc-nav .current-menu-item > a { border-bottom: 2px solid var(--agc-tinta); }

.agc-riel-meta {
	border-top: 1px solid var(--agc-linea);
	padding-top: 16px;
	color: var(--agc-gris);
	font-size: 12.5px;
	line-height: 1.8;
}
.agc-riel-meta a { color: var(--agc-gris); }

/* ── Cuadrícula de archivo ────────────────────────────────────────────── */
.agc-archivo .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 24px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.agc-card { display: flex; flex-direction: column; gap: 8px; }
.agc-card-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	border: 1px solid var(--agc-linea);
}
.agc-card-img.agc-sin-imagen {
	aspect-ratio: 4 / 3;
	background: var(--agc-tenue);
	border: 1px solid var(--agc-linea);
}
.agc-card-tit { font-size: 14.5px; font-weight: 700; line-height: 1.35; margin: 0; }
.agc-card-tit a { text-decoration: none; }
.agc-card-tit a:hover { text-decoration: underline; }
.agc-card-fecha { font-size: 12.5px; color: var(--agc-gris); margin: 0; }

.agc-vacio { color: var(--agc-gris); }

/* Título de archivo (categoría, etc.) */
.agc-titulo-archivo {
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--agc-gris);
	margin: 0 0 28px;
}

/* ── Entradas y páginas ───────────────────────────────────────────────── */
.agc-articulo { max-width: 680px; }
.agc-articulo .wp-block-post-title {
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	margin: 0 0 8px;
	text-wrap: balance;
}
.agc-fecha { font-size: 13px; color: var(--agc-gris); margin: 0 0 32px; }
.agc-articulo .wp-block-post-content p { margin: 0 0 16px; max-width: 66ch; }
.agc-articulo .wp-block-post-content img { max-width: 100%; height: auto; }
.agc-articulo .wp-block-post-content h2 { font-size: 20px; font-weight: 800; margin: 32px 0 10px; }
.agc-articulo .wp-block-post-content h3 { font-size: 17px; font-weight: 700; margin: 24px 0 8px; }

.agc-volver { margin-top: 48px; }
.agc-volver a {
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid var(--agc-tinta);
	border-radius: 999px;
	padding: 7px 16px;
	display: inline-block;
}
.agc-volver a:hover { background: var(--agc-tenue); color: var(--agc-tinta); }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 780px) {
	.agc-marco { grid-template-columns: 1fr; }
	.agc-riel { border-right: 0; border-bottom: 1px solid var(--agc-linea); padding: 28px 22px; }
	.agc-riel-fijo { position: static; }
	.agc-sub { margin-bottom: 20px; }
	.agc-nav { margin-bottom: 20px; }
	.agc-nav .wp-block-navigation__container, .agc-nav ul { flex-direction: row; flex-wrap: wrap; gap: 10px 18px; }
	.agc-contenido { padding: 28px 22px 64px; }
	.agc-archivo .wp-block-post-template { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; }
}

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