/*
 * Jessi Lashes · estilo común (BASE): base, piezas compartidas, cabecera, pie y lo que theme.json no hace.
 * Móvil primero; ordenador desde 782 px (el corte del bloque Columnas y del menú). Solo variables de theme.json.
 * Clases encadenadas donde hay que ganar a una regla del núcleo; !important, solo con comentario.
 */

/* ---------- Base ---------- */

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

/* Web oscura: lo que pinta el navegador (desplegables, casillas, barras de desplazamiento) sale oscuro también.
   Los campos propios llevan fondo y letra explícitos (abajo y en woocommerce.css y academia.css). */
:root {
	color-scheme: dark;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background-color: var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--tinta);
}

/* Sin hueco entre cabecera, contenido y pie: cada sección trae su propio relleno. */
body .wp-site-blocks > * {
	margin-block-start: 0;
}

/* ---------- Titulares ---------- */

:where(h1, h2, h3, h4, h5, h6) {
	text-wrap: balance;
}

/* La palabra destacada: se pone en cursiva (Ctrl+I) y sale en rosa, con la cursiva de verdad de Playfair. */
:where(h1, h2, h3) em {
	color: var(--wp--preset--color--rosa);
	font-style: italic;
}

/* Sobre la franja rosa, la cursiva va del color del titular: rosa sobre rosa no se leería. */
.is-style-jl-franja-rosa :where(h1, h2, h3) em {
	color: inherit;
}

/* ---------- Enlaces y foco ---------- */

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

/* Foco visible en todo lo que se pulsa (enlaces y botones ya lo traen de theme.json). */
:where(button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--rosa);
	outline-offset: 3px;
}

/* Dentro de la franja rosa, el foco es oscuro: un contorno rosa sobre rosa no se ve. */
.is-style-jl-franja-rosa a:focus-visible,
.is-style-jl-franja-rosa .wp-block-button__link:focus-visible,
.is-style-jl-franja-rosa :where(button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: var(--wp--custom--color--tinta-franja);
}

/* «Saltar al contenido» de WordPress, con los colores de la marca. */
body .skip-link.screen-reader-text:focus {
	background-color: var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--tinta);
	outline: 2px solid var(--wp--preset--color--blanco-roto);
	outline-offset: 3px;
}

/* ---------- Botones ---------- */

/* Rectos, como el concepto; al menos 44 px de alto para el dedo. */
.wp-block-button__link,
.wp-element-button {
	min-height: 44px;
	cursor: pointer;
}

/* Con borde: 1 px como el concepto y el relleno 1 px menor, para que mida lo mismo que el macizo.
   Clases encadenadas para ganar al estilo «Contorno» del núcleo (borde de 2 px y otro relleno). */
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--rosa);
	padding: 14px 24px;
}

.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--tinta);
}

/* Oscuro (franja rosa): al pasar el ratón, vino. */
.wp-block-button.is-style-jl-boton-oscuro > .wp-block-button__link:hover,
.is-style-jl-franja-rosa .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--vino);
	color: var(--wp--preset--color--blanco);
}

/* Reservar con las reservas cerradas (la clase la pone el plugin y el enlace lo quita): no parece pulsable.
   Borde discontinuo, sin fondo, cursor normal y sin cambio al pasar el ratón. */
.wp-block-button.jl-boton-reservar.is-reservas-cerradas > .wp-block-button__link,
.wp-block-button.jl-boton-reservar.is-reservas-cerradas > .wp-block-button__link:hover {
	background-color: transparent;
	border: 1px dashed var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--rosa);
	cursor: default;
	padding: 14px 24px;
}

/* Reservar de la cabecera: pequeño y en una línea. */
.wp-block-button.jl-boton-reservar-corto > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 0.5px;
	padding: 0 12px;
	white-space: nowrap;
}

.wp-block-button.jl-boton-reservar-corto.is-reservas-cerradas > .wp-block-button__link {
	padding: 0 11px;
}

/* ---------- Variaciones de estilo: lo que theme.json no hace ---------- */

/* Sello: del ancho de su texto. */
.is-style-jl-sello {
	width: fit-content;
	max-width: 100%;
}

/* Franja rosa: nada en rosa encima (no se leería). Rótulo en ciruela oscuro; lo demás, en la tinta de la franja. */
.is-style-jl-franja-rosa .is-style-jl-rotulo {
	color: var(--wp--preset--color--ciruela-oscuro);
}

.is-style-jl-franja-rosa :is(.jl-enlace-flecha a, .jl-etiqueta) {
	color: var(--wp--custom--color--tinta-franja);
	border-color: var(--wp--custom--color--tinta-franja);
}

