/*
Theme Name: Fundación Anagan
Theme URI: https://fundacionanagan.org
Description: Tema de bloques propio para la reconstrucción de Fundación Anagan.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: fundacion-anagan
*/

/* Foco de teclado siempre visible (WCAG 2.2 AA, 2.4.7 y 2.4.11). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--navy);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Sobre fondos oscuros el foco necesita invertirse para seguir siendo visible. */
.has-navy-background-color :where(a, button):focus-visible {
	outline-color: #ffffff;
}

/* Enlaces del footer: heredan el blanco del contenedor, con subrayado para no
   depender solo del color como señal visual. */
.wp-block-group.has-navy-background-color a:where(:not(.wp-element-button)) {
	color: #ffffff;
	text-decoration: underline;
}

/* theme.json pinta todos los encabezados de azul marino, que es también el fondo del
   pie: sin esto, el encabezado «Síguenos» queda invisible sobre su propio color
   (contraste 1:1). Es el mismo tipo de fallo que el del slug `text`, y tampoco se ve
   leyendo el HTML: solo aparece midiendo el color ya calculado. */
.wp-block-group.has-navy-background-color :where(h1, h2, h3, h4, h5, h6) {
	color: #ffffff;
}

/* Los logotipos de empresas colaboradoras llegan con fondos y tamaños dispares:
   se normaliza la altura para que la cuadrícula no quede irregular. */
.wp-block-gallery .wp-block-image img {
	object-fit: contain;
}

/* Formulario de donativo del plugin de pago. El plugin solo aporta colores del botón:
   la disposición, las etiquetas y los tamaños táctiles se definen aquí. */
.boton-pago-redsys form {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	max-width: 28rem;
}

.boton-pago-redsys .redsys-etiqueta {
	font-weight: 600;
	margin-top: 0.75rem;
}

/* Botones de importe rápido. Altura de 48 px para que se acierte con el dedo sin
   esfuerzo, muy por encima del mínimo de 24x24 (WCAG 2.2 AA, 2.5.8). */
.donativo-importes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.donativo-importes__titulo {
	flex-basis: 100%;
	font-weight: 600;
}

.donativo-importes button {
	min-width: 5.5rem;
	min-height: 48px;
	padding: 0.5rem 1rem;
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary-dark);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

/* El importe elegido no se distingue solo por el color: también cambia el grosor del
   borde, para que se vea sin depender de la percepción del color (WCAG 1.4.1). */
.donativo-importes button[aria-pressed="true"] {
	border-width: 3px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

/* El plugin fija ancho, alto y bordes con `!important`; para poder maquetar el
   formulario y cumplir el contraste mínimo de bordes (WCAG 2.2 AA, 1.4.11) hay que
   sobrescribirlo con la misma fuerza. El gris #ccc del plugin da 1,6:1 sobre blanco. */
.boton-pago-redsys .cantidad-redsys,
.boton-pago-redsys .email-redsys {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0.65rem;
	border: 1px solid #767676 !important;
	border-radius: 4px;
	font-family: inherit;
	font-size: 1rem;
}

.boton-pago-redsys .boton-redsys {
	height: auto;
	margin: 1.25rem 0 0;
	padding: 0.85rem 1.5rem !important;
	border: 0 !important;
	border-radius: 4px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	min-height: 48px;
	cursor: pointer;
}

/* Casilla de privacidad: 24x24 px mínimo de objetivo táctil (WCAG 2.2 AA, 2.5.8). */
.boton-pago-redsys .boton-redsys-rgpd {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-top: 1.25rem;
}

.boton-pago-redsys .boton-redsys-rgpd input[type="checkbox"] {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 0;
}

.boton-pago-redsys .boton-redsys-texto-rgpd {
	font-size: 0.85rem;
	margin-top: 0.75rem;
}

/* Donativo por PayPal. Es la vía secundaria —la principal es la tarjeta—, así que el
   botón va perfilado y no macizo, para que la jerarquía se lea sin instrucciones. */
.donativo-paypal {
	margin-top: 1rem;
}

.donativo-paypal__boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.85rem 1.75rem;
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary-dark);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}

.donativo-paypal__boton:hover,
.donativo-paypal__boton:focus-visible {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.donativo-paypal__nota {
	font-size: 0.85rem;
	margin-top: 0.75rem;
}

/* Objetivo táctil mínimo de 24x24 px (WCAG 2.2 AA, 2.5.8). Las casillas del formulario
   de contacto y los enlaces de paginación se quedaban por debajo. */
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
	width: 24px;
	height: 24px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-block;
	min-width: 24px;
	padding-block: 0.3rem;
	text-align: center;
}

/* Evita que correos o URLs largos desborden el contenido en pantallas estrechas. */
.wp-block-post-content {
	overflow-wrap: anywhere;
}
