/*
Theme Name: Realmakers
Theme URI: https://therealmakers.com
Author: Realmakers
Description: The Realmakers site: a block theme with the dotted-globe homepage, the services and their pages. Every text is edited in the WordPress editor, without code.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary. All rights reserved.
Text Domain: realmakers
*/

/* Estilos del sitio. Los colores, las letras y los tamaños salen de theme.json (DESIGN.md); aquí
   va lo que los bloques no traen: la cabecera, el pie y los estilos de bloque de la marca (la cota,
   la etiqueta, los pasos, las preguntas, la lista de servicios…). Cada estilo de bloque se elige en
   el editor, en el panel «Estilos» del bloque. Sin esquinas redondeadas ni fundidos. */

body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * + * { margin-block-start: 0; }
/* Las secciones a todo el ancho van pegadas: el espacio entre bloques es para el contenido. */
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
:where([tabindex="-1"]):focus { outline: none; }

/* La promesa de cada titular: lo que se escribe en cursiva sale en la cursiva de Newsreader y en
   rojo. En el editor basta con marcar esa parte como cursiva. */
:is(h1, h2, h3) em, :is(h1, h2, h3) i {
	font-family: var(--wp--preset--font-family--newsreader);
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--rojo);
	padding-right: 0.06em;
}

/* --- La cabecera --------------------------------------------------------------------------- */
/* La misma en todo el sitio: el logotipo a la izquierda y el menú a la derecha (un bloque
   «Navegación»; los enlaces se cambian en el editor del sitio, en la parte «Cabecera»). En las
   páginas va encima de la portada negra. En la home va fija, y el logotipo y el menú aparecen
   cuando el logo grande se va (lo hace el bloque «Portada 3D»). Sobre papel, pasa a tinta. */
.cabecera {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 24px 32px;
	color: var(--wp--preset--color--hueso);
	pointer-events: none;
}
.cabecera > * { margin: 0 !important; }
.cabecera a, .cabecera button { pointer-events: auto; }
.cabecera--portada { position: fixed; }
.cabecera--clara { color: var(--wp--preset--color--tinta); }
/* En la home la cabecera sigue fija al bajar: sobre papel lleva su fondo, para que el menú no se
   mezcle con lo que pasa por debajo. */
.cabecera--portada.cabecera--clara { background: var(--wp--preset--color--papel); box-shadow: 0 1px 0 var(--wp--preset--color--linea-papel); pointer-events: auto; }

/* El menú: etiquetas pequeñas en mayúsculas, en gris. Con el cursor encima, y en la página en la
   que se está, el enlace pasa a blanco y la cota roja lo mide de punta a punta. */
.cabecera .wp-block-navigation { font-size: 11px; font-weight: 500; line-height: 1; letter-spacing: 0.06em; text-transform: uppercase; }
.cabecera .wp-block-navigation__container { gap: 28px; align-items: center; }
.cabecera .wp-block-navigation-item { color: var(--wp--preset--color--gris-oscuro); }
.cabecera .wp-block-navigation-item:hover,
.cabecera .wp-block-navigation-item:focus-within,
.cabecera .wp-block-navigation-item:has(> [aria-current="page"]) { color: var(--wp--preset--color--hueso); }
.cabecera .wp-block-navigation-item__content { position: relative; padding: 10px 0 13px; }
.cabecera .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 7px;
	color: var(--wp--preset--color--rojo);
	background:
		linear-gradient(currentColor, currentColor) left / 1px 100% no-repeat,
		linear-gradient(currentColor, currentColor) right / 1px 100% no-repeat,
		linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat;
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.35s cubic-bezier(0.7, 0, 0.3, 1);
}
.cabecera .wp-block-navigation-item__content:hover::after,
.cabecera .wp-block-navigation-item__content:focus-visible::after,
.cabecera .wp-block-navigation-item__content[aria-current="page"]::after { clip-path: inset(0 0 0 0); }
.cabecera .wp-block-navigation-item__content:focus-visible { outline: none; }
.cabecera--clara .wp-block-navigation-item { color: var(--wp--preset--color--gris-papel); }
.cabecera--clara .wp-block-navigation-item:hover,
.cabecera--clara .wp-block-navigation-item:focus-within,
.cabecera--clara .wp-block-navigation-item:has(> [aria-current="page"]) { color: var(--wp--preset--color--tinta); }
.cabecera--clara .wp-block-navigation-item__content::after { color: var(--wp--preset--color--rojo-papel); }

