/*
 * Base del tema Caribeña: fuentes alojadas, paleta y tipografía del kit de Elementor (7) y del tema hijo, y las
 * piezas que comparten todas las páginas. Valores del kit y medidas del navegador sobre la web actual (Plan 2).
 * Fuentes: Fontsource 5.3.0, Outfit variable y Niconne, subconjunto latin (cubre el castellano). SIL OFL 1.1.
 */
@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900; /* variable: un solo fichero para los pesos 300-900 que usa la web */
	font-display: swap;
	src: url("../fuentes/outfit-latin-wght-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Niconne";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fuentes/niconne-latin-400-normal.woff2") format("woff2");
}

:root {
	/* Identidad (spec §4): no cambia en ninguna fase. */
	--burdeos: #52042f;
	--amarillo: #f9be3a;
	--terciario: #eecf77;
	--rosa: #ea5f7f;
	--texto: #444444;
	--enfasis: #2e2e2e;
	/* D10: el rosa más claro de su mismo tono y saturación con 4,5:1 sobre el fondo, para texto pequeño (4,50
	   sobre #FDFDFD y 4,58 sobre blanco). Sobre fondos de color, el texto pequeño va en burdeos. */
	--rosa-texto: #e2234f;
	/* Tintes con transparencia del kit, resueltos sobre el fondo (anexo §3.1). */
	--rosa-claro: #fae0e6; /* #EA5F7F2E */
	--crema: #fce9c1;      /* #F9BE3A4F */
	--gris-claro: #f3f3f2; /* #F1F1F0D4 */
	--fondo: #fdfdfd;
	--cuerpo: #333333;
	/* El gris más claro con 4,5:1 sobre el fondo #FDFDFD (4,53; 4,61 sobre blanco): hoy los extractos van en #777
	   (4,48:1) y las fechas en #ADADAD (2,24:1). */
	--gris-texto: #757575;
	/* El amarillo de los títulos de tarjeta de cacaos y de la búsqueda (#F7B600, 1,80:1) oscurecido en su mismo tono
	   hasta 3:1 sobre el fondo, que basta para 24 px en negrita (P4). */
	--amarillo-texto: #bd8b00;
	--sombra: 1px 1px 4px 1px rgba(97, 97, 97, .35);
	--letra: "Outfit", sans-serif;
	--rotulo: "Niconne", cursive;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
	display: flex;
	flex-direction: column; /* el pie baja hasta el final: sin el hueco blanco de las páginas cortas (anexo §8.1) */
	min-height: 100vh;
	margin: 0;
	background: var(--fondo);
	color: var(--cuerpo);
	font: 400 16px/1.65 var(--letra);
}

main { flex: 1 0 auto; }

img { display: block; max-width: 100%; height: auto; }

a { color: var(--rosa-texto); text-decoration: none; }
a:hover { text-decoration: underline; }

:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }

.contenedor {
	width: 100%;
	max-width: 1160px; /* la caja de 1140 px de Elementor más su relleno de 10 px por lado */
	margin-inline: auto;
	padding-inline: 10px;
}

.icono { width: 1em; height: 1em; fill: currentColor; flex: none; }

/* Clases que el editor de WordPress pone en el contenido: alineaciones y pies de foto ([caption], que con el soporte
   html5 sale como <figure style="width: Npx">). Las reglas del theme.css de hello-elementor, que carga hoy: sin
   max-width, un pie de foto de 1024 px desbordaría la página a 390 px. */
.alignright { float: right; margin-left: 1rem; }
.alignleft { float: left; margin-right: 1rem; }
.aligncenter { clear: both; display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; margin-block-end: 1.25rem; }
.wp-caption.alignleft { margin: 5px 20px 20px 0; }
.wp-caption.alignright { margin: 5px 0 20px 20px; }
.wp-caption img { display: block; margin-inline: auto; }
.wp-caption-text { margin: 0; }

/* Oculto a la vista y visible para lectores de pantalla. screen-reader-text es la clase de WordPress y de
   WooCommerce (la usa la región viva del carrito de add-to-cart.js): el tema tiene que definirla. */
.oculto,
.screen-reader-text,
.salto:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.salto:focus {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 100;
	padding: 10px 16px;
	background: #fff;
	color: var(--burdeos);
}

/* Botones. D10: el rosa se queda, con texto blanco de al menos 18,67 px (14 pt) y peso 700, «texto grande» para
   el que basta 3:1 (blanco sobre rosa da 3,26:1). Sobre amarillo, texto burdeos (8,79:1; el blanco da 1,69:1). */
.boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border: 0;
	border-radius: 3px;
	font-family: var(--letra);
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}
.boton:hover { text-decoration: none; }
.boton--rosa { background: var(--rosa); color: #fff; font-size: 19px; font-weight: 700; }
.boton--amarillo { background: var(--amarillo); color: var(--burdeos); font-weight: 800; }
.boton--burdeos { background: var(--burdeos); color: #fff; }

/* Campos: los del tema hijo (style.css, §3), con el foco visible. */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07);
	color: #000;
	font: 16px var(--letra);
}
/* Texto de ejemplo. En el boletín, el buscador y el contacto es la única etiqueta visible (P12), y sin esta
   regla su color lo pone cada navegador: Chromium, #757575 (4,61:1); WebKit (Safari), darkGray (2,35:1);
   Firefox, el color del campo al 54 % (3,36:1 en el buscador). Con --gris-texto da 4,61:1 en todos (D10), y
   opacity: 1 evita que un navegador lo aclare con opacidad. */
::placeholder { color: var(--gris-texto); opacity: 1; }
input:focus,
textarea:focus { border-color: var(--rosa); outline: 2px solid var(--burdeos); outline-offset: 0; }
