/*
Theme Name: Territorio
Theme URI: https://defensaterritorio.org
Author: Nacho
Description: Tema de bloques para una fundación de defensa del territorio y apoyo mutuo. Pensado para que quien publica no necesite saber nada técnico.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: territorio
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--arcilla); color: var(--wp--preset--color--blanco); }
:focus-visible { outline: 3px solid var(--wp--preset--color--arcilla); outline-offset: 3px; border-radius: 4px; }
img { height: auto; }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 100; background: var(--wp--preset--color--blanco); padding: .6rem 1rem; border-radius: 8px; }

/* ---------- Cabecera ---------- */
.wp-site-blocks > .wp-block-template-part:first-child { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > .wp-block-template-part:first-child { top: var(--wp-admin--admin-bar--height, 32px); }
.site-header {
	background: color-mix(in srgb, var(--wp--preset--color--crema) 88%, transparent);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--bosque) 12%, transparent);
}
.site-header .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--bosque); }
.site-header .wp-block-navigation a { text-decoration: none; font-weight: 500; }
.site-header .wp-block-navigation .wp-block-navigation-item a:hover { color: var(--wp--preset--color--arcilla); }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; isolation: isolate; }
.hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(60% 80% at 85% 10%, rgba(196,85,45,.35), transparent 60%),
		radial-gradient(50% 70% at 0% 100%, rgba(111,138,78,.45), transparent 60%);
}
.hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .12; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero h1, .hero p { color: var(--wp--preset--color--crema); }
.hero h1 em { font-style: italic; color: #f0a37f; }
.hero .eyebrow { color: #f0a37f; }

.eyebrow {
	font-size: var(--wp--preset--font-size--pequeno);
	letter-spacing: .14em; text-transform: uppercase; font-weight: 600;
	color: var(--wp--preset--color--arcilla); margin: 0;
}

/* ---------- Botones secundarios ---------- */
.is-style-outline > .wp-block-button__link {
	background: transparent; border: 2px solid currentColor; color: inherit;
}
.hero .is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--crema); }
.hero .is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--crema); color: var(--wp--preset--color--bosque); }
.wp-block-button__link { transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ---------- Tarjetas ---------- */
.card {
	background: var(--wp--preset--color--blanco);
	border-radius: var(--wp--custom--radius);
	box-shadow: var(--wp--custom--sombra);
	overflow: hidden; height: 100%;
	transition: transform .3s ease, box-shadow .3s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(22,32,27,.08), 0 24px 44px -16px rgba(22,32,27,.28); }
.card .wp-block-post-featured-image { margin: 0; }
.card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit: cover; width: 100%; transition: transform .6s ease; }
.card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.card .wp-block-post-title a { text-decoration: none; color: inherit; }
.card .wp-block-post-title a:hover { color: var(--wp--preset--color--arcilla); }
.card .wp-block-post-terms a, .meta { font-size: var(--wp--preset--font-size--pequeno); color: var(--wp--preset--color--musgo); text-decoration: none; font-weight: 600; }

.pillar { padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--arena); height: 100%; }
.pillar .num { font-family: var(--wp--preset--font-family--titulos); font-size: 3rem; line-height: 1; color: var(--wp--preset--color--arcilla); margin: 0; }