/* El selector de idioma (bloque «Idiomas»): EN · ES, a la derecha del menú y con su misma letra; el
   idioma en el que se está, en blanco. Sin el plugin Realmakers Idiomas no sale. */
.cabecera > .cabecera__menu { margin-left: auto !important; }
.wp-block-realmakers-idiomas { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; line-height: 1; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--gris-oscuro); }
.wp-block-realmakers-idiomas a { padding: 10px 2px; }
.wp-block-realmakers-idiomas a[aria-current],
.wp-block-realmakers-idiomas a:hover,
.wp-block-realmakers-idiomas a:focus-visible { color: var(--wp--preset--color--hueso); }
.cabecera--clara .wp-block-realmakers-idiomas { color: var(--wp--preset--color--gris-papel); }
.cabecera--clara .wp-block-realmakers-idiomas a[aria-current],
.cabecera--clara .wp-block-realmakers-idiomas a:hover,
.cabecera--clara .wp-block-realmakers-idiomas a:focus-visible { color: var(--wp--preset--color--tinta); }

/* La llamada del menú (estilo «Botón rojo» del enlace): el botón de la marca, en pequeño. */
.cabecera .wp-block-navigation-item.is-style-boton { color: var(--wp--preset--color--negro); }
.cabecera .is-style-boton > .wp-block-navigation-item__content { padding: 11px 16px; border: 1px solid var(--wp--preset--color--rojo); background: var(--wp--preset--color--rojo); font-weight: 600; }
.cabecera .is-style-boton > .wp-block-navigation-item__content::after { content: none; }
.cabecera .wp-block-navigation-item.is-style-boton:hover,
.cabecera .wp-block-navigation-item.is-style-boton:focus-within { color: var(--wp--preset--color--rojo); }
.cabecera .is-style-boton > .wp-block-navigation-item__content:hover,
.cabecera .is-style-boton > .wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--negro); }
.cabecera .is-style-boton > .wp-block-navigation-item__content:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }

/* El botón «Menu» (y «Close») del móvil, con la misma letra que el menú. */
.cabecera .wp-block-navigation__responsive-container-open,
.cabecera .wp-block-navigation__responsive-container-close { padding: 10px 0; font: inherit; letter-spacing: inherit; color: inherit; }
/* El menú pasa a «Menu» por debajo de 900 px (WordPress lo hace a 600). */
@media (min-width: 600px) and (max-width: 899px) {
	.cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.cabecera .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* El menú abierto: a pantalla completa sobre negro, con los enlaces grandes y numerados como la
   lista de servicios. Se abre como la cortina, de arriba abajo; el logotipo queda encima. */
.cabecera .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 32px 40px;
	pointer-events: auto;
	animation: rm-menu 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}
@keyframes rm-menu { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
.has-modal-open .cabecera .cabecera__marca { position: relative; z-index: 100001; }
.cabecera .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 88px; }
/* WordPress alinea el menú abierto como el cerrado (a la derecha): aquí va a la izquierda y a lo ancho. */
.cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: stretch; }
.cabecera .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; counter-reset: menu; }
.cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item { flex-direction: row; align-items: baseline; justify-content: flex-start; }
.cabecera .is-menu-open .wp-block-navigation-item {
	counter-increment: menu;
	gap: 0 16px;
	border-top: 1px solid var(--wp--preset--color--linea);
	color: var(--wp--preset--color--hueso);
	font-size: 32px;
	letter-spacing: -0.03em;
	text-transform: none;
}
.cabecera .is-menu-open .wp-block-navigation-item::before { content: counter(menu, decimal-leading-zero); width: 32px; font-size: 12px; letter-spacing: 0.06em; color: var(--wp--preset--color--rojo); font-variant-numeric: tabular-nums; }
.cabecera .is-menu-open .wp-block-navigation-item__content { flex: 1; padding: 18px 0; }
.cabecera .is-menu-open .wp-block-navigation-item__content::after { content: none; }
.cabecera .is-menu-open .wp-block-navigation-item.is-style-boton { margin-top: 32px; border-top: 0; color: var(--wp--preset--color--negro); }
.cabecera .is-menu-open .wp-block-navigation-item.is-style-boton::before { content: none; }
.cabecera .is-menu-open .is-style-boton > .wp-block-navigation-item__content { padding: 17px 28px; font-size: 17px; letter-spacing: 0; text-align: center; }

