/* ==========================================================================
   WD5 — Contenido dinámico: blog, portfolio, 404
   ========================================================================== */

/* ---------- Listados ---------- */
.post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 1.5rem;
}
.post-grid .post-card--feature {
	grid-column: 1 / -1;
	flex-direction: row;
}
.post-grid .post-card--feature .post-card__media { flex: 0 0 58%; aspect-ratio: 16 / 10; }
.post-grid .post-card--feature .post-card__body { justify-content: center; padding: clamp(1.5rem, 1rem + 2vw, 3rem); }
.post-grid .post-card--feature .post-card__title { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.5rem); }
@media (max-width: 860px) {
	.post-grid .post-card--feature { flex-direction: column; }
}

.project-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 1.25rem;
}
.project-card.is-hidden { display: none; }
@media (max-width: 600px) {
	.project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
	.project-grid .project-card__caption { padding: 0.7rem 0.8rem 0.8rem; }
	.project-grid .project-card__title { font-size: 0.95rem; }
	.project-grid .project-card__types { display: none; }
}

/* ---------- Entrada ---------- */
.article__wrap { display: grid; gap: 1.5rem; max-width: 900px; }
.article__cover { margin: 0; padding: 0.6rem; overflow: hidden; }
.article__cover img { width: 100%; border-radius: calc(var(--r-lg) - 0.4rem); filter: brightness(0.95); }
.article__body { font-size: 1.02rem; }
.article__body .wp-block-image,
.article__body .wp-block-embed { margin-inline: 0; }
.article__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.share { display: flex; align-items: center; gap: 0.5rem; }
.share__label { margin-right: 0.4rem; color: var(--g-600); font-size: 0.82rem; }
.share a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--g-950);
	color: var(--g-100);
	transition: background-color var(--t-fast), color var(--t-fast);
}
.share a:hover { background: var(--green); color: var(--g-950); }
.related { margin-top: clamp(4rem, 3rem + 3vw, 6rem); }
.related__title { margin-bottom: 2rem; }

/* ---------- Proyecto ---------- */
.project__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	align-items: start;
	gap: clamp(1.5rem, 1rem + 2vw, 3rem);
}
.project__media { display: grid; gap: 1.25rem; }
.project__shot { margin: 0; padding: 0.6rem; }
.project__shot img { width: 100%; height: auto; border-radius: calc(var(--r-lg) - 0.4rem); filter: brightness(0.95); }
.project__info { position: sticky; top: 6.5rem; display: grid; gap: 1.5rem; justify-items: start; }
.project__facts { display: grid; width: 100%; margin: 0; padding: 0.5rem 1.5rem; background: linear-gradient(160deg, rgb(38 38 38 / 0.96), rgb(26 26 26 / 0.95)); }
.project__facts > div { display: grid; gap: 0.15rem; padding: 1rem 0; }
.project__facts > div + div { border-top: 1px solid rgb(243 243 243 / 0.08); }
.project__facts dt { color: var(--g-400); font-size: 0.75rem; }
.project__facts dd { margin: 0; color: var(--g-50); font-size: 0.95rem; overflow-wrap: anywhere; }
.project__facts a { color: var(--g-50); text-decoration: underline; text-decoration-color: var(--green); text-underline-offset: 4px; }
.project__facts a:hover { color: var(--green); }
.project__facts a i { font-size: 0.75em; color: var(--green); }
.project__text { width: 100%; }
@media (max-width: 1000px) {
	.project__grid { grid-template-columns: 1fr; }
	.project__info { position: static; }
}

.adjacent {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-top: clamp(3rem, 2rem + 3vw, 5rem);
}
.adjacent__link { display: grid; gap: 0.35rem; padding: 1.5rem 1.75rem; transition: transform var(--t-med) var(--ease-out); }
.adjacent__link:hover { transform: translateY(-3px); }
.adjacent__link--next { text-align: right; grid-column: 2; }
.adjacent__label { color: var(--g-600); font-size: 0.8rem; }
.adjacent__label i { color: var(--green); }
.adjacent__title { font-family: var(--f-head); font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); line-height: 1.2; color: var(--g-950); }
@media (max-width: 640px) {
	.adjacent { grid-template-columns: 1fr; }
	.adjacent__link--next { grid-column: auto; }
}

/* ---------- 404 ---------- */
.notfound { min-height: 80svh; display: grid; align-items: center; }
.notfound__code {
	font-family: var(--f-head);
	font-size: clamp(5rem, 3rem + 10vw, 10rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgb(143 184 31 / 0.7);
}
.search {
	display: flex;
	gap: 0.5rem;
	max-width: 460px;
	margin-top: 2rem;
	padding: 0.4rem;
	border-radius: var(--r-pill);
	border: 1px solid rgb(243 243 243 / 0.14);
	background: rgb(243 243 243 / 0.05);
}
.search input {
	flex: 1;
	min-width: 0;
	padding: 0 1rem;
	border: 0;
	background: none;
	color: var(--g-50);
}
.search input:focus { outline: none; }
.search:focus-within { border-color: var(--green); }
.search .icon-btn { background: var(--green); border-color: var(--green); color: var(--g-950); }