/* ---------- Secciones oscuras ---------- */
.on-dark, .on-dark h2, .on-dark h3, .on-dark p { color: var(--wp--preset--color--crema); }
.on-dark a:not(.wp-block-button__link) { color: #f0a37f; }

/* ---------- Pie ---------- */
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .wp-block-social-links .wp-social-link { transition: transform .2s ease; }
.site-footer .wp-block-social-links .wp-social-link:hover { transform: translateY(-3px); }

/* ---------- Entradas ---------- */
.entry-content > * + * { margin-block-start: 1.4em; }
.entry-content p:first-of-type { font-size: var(--wp--preset--font-size--medio); line-height: 1.6; }
.wp-block-post-featured-image img { border-radius: var(--wp--custom--radius); }
.wp-block-query-pagination { gap: 1rem; }
.wp-block-query-pagination a { text-decoration: none; font-weight: 600; }

/* ---------- Evento (CPT) ---------- */
.evento-fecha {
	display: inline-block; background: var(--wp--preset--color--bosque); color: var(--wp--preset--color--crema);
	padding: .35rem .8rem; border-radius: 999px; font-size: var(--wp--preset--font-size--pequeno); font-weight: 600;
}

/* ---------- Animación de aparición ---------- */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.js .reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.js .reveal { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Barra lateral y listados ---------- */
.with-sidebar { align-items: flex-start; }
.sidebar { position: sticky; top: 6rem; }
.sidebar-title { font-size: 1rem !important; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--musgo); margin: 0 0 .7rem; font-family: var(--wp--preset--font-family--texto); font-weight: 700; }
.sidebar ul { list-style: none; padding: 0; margin: 0; }
.sidebar ul li { padding: .45rem 0; border-bottom: 1px solid var(--wp--preset--color--arena); }
.sidebar a { text-decoration: none; }
.sidebar a:hover { color: var(--wp--preset--color--arcilla); }
.sidebar-box { background: var(--wp--preset--color--arena); padding: 1.25rem 1.5rem; border-radius: var(--wp--custom--radius); }
.wp-block-search__inside-wrapper { border-radius: 999px; overflow: hidden; }
.sidebar-tags a, .wp-block-tag-cloud a { display: inline-block; margin: 0 .35rem .5rem 0; padding: .3rem .8rem; border-radius: 999px; background: var(--wp--preset--color--arena); text-decoration: none; color: var(--wp--preset--color--bosque); font-weight: 500; transition: background-color .2s, color .2s; }
.sidebar-tags a:hover, .wp-block-tag-cloud a:hover { background: var(--wp--preset--color--bosque); color: var(--wp--preset--color--crema); }
.row-card { display: grid; grid-template-columns: 240px 1fr; }
.row-card .wp-block-post-featured-image img { aspect-ratio: 4/3; height: 100%; }
@media (max-width: 700px) { .row-card { display: block; } }
.featured.card { gap: 0; }
.featured .wp-block-post-featured-image img { aspect-ratio: 16/10; height: 100%; border-radius: 0; }

.doc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.doc-tile { display: flex; flex-direction: column; gap: .35rem; padding: 1.4rem 1.5rem; background: var(--wp--preset--color--blanco); border-radius: var(--wp--custom--radius); text-decoration: none; color: var(--wp--preset--color--tinta); border: 1px solid transparent; transition: transform .25s, border-color .25s, box-shadow .25s; }
.doc-tile strong { font-family: var(--wp--preset--font-family--titulos); font-size: 1.25rem; color: var(--wp--preset--color--bosque); }
.doc-tile span { font-size: .95rem; opacity: .8; }
.doc-tile:hover { transform: translateY(-3px); border-color: var(--wp--preset--color--arcilla); box-shadow: var(--wp--custom--sombra); }

/* ---------- Sin barra lateral: filtros y listados ---------- */
.header-cta { margin: 0; }
.list-tools { align-items: center; gap: 1rem; margin-bottom: 2rem; }
.chips ul, .wp-block-categories.chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.chips a { display: inline-block; padding: .4rem 1rem; border-radius: 999px; background: var(--wp--preset--color--arena); color: var(--wp--preset--color--bosque); text-decoration: none; font-weight: 500; transition: background-color .2s, color .2s; }
.chips a:hover, .chips .current-cat a { background: var(--wp--preset--color--bosque); color: var(--wp--preset--color--crema); }
.empty-state { padding: 2rem; text-align: center; background: var(--wp--preset--color--arena); border-radius: var(--wp--custom--radius); }
.wp-block-query-title { margin-bottom: 1rem; }

@media (max-width: 781px) {
	.site-header .wp-block-group.alignwide { gap: .75rem; }
	.header-cta { order: 2; }
	.list-tools .wp-block-search { width: 100%; }
	.wp-block-post-title { overflow-wrap: anywhere; hyphens: auto; }
}
