/*
Theme Name: AyudasYa
Theme URI: https://ayudasya.com
Author: AyudasYa
Author URI: https://ayudasya.com
Description: Tema propio para AyudasYa.com, portal informativo sobre ayudas, bonos y subvenciones públicas en España organizadas por Comunidad Autónoma y tipo de ayuda. Construido desde cero siguiendo el WordPress Theme Handbook.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ayudasya
*/

/* -----------------------------------------------------------
   1. RESET BÁSICO
----------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd {
	margin: 0;
}

ul[class], ol[class] {
	margin: 0;
	padding: 0;
	list-style: none;
}

img, picture, svg {
	max-width: 100%;
	display: block;
}

input, button, textarea, select {
	font: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

/* Respeta la preferencia de reducción de movimiento del usuario (accesibilidad) */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* -----------------------------------------------------------
   2. TOKENS DE DISEÑO (paleta Opción A — ver decisiones.md)
----------------------------------------------------------- */
:root {
	/* Color */
	--color-azul: #1B4F72;
	--color-azul-oscuro: #123249;
	--color-blanco: #FFFFFF;
	--color-gris-fondo: #F4F6F8;
	--color-gris-borde: #E1E6EA;
	--color-gris-texto: #222831;
	--color-gris-texto-suave: #4B5563;
	--color-verde-accent: #2ECC71;   /* decorativo: badges, iconos, hover claro (NO usar con texto blanco encima) */
	--color-verde-cta: #1E8449;      /* botones CTA con texto blanco — contraste WCAG AA verificado (~4.7:1) */
	--color-verde-cta-hover: #17693A;
	--color-alerta: #B3261E;
	--color-alerta-fondo: #FBE9E7;

	/* Tipografía */
	--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-size-base: 1.0625rem;
	--line-height-base: 1.65;

	/* Espaciado */
	--espacio-xs: 0.5rem;
	--espacio-sm: 1rem;
	--espacio-md: 1.5rem;
	--espacio-lg: 2.5rem;
	--espacio-xl: 4rem;

	/* Layout */
	--ancho-contenido: 1160px;
	--ancho-articulo: 760px;
	--radio-borde: 10px;
	--sombra-card: 0 2px 10px rgba(27, 79, 114, 0.08);
	--altura-header: 76px;
}

/* -----------------------------------------------------------
   3. TIPOGRAFÍA BASE
----------------------------------------------------------- */
body {
	font-family: var(--font-base);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	color: var(--color-gris-texto);
	background-color: var(--color-blanco);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.25;
	color: var(--color-azul-oscuro);
}

h1 { font-size: clamp(1.9rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin-top: var(--espacio-lg); margin-bottom: var(--espacio-sm); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); margin-top: var(--espacio-md); margin-bottom: var(--espacio-xs); }
h4, h5, h6 { font-size: 1.1rem; margin-top: var(--espacio-md); margin-bottom: var(--espacio-xs); }

p { margin-bottom: var(--espacio-sm); }

a {
	color: var(--color-azul);
	text-underline-offset: 2px;
}
a:hover { color: var(--color-verde-cta); text-decoration: underline; }

/* Foco visible para navegación por teclado (accesibilidad WCAG 2.1 AA) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--color-verde-cta);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.screen-reader-text:focus {
	position: fixed;
	top: var(--espacio-sm);
	left: var(--espacio-sm);
	width: auto; height: auto;
	background: var(--color-blanco);
	color: var(--color-azul);
	padding: var(--espacio-xs) var(--espacio-sm);
	z-index: 10000;
	box-shadow: var(--sombra-card);
	border-radius: var(--radio-borde);
}