.is-style-jl-franja-rosa .jl-lista li::marker {
	color: var(--wp--custom--color--tinta-franja);
}

/* El blanco roto de los enlaces al pasar el ratón (theme.json) tampoco se lee sobre la franja. */
.is-style-jl-franja-rosa a:not(.wp-element-button):hover {
	color: var(--wp--custom--color--tinta-franja);
}

.is-style-jl-franja-rosa .wp-block-button.is-style-outline > .wp-block-button__link,
.is-style-jl-franja-rosa .wp-block-button.jl-boton-reservar.is-reservas-cerradas > .wp-block-button__link {
	border-color: var(--wp--custom--color--tinta-franja);
	color: var(--wp--custom--color--tinta-franja);
}

/* ---------- Secciones ---------- */

/* Sección: relleno arriba y abajo, pegada a la de al lado y con el texto centrado.
   Clases encadenadas para ganar al hueco entre bloques del núcleo. */
.wp-block-group.jl-seccion {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--60);
	text-align: center;
}

.wp-block-group.jl-seccion.jl-seccion-izquierda {
	text-align: left;
}

/* Rótulo y titular con los márgenes del concepto: 14 px arriba y 38 px abajo. */
.wp-block-group.jl-seccion > :is(.wp-block-heading, .wp-block-post-title, .wp-block-query-title) {
	margin-block: 14px 38px;
}

.wp-block-group.jl-seccion > :first-child {
	margin-block-start: 0;
}

/* Cabecera de página interior: el h1 a tamaño «titulo» (theme.json) y 25 px hasta la entradilla. */
.wp-block-group.jl-cabecera-pagina > .wp-block-heading {
	margin-block-end: 25px;
}

/* Entradilla: ancho de lectura de 600 px, centrada en las secciones centradas (lo hace la maquetación). */
:is(p, div).jl-entradilla {
	color: var(--wp--preset--color--texto-suave);
	line-height: 1.8;
	max-width: 600px;
}

.jl-seccion-izquierda > :is(p, div).jl-entradilla {
	max-width: var(--wp--style--global--content-size);
}

/* Fila de botones: salta de línea, 12 px entre botones; centrada en las secciones centradas. */
.wp-block-buttons.jl-acciones {
	gap: 12px;
}

.jl-seccion:not(.jl-seccion-izquierda) :is(.wp-block-buttons.jl-acciones, .wp-block-buttons.jl-dato__valor) {
	justify-content: center;
}

/* ---------- Tarjetas ---------- */

/* Rejilla: una columna en el móvil y tres en el ordenador (lo hace el bloque Columnas), todas igual de altas. */
.wp-block-columns.jl-tarjetas {
	gap: var(--wp--preset--spacing--40);
}

.wp-block-column.jl-tarjeta,
.wp-block-group.jl-tarjeta {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	text-align: center;
}

:is(.wp-block-column, .wp-block-group).jl-tarjeta > * {
	margin-block: 0;
}

.wp-block-image.jl-tarjeta__foto {
	margin: 0;
}

.wp-block-image.jl-tarjeta__foto img {
	display: block;
	width: 100%;
	height: 275px;
	object-fit: cover;
}

.wp-block-group.jl-tarjeta__cuerpo {
	flex: 1 1 auto;
	padding: 25px;
}

.wp-block-group.jl-tarjeta__cuerpo > * {
	margin-block: 0;
}

.wp-block-group.jl-tarjeta__cuerpo > * + * {
	margin-block-start: 10px;
}

.jl-tarjeta__cuerpo :where(p) {
	font-size: var(--wp--preset--font-size--pequeno);
	line-height: 1.7;
}

.wp-block-group.jl-tarjeta__cuerpo > .jl-enlace-flecha {
	margin-block-start: 14px;
}

/* ---------- Piezas pequeñas ---------- */

/* Enlace con flecha ↗: la flecha es un dibujo (bordes y una diagonal), no un carácter que lea el lector de pantalla. */
.jl-enlace-flecha {
	font-size: var(--wp--preset--font-size--pequeno);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.jl-enlace-flecha a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	color: var(--wp--preset--color--rosa);
	text-decoration: none;
}

.jl-enlace-flecha a::after {
	content: "";
	flex: none;
	width: 0.55em;
	height: 0.55em;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	background: linear-gradient(to bottom right, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px)) border-box;
}

.jl-enlace-flecha a:hover {
	color: var(--wp--preset--color--blanco-roto);
	text-decoration: underline;
}