/* «Saltar al contenido» (el primer Tab de la página, de WordPress): fijo arriba al tener el foco, para
   que el navegador no suba la página hasta él. */
body .skip-link.screen-reader-text:focus { position: fixed !important; }

/* El logotipo (bloque «Logo»): las letras toman el color del texto y la raya es siempre roja. */
.wp-block-realmakers-logo { display: inline-block; line-height: 0; color: inherit; }
.wp-block-realmakers-logo svg { display: block; height: 18px; width: auto; }

/* --- El pie -------------------------------------------------------------------------------- */
.pie__contenido { border-top: 1px solid var(--wp--preset--color--linea); }
.pie__contenido p { font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--gris-oscuro); max-width: 720px; }
.pie__contenido p a { color: var(--wp--preset--color--hueso); }
.pie__contenido p a:hover, .pie__contenido p a:focus-visible { color: var(--wp--preset--color--rojo); }

/* --- Secciones ----------------------------------------------------------------------------- */
/* Cada sección de una página es un grupo a todo el ancho con su color de fondo, y dentro un grupo
   que sostiene el contenido (1200 px como mucho, alineado a la izquierda). */
.dentro > p:not([class*="is-style-"]) { max-width: 680px; }
.dentro > h1 { max-width: 14ch; }
.dentro > h2 + p, .dentro > h1 + p { margin-block-start: 32px; }

/* Etiqueta: texto pequeño en mayúsculas, gris (sobre papel, el gris del papel). */
.is-style-etiqueta {
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris-oscuro);
}
.has-papel-background-color .is-style-etiqueta,
.has-papel-documento-background-color .is-style-etiqueta { color: var(--wp--preset--color--gris-papel); }

/* Cota: la firma de la marca. Una línea fina roja con un tope en cada punta. */
.wp-block-separator.is-style-cota {
	height: 9px;
	width: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	opacity: 1;
	background:
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) left / 1px 100% no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) right / 1px 100% no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) center / 100% 1px no-repeat;
}

/* Tres datos con su cota (portada de una página de servicio). */
.wp-block-columns.is-style-hechos { margin-block-start: clamp(56px, 7vw, 88px); gap: 40px; }
.is-style-hechos .wp-block-column > * { margin-block: 0; }
.is-style-hechos .wp-block-separator { margin-bottom: 20px; }
.is-style-hechos .has-xx-large-font-size { font-weight: 500; line-height: 1; letter-spacing: -0.02em; margin-bottom: 8px; }
.is-style-hechos .has-small-font-size { max-width: 28ch; line-height: 1.45; }

/* Lista de pasos: numerados solos, con una línea entre paso y paso. Para añadir un paso, duplica
   uno: el número se pone solo. */
.is-style-pasos { counter-reset: paso; border-top: 1px solid var(--wp--preset--color--linea-papel); margin-block-start: clamp(48px, 6vw, 72px) !important; }
.is-style-pasos > .is-style-paso {
	counter-increment: paso;
	display: grid;
	grid-template-columns: 72px minmax(0, 4fr) minmax(0, 7fr);
	gap: 0 32px;
	margin: 0 !important;
	padding: 36px 0 40px;
	border-bottom: 1px solid var(--wp--preset--color--linea-papel);
}
.is-style-paso::before {
	content: counter(paso, decimal-leading-zero);
	padding-top: 9px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--rojo-papel);
	font-variant-numeric: tabular-nums;
}
.is-style-paso > * { margin: 0 !important; }
.is-style-paso > .wp-block-group > p:first-child { margin-top: 0; }
.wp-block-columns.is-style-datos-paso { gap: 24px 32px; margin-block-start: 24px; }
.is-style-datos-paso .wp-block-column > * { margin-block: 0; }
.is-style-datos-paso .is-style-etiqueta { margin-bottom: 8px; }
.is-style-datos-paso p:not(.is-style-etiqueta) { font-size: 16px; line-height: 1.5; }

/* Lista con raya roja (lo que incluye un servicio), en dos columnas. */
.wp-block-list.is-style-incluye {
	list-style: none;
	margin-block-start: clamp(40px, 5vw, 56px);
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 64px;
}
.is-style-incluye li {
	position: relative;
	margin: 0;
	padding: 18px 0 18px 28px;
	border-top: 1px solid var(--wp--preset--color--linea-papel);
	line-height: 1.45;
}
.is-style-incluye li::before { content: ''; position: absolute; left: 0; top: 30px; width: 12px; height: 1px; background: var(--wp--preset--color--rojo-papel); }

