/*
Theme Name: Código Civil — Índice
Theme URI: https://codigo-civil.es/
Author: Juan Antonio García García
Author URI: https://codigo-civil.es/
Description: Tema de bloques (FSE) con estética de repertorio jurídico. Maqueta tipo boletín: cabecera de gaceta, listados densos por sección (fecha en monoespaciada + título serif), referencias y etiquetas en mono, filetes finos y nada de tarjetas ni imágenes. Tipografías Spectral + IBM Plex Mono, acento burdeos. Pensado para jurisprudencia, derecho europeo, legislación y protección de datos.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: codigo-civil-indice
Tags: blog, news, one-column, two-columns, custom-colors, custom-menu, editor-style, full-site-editing, block-patterns, threaded-comments, translation-ready
*/

/* v1.0.1: el menú de cabecera y pie incluye enlaces a las categorías por defecto. */

/* =====================================================================
   CÓDIGO CIVIL — ÍNDICE · estética de repertorio
   ===================================================================== */

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* --- Cabecera / masthead --- */
.wp-block-site-title a { text-decoration: none; }
.cc-navbar .wp-block-navigation a { text-decoration: none; }
.cc-navbar .wp-block-navigation a:hover { color: var(--wp--preset--color--primary); }

/* Buscador minimal */
.cc-search .wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--border) !important; max-width: 26rem; }
.cc-search .wp-block-search__input { border: 0 !important; background: transparent; font-family: var(--wp--preset--font-family--mono); font-size: 0.8rem; padding: 0.4rem 0.6rem; }
.cc-search .wp-block-search__button { background: transparent; color: var(--wp--preset--color--contrast); margin: 0; padding: 0 0.7rem; }
.cc-search .wp-block-search__button:hover { color: var(--wp--preset--color--primary); }

/* --- Kicker y standfirst del titular --- */
.cc-kicker { margin: 0; }
.cc-standfirst { font-family: var(--wp--preset--font-family--serif); }

/* --- Cabeceras de sección --- */
.cc-seclabel { margin: 0; }
.cc-verlink { margin: 0; }
.cc-verlink a { color: var(--wp--preset--color--primary); text-decoration: none; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; }
.cc-verlink a:hover { text-decoration: underline; }

/* --- Entrada destacada de cada sección --- */
.cc-ultlabel { margin: 0; color: var(--wp--preset--color--primary); font-family: var(--wp--preset--font-family--mono); font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.12em; }
.cc-feattitle { font-family: var(--wp--preset--font-family--serif); }
.cc-feattitle a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.cc-feattitle a:hover { color: var(--wp--preset--color--primary); }
.cc-featex { font-family: var(--wp--preset--font-family--serif); }
.cc-feat .wp-block-post-date { display: block; }

/* --- Listados (repertorio) --- */
.wp-block-post-template.cc-list { list-style: none; margin: 0; padding: 0; gap: 0 !important; }
.wp-block-post-template.cc-list > li { margin: 0; }
.cc-row { transition: background-color 0.12s ease; }
.cc-row:hover { background: var(--wp--preset--color--band); }
.cc-date {
	flex: 0 0 4.6rem;
	color: var(--wp--preset--color--contrast-2);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	white-space: nowrap;
	padding-top: 0.12em;
}
.cc-rowtitle { font-family: var(--wp--preset--font-family--serif); }
.cc-rowtitle a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.cc-row:hover .cc-rowtitle a { color: var(--wp--preset--color--primary); }
.cc-rowcat a, .cc-rowex { color: var(--wp--preset--color--contrast-2); }
.cc-rowcat a { font-family: var(--wp--preset--font-family--mono); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; }

/* --- Ficha del artículo --- */
.cc-ficha { gap: 2.5rem; }
.cc-flabel { margin: 0; color: var(--wp--preset--color--contrast-2); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.12em; }
.cc-fvalue, .cc-ficha .wp-block-post-date, .cc-ficha .wp-block-post-author-name { font-family: var(--wp--preset--font-family--serif); font-size: 0.98rem; color: var(--wp--preset--color--contrast); }
.cc-ficha .wp-block-post-terms a { color: var(--wp--preset--color--contrast); text-decoration: none; font-family: var(--wp--preset--font-family--serif); text-transform: none; letter-spacing: 0; font-size: 0.98rem; }

/* --- Voces (etiquetas) --- */
.cc-voces a { font-family: var(--wp--preset--font-family--mono); font-size: 0.74rem; color: var(--wp--preset--color--primary); text-decoration: none; }
.cc-voces a:hover { text-decoration: underline; }

/* --- Cuerpo del artículo: lectura cómoda --- */
.cc-article { font-size: 1.09rem; line-height: 1.78; }
.cc-article > * { margin-block: 1.3em; }
.cc-article > p:first-of-type { margin-top: 0.6em; }
.cc-article > p:first-of-type::first-line { font-variant: small-caps; letter-spacing: 0.02em; }
.cc-article h2 { font-size: 1.5rem; margin-top: 1.9em; line-height: 1.25; font-weight: 600; }
.cc-article h3 { font-size: 1.2rem; margin-top: 1.5em; }
.cc-article h2 + p, .cc-article h3 + p { margin-top: 0.5em; }
.cc-article a { color: var(--wp--preset--color--primary); text-underline-offset: 2px; }
.cc-article blockquote { border-left: 2px solid var(--wp--preset--color--primary); padding: 0.2rem 0 0.2rem 1.3rem; font-style: italic; }
.cc-article ul, .cc-article ol { padding-left: 1.4em; }
.cc-article li { margin-block: 0.4em; }
.cc-article code, .cc-article kbd { font-family: var(--wp--preset--font-family--mono); font-size: 0.9em; background: var(--wp--preset--color--band); padding: 0.1em 0.35em; }

/* --- Filete grueso (variación de separador) --- */
.wp-block-separator.is-style-cc-rule { border: 0; height: 2px; background: var(--wp--preset--color--contrast); opacity: 1; max-width: 100%; margin-block: 0; }

/* --- Navegación entre entradas --- */
.cc-nav a { text-decoration: none; font-family: var(--wp--preset--font-family--mono); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; }
.cc-nav a:hover { color: var(--wp--preset--color--primary); }

/* --- Paginación --- */
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	text-decoration: none; color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--mono); font-size: 0.8rem;
	padding: 0.35em 0.7em; border: 1px solid transparent;
}
.wp-block-query-pagination a:hover { border-color: var(--wp--preset--color--border); }
.wp-block-query-pagination .page-numbers.current { color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }

/* --- Footer --- */
footer .wp-block-categories { list-style: none; margin: 0; padding: 0; }
footer .wp-block-navigation a, footer .wp-block-categories a { text-decoration: none; }
footer .wp-block-navigation a:hover, footer .wp-block-categories a:hover { color: var(--wp--preset--color--primary); }

/* --- Responsive --- */
@media (max-width: 600px) {
	.cc-ficha { gap: 1.4rem; }
	.cc-date { flex-basis: 4rem; }
	.cc-nav { width: 100%; }
}