/* Etiqueta pequeña («Próximamente»). */
.jl-etiqueta {
	width: fit-content;
	max-width: 100%;
	padding: 4px 10px;
	border: 1px solid var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--rosa);
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 2px;
	line-height: 1.5;
	text-transform: uppercase;
}

.jl-tarjeta .jl-etiqueta,
.jl-seccion:not(.jl-seccion-izquierda) .jl-etiqueta {
	margin-inline: auto;
}

/* Lista con viñetas rosa; en las secciones centradas, el bloque se centra y el texto va a la izquierda. */
.wp-block-list.jl-lista {
	padding-inline-start: 1.25em;
	text-align: left;
}

.jl-lista li::marker {
	color: var(--wp--preset--color--rosa);
}

.jl-lista li + li {
	margin-block-start: 0.5em;
}

.jl-seccion:not(.jl-seccion-izquierda) > .wp-block-list.jl-lista {
	width: fit-content;
}

/* Nota: texto pequeño y apagado. */
.jl-nota {
	color: var(--wp--preset--color--gris-rosado);
	font-size: var(--wp--preset--font-size--pequeno);
}

/* Imagen de relleno. */
.wp-block-image.jl-hueco img {
	display: block;
	width: 100%;
}

/* Logo: 44 px de alto en el móvil y 56 en el ordenador; la proporción reserva su sitio antes de cargar. */
.wp-block-image.jl-logo {
	margin: 0;
	flex: none;
}

.wp-block-image.jl-logo a {
	display: block;
}

.wp-block-image.jl-logo img {
	display: block;
	width: auto;
	height: 44px;
	aspect-ratio: 1145 / 660;
}

/* ---------- Datos del salón ---------- */

.wp-block-group.jl-dato > * {
	margin-block: 0;
}

.wp-block-group.jl-dato > * + * {
	margin-block-start: 6px;
}

p.jl-dato__etiqueta {
	color: var(--wp--preset--color--gris-rosado);
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 2px;
	line-height: 1.5;
	text-transform: uppercase;
}

/* Un correo o una dirección largos parten línea en vez de salirse de la pantalla. */
p.jl-dato__valor {
	line-height: 1.6;
	overflow-wrap: anywhere;
}

p.jl-dato__valor a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* ---------- Galería del tema ---------- */

/* Fotos recortadas a un alto fijo y pie de foto blanco sobre ciruela, como las tarjetas del concepto.
   Una columna en el móvil, dos en la tableta y tres en el ordenador. Clases encadenadas, body y el
   :not(#individual-image) del núcleo para ganar a la galería de WordPress. */
.wp-block-gallery.has-nested-images.jl-fotos {
	--wp--style--unstable-gallery-gap: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--40);
}

body .wp-block-gallery.has-nested-images.jl-fotos figure.wp-block-image:not(#individual-image) {
	width: 100%;
	background-color: var(--wp--preset--color--ciruela);
	border: 1px solid var(--wp--preset--color--borde);
	justify-content: flex-start;
	overflow: hidden;
}

.wp-block-gallery.has-nested-images.jl-fotos.is-cropped figure.wp-block-image:not(#individual-image) img {
	flex: none;
	height: 370px;
	width: 100%;
	object-fit: cover;
}

.wp-block-gallery.has-nested-images.jl-fotos figure.wp-block-image:has(figcaption)::before {
	content: none;
}

.wp-block-gallery.has-nested-images.jl-fotos figure.wp-block-image figcaption {
	position: static;
	max-height: none;
	margin: 0;
	padding: 25px;
	overflow: visible;
	background: none;
	color: var(--wp--preset--color--blanco);
	font-size: var(--wp--preset--font-size--texto);
	text-align: center;
	text-shadow: none;
}

@media (min-width: 600px) {
	body .wp-block-gallery.has-nested-images.jl-fotos figure.wp-block-image:not(#individual-image) {
		width: calc(50% - var(--wp--preset--spacing--40) / 2);
	}
}

@media (min-width: 782px) {
	body .wp-block-gallery.has-nested-images.jl-fotos.columns-3 figure.wp-block-image:not(#individual-image) {
		width: calc(33.333% - var(--wp--preset--spacing--40) * 2 / 3);
	}
}

/* ---------- Cabecera ---------- */

/* Logo, menú y acciones. Si no caben en una fila, las acciones bajan a la siguiente (sin desbordar). */
.wp-block-group.jl-cabecera {
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 14px max(1rem, 5vw);
	border-bottom: 1px solid var(--wp--custom--color--linea-cabecera);
}