/* Preguntas: la pregunta a la izquierda y la respuesta a la derecha. */
.is-style-preguntas { border-top: 1px solid var(--wp--preset--color--linea-papel); margin-block-start: clamp(40px, 5vw, 56px) !important; }
.is-style-preguntas > .is-style-pregunta {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 12px 32px;
	margin: 0 !important;
	padding: 30px 0;
	border-bottom: 1px solid var(--wp--preset--color--linea-papel);
}
.is-style-pregunta > * { margin: 0 !important; }
.is-style-pregunta h3 { font-size: 22px; line-height: 1.3; letter-spacing: -0.01em; }
.is-style-pregunta p { color: var(--wp--preset--color--gris-papel); }

/* Lista de servicios (home): numerada sola; cada fila lleva a su página y se puede pulsar entera.
   Con el cursor encima, el nombre pasa a rojo y aparece la flecha, en seco. */
.is-style-lista-servicios { counter-reset: servicio; border-top: 1px solid var(--wp--preset--color--linea-papel); margin-block-start: clamp(56px, 7vw, 80px) !important; }
.is-style-lista-servicios > .is-style-fila-servicio {
	counter-increment: servicio;
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 5fr) minmax(0, 6fr);
	gap: 0 32px;
	align-items: baseline;
	margin: 0 !important;
	padding: 28px 56px 30px 0;
	border-bottom: 1px solid var(--wp--preset--color--linea-papel);
}
.is-style-fila-servicio::before { content: counter(servicio, decimal-leading-zero); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; color: var(--wp--preset--color--rojo-papel); font-variant-numeric: tabular-nums; }
.is-style-fila-servicio::after { content: '→'; position: absolute; right: 0; top: 28px; font-size: 22px; line-height: 1; color: var(--wp--preset--color--rojo-papel); visibility: hidden; }
.is-style-fila-servicio > * { margin: 0 !important; }
.is-style-fila-servicio p { color: var(--wp--preset--color--gris-papel); }
.is-style-fila-servicio h3 a::after { content: ''; position: absolute; inset: 0; }
.is-style-fila-servicio:hover h3, .is-style-fila-servicio:focus-within h3 { color: var(--wp--preset--color--rojo-papel); }
.is-style-fila-servicio:hover::after, .is-style-fila-servicio:focus-within::after { visibility: visible; }
.is-style-fila-servicio h3 a:focus-visible { outline: none; }
.is-style-fila-servicio:focus-within { outline: 1px solid var(--wp--preset--color--tinta); outline-offset: 6px; }

/* El precio aproximado (bloque «Precio aproximado»): la cifra, su unidad y la palabra en rojo; al pasar
   el ratón por encima, al tocarla o con el teclado, sale la nota debajo del precio. Sobre papel, los
   colores de papel; en la tabla de precios, la palabra queda por encima del enlace de la fila. */
