/*
Theme Name: Derecho Penal
Template: twentytwentyfive
Description: Thème enfant de Twenty Twenty-Five pour le site Derecho Penal du Prof. em. José Hurtado Pozo.
Author: esaho
Author URI: https://esaho.ch
Version: 1.3.1
Text Domain: derecho-penal
*/

/* Surlignage jaune de l'accroche */
.dp-hl { background: linear-gradient(transparent 62%, var(--wp--preset--color--accent-1) 62%); }

/* Étiquette de catégorie sur les cartes */
.dp-tag a {
	display: inline-block;
	padding: .2em .75em;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-2);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}
.dp-tag .wp-block-post-terms__separator { display: none; }
.dp-tag a + a { margin-left: .35em; }

/* Grille des catégories de documents (comme la maquette) */
.dp-cats { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--wp--preset--color--contrast); }
.dp-cats li { border-bottom: 1px solid #E6E4DC; }
.dp-cats li:not(:nth-child(3n)) { border-right: 1px solid #E6E4DC; }
.dp-cats li a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; height: 100%; box-sizing: border-box; padding: 1.6rem 1.75rem 1.6rem .25rem; font-size: 1.3rem; letter-spacing: -.02em; text-decoration: none; }
.dp-cats li:not(:nth-child(3n+1)) a { padding-left: 1.75rem; }
.dp-cats li a::after { content: "→"; flex-shrink: 0; }
.dp-cats li a:hover { background: var(--wp--preset--color--accent-5); }
@media (max-width: 900px) {
	.dp-cats { grid-template-columns: 1fr; }
	.dp-cats li:not(:nth-child(3n)) { border-right: 0; }
	.dp-cats li a, .dp-cats li:not(:nth-child(3n+1)) a { padding: 1.25rem .25rem; }
}

/* Lien de téléchargement du PDF */
.wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding: 1rem 1.25rem; border: 1px solid #E6E4DC; border-radius: 10px; background: var(--wp--preset--color--accent-5); }
.wp-block-file .wp-block-file__button { border-radius: 999px; }

/* En-tête : outils (menu + recherche) contenus dans l'écran sur mobile */
.dp-header-tools { max-width: 100%; min-width: 0; }
@media (max-width: 781px) {
	.dp-header-tools { width: 100%; }
	.dp-header-tools .wp-block-search { flex: 1 1 auto; min-width: 0; width: auto; }
}

/* Sommaire de l'Anuario */
.dp-numeros { list-style: none; padding: 0; border-top: 1px solid var(--wp--preset--color--contrast); }
.dp-numeros li { border-bottom: 1px solid #E6E4DC; }
.dp-numeros a { display: block; padding: .9rem 0; text-decoration: none; }
.dp-numeros a:hover { text-decoration: underline; text-underline-offset: 4px; }
.dp-numeros strong { display: inline-block; min-width: 7.5rem; }

/* Même largeur que l'accueil sur toutes les pages ; les paragraphes longs restent lisibles */
.wp-block-post-content > p,
.wp-block-post-content .wp-block-html > p,
.wp-block-term-description p,
.wp-block-post-excerpt { max-width: 48rem; margin-left: 0 !important; }

/* Recherche de l'en-tête : petite pastille comme sur la maquette (icône à gauche) */
header .wp-block-search { width: 15rem; max-width: 100%; }
header .wp-block-search .wp-block-search__inside-wrapper {
	flex-direction: row-reverse;
	align-items: center;
	gap: .4rem;
	padding: .3rem 1rem .3rem .6rem;
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 999px;
	background: transparent;
}
header .wp-block-search .wp-block-search__input {
	padding: .2rem 0;
	border: 0;
	background: transparent;
	font-size: .875rem;
	color: var(--wp--preset--color--contrast);
	min-width: 0;
}
header .wp-block-search .wp-block-search__input::placeholder { color: #686868; opacity: 1; }
header .wp-block-search .wp-block-search__input:focus { outline: none; }
header .wp-block-search .wp-block-search__inside-wrapper:focus-within { outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
header .wp-block-search .wp-block-search__button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #686868;
	min-width: 0;
}
header .wp-block-search .wp-block-search__button svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