/* Menú: crece y se pega a la derecha (en el móvil solo es el botón de abrir). */
.wp-block-navigation.jl-menu {
	flex: 1 1 auto;
	color: var(--wp--preset--color--blanco-roto);
	font-size: var(--wp--preset--font-size--pequeno);
	text-transform: uppercase;
}

.wp-block-navigation.jl-menu .wp-block-navigation__container {
	column-gap: 16px;
	row-gap: 0;
}

.wp-block-navigation.jl-menu .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	min-height: 44px;
	color: inherit;
	text-decoration: none;
}

.wp-block-navigation.jl-menu .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--rosa);
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* Botones de abrir y cerrar el menú: 44 × 44. */
.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container-open,
.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container-close {
	display: inline-flex;
}

/* El núcleo pasa a menú completo a 600 px; aquí, a 782 px (no cabe antes). Una clase más para ganarle. */
@media (min-width: 600px) and (max-width: 781px) {
	.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* Menú del móvil a pantalla completa: fondo negro (el núcleo lo pone blanco), enlaces grandes en Playfair. */
.wp-block-navigation.jl-menu:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	background-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--blanco-roto);
}

.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	row-gap: 4px;
}

.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: var(--wp--preset--font-size--grande);
	text-transform: none;
}

/* Cuenta, carrito y Reservar: iconos de 44 × 44 en blanco roto. Si bajan de fila, a la derecha. */
.wp-block-group.jl-cabecera__acciones {
	flex: none;
	gap: 0;
	margin-inline-start: auto;
	color: var(--wp--preset--color--blanco-roto);
}

.jl-cabecera__acciones .wp-block-buttons {
	margin: 0 0 0 4px;
}

.jl-cabecera__acciones .wp-block-woocommerce-customer-account a,
.jl-cabecera__acciones .wc-block-mini-cart__button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	color: inherit;
}

.jl-cabecera__acciones .wp-block-woocommerce-customer-account a:hover,
.jl-cabecera__acciones .wc-block-mini-cart__button:hover {
	color: var(--wp--preset--color--rosa);
}

.jl-cabecera__acciones .wc-block-mini-cart__badge {
	background-color: var(--wp--preset--color--rosa);
	border-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--tinta);
}

/* «Reservar» dentro del menú del móvil (enlace de navegación con la clase jl-menu-reservar; en el ordenador ya está
   el botón de la cabecera): el botón rosa macizo de theme.json, de 44 px, separado de los demás enlaces. Una clase
   más que la regla de los enlaces del menú abierto, para ganarle la letra y el relleno. */
.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .jl-menu-reservar {
	margin-block-start: 20px;
}

.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .jl-menu-reservar .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 24px;
	background-color: var(--wp--preset--color--rosa);
	color: var(--wp--preset--color--tinta);
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 700;
	letter-spacing: 0.5px;
	text-decoration: none;
	text-transform: uppercase;
}

.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .jl-menu-reservar .wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--blanco-roto);
	color: var(--wp--preset--color--tinta);
	text-decoration: none;
}

/* Contorno rosa sobre rosa no se vería. */
.wp-block-navigation.jl-menu .wp-block-navigation__responsive-container.is-menu-open .jl-menu-reservar .wp-block-navigation-item__content:focus-visible {
	outline-color: var(--wp--preset--color--blanco-roto);
}

@media (max-width: 781px) {
	/* En el móvil, «Reservas próximamente» no cabe ni se puede pulsar: lo dice la portada justo debajo. */
	.jl-cabecera .jl-boton-reservar.is-reservas-cerradas,
	.jl-cabecera__acciones .wp-block-buttons:has(.is-reservas-cerradas) {
		display: none;
	}
}

@media (min-width: 782px) {
	.wp-block-group.jl-cabecera {
		column-gap: 28px;
		padding: 22px var(--wp--style--root--padding-right) 22px var(--wp--style--root--padding-left);
	}

	/* En el ordenador, Reservar es el botón de la cabecera: el enlace del menú sobra. */
	.wp-block-navigation.jl-menu .jl-menu-reservar {
		display: none;
	}

	.wp-block-image.jl-logo img {
		height: 56px;
	}

	.wp-block-group.jl-cabecera__acciones {
		gap: 4px;
	}

	.wp-block-button.jl-boton-reservar-corto > .wp-block-button__link {
		font-size: var(--wp--preset--font-size--pequeno);
		letter-spacing: normal;
		padding: 0 20px;
	}

	.wp-block-button.jl-boton-reservar-corto.is-reservas-cerradas > .wp-block-button__link {
		padding: 0 19px;
	}
}