.wp-block-realmakers-precio { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-block-start: 28px; }
.precio__cifra { font-size: var(--wp--preset--font-size--x-large); font-weight: 500; line-height: 1.2; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.precio__unidad { font-size: 15px; color: var(--wp--preset--color--gris-oscuro); }
.precio__boton { position: relative; z-index: 2; padding: 6px 0 2px; border: 0; border-bottom: 1px dotted currentColor; background: none; color: var(--wp--preset--color--rojo); font: inherit; font-size: 11px; font-weight: 500; line-height: 1; letter-spacing: 0.06em; text-transform: uppercase; cursor: help; }
.precio__boton:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
.precio__nota { position: absolute; z-index: 3; top: calc(100% + 10px); left: 0; width: max-content; max-width: min(320px, 100%); padding: 12px 14px; background: var(--wp--preset--color--hueso); color: var(--wp--preset--color--tinta); font-size: 14px; line-height: 1.45; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity 0.15s, transform 0.15s, visibility 0.15s; pointer-events: none; }
.precio__aprox:hover .precio__nota, .precio__boton:focus-visible + .precio__nota, .precio__aprox.abierta .precio__nota { opacity: 1; visibility: visible; transform: none; }
:is(.has-papel-background-color, .has-papel-documento-background-color) .precio__unidad { color: var(--wp--preset--color--gris-papel); }
:is(.has-papel-background-color, .has-papel-documento-background-color) .precio__boton { color: var(--wp--preset--color--rojo-papel); }
:is(.has-papel-background-color, .has-papel-documento-background-color) .precio__nota { background: var(--wp--preset--color--negro); color: var(--wp--preset--color--hueso); }
.is-style-fila-servicio > .wp-block-realmakers-precio { align-self: baseline; }
/* Con el ratón o el foco en «aproximado», la fila no se marca: no se va a abrir el servicio. */
.is-style-fila-servicio:has(.precio__aprox:hover) h3, .is-style-fila-servicio:has(.precio__boton:focus) h3 { color: inherit; }
.is-style-fila-servicio:has(.precio__boton:focus) { outline: none; }
@media (min-width: 782px) { .is-style-fila-servicio:has(.precio__aprox:hover)::after { visibility: hidden; } }
.fila-precio__dato > * { margin: 0 !important; }
.fila-precio__dato > p { margin-top: 8px !important; }

/* Las páginas legales: el texto en una columna cómoda de leer y, arriba, el aviso de que aún no hay
   empresa registrada, con la raya roja de la marca. */
.documento { max-width: 760px; }
.documento > * { margin-block-start: 0; margin-block-end: 16px; }
.documento > h2 { margin-block-start: clamp(40px, 5vw, 56px); margin-block-end: 14px; font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; }
.documento p, .documento li { font-size: 17px; line-height: 1.65; }
.documento ul { padding-left: 1.2em; }
.documento li + li { margin-top: 6px; }
.documento a { color: var(--wp--preset--color--rojo-papel); }
.aviso-legal { padding: 16px 20px; border-left: 2px solid var(--wp--preset--color--rojo-papel); background: var(--wp--preset--color--papel-documento); }
@media (prefers-reduced-motion: reduce) { .precio__nota { transition: none; } }

/* --- El formulario de contacto (bloque «Formulario de contacto», con WPForms) ------------------ */
/* Con las piezas de la marca: esquinas rectas, línea fina, la letra del sitio y el botón rojo de
   siempre (sin degradados). WPForms lee estas variables (su «modern markup»); lo demás se ajusta aquí. */
.wp-block-realmakers-formulario { max-width: 720px; margin-top: var(--wp--preset--spacing--50); }
.wp-block-realmakers-formulario .wpforms-container {
	--wpforms-field-border-radius: 0px;
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-color: var(--wp--preset--color--linea-papel);
	--wpforms-field-background-color: var(--wp--preset--color--papel);
	--wpforms-field-text-color: var(--wp--preset--color--tinta);
	--wpforms-label-color: var(--wp--preset--color--tinta);
	--wpforms-label-sublabel-color: var(--wp--preset--color--gris-papel);
	--wpforms-label-error-color: var(--wp--preset--color--rojo-papel);
	--wpforms-button-border-radius: 0px;
	--wpforms-button-border-size: 1px;
	--wpforms-button-background-color: var(--wp--preset--color--rojo);
	--wpforms-button-border-color: var(--wp--preset--color--rojo);
	--wpforms-button-text-color: var(--wp--preset--color--negro);
	--wpforms-field-size-font-size: 17px;
	--wpforms-label-size-font-size: 15px;
	--wpforms-label-size-sublabel-font-size: 14px;
	--wpforms-button-size-font-size: 17px;
	margin: 0;
	font-family: inherit;
}
.wp-block-realmakers-formulario .wpforms-container :is(input, textarea, button, label) { font-family: inherit; }
.wp-block-realmakers-formulario .wpforms-container .wpforms-field-label { font-weight: 600; }
.wp-block-realmakers-formulario .wpforms-container :is(input[type=text], input[type=email], textarea):focus {
	border-color: var(--wp--preset--color--tinta);
	box-shadow: none;
	outline: 1px solid var(--wp--preset--color--tinta);
	outline-offset: 0;
}
.wp-block-realmakers-formulario .wpforms-container button.wpforms-submit {
	height: auto;
	padding: 17px 28px;
	font-weight: 600;
	line-height: 1;
	background: var(--wp--preset--color--rojo) !important;
	color: var(--wp--preset--color--negro) !important;
	box-shadow: none !important;
}
.wp-block-realmakers-formulario .wpforms-container button.wpforms-submit:is(:hover, :focus-visible) {
	background: var(--wp--preset--color--negro) !important;
	color: var(--wp--preset--color--rojo) !important;
	border-color: var(--wp--preset--color--negro) !important;
}
.wp-block-realmakers-formulario .wpforms-container button.wpforms-submit::after { content: none !important; }
.wp-block-realmakers-formulario .wpforms-field-gdpr-checkbox :is(label, li) { font-size: 14px; font-weight: 400; color: var(--wp--preset--color--gris-papel); hyphens: manual; }
.wp-block-realmakers-formulario .wpforms-field-gdpr-checkbox > .wpforms-field-label { display: none; }
.wp-block-realmakers-formulario .wpforms-field-gdpr-checkbox a { color: var(--wp--preset--color--rojo-papel); }
.wp-block-realmakers-formulario .wpforms-field-gdpr-checkbox a:is(:hover, :focus-visible) { color: var(--wp--preset--color--tinta); }
/* El mensaje de después de enviar: WPForms lo pinta en verde; aquí, con la marca. */
.wp-block-realmakers-formulario .wpforms-confirmation-container-full {
	margin: 0 !important;
	padding: 20px 24px !important;
	border: 1px solid var(--wp--preset--color--linea-papel) !important;
	border-left: 2px solid var(--wp--preset--color--rojo) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--papel) !important;
	color: var(--wp--preset--color--tinta) !important;
	font-size: 17px;
}
.wp-block-realmakers-formulario .wpforms-confirmation-container-full p { margin: 0; color: inherit; }

/* La llamada final: el botón de la marca y, debajo, el enlace al siguiente servicio. */
.wp-block-buttons { margin-block-start: 44px !important; }
.wp-element-button:focus-visible { outline: 1px solid var(--wp--preset--color--hueso); outline-offset: 4px; }
/* El botón con el estilo «Contorno»: la misma forma, sin relleno. Con el cursor encima, se rellena. */
.wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid var(--wp--preset--color--rojo); background: transparent; color: var(--wp--preset--color--rojo); padding: 17px 28px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible { background: var(--wp--preset--color--rojo); color: var(--wp--preset--color--negro); }
.has-papel-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-papel-documento-background-color .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--wp--preset--color--rojo-papel); color: var(--wp--preset--color--rojo-papel); }
.is-style-siguiente {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	margin-block-start: clamp(80px, 9vw, 120px) !important;
	padding-top: 28px;
	border-top: 1px solid var(--wp--preset--color--linea);
	font-size: 15px;
	color: var(--wp--preset--color--gris-oscuro);
}
.is-style-siguiente a { color: var(--wp--preset--color--hueso); }
.is-style-siguiente a:hover, .is-style-siguiente a:focus-visible { color: var(--wp--preset--color--rojo); }

@media (max-width: 781px) {
	.cabecera { padding: 18px 20px; }
	.cabecera .wp-block-navigation__responsive-container.is-menu-open { padding: 18px 20px 32px; }
	.cabecera .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; }
	.cabecera .is-menu-open .wp-block-navigation-item { font-size: 28px; }
	.is-style-pasos > .is-style-paso { grid-template-columns: 40px minmax(0, 1fr); gap: 10px 16px; padding: 28px 0 32px; }
	.is-style-paso > .wp-block-group { grid-column: 2; }
	.is-style-paso h3 { font-size: 24px; }
	.wp-block-list.is-style-incluye { grid-template-columns: 1fr; }
	.is-style-incluye li { font-size: 16px; }
	.is-style-preguntas > .is-style-pregunta { grid-template-columns: 1fr; padding: 24px 0; }
	.is-style-pregunta h3 { font-size: 20px; }
	.is-style-pregunta p { font-size: 16px; }
	.is-style-lista-servicios > .is-style-fila-servicio { grid-template-columns: 40px minmax(0, 1fr); gap: 8px 16px; padding: 22px 36px 24px 0; }
	.is-style-fila-servicio::after { top: 24px; visibility: visible; }
	.is-style-fila-servicio h3 { font-size: 24px; }
	.is-style-fila-servicio p { grid-column: 2; font-size: 16px; }
	.is-style-fila-servicio > .wp-block-realmakers-precio, .is-style-fila-servicio > .fila-precio__dato { grid-column: 2; }
	.precio__cifra { font-size: 22px; }
	.is-style-siguiente { flex-direction: column; }
}