@media (min-width: 1100px) {
	.wp-block-navigation.jl-menu .wp-block-navigation__container {
		column-gap: 28px;
	}
}

/* ---------- Pie ---------- */

/* Marca y lema, datos del salón, enlaces legales y copyright. En el ordenador, en dos columnas. */
.wp-block-group.jl-pie {
	display: grid;
	gap: 28px;
	padding: 35px var(--wp--style--root--padding-right) 35px var(--wp--style--root--padding-left);
	border-top: 1px solid var(--wp--custom--color--linea-pie);
	color: var(--wp--preset--color--gris-rosado);
	font-size: var(--wp--preset--font-size--pequeno);
}

.wp-block-group.jl-pie > *,
.wp-block-group.jl-pie__marca > *,
.wp-block-group.jl-pie__datos > * {
	margin-block: 0;
}

.jl-pie a {
	color: var(--wp--preset--color--blanco-roto);
	text-decoration: none;
}

.jl-pie a:hover {
	color: var(--wp--preset--color--rosa);
	text-decoration: underline;
}

.wp-block-group.jl-pie__marca > p {
	max-width: 36ch;
	margin-block-start: 14px;
	line-height: 1.7;
}

.wp-block-group.jl-pie__datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 20px 28px;
}

.wp-block-list.jl-pie__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.wp-block-list.jl-pie__legal li {
	margin: 0;
}

.wp-block-list.jl-pie__legal a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

p.jl-pie__copyright {
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 1px;
}

@media (min-width: 782px) {
	.wp-block-group.jl-pie {
		grid-template-areas:
			"marca datos"
			"copyright legal";
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		align-items: start;
		column-gap: 7vw;
	}

	.jl-pie > .jl-pie__marca {
		grid-area: marca;
	}

	.jl-pie > .jl-pie__datos {
		grid-area: datos;
	}

	.jl-pie > .jl-pie__legal {
		grid-area: legal;
		justify-content: flex-end;
		align-self: center;
	}

	.jl-pie > .jl-pie__copyright {
		grid-area: copyright;
		align-self: center;
	}
}

/* ---------- Formularios y búsqueda ---------- */

/* Campos sobre fondo oscuro: borde de contraste 3:1 como mínimo. Sin peso: los de WooCommerce mandan en lo suyo. */
:where(input:is([type="text"], [type="email"], [type="tel"], [type="search"], [type="url"], [type="password"], [type="number"]), textarea, select) {
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid var(--wp--custom--color--borde-campo);
	border-radius: 0;
	background-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--blanco-roto);
	font: inherit;
}

/* Los botones no heredan la letra (hoja del navegador: Arial a 13 px). Sin peso: los que tienen letra propia
   (theme.json, WooCommerce, Tutor) la conservan; solo cambia lo que iba con la del navegador. */
:where(button, input:is([type="submit"], [type="button"], [type="reset"])) {
	font: inherit;
}

.wp-block-search__label {
	color: var(--wp--preset--color--gris-rosado);
	font-size: var(--wp--preset--font-size--rotulo);
	letter-spacing: 2px;
	text-transform: uppercase;
}

.wp-block-search .wp-block-search__input {
	border: 1px solid var(--wp--custom--color--borde-campo);
	border-radius: 0;
	background-color: var(--wp--preset--color--negro);
	color: var(--wp--preset--color--blanco-roto);
	padding: 10px 14px;
}

.wp-block-search .wp-block-search__inside-wrapper {
	gap: 8px;
}

.jl-seccion:not(.jl-seccion-izquierda) > .wp-block-search {
	text-align: left;
}

/* ---------- Listados (entradas, archivo y búsqueda) ---------- */

.wp-block-post-template > .wp-block-post + .wp-block-post {
	margin-block-start: var(--wp--preset--spacing--50);
	padding-block-start: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--borde);
}

.wp-block-post-template .wp-block-post-title {
	font-size: var(--wp--preset--font-size--grande);
}

.wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--rosa);
}

.wp-block-post-featured-image img {
	width: 100%;
	height: auto;
}

.wp-block-query-pagination {
	margin-block-start: var(--wp--preset--spacing--50);
}

.wp-block-query-pagination :is(a, .page-numbers) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

/* ---------- Movimiento: solo si la persona no ha pedido reducirlo ---------- */

@media (prefers-reduced-motion: no-preference) {
	.wp-block-button__link,
	.wp-element-button,
	.jl-enlace-flecha a,
	.jl-pie a,
	.wp-block-navigation.jl-menu .wp-block-navigation-item__content,
	.jl-cabecera__acciones :is(a, button) {
		transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	}
}
