/*
Theme Name: JT Abogados
Theme URI:
Author: JT Abogados
Description: Tema de bloques propio para la web de JT Abogados, despacho en Madrid (Retiro). Sobrio y editorial, sin dependencias externas, con la marca y las tipografías del brandguide autoalojadas y sin recursos de terceros.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Version: 0.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jt-abogados
Tags: block-theme, full-site-editing, accessibility-ready, blog, one-column
*/

/*
 * Esta es la ÚNICA hoja de estilos del tema, a propósito: una sola petición y
 * sin paso de compilación. Todo lo que se pueda expresar en theme.json vive
 * allí; aquí solo queda lo que theme.json no sabe hacer.
 *
 * Dirección visual: sobria y editorial. Base blanca y crema, azul de marca para
 * la estructura, camel para los detalles. Titulares y texto en Barlow
 * Condensed, como fija la maqueta final de Figma. Fotografía
 * real del despacho, usada para puntuar el contenido y no para decorarlo.
 * La HOME combina Barlow Condensed en titulares y acciones con Inter en los
 * textos de lectura, conforme a la escala responsive aprobada en Figma.
 *
 * Índice
 *   1. Base y accesibilidad
 *   2. Foco visible
 *   3. Enlace de salto al contenido
 *   4. Cabecera, barra de contacto y navegación
 *   5. Botones
 *   6. Secciones y ritmo vertical
 *   7. Tipografía de apoyo: antetítulo, entradilla, reglas
 *   8. Imágenes y figuras
 *   9. Hero
 *  10. Tarjetas y rejillas
 *  11. Listas de anclas, pasos y canales de contacto
 *  12. Preguntas frecuentes
 *  13. Equipo y fichas de letrado
 *  14. Ficha de oficina y ubicación
 *  15. Marcadores de contenido pendiente
 *  16. Formulario de contacto (WPForms)
 *  17. Artículos y blog
 *  18. Pie de página
 *  19. Movimiento reducido e impresión
 */

/* ------------------------------------------------------------------------- *
 * 1. Base y accesibilidad
 * ------------------------------------------------------------------------- */

:root {

	/*
	 * Alias de theme.json. Genera --wp--custom--*, pero con nombres muy largos;
	 * estos mantienen legibles las reglas de abajo.
	 */
	--jt-transicion: var(--wp--custom--transicion, 160ms cubic-bezier(0.2, 0, 0.3, 1));
	--jt-foco-grosor: var(--wp--custom--foco--grosor, 3px);
	--jt-foco-separacion: var(--wp--custom--foco--separacion, 3px);
	--jt-ancho-texto: var(--wp--custom--ancho--texto, 38rem);
	--jt-fuente-lectura: var(--wp--preset--font-family--lectura, "Inter", Arial, sans-serif);

	/*
	 * Color del indicador de foco. Se redefine dentro de las secciones oscuras,
	 * donde el camel no llega al contraste mínimo frente al azul.
	 */
	--jt-foco-color: var(--wp--preset--color--camel-oscuro);
}

/* -------------------------------------------------------------------------
 * Propiedad horizontal — composición propia de Figma
 * Escritorio 423:1299 · tablet 423:1979 · móvil 423:2533
 * ---------------------------------------------------------------------- */
body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.59), rgba(12, 29, 77, 0.59)),
		url(./assets/imagenes/propiedad-horizontal/hero-complejo-residencial.webp);
	background-position: center;
}

/* Accidentes de tráfico parte de la composición validada de Propiedad
 * Horizontal, pero mantiene su fotografía, alturas y recortes propios. */
body.page-template-page-divorcio .jt-divorcio-hero.jt-trafico-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.59), rgba(12, 29, 77, 0.59)),
		url(./assets/imagenes/accidentes-trafico/hero-accidente-coche.webp);
	background-position: center;
}

.jt-propiedad-confianza .jt-divorcio-confianza__foto {
	order: 1;
}

.jt-propiedad-confianza .jt-divorcio-confianza__contenido {
	order: 2;
}

.jt-propiedad-materias .jt-antetitulo,
.jt-propiedad-materias .jt-divorcio-materia small,
.jt-propiedad-confianza .jt-antetitulo,
.jt-propiedad-proceso .jt-antetitulo,
.jt-propiedad-proceso .jt-divorcio-paso small,
.jt-propiedad-claves .jt-antetitulo,
.jt-propiedad-claves .jt-divorcio-paso small,
.jt-propiedad-faq .jt-antetitulo {
	color: #85552f;
}

.jt-propiedad-escenarios .jt-antetitulo {
	color: #d9a474;
}

.jt-propiedad-titulo-mobile,
.jt-propiedad-intro-mobile {
	display: none;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-propiedad-materias {
		height: 750px;
		min-height: 750px;
		padding-bottom: 37px;
		padding-top: 40px;
	}

	body.page-template-page-divorcio .jt-propiedad-confianza {
		height: 560px;
		min-height: 560px;
	}

	body.page-template-page-divorcio .jt-propiedad-proceso {
		height: 555px;
		max-height: 555px;
		min-height: 555px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio .jt-propiedad-escenarios {
		height: 690px;
		min-height: 690px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__rejilla > img {
		height: 422px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__tarjetas
	article {
		height: 130px;
		min-height: 130px;
		padding: 16px 20px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__tarjetas
	article
	h3 {
		font-size: 24px;
		line-height: 28px;
		margin-bottom: 8px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__tarjetas
	article
	p {
		font-size: 15px;
		line-height: 21px;
	}

	body.page-template-page-divorcio .jt-propiedad-claves {
		height: 544px;
		min-height: 544px;
		padding-bottom: 42px;
		padding-top: 42px;
	}

	body.page-template-page-divorcio .jt-propiedad-cta {
		height: 150px;
		min-height: 150px;
		padding: 32px 96px;
	}

	body.page-template-page-divorcio .jt-propiedad-faq {
		height: 1060px;
		min-height: 1060px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-contacto .jt-cabecera__contacto,
	body.page-template-page-contacto .jt-cabecera__contacto-interior {
		height: 30px;
	}

	body.page-template-page-contacto .jt-cabecera__principal {
		height: 85px;
		padding-block: 18px;
	}

	body.page-template-page-contacto .jt-navegacion {
		max-height: calc(100vh - 115px);
		top: 115px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero {
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-propiedad-materias {
		height: 1297px;
		min-height: 1297px;
	}

	body.page-template-page-divorcio .jt-propiedad-confianza {
		height: 937px;
		min-height: 937px;
	}

	.jt-propiedad-confianza .jt-divorcio-confianza__contenido {
		height: 497px;
		min-height: 497px;
		order: 1;
	}

	.jt-propiedad-confianza .jt-divorcio-confianza__foto {
		height: 440px;
		order: 2;
	}

	body.page-template-page-divorcio .jt-propiedad-proceso {
		height: 830px;
		max-height: 830px;
		min-height: 830px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio .jt-propiedad-escenarios {
		height: 776px;
		min-height: 776px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__rejilla > img {
		height: 490px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-escenarios
	.jt-divorcio-tipos__tarjetas
	article {
		height: 152px;
		min-height: 152px;
		padding: 16px;
	}

	body.page-template-page-divorcio .jt-propiedad-claves {
		height: 798px;
		min-height: 798px;
		padding-bottom: 36px;
		padding-top: 36px;
	}

	body.page-template-page-divorcio .jt-propiedad-cta {
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-propiedad-faq {
		height: 942px;
		min-height: 942px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-propiedad-hero {
		background-color: #0c1d4d;
		background-position:
			center top,
			center top !important;
		background-repeat: no-repeat, no-repeat;
		background-size:
			100% 500px,
			auto 500px;
		height: 1211px;
		min-height: 1211px;
		overflow: hidden;
		padding: 0;
		position: relative;
	}

	body.page-template-page-divorcio .jt-propiedad-hero .jt-divorcio-hero__rejilla {
		display: block;
		height: 100%;
		margin: 0;
		max-width: none;
		position: relative;
		width: 100%;
	}

	body.page-template-page-divorcio .jt-propiedad-hero .jt-divorcio-hero__contenido {
		height: 481px;
		left: 20px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		top: 28px;
		width: 350px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero .jt-formulario-hero {
		height: 666px;
		left: 20px;
		margin: 0;
		padding: 24px;
		position: absolute;
		top: 533px;
		width: 350px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero .wpforms-field-container {
		gap: 8px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero div.wpforms-container-full input[type="email"],
	body.page-template-page-divorcio .jt-propiedad-hero div.wpforms-container-full input[type="text"] {
		height: 50px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero div.wpforms-container-full textarea {
		height: 88px !important;
		min-height: 88px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero div.wpforms-container-full button[type="submit"] {
		min-height: 52px;
	}

	body.page-template-page-divorcio .jt-propiedad-hero h1 {
		font-size: 42px;
		line-height: 50px;
	}

	.jt-propiedad-titulo-desktop,
	.jt-propiedad-intro-desktop {
		display: none;
	}

	.jt-propiedad-titulo-mobile,
	.jt-propiedad-intro-mobile {
		display: inline;
	}

	body.page-template-page-divorcio .jt-propiedad-materias {
		height: 500px;
		min-height: 500px;
		overflow: hidden;
		padding-bottom: 20px;
		padding-top: 36px;
	}

	.jt-propiedad-materias .jt-antetitulo,
	.jt-propiedad-materias h2,
	.jt-propiedad-materias .jt-divorcio-intro {
		text-align: center;
	}

	.jt-propiedad-materias .jt-divorcio-materias__rejilla {
		margin-top: 8px;
		padding-bottom: 8px;
	}

	body.page-template-page-divorcio .jt-propiedad-confianza {
		height: 812px;
		min-height: 812px;
	}

	.jt-propiedad-confianza .jt-divorcio-confianza__contenido {
		height: 527px;
		min-height: 527px;
		order: 1;
		overflow: hidden;
	}

	.jt-propiedad-confianza .jt-divorcio-confianza__foto {
		height: 285px;
		order: 2;
	}

	body.page-template-page-divorcio .jt-propiedad-proceso {
		height: 564px;
		max-height: 564px;
		min-height: 564px;
		padding-bottom: 18px;
		padding-top: 20px;
	}

	body.page-template-page-divorcio .jt-propiedad-escenarios {
		height: 753px;
		min-height: 753px;
		padding-bottom: 28px;
		padding-top: 32px;
	}

	body.page-template-page-divorcio .jt-propiedad-claves {
		height: 558px;
		min-height: 558px;
		padding-bottom: 24px;
		padding-top: 28px;
	}

	body.page-template-page-divorcio .jt-propiedad-cta {
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-propiedad-faq {
		height: 1294px;
		min-height: 1294px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-propiedad-faq .jt-divorcio-faq__rejilla {
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__estrellas {
		display: none;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__carrusel {
		margin-top: 12px;
		overflow-y: visible;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-resena-real {
		padding: 16px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-resena-real
	p {
		margin-top: 8px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-carrusel-movil__controles,
	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-blog-home
	.jt-carrusel-movil__controles {
		height: 20px;
		margin-top: 0;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-valoraciones-divorcio
	.jt-carrusel-movil__controles
	button,
	body.page-template-page-divorcio:has(.jt-propiedad-hero)
	.jt-blog-home
	.jt-carrusel-movil__controles
	button {
		height: 20px;
		min-height: 20px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-blog-home__tarjeta,
	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-blog-home__vacio article {
		height: 250px;
		min-height: 250px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie {
		height: 1454px;
		overflow: visible;
		padding: 0 24px 46px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__tarjetas {
		background: #fff;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		gap: 12px;
		height: 432px;
		left: auto;
		margin: 0 -24px;
		padding: 0 24px 48px;
		position: relative;
		top: auto;
		transform: none;
		width: calc(100% + 48px);
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__tarjeta {
		border-radius: 8px;
		box-shadow: none;
		gap: 14px;
		height: 116px;
		min-height: 116px;
		padding: 16px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__tarjeta:first-child {
		height: 128px;
		min-height: 128px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__columnas {
		font-size: 14px;
		gap: 28px;
		padding-top: 46px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__columnas ul {
		margin-top: 8px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__columnas li {
		line-height: 22px;
	}

	body.page-template-page-divorcio:has(.jt-propiedad-hero) .jt-pie__legal {
		margin-top: 28px;
		padding-top: 24px;
	}

	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
		overflow: visible;
	}

	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__pregunta[open])
	.jt-divorcio-faq__rejilla,
	body.page-template-page-divorcio
	.jt-propiedad-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open])
	.jt-divorcio-faq__rejilla {
		height: auto;
	}
}

/* -------------------------------------------------------------------------
 * CONTACTO · composición Figma
 * Escritorio 511:29 · tablet 525:28 · móvil 525:273
 * ---------------------------------------------------------------------- */

.jt-contacto-hero {
	background-color: #929db6;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.57), rgba(12, 29, 77, 0.57)),
		linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)),
		var(--jt-contacto-hero);
	background-position: center, center, center 84%;
	background-repeat: no-repeat;
	background-size: cover, cover, 100% auto;
	box-sizing: border-box;
	color: #fff;
	height: 460px;
	overflow: hidden;
	position: relative;
}

.jt-contacto-hero__interior {
	box-sizing: border-box;
	height: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding: 42px 96px 16px;
	position: relative;
}

.jt-contacto-hero__migas,
.jt-contacto-hero__eyebrow,
.jt-contacto-hero h1,
.jt-contacto-hero__entradilla {
	margin: 0;
}

.jt-contacto-hero__migas {
	color: #9ec2db;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.4px;
	line-height: 18px;
}

.jt-contacto-hero__migas a {
	color: inherit;
	text-decoration: none;
}

.jt-contacto-hero__migas span {
	margin: 0 12px;
}

.jt-contacto-hero__eyebrow {
	color: #9ec2db;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 2.16px;
	line-height: 22px;
	margin-top: 24px;
}

.jt-contacto-hero h1 {
	color: #fff;
	font-size: 58px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: -0.58px;
	line-height: 62px;
	margin-top: 12px;
}

.jt-contacto-hero__entradilla {
	color: #f8f1e2;
	font-size: 24px;
	line-height: 31px;
	margin-top: 6px;
	max-width: 720px;
}

.jt-contacto-hero__acciones {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	margin-top: 66px;
}

.jt-contacto-hero__boton {
	align-items: center;
	background: #fff;
	border-radius: 2px;
	box-sizing: border-box;
	color: #0c1d4d;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	height: 50px;
	justify-content: center;
	letter-spacing: 0.6px;
	line-height: 18px;
	text-decoration: none;
	width: 224px;
}

.jt-contacto-hero__telefono {
	display: flex;
	flex-direction: column;
	padding-top: 1px;
}

.jt-contacto-hero__telefono a {
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.24px;
	line-height: 28px;
	text-decoration: none;
}

.jt-contacto-hero__telefono span {
	color: #f8f1e2;
	font-size: 15px;
	line-height: 19px;
}

.jt-contacto-hero__confianza {
	bottom: 16px;
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	left: 96px;
	position: absolute;
	right: 96px;
}

.jt-contacto-hero__confianza span {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.82);
	border-radius: 3px;
	box-sizing: border-box;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	height: 46px;
	justify-content: center;
	letter-spacing: 0.6px;
	line-height: 19px;
	text-align: center;
}

.jt-pagina-contacto .jt-contacto-home {
	min-height: 742px;
}

.jt-pagina-contacto > *,
.jt-pagina-contacto > .wp-block-post-content > * {
	margin-block-start: 0;
}

.jt-pagina-contacto .jt-proceso-home {
	box-sizing: border-box;
	height: 544px;
	min-height: 544px;
	padding-block: 39px;
}

.jt-pagina-contacto .jt-franja-cta a {
	min-width: 240px;
}

.jt-pagina-contacto .jt-valoraciones-contacto {
	height: 400px;
	min-height: 400px;
	overflow: hidden;
}

.jt-pagina-contacto .jt-blog-home {
	height: 490px;
	min-height: 490px;
	overflow: hidden;
}

body.page-template-page-contacto .jt-pie {
	box-sizing: border-box;
	height: 620px;
	min-height: 620px;
	overflow: visible;
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-contacto-hero {
		background-position: center, center, center -272px;
		background-size: cover, cover, 126% auto;
		height: 540px;
	}

	.jt-contacto-hero__interior {
		padding: 32px 48px 16px;
	}

	.jt-contacto-hero__migas {
		font-size: 13px;
		letter-spacing: 1.3px;
		line-height: 17px;
	}

	.jt-contacto-hero__eyebrow {
		font-size: 16px;
		letter-spacing: 1.92px;
		line-height: 20px;
		margin-top: 19px;
	}

	.jt-contacto-hero h1 {
		font-size: 50px;
		letter-spacing: -0.5px;
		line-height: 54px;
		margin-top: 14px;
	}

	.jt-contacto-hero__entradilla {
		font-size: 22px;
		line-height: 28px;
		margin-top: 10px;
		max-width: 650px;
	}

	.jt-contacto-hero__acciones {
		margin-top: 40px;
	}

	.jt-contacto-hero__boton {
		width: 220px;
	}

	.jt-contacto-hero__telefono a {
		font-size: 23px;
		line-height: 27px;
	}

	.jt-contacto-hero__telefono span {
		font-size: 14px;
		line-height: 18px;
	}

	.jt-contacto-hero__confianza {
		bottom: 32px;
		gap: 18px;
		left: 48px;
		right: 48px;
	}

	.jt-contacto-hero__confianza span {
		font-size: 13px;
		letter-spacing: 0.52px;
		line-height: 16px;
	}

	.jt-pagina-contacto .jt-contacto-home {
		min-height: 994px;
		padding: 44px 48px;
	}

	.jt-pagina-contacto .jt-contacto-home__contenido {
		gap: 22px;
		grid-template-columns: 260px minmax(0, 1fr);
		margin-top: 22px;
	}

	.jt-pagina-contacto .jt-contacto-home__opciones {
		grid-template-rows: repeat(3, minmax(0, 1fr));
	}

	.jt-pagina-contacto .jt-via-home {
		align-content: center;
		gap: 12px;
		grid-template-columns: 48px 1fr;
		padding: 16px;
	}

	.jt-pagina-contacto .jt-via-home__icono {
		height: 48px;
		width: 48px;
	}

	.jt-pagina-contacto .jt-via-home strong {
		font-size: 23px;
	}

	.jt-pagina-contacto .jt-via-home small {
		font-size: 14px;
		line-height: 21px;
	}

	.jt-pagina-contacto .jt-contacto-home__formulario {
		min-height: 650px;
		padding: 26px;
	}

	.jt-pagina-contacto .jt-contacto-home .wpforms-container .wpforms-field-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-pagina-contacto .jt-proceso-home {
		height: 745px;
		min-height: 745px;
		overflow: hidden;
		padding: 40px 48px;
	}

	.jt-pagina-contacto .jt-proceso-home__pasos li {
		height: 230px;
		min-height: 230px;
		padding: 15px 18px;
	}

	.jt-pagina-contacto .jt-proceso-home__icono {
		height: 48px;
		width: 48px;
	}

	.jt-pagina-contacto .jt-proceso-home h3 {
		font-size: 20px;
		line-height: 25px;
	}

	.jt-pagina-contacto .jt-proceso-home__pasos p {
		font-size: 14px;
		line-height: 21px;
	}

	.jt-pagina-contacto .jt-proceso-home__pasos strong {
		font-size: 13px;
		line-height: 18px;
	}

	.jt-pagina-contacto .jt-franja-cta {
		min-height: 185px;
		padding: 36px 48px;
	}

	.jt-pagina-contacto .jt-franja-cta > div {
		align-items: center;
		flex-direction: row;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto {
		grid-template-columns: 220px minmax(0, 1fr);
		height: 439px;
		min-height: 439px;
		padding: 38px 48px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__carrusel {
		margin: 0 0 0 28px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-resena-real:nth-child(3) {
		display: none;
	}

	.jt-pagina-contacto .jt-blog-home {
		grid-template-columns: 220px minmax(0, 1fr);
		height: 616px;
		min-height: 616px;
		padding: 44px 48px;
	}

	.jt-pagina-contacto .jt-blog-home__entradas {
		margin: 0 0 0 28px;
	}

	.jt-pagina-contacto .jt-blog-home__entradas .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-pagina-contacto .jt-blog-home__entradas .wp-block-post-template > li:nth-child(3) {
		display: none;
	}

	body.page-template-page-contacto .jt-pie {
		height: 521px;
		min-height: 521px;
		padding: 40px 48px 28px;
	}

	.jt-pagina-contacto .jt-ubicacion {
		height: 914px;
	}

	.jt-pagina-contacto .jt-ubicacion .jt-mapa {
		height: 430px;
	}

	body.page-template-page-contacto .jt-pie__tarjetas {
		grid-template-columns: 1fr;
		left: 50%;
		margin: 0;
		position: absolute;
		top: -360px;
		transform: translateX(-50%);
		width: 738px;
	}

	body.page-template-page-contacto .jt-pie__tarjeta {
		grid-template-columns: 58px 1fr;
		height: 120px;
		min-height: 120px;
		padding: 20px 30px;
	}

	body.page-template-page-contacto .jt-pie__columnas {
		gap: 22px;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	body.page-template-page-contacto .jt-pie__columnas li {
		font-size: 13px;
		line-height: 22px;
	}

	body.page-template-page-contacto .jt-pie__dato {
		font-size: 13px;
		gap: 8px;
		line-height: 20px;
		margin-top: 7px;
	}

	body.page-template-page-contacto .jt-pie__telefono {
		font-size: 17px;
		line-height: 22px;
	}

	body.page-template-page-contacto .jt-pie__marcas {
		margin-top: 12px;
	}

	body.page-template-page-contacto .jt-pie__sello {
		height: 60px;
		width: 60px;
	}

	body.page-template-page-contacto .jt-pie__legal {
		margin-top: 28px;
		padding-top: 18px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-contacto .jt-cabecera__contacto,
	body.page-template-page-contacto .jt-cabecera__contacto-interior {
		height: 30px;
	}

	body.page-template-page-contacto .jt-cabecera__principal {
		height: 85px;
		padding-block: 18px;
	}

	body.page-template-page-contacto .jt-navegacion {
		max-height: calc(100vh - 115px);
		top: 115px;
	}

	.jt-contacto-hero {
		background-position: center, center, center -40px;
		background-size: cover, cover, 760px 570px;
		height: 620px;
	}

	.jt-contacto-hero__interior {
		padding: 26px 24px 24px;
	}

	.jt-contacto-hero__migas {
		font-size: 12px;
		letter-spacing: 1.2px;
		line-height: 16px;
	}

	.jt-contacto-hero__eyebrow {
		font-size: 14px;
		letter-spacing: 1.68px;
		line-height: 18px;
		margin-top: 16px;
	}

	.jt-contacto-hero h1 {
		font-size: 42px;
		letter-spacing: -0.42px;
		line-height: 44px;
		margin-top: 14px;
		max-width: 342px;
	}

	.jt-contacto-hero__entradilla {
		font-size: 20px;
		line-height: 26px;
		margin-top: 10px;
	}

	.jt-contacto-hero__acciones {
		align-items: stretch;
		flex-direction: column;
		gap: 15px;
		margin-top: 23px;
	}

	.jt-contacto-hero__boton {
		height: 48px;
		width: 100%;
	}

	.jt-contacto-hero__telefono {
		align-items: center;
		text-align: center;
	}

	.jt-contacto-hero__telefono a {
		font-size: 24px;
		line-height: 28px;
	}

	.jt-contacto-hero__telefono span {
		font-size: 14px;
		line-height: 18px;
	}

	.jt-contacto-hero__confianza {
		bottom: 27px;
		gap: 8px;
		grid-template-columns: 1fr;
		left: 24px;
		right: 24px;
	}

	.jt-contacto-hero__confianza span {
		font-size: 13px;
		height: 46px;
		letter-spacing: 0.52px;
		line-height: 17px;
	}

	.jt-pagina-contacto .jt-contacto-home {
		height: 1270px;
		min-height: 1270px;
		overflow: hidden;
		padding: 38px 24px;
	}

	.jt-pagina-contacto .jt-contacto-home__contenido {
		gap: 20px;
		margin-top: 22px;
	}

	.jt-pagina-contacto .jt-via-home {
		gap: 14px;
		grid-template-columns: 48px 1fr;
		min-height: 132px;
		padding: 16px;
	}

	.jt-pagina-contacto .jt-via-home__icono {
		height: 48px;
		width: 48px;
	}

	.jt-pagina-contacto .jt-via-home strong {
		font-size: 23px;
	}

	.jt-pagina-contacto .jt-via-home small {
		font-size: 14px;
		line-height: 21px;
	}

	.jt-pagina-contacto .jt-contacto-home__formulario {
		min-height: 620px;
		padding: 20px;
	}

	.jt-pagina-contacto .jt-contacto-home__formulario h3 {
		font-size: 31px;
		line-height: 36px;
	}

	.jt-pagina-contacto .jt-contacto-home__formulario > p {
		font-size: 14px;
		line-height: 21px;
	}

	.jt-pagina-contacto .jt-contacto-home .wpforms-container {
		margin-top: 10px;
	}

	.jt-pagina-contacto .jt-contacto-home .wpforms-container .wpforms-field-container {
		row-gap: 5px;
	}

	.jt-pagina-contacto .jt-proceso-home {
		height: 610px;
		min-height: 610px;
		overflow: hidden;
		padding: 30px 24px;
	}

	.jt-pagina-contacto .jt-proceso-home__pasos li {
		min-height: 238px;
		padding: 16px 18px;
	}

	.jt-pagina-contacto .jt-franja-cta {
		height: 198px;
		min-height: 198px;
		overflow: hidden;
		padding: 24px;
	}

	.jt-pagina-contacto .jt-franja-cta > div {
		align-items: stretch;
		gap: 24px;
	}

	.jt-pagina-contacto .jt-franja-cta .jt-boton {
		width: 100%;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto {
		height: 459px;
		min-height: 459px;
		padding: 30px 24px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__carrusel > .jt-resena-real {
		flex: 0 0 100%;
	}

	.jt-pagina-contacto .jt-blog-home {
		height: 652px;
		min-height: 652px;
		padding: 32px 24px;
	}

	.jt-pagina-contacto .jt-blog-home__tarjeta,
	.jt-pagina-contacto .jt-blog-home__vacio article {
		height: 330px;
		min-height: 330px;
		overflow: hidden;
	}

	body.page-template-page-contacto .jt-pie {
		height: 1022px;
		min-height: 1022px;
		padding: 30px 24px 26px;
	}

	.jt-pagina-contacto .jt-ubicacion {
		height: 868px;
	}

	.jt-pagina-contacto .jt-ubicacion .jt-mapa {
		height: 340px;
	}

	body.page-template-page-contacto .jt-pie__tarjetas {
		grid-template-columns: 1fr;
		left: 50%;
		margin: 0;
		position: absolute;
		top: -390px;
		transform: translateX(-50%);
		width: 342px;
	}

	body.page-template-page-contacto .jt-pie__tarjeta {
		gap: 18px;
		grid-template-columns: 52px 1fr;
		height: 120px;
		min-height: 120px;
		padding: 18px 20px;
	}

	body.page-template-page-contacto .jt-pie__icono {
		height: 52px;
		width: 52px;
	}

	body.page-template-page-contacto .jt-pie__tarjeta :where(p, address) {
		font-size: 13px;
		line-height: 20px;
		margin-top: 4px;
	}

	body.page-template-page-contacto .jt-pie__columnas {
		gap: 18px;
		grid-template-columns: 1fr;
	}

	body.page-template-page-contacto .jt-pie__columnas ul {
		margin-top: 5px;
	}

	body.page-template-page-contacto .jt-pie__columnas li {
		font-size: 13px;
		line-height: 20px;
	}

	body.page-template-page-contacto .jt-pie__dato {
		font-size: 13px;
		gap: 10px;
		line-height: 19px;
		margin-top: 5px;
	}

	body.page-template-page-contacto .jt-pie__telefono {
		font-size: 17px;
		line-height: 22px;
	}

	body.page-template-page-contacto .jt-pie__marcas {
		margin-top: 10px;
	}

	body.page-template-page-contacto .jt-pie__sello {
		height: 60px;
		width: 60px;
	}

	body.page-template-page-contacto .jt-pie__legal {
		gap: 8px;
		margin-top: 20px;
		padding-top: 16px;
	}
}

/* La imagen aprobada en Figma y el orden de escritorio prevalecen sobre la
 * composición inicial de esta landing. */
.jt-divorcio-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/familia/hero-anillos-v2.webp);
}

@media (min-width: 62rem) {

	.jt-divorcio-confianza__foto {
		order: 1;
	}

	.jt-divorcio-confianza__contenido {
		order: 2;
	}
}

/* La fotografía propia de Herencias debe prevalecer sobre el cierre global de
 * la composición compartida con Divorcio. */
.jt-divorcio-hero.jt-herencias-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/herencias/hero-herencias.webp);
}

/* Propiedad horizontal: cotas finales de los tres marcos aprobados en Figma.
 * Se mantienen al final para que las reglas comunes de las landings no vuelvan
 * a imponer sus alturas sobre esta composición específica. */
@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		box-sizing: border-box;
		height: 750px;
		min-height: 750px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		box-sizing: border-box;
		height: 560px;
		min-height: 560px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		box-sizing: border-box;
		height: 690px;
		min-height: 690px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero,
	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias,
	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza,
	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso,
	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios,
	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves,
	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta,
	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
	}

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		height: 1297px;
		min-height: 1297px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		height: 937px;
		min-height: 937px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		height: 830px;
		min-height: 830px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		height: 776px;
		min-height: 776px;
	}

	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves {
		height: 798px;
		min-height: 798px;
	}

	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta {
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		height: 942px;
		min-height: 942px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero,
	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias,
	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza,
	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso,
	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios,
	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves,
	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta,
	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
	}

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		height: 1211px;
		min-height: 1211px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		height: 500px;
		min-height: 500px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		height: 812px;
		min-height: 812px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		height: 564px;
		min-height: 564px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		height: 753px;
		min-height: 753px;
	}

	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves {
		height: 558px;
		min-height: 558px;
	}

	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta {
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		height: 1294px;
		min-height: 1294px;
	}
}

/* Propiedad horizontal: cotas finales de los tres marcos aprobados en Figma.
 * Se mantienen al final para que las reglas comunes de las landings no vuelvan
 * a imponer sus alturas sobre esta composición específica. */
@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		box-sizing: border-box;
		height: 750px;
		min-height: 750px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		box-sizing: border-box;
		height: 560px;
		min-height: 560px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		box-sizing: border-box;
		height: 690px;
		min-height: 690px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero,
	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias,
	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza,
	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso,
	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios,
	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves,
	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta,
	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
	}

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		height: 1297px;
		min-height: 1297px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		height: 937px;
		min-height: 937px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		height: 830px;
		min-height: 830px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		height: 776px;
		min-height: 776px;
	}

	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves {
		height: 798px;
		min-height: 798px;
	}

	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta {
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		height: 942px;
		min-height: 942px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero,
	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias,
	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza,
	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso,
	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios,
	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves,
	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta,
	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
	}

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		height: 1211px;
		min-height: 1211px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		height: 500px;
		min-height: 500px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		height: 812px;
		min-height: 812px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		height: 564px;
		min-height: 564px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		height: 753px;
		min-height: 753px;
	}

	body.page-template-page-divorcio .jt-divorcio-claves.jt-propiedad-claves {
		height: 558px;
		min-height: 558px;
	}

	body.page-template-page-divorcio .jt-franja-cta.jt-propiedad-cta {
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		height: 1294px;
		min-height: 1294px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero {
		background-image:
			linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
			url(./assets/imagenes/hero-divorcio-separacion-original-v1.webp);
	}

	body.page-template-page-divorcio .jt-contacto-home {
		height: 992px;
		min-height: 992px;
		padding: 42px 48px;
	}

	body.page-template-page-divorcio .jt-contacto-home__cabecera {
		height: 94px;
	}

	body.page-template-page-divorcio .jt-contacto-home__contenido {
		gap: 20px;
		grid-template-rows: 346px 388px;
		height: 754px;
		margin-top: 18px;
		min-height: 0;
	}

	body.page-template-page-divorcio .jt-contacto-home__opciones {
		gap: 10px;
		grid-template-rows: repeat(3, 1fr);
	}

	body.page-template-page-divorcio .jt-via-home {
		background: #07142f;
		border-color: rgba(255, 255, 255, 0.72);
		min-height: 0;
		padding: 12px 16px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario {
		height: 388px;
		min-height: 0;
		padding: 20px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario h3 {
		font-size: 32px;
		line-height: 36px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario > p {
		font-size: 14px;
		line-height: 20px;
	}

	body.page-template-page-divorcio .jt-contacto-home .wpforms-container {
		margin-top: 10px;
	}

	body.page-template-page-divorcio .jt-valoraciones-divorcio {
		display: grid;
		grid-template-columns: 230px minmax(0, 1fr);
		height: 439px;
		min-height: 439px;
		padding: 48px 40px;
	}

	body.page-template-page-divorcio
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__carrusel {
		display: flex;
		gap: 14px;
		margin: 0 0 0 24px;
	}

	body.page-template-page-divorcio .jt-valoraciones-divorcio .jt-resena-real {
		flex: 0 0 calc(50% - 7px);
		min-height: 300px;
	}

	body.page-template-page-divorcio .jt-blog-home {
		height: 616px;
		min-height: 616px;
		overflow: hidden;
		padding: 48px 40px;
	}

	body.page-template-page-divorcio .jt-pie {
		height: 1037px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-pie__columnas {
		gap: 24px 36px;
	}

	body.page-template-page-divorcio .jt-pie__legal {
		margin-top: 34px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-contacto-home {
		height: 1266px;
		min-height: 1266px;
		padding: 38px 22px;
	}

	body.page-template-page-divorcio .jt-contacto-home__cabecera {
		height: 92px;
	}

	body.page-template-page-divorcio .jt-contacto-home__cabecera h2 {
		font-size: 36px;
		line-height: 41px;
	}

	body.page-template-page-divorcio .jt-contacto-home__contenido {
		gap: 18px;
		grid-template-rows: 442px 592px;
		height: 1052px;
		margin-top: 18px;
		min-height: 0;
	}

	body.page-template-page-divorcio .jt-contacto-home__opciones {
		gap: 10px;
		grid-template-rows: repeat(3, 1fr);
	}

	body.page-template-page-divorcio .jt-via-home {
		background: #07142f;
		border-color: rgba(255, 255, 255, 0.72);
		gap: 12px;
		grid-template-columns: 48px 1fr;
		min-height: 0;
		padding: 12px;
	}

	body.page-template-page-divorcio .jt-via-home__icono {
		height: 48px;
		width: 48px;
	}

	body.page-template-page-divorcio .jt-via-home strong {
		font-size: 20px;
		line-height: 24px;
	}

	body.page-template-page-divorcio .jt-via-home small {
		font-size: 14px;
		line-height: 19px;
		margin-top: 4px;
	}

	body.page-template-page-divorcio .jt-via-home em,
	body.page-template-page-divorcio .jt-via-home em a {
		font-size: 12px;
		line-height: 16px;
		margin-top: 4px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario {
		height: 592px;
		min-height: 0;
		padding: 18px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario h3 {
		font-size: 30px;
		line-height: 35px;
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario > p {
		font-size: 14px;
		line-height: 20px;
	}

	body.page-template-page-divorcio .jt-contacto-home .wpforms-container {
		margin-top: 10px;
	}

	body.page-template-page-divorcio
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-container {
		gap: 5px;
	}

	body.page-template-page-divorcio
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-label {
		font-size: 13px;
		line-height: 16px;
		margin-bottom: 3px;
	}

	body.page-template-page-divorcio
	.jt-contacto-home
	.wpforms-container
	:where(input[type="text"], input[type="email"], input[type="tel"]) {
		height: 42px;
		min-height: 42px;
	}

	body.page-template-page-divorcio
	.jt-contacto-home
	.wpforms-container
	textarea {
		height: 84px;
		min-height: 84px;
	}

	body.page-template-page-divorcio
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-checkbox
	label {
		font-size: 12px;
		line-height: 17px;
	}

	body.page-template-page-divorcio .jt-contacto-home .wpforms-submit-container {
		margin-top: 8px;
	}

	body.page-template-page-divorcio .jt-valoraciones-divorcio {
		display: grid;
		height: 459px;
		min-height: 459px;
		padding: 36px 24px 24px;
	}

	body.page-template-page-divorcio .jt-valoraciones-divorcio h2 {
		font-size: 34px;
		line-height: 38px;
	}

	body.page-template-page-divorcio
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__carrusel {
		display: flex;
		gap: 16px;
		margin-top: 18px;
		overflow-x: auto;
	}

	body.page-template-page-divorcio .jt-valoraciones-divorcio .jt-resena-real {
		flex: 0 0 100%;
		min-height: 220px;
	}

	body.page-template-page-divorcio .jt-blog-home {
		height: 652px;
		min-height: 652px;
		overflow: hidden;
		padding: 36px 24px;
	}

	body.page-template-page-divorcio .jt-pie {
		height: 1454px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-pie__columnas {
		gap: 24px;
	}

	body.page-template-page-divorcio .jt-pie__legal {
		margin-top: 32px;
	}
}

body.page-template-page-divorcio main#contenido > * {
	margin-block-start: 0;
}

body.page-template-page-divorcio .jt-divorcio-confianza {
	padding-inline: 0 !important;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-materias {
		box-sizing: border-box;
		height: 754px;
		padding-bottom: 27px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza {
		height: 540px;
		min-height: 540px;
	}

	body.page-template-page-divorcio
	.jt-divorcio-proceso:not(.jt-divorcio-acuerdos) {
		box-sizing: border-box;
		height: 579px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos {
		box-sizing: border-box;
		height: 800px;
	}

	body.page-template-page-divorcio .jt-divorcio-acuerdos {
		box-sizing: border-box;
		height: 487px;
		padding-bottom: 30px;
		padding-top: 30px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq {
		box-sizing: border-box;
		height: auto;
		min-height: 1060px;
		overflow: visible;
	}

	body.page-template-page-divorcio .jt-divorcio-faq__rejilla {
		min-height: 769px;
	}

	body.page-template-page-divorcio .jt-contacto-home {
		height: 742px;
		min-height: 742px;
	}

	body.page-template-page-divorcio .jt-contacto-home__contenido {
		height: 534px;
		min-height: 534px;
	}

	body.page-template-page-divorcio .jt-contacto-home__opciones {
		grid-template-rows: repeat(3, 1fr);
	}

	body.page-template-page-divorcio .jt-contacto-home__formulario {
		height: 534px;
		min-height: 534px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero {
		box-sizing: border-box;
		height: 1040px;
		min-height: 1040px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-divorcio-materias {
		box-sizing: border-box;
		height: 1315px;
		overflow: hidden;
		padding-bottom: 36px;
		padding-top: 48px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza {
		height: 861px;
		overflow: hidden;
	}

	body.page-template-page-divorcio
	.jt-divorcio-proceso:not(.jt-divorcio-acuerdos) {
		box-sizing: border-box;
		height: 854px;
		overflow: hidden;
		padding-bottom: 52px;
		padding-top: 52px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos {
		box-sizing: border-box;
		height: 925px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos article {
		min-height: 173px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos__rejilla > img {
		height: 551px;
	}

	body.page-template-page-divorcio .jt-divorcio-acuerdos {
		box-sizing: border-box;
		height: 845px;
		overflow: hidden;
		padding-bottom: 52px;
		padding-top: 52px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq {
		box-sizing: border-box;
		height: auto;
		min-height: 990px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-materias {
		box-sizing: border-box;
		height: 530px;
		overflow: hidden;
		padding-bottom: 24px;
		padding-top: 30px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza__contenido {
		height: 476px;
	}

	body.page-template-page-divorcio
	.jt-divorcio-proceso:not(.jt-divorcio-acuerdos) {
		box-sizing: border-box;
		height: 586px;
		overflow: hidden;
		padding-bottom: 27px;
		padding-top: 27px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos {
		box-sizing: border-box;
		height: 817px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-divorcio-acuerdos {
		box-sizing: border-box;
		height: 620px;
		overflow: hidden;
		padding-bottom: 38px;
		padding-top: 38px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta {
		height: 232px;
		min-height: 232px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq {
		box-sizing: border-box;
		height: auto;
		min-height: 1294px;
		overflow: visible;
	}

	body.page-template-page-divorcio .jt-divorcio-faq__rejilla {
		min-height: 915px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq__grupo > summary {
		padding-bottom: 11px;
		padding-top: 11px;
	}
}

/* Ajuste final de la landing de divorcio contra sus tres lienzos de Figma. */
.jt-divorcio-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/familia/hero-anillos-v2.webp);
}

.jt-divorcio-confianza__foto {
	order: 1;
}

.jt-divorcio-confianza__contenido {
	order: 2;
}

.jt-valoraciones-divorcio .jt-valoraciones-home__carrusel {
	overflow: hidden;
}

.jt-resena-real {
	background: #fafafa;
	border: 1px solid #dcd6c9;
	border-radius: 8px;
	box-sizing: border-box;
	color: #525f75;
	display: flex;
	flex-direction: column;
	min-height: 280px;
	padding: 20px;
}

.jt-resena-real header {
	align-items: center;
	display: grid;
	gap: 0 12px;
	grid-template-columns: 48px 1fr auto;
}

.jt-resena-real__avatar {
	align-items: center;
	background: #e8e3dc;
	border-radius: 50%;
	color: #0c1d4d;
	display: flex;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 15px;
	font-weight: 600;
	grid-row: 1 / 3;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.jt-resena-real header > span:nth-child(2) {
	display: flex;
	flex-direction: column;
}

.jt-resena-real strong {
	color: #0c1d4d;
	font-size: 16px;
}

.jt-resena-real time {
	font-family: var(--jt-fuente-lectura);
	font-size: 12px;
	line-height: 18px;
}

.jt-resena-real__estrellas {
	color: #a06d46;
	font-size: 13px;
	letter-spacing: 1px;
}

.jt-resena-real p {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 23px;
	margin: 22px 0 0;
}

.jt-resena-real__mas {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 14px;
	font-weight: 600;
	margin-top: auto;
}

.jt-resena-real__movil {
	display: none;
}

.jt-resena-real__fuente {
	align-self: flex-start;
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 13px;
	font-weight: 600;
	margin-top: auto;
	padding-top: 18px;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.jt-resena-real__fuente:hover,
.jt-resena-real__fuente:focus-visible {
	color: #a06d46;
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-divorcio-confianza__contenido {
		order: 1;
	}

	.jt-divorcio-confianza__foto {
		order: 2;
	}

	.jt-valoraciones-divorcio {
		grid-template-columns: 230px minmax(0, 1fr);
		min-height: 439px;
		padding: 48px 40px;
	}

	.jt-valoraciones-divorcio .jt-valoraciones-home__carrusel {
		display: flex;
		gap: 14px;
		margin: 0 0 0 24px;
	}

	.jt-valoraciones-divorcio .jt-resena-real {
		flex: 0 0 calc(50% - 7px);
		min-height: 300px;
	}
}

@media (max-width: 40rem) {

	.jt-divorcio-confianza__contenido {
		order: 1;
	}

	.jt-divorcio-confianza__foto {
		order: 2;
	}

	.jt-valoraciones-divorcio {
		min-height: 459px;
		padding: 36px 24px 24px;
	}

	.jt-valoraciones-divorcio h2 {
		font-size: 34px;
		line-height: 38px;
	}

	.jt-valoraciones-divorcio .jt-valoraciones-home__estrellas {
		margin-top: 8px;
	}

	.jt-valoraciones-divorcio .jt-valoraciones-home__carrusel {
		display: flex;
		gap: 16px;
		margin-top: 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.jt-valoraciones-divorcio .jt-resena-real {
		flex: 0 0 100%;
		min-height: 220px;
		scroll-snap-align: start;
	}

	.jt-resena-real__escritorio {
		display: none;
	}

	.jt-resena-real__movil {
		display: block;
	}
}

/* -------------------------------------------------------------------------
 * Separación y divorcio — composición propia de Figma
 * Escritorio 351:871 · tablet 351:1393 · móvil 351:1839
 * ---------------------------------------------------------------------- */
.jt-divorcio-hero {
	background-color: #0c1d4d;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/hero-divorcio-separacion-original-v1.webp);
	background-position: center;
	background-size: cover;
	box-sizing: border-box;
	color: #fff;
	min-height: 760px;
	padding: 40px 96px 64px;
}

.jt-divorcio-hero__rejilla {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 800px) 430px;
	margin: 0 auto;
}

.jt-divorcio-hero__contenido {
	padding-top: 0;
}

.jt-divorcio-hero .jt-antetitulo,
.jt-divorcio-hero__contenido h2 {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 24px;
	margin: 0;
}

.jt-divorcio-hero h1 {
	color: #fff;
	font-size: 56px;
	font-style: italic;
	font-weight: 500;
	line-height: 59px;
	margin: 13px 0;
}

.jt-divorcio-titulo-mobile {
	display: none;
}

.jt-divorcio-hero__contenido > p:not(.jt-antetitulo) {
	font-family: var(--jt-fuente-lectura);
	font-size: 18px;
	line-height: 27px;
	margin: 0 0 13px;
	max-width: 655px;
}

.jt-divorcio-hero__contenido ul {
	columns: 2;
	gap: 10px;
	list-style: none;
	margin: 0;
	max-width: 620px;
	padding: 0;
}

.jt-divorcio-hero__contenido li {
	box-sizing: border-box;
	break-inside: avoid;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 19px;
	line-height: 23px;
	min-height: 44px;
	padding: 10px 0 8px 22px;
	position: relative;
}

.jt-divorcio-hero__contenido li::before {
	background: #a06d46;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	top: 17px;
	transform: rotate(45deg);
	width: 8px;
}

.jt-divorcio-hero__contenido a {
	color: #fff;
}

.jt-divorcio-hero__mas {
	display: none;
}

.jt-divorcio-hero .jt-formulario-hero {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 16px;
	box-sizing: border-box;
	color: #1b2437;
	height: 632px;
	margin-top: 24px;
	padding: 28px;
	width: 430px;
}

.jt-divorcio-hero .jt-formulario-hero h2 {
	color: #0c1d4d;
	font-size: 32px;
	font-weight: 500;
	line-height: 42px;
	margin: 0;
}

.jt-divorcio-hero .jt-formulario-hero > p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 2px 0 8px;
}

.jt-divorcio-hero div.wpforms-container-full {
	margin: 0 !important;
}

.jt-divorcio-hero .wpforms-field-container {
	display: grid;
	gap: 8px;
}

.jt-divorcio-hero div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 0;
}

.jt-divorcio-hero div.wpforms-container-full .wpforms-field-label {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 14px;
	line-height: 16px;
	margin-bottom: 7px !important;
}

.jt-divorcio-hero div.wpforms-container-full input[type="email"],
.jt-divorcio-hero div.wpforms-container-full input[type="text"],
.jt-divorcio-hero div.wpforms-container-full textarea {
	background: #f7f5f1;
	border-color: rgba(12, 29, 77, 0.12);
	border-radius: 8px;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
}

.jt-divorcio-hero div.wpforms-container-full input[type="email"],
.jt-divorcio-hero div.wpforms-container-full input[type="text"] {
	height: 50px;
	max-width: 234px;
}

.jt-divorcio-hero div.wpforms-container-full textarea {
	height: 88px !important;
	min-height: 88px;
}

.jt-divorcio-hero .wpforms-field[data-field-id="4"],
.jt-divorcio-hero .wpforms-field[data-field-id="7"] {
	display: none !important;
}

.jt-divorcio-hero .wpforms-field-gdpr-checkbox,
.jt-divorcio-hero .wpforms-field-gdpr-checkbox label {
	font-family: var(--jt-fuente-lectura);
	font-size: 14px;
	line-height: 20px;
}

.jt-divorcio-hero .wpforms-field-gdpr-checkbox label.wpforms-error,
.jt-divorcio-hero .wpforms-field-gdpr-checkbox em.wpforms-error {
	clip-path: inset(50%) !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.jt-divorcio-hero .wpforms-submit-container {
	padding-top: 10px !important;
}

.jt-divorcio-hero div.wpforms-container-full button[type="submit"] {
	min-height: 52px;
	width: 224px;
}

.jt-divorcio-materias {
	background: #fff;
	padding: 56px 96px 40px;
	text-align: center;
}

.jt-divorcio-materias .jt-antetitulo,
.jt-divorcio-proceso .jt-antetitulo,
.jt-divorcio-faq .jt-antetitulo {
	color: #85552f;
	font-size: 14px;
	letter-spacing: 0.05em;
	margin: 0;
	text-align: center;
}

.jt-divorcio-materias h2,
.jt-divorcio-faq h2 {
	color: #0c1d4d;
	font-size: 44px;
	line-height: 52px;
	margin: 18px 0;
	text-align: center;
}

.jt-divorcio-intro {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0 auto;
	max-width: 900px;
	text-align: center;
}

.jt-divorcio-materias__rejilla {
	display: grid;
	gap: 18px 22px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 18px;
}

.jt-divorcio-materia {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	color: #525f75;
	display: flex;
	flex-direction: column;
	height: 254px;
	overflow: hidden;
	text-align: center;
	text-decoration: none;
}

.jt-divorcio-materia__imagen {
	background: #0c1d4d;
	display: block;
	height: 112px;
	overflow: hidden;
	position: relative;
}

.jt-divorcio-materia__imagen::after {
	background: rgba(12, 29, 77, 0.38);
	content: "";
	inset: 0;
	position: absolute;
}

.jt-divorcio-materia img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.jt-divorcio-materia strong {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 17px;
	line-height: 20px;
	margin: 14px 16px 0;
}

.jt-divorcio-materia > span:not(.jt-divorcio-materia__imagen) {
	font-family: var(--jt-fuente-lectura);
	font-size: 14px;
	line-height: 20px;
	margin: 6px 16px 0;
}

.jt-divorcio-materia small {
	color: #85552f;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 12px;
	font-weight: 600;
	margin: auto 16px 14px;
}

.jt-divorcio-materias .jt-carrusel-movil__controles {
	display: none;
}

.jt-divorcio-confianza {
	background: #f3ecdf;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 540px;
}

.jt-divorcio-confianza__foto {
	margin: 0 !important;
	max-width: none !important;
	order: 2;
	width: 100%;
}

.jt-divorcio-confianza__foto .jt-figura,
.jt-divorcio-confianza__foto img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.jt-divorcio-confianza__contenido {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	order: 1;
	padding: 42px 64px 38px 96px;
}

.jt-divorcio-confianza .jt-antetitulo {
	color: #85552f;
	font-size: 13px;
	margin: 0;
}

.jt-divorcio-confianza h2 {
	color: #0c1d4d;
	font-size: 42px;
	line-height: 46px;
	margin: 10px 0 8px;
}

.jt-divorcio-confianza h3 {
	color: #0c1d4d;
	font-size: 14px;
	line-height: 20px;
	margin: 0 0 10px;
}

.jt-divorcio-confianza__contenido > p:not(.jt-antetitulo) {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 23px;
	margin: 0 0 12px;
	text-align: justify;
}

.jt-divorcio-confianza__garantias {
	align-items: center;
	display: flex;
	gap: 18px;
	margin-top: 4px;
}

.jt-divorcio-confianza__garantias ul {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 15px;
	line-height: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-divorcio-confianza__garantias li::before {
	content: "✓";
	margin-right: 8px;
}

.jt-divorcio-proceso {
	background: #faf7f1;
	padding: 56px 96px;
	text-align: center;
}

.jt-divorcio-proceso h2 {
	color: #0c1d4d;
	font-size: 42px;
	line-height: 48px;
	margin: 12px 0;
}

.jt-divorcio-proceso__rejilla {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 36px;
}

.jt-divorcio-proceso > .alignwide > .jt-carrusel-movil__controles,
.jt-divorcio-tipos > .alignwide > .jt-carrusel-movil__controles {
	display: none;
}

.jt-divorcio-paso {
	align-items: center;
	background: #fff;
	border: 1px solid #dbccb2;
	border-radius: 12px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 276px;
	padding: 20px 22px;
}

.jt-divorcio-paso__icono {
	align-items: center;
	background: #f6efe3;
	border-radius: 50%;
	display: flex;
	height: 56px;
	justify-content: center;
	width: 56px;
}

.jt-divorcio-paso__icono img {
	height: 32px;
	width: 32px;
}

.jt-divorcio-paso small {
	color: #85552f;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-top: 8px;
}

.jt-divorcio-paso h3 {
	color: #0c1d4d;
	font-size: 25px;
	line-height: 28px;
	margin: 8px 0;
}

.jt-divorcio-paso p {
	color: #525f75;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.jt-divorcio-paso > strong {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 12px;
	line-height: 17px;
	margin-top: auto;
}

.jt-divorcio-acuerdos .jt-divorcio-paso {
	height: 248px;
}

.jt-divorcio-tipos {
	background: #0c1d4d;
	color: #fff;
	padding: 56px 96px;
}

.jt-divorcio-tipos .jt-antetitulo {
	color: #e2c59f;
	font-size: 14px;
	margin: 0;
}

.jt-divorcio-tipos h2 {
	color: #fff;
	font-size: 44px;
	line-height: 52px;
	margin: 20px 0;
}

.jt-divorcio-tipos > .alignwide > p:not(.jt-antetitulo) {
	font-family: var(--jt-fuente-lectura);
	font-size: 18px;
	line-height: 27px;
	margin: 0;
}

.jt-divorcio-tipos__rejilla {
	display: grid;
	gap: 32px;
	grid-template-columns: 600px 1fr;
	margin-top: 20px;
}

.jt-divorcio-tipos__rejilla > div {
	display: grid;
	gap: 16px;
	order: 1;
}

.jt-divorcio-tipos article {
	background: #faf7f1;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	box-sizing: border-box;
	color: #525f75;
	height: 154px;
	padding: 20px;
}

.jt-divorcio-tipos article h3 {
	color: #0c1d4d;
	font-size: 26px;
	line-height: 31px;
	margin: 0 0 14px;
}

.jt-divorcio-tipos article p {
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0;
}

.jt-divorcio-tipos__rejilla > img {
	border-radius: 12px;
	height: 494px;
	object-fit: cover;
	order: 2;
	width: 100%;
}

.jt-divorcio-cta {
	background: #0c1d4d;
	box-sizing: border-box;
	color: #fff;
	min-height: 150px;
	padding: 32px 96px;
}

.jt-divorcio-cta > div {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.jt-divorcio-cta h2 {
	color: #fff;
	font-size: 30px;
	line-height: 36px;
	margin: 0;
	max-width: 850px;
}

.jt-divorcio-cta a {
	align-items: center;
	background: #fff;
	border: 1px solid #ac7549;
	color: #0c1d4d;
	display: flex;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 13px;
	font-weight: 600;
	height: 50px;
	justify-content: center;
	width: 240px;
}

.jt-divorcio-faq {
	background: #f3ecdf;
	padding: 64px 96px;
}

.jt-divorcio-faq__rejilla {
	columns: 2;
	column-gap: 28px;
	margin-top: 28px;
	min-height: 790px;
}

.jt-divorcio-faq__grupo {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 10px;
	break-inside: avoid;
	margin: 0 0 14px;
	scroll-margin-top: 184px;
}

.jt-divorcio-faq__grupo > summary {
	color: #0c1d4d;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 21px;
	font-weight: 600;
	line-height: 25px;
	list-style: none;
	padding: 22px 56px 22px 22px;
	position: relative;
}

.jt-divorcio-faq__grupo > summary::after {
	color: #a06d46;
	content: "+";
	font-size: 26px;
	position: absolute;
	right: 22px;
	top: 20px;
}

.jt-divorcio-faq__grupo[open] > summary::after {
	content: "−";
}

.jt-divorcio-faq__contenido {
	background: #faf7f1;
	padding: 0 22px 20px;
}

.jt-divorcio-faq__contenido > p {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0;
	padding: 12px 0;
}

.jt-divorcio-faq__pregunta {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 6px;
	margin-top: 10px;
}

.jt-divorcio-faq__pregunta summary {
	color: #0c1d4d;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 15px;
	font-weight: 500;
	line-height: 18px;
	list-style: none;
	padding: 13px 38px 13px 12px;
	position: relative;
}

.jt-divorcio-faq__pregunta summary::after {
	color: #a06d46;
	content: "+";
	position: absolute;
	right: 12px;
}

.jt-divorcio-faq__pregunta[open] summary::after {
	content: "−";
}

.jt-divorcio-faq__pregunta p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 23px;
	margin: 0;
	padding: 0 12px 12px;
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-divorcio-hero {
		background-position: center top;
		min-height: 1040px;
		padding: 42px 48px;
	}

	.jt-divorcio-hero__rejilla {
		display: flex;
		flex-direction: column;
		gap: 26px;
	}

	.jt-divorcio-hero h1 {
		font-size: 50px;
		line-height: 58px;
	}

	.jt-divorcio-hero__contenido ul {
		max-width: 100%;
	}

	.jt-divorcio-hero .jt-formulario-hero {
		height: 470px;
		margin: 0;
		padding: 24px 32px;
		width: 100%;
	}

	.jt-divorcio-hero .wpforms-field-container {
		gap: 0 12px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jt-divorcio-hero .wpforms-field-textarea,
	.jt-divorcio-hero .wpforms-field-gdpr-checkbox {
		grid-column: 1/-1;
	}

	.jt-divorcio-hero div.wpforms-container-full input[type="email"],
	.jt-divorcio-hero div.wpforms-container-full input[type="text"] {
		max-width: none;
	}

	.jt-divorcio-materias {
		padding: 56px 48px 44px;
	}

	.jt-divorcio-materias__rejilla {
		grid-template-columns: repeat(3, 232px);
		justify-content: center;
	}

	.jt-divorcio-confianza {
		display: flex;
		flex-direction: column;
	}

	.jt-divorcio-confianza__contenido {
		order: 1;
		padding: 38px 48px 28px;
	}

	.jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: none;
	}

	.jt-divorcio-confianza__foto {
		height: 440px;
		order: 2;
	}

	.jt-divorcio-proceso {
		padding: 56px 32px;
	}

	.jt-divorcio-proceso__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-divorcio-tipos {
		padding: 56px 32px;
	}

	.jt-divorcio-tipos__rejilla {
		gap: 24px;
		grid-template-columns: 365px 1fr;
	}

	.jt-divorcio-tipos article {
		height: auto;
		min-height: 178px;
	}

	.jt-divorcio-tipos__rejilla > img {
		height: 614px;
	}

	.jt-divorcio-cta {
		min-height: 228px;
		padding: 38px 48px;
	}

	.jt-divorcio-cta h2 {
		max-width: 500px;
	}

	.jt-divorcio-faq {
		padding: 52px 48px;
	}

	.jt-divorcio-faq__rejilla {
		column-gap: 18px;
		min-height: 700px;
	}

	.jt-divorcio-faq__grupo > summary {
		font-size: 18px;
		line-height: 22px;
		padding: 18px 46px 18px 18px;
	}

	.jt-divorcio-faq__contenido {
		padding: 0 18px 16px;
	}
}

@media (max-width: 40rem) {

	.jt-divorcio-hero {
		background-position: center top;
		background-size: auto 500px;
		min-height: 1190px;
		padding: 28px 20px 12px;
	}

	.jt-divorcio-hero__rejilla {
		display: flex;
		flex-direction: column;
		gap: 34px;
	}

	.jt-divorcio-hero .jt-antetitulo {
		font-size: 14px;
		line-height: 17px;
	}

	.jt-divorcio-hero h1 {
		font-size: 42px;
		line-height: 50px;
		margin: 9px 0;
	}

	.jt-divorcio-titulo-desktop {
		display: none;
	}

	.jt-divorcio-titulo-mobile {
		display: inline;
	}

	.jt-divorcio-hero__contenido > p:not(.jt-antetitulo) {
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 9px;
	}

	.jt-divorcio-hero__contenido h2 {
		font-size: 15px;
		line-height: 18px;
	}

	.jt-divorcio-hero__contenido ul {
		columns: 1;
	}

	.jt-divorcio-hero__contenido li {
		display: none;
		font-size: 16px;
		line-height: 19px;
		min-height: 33px;
		padding: 7px 0 7px 18px;
	}

	.jt-divorcio-hero__contenido li:nth-child(-n + 4),
	.jt-divorcio-hero__contenido ul.es-completa li {
		display: block;
	}

	.jt-divorcio-hero__contenido li::before {
		height: 7px;
		top: 13px;
		width: 7px;
	}

	.jt-divorcio-hero__mas {
		background: rgba(255, 255, 255, 0.14);
		border: 1px solid rgba(255, 255, 255, 0.65);
		border-radius: 6px;
		color: #fff;
		display: block;
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 14px;
		font-weight: 600;
		height: 44px;
		width: 100%;
	}

	.jt-divorcio-hero .jt-formulario-hero {
		height: 666px;
		margin: 0;
		padding: 24px;
		width: 100%;
	}

	.jt-divorcio-hero .jt-formulario-hero h2 {
		font-size: 28px;
	}

	.jt-divorcio-hero div.wpforms-container-full input[type="email"],
	.jt-divorcio-hero div.wpforms-container-full input[type="text"] {
		max-width: none;
		width: 100%;
	}

	.jt-divorcio-hero div.wpforms-container-full button[type="submit"] {
		width: 100%;
	}

	.jt-divorcio-materias {
		padding: 42px 20px 36px;
		text-align: left;
	}

	.jt-divorcio-materias h2,
	.jt-divorcio-faq h2 {
		font-size: 34px;
		line-height: 40px;
		margin: 10px 0;
	}

	.jt-divorcio-materias .jt-antetitulo,
	.jt-divorcio-materias h2,
	.jt-divorcio-materias .jt-divorcio-intro {
		text-align: left;
	}

	.jt-divorcio-materias__rejilla {
		display: flex;
		gap: 14px;
		justify-content: flex-start;
		margin-inline: -20px;
		overflow-x: auto;
		padding: 8px 20px 16px;
		scroll-snap-type: x mandatory;
	}

	.jt-divorcio-materia {
		flex: 0 0 232px;
		scroll-snap-align: start;
	}

	.jt-divorcio-materias .jt-carrusel-movil__controles {
		display: flex;
	}

	.jt-divorcio-confianza {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.jt-divorcio-confianza__contenido {
		height: 496px;
		order: 1;
		overflow: hidden;
		padding: 34px 20px 28px;
	}

	.jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: none;
	}

	.jt-divorcio-confianza h2 {
		font-size: 34px;
		line-height: 40px;
	}

	.jt-divorcio-confianza__foto {
		height: 285px;
		order: 2;
	}

	.jt-divorcio-confianza__garantias img {
		height: 78px;
		width: 78px;
	}

	.jt-divorcio-confianza__garantias ul {
		font-size: 14px;
	}

	.jt-divorcio-proceso {
		padding: 40px 24px;
	}

	.jt-divorcio-proceso h2 {
		font-size: 34px;
		line-height: 40px;
	}

	.jt-divorcio-proceso__rejilla {
		display: flex;
		gap: 14px;
		margin: 12px -24px 0;
		overflow-x: auto;
		padding: 0 24px;
		scroll-snap-type: x mandatory;
	}

	.jt-divorcio-proceso .jt-divorcio-intro {
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 18px;
		line-height: 22px;
	}

	.jt-divorcio-proceso > .alignwide > .jt-carrusel-movil__controles,
	.jt-divorcio-tipos > .alignwide > .jt-carrusel-movil__controles {
		display: flex;
		height: 18px;
		margin-top: 12px;
	}

	.jt-divorcio-proceso > .alignwide > .jt-carrusel-movil__controles button,
	.jt-divorcio-tipos > .alignwide > .jt-carrusel-movil__controles button {
		height: 18px;
		min-height: 18px;
		padding: 0;
		width: 28px;
	}

	.jt-divorcio-paso {
		flex: 0 0 310px;
		scroll-snap-align: start;
	}

	.jt-divorcio-tipos {
		padding: 40px 24px;
	}

	.jt-divorcio-tipos h2 {
		font-size: 34px;
		line-height: 40px;
		margin: 12px 0;
	}

	.jt-divorcio-tipos > .alignwide > p:not(.jt-antetitulo) {
		font-size: 16px;
		line-height: 24px;
	}

	.jt-divorcio-tipos__rejilla {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 14px;
	}

	.jt-divorcio-tipos__tarjetas {
		display: flex !important;
		gap: 16px !important;
		order: 2 !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.jt-divorcio-tipos article {
		flex: 0 0 310px;
		height: 226px;
		min-height: 226px;
		scroll-snap-align: start;
	}

	.jt-divorcio-tipos article h3 {
		font-size: 24px;
	}

	.jt-divorcio-tipos__rejilla > img {
		height: 210px;
		order: -1;
	}

	.jt-divorcio-cta {
		padding: 32px 20px;
	}

	.jt-divorcio-cta > div {
		align-items: stretch;
		flex-direction: column;
		gap: 20px;
	}

	.jt-divorcio-cta h2 {
		font-size: 28px;
		line-height: 34px;
	}

	.jt-divorcio-cta a {
		width: 100%;
	}

	.jt-divorcio-faq {
		padding: 46px 20px;
	}

	.jt-divorcio-faq__rejilla {
		columns: 1;
		min-height: 1028px;
	}

	.jt-divorcio-faq__grupo {
		scroll-margin-top: 130px;
	}

	.jt-divorcio-faq__grupo > summary {
		font-size: 18px;
		line-height: 22px;
		padding: 18px 44px 18px 16px;
	}

	.jt-divorcio-faq__contenido {
		padding: 0 16px 16px;
	}
}

/* -------------------------------------------------------------------------
 * Herencias y testamentos — composición propia de Figma
 * Escritorio 390:1047 · tablet 402:1072 · móvil 402:1626
 * ---------------------------------------------------------------------- */
.jt-herencias-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/herencias/hero-herencias.webp);
	background-position: center;
}

.jt-herencias-confianza .jt-divorcio-confianza__foto {
	order: 1;
}

.jt-herencias-confianza .jt-divorcio-confianza__contenido {
	order: 2;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-herencias-confianza {
		height: 608px;
		min-height: 608px;
	}

	body.page-template-page-divorcio .jt-herencias-proceso {
		height: 555px;
		min-height: 555px;
		padding-bottom: 56px;
		padding-top: 56px;
	}

	body.page-template-page-divorcio .jt-herencias-tipos {
		height: 717px;
		min-height: 717px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos__rejilla > img {
		height: 422px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos
	article {
		height: 130px;
		padding: 16px 20px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos
	article
	h3 {
		font-size: 24px;
		line-height: 28px;
		margin-bottom: 8px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos
	article
	p {
		font-size: 15px;
		line-height: 21px;
	}

	body.page-template-page-divorcio .jt-herencias-claves {
		height: 568px;
		min-height: 568px;
		padding-bottom: 42px;
		padding-top: 42px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-herencias-confianza {
		height: 957px;
		min-height: 957px;
	}

	.jt-herencias-confianza .jt-divorcio-confianza__contenido {
		height: 517px;
		order: 1;
	}

	.jt-herencias-confianza .jt-divorcio-confianza__foto {
		height: 440px;
		order: 2;
	}

	body.page-template-page-divorcio .jt-herencias-tipos {
		height: 850px;
		min-height: 850px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos__rejilla > img {
		height: 490px;
	}

	body.page-template-page-divorcio
	.jt-herencias-tipos
	.jt-divorcio-tipos
	article {
		min-height: 154px;
		padding: 16px;
	}

	body.page-template-page-divorcio .jt-herencias-claves {
		height: 798px;
		min-height: 798px;
		padding-bottom: 36px;
		padding-top: 36px;
	}
}

@media (max-width: 40rem) {

	.jt-herencias-hero {
		background-position: 48% top;
	}

	body.page-template-page-divorcio .jt-herencias-confianza {
		height: 860px;
		min-height: 860px;
	}

	.jt-herencias-confianza .jt-divorcio-confianza__contenido {
		height: 575px;
		order: 1;
	}

	.jt-herencias-confianza .jt-divorcio-confianza__foto {
		height: 285px;
		order: 2;
	}

	.jt-herencias-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	body.page-template-page-divorcio .jt-herencias-tipos {
		height: 769px;
		min-height: 769px;
		padding-bottom: 28px;
		padding-top: 32px;
	}

	body.page-template-page-divorcio .jt-herencias-claves {
		height: 558px;
		min-height: 558px;
		padding-bottom: 24px;
		padding-top: 28px;
	}

	body.page-template-page-divorcio .jt-herencias-cta {
		height: 266px;
		min-height: 266px;
	}
}

/* -------------------------------------------------------------------------
 * Derecho civil — composición propia de Figma
 * Escritorio 237:178 · tablet 237:700 · móvil 237:1146
 * ---------------------------------------------------------------------- */
body.page-template-page-divorcio .jt-divorcio-hero.jt-civil-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.68), rgba(12, 29, 77, 0.68)),
		url(./assets/imagenes/civil/hero-civil.webp);
	background-position: center;
}

.jt-civil-confianza .jt-divorcio-confianza__contenido {
	order: 1;
}

.jt-civil-confianza .jt-divorcio-confianza__foto {
	order: 2;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio
	.jt-civil-materias
	.jt-divorcio-materias__rejilla {
		gap: 18px;
		grid-template-columns: repeat(4, 232px);
		justify-content: space-between;
	}

	body.page-template-page-divorcio .jt-civil-confianza {
		height: 540px;
		min-height: 540px;
	}

	body.page-template-page-divorcio .jt-civil-faq {
		min-height: 1060px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-civil-materias {
		height: 1043px;
		min-height: 1043px;
	}

	body.page-template-page-divorcio .jt-civil-confianza {
		height: 889px;
		min-height: 889px;
	}

	.jt-civil-confianza .jt-divorcio-confianza__contenido {
		height: 449px;
		min-height: 449px;
		padding-bottom: 24px;
		padding-top: 28px;
	}

	.jt-civil-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	.jt-civil-confianza .jt-divorcio-confianza__foto {
		height: 440px;
	}

	body.page-template-page-divorcio .jt-civil-faq {
		min-height: 990px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-civil-hero {
		background-position: 48% top;
		height: 1190px;
		min-height: 1190px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-civil-hero .jt-divorcio-hero__contenido {
		height: 450px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-civil-materias {
		height: 506px;
		min-height: 506px;
	}

	body.page-template-page-divorcio .jt-civil-confianza {
		height: 833px;
		min-height: 833px;
	}

	.jt-civil-confianza .jt-divorcio-confianza__contenido {
		height: 548px;
		min-height: 548px;
		overflow: visible;
	}

	.jt-civil-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	.jt-civil-confianza .jt-divorcio-confianza__foto {
		height: 285px;
	}

	body.page-template-page-divorcio .jt-civil-cta {
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-civil-faq {
		height: 1294px;
		min-height: 1294px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-civil-faq .jt-divorcio-faq__rejilla {
		height: 1028px;
		min-height: 1028px;
	}

	body.page-template-page-divorcio .jt-civil-faq .jt-divorcio-faq__grupo {
		box-sizing: border-box;
		margin-bottom: 12px;
	}

	body.page-template-page-divorcio
	.jt-civil-faq
	.jt-divorcio-faq__grupo:last-child {
		margin-bottom: 0;
	}

	body.page-template-page-divorcio
	.jt-civil-faq:not(:has(.jt-divorcio-faq__pregunta[open]))
	.jt-divorcio-faq__grupo:first-child[open] {
		height: 326px;
	}

	body.page-template-page-divorcio
	.jt-civil-faq
	.jt-divorcio-faq__grupo > summary {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		height: 64px;
		min-height: 64px;
		padding: 10px 44px 10px 18px;
	}

	body.page-template-page-divorcio .jt-civil-faq .jt-divorcio-faq__contenido {
		padding: 0 18px 16px;
	}

	body.page-template-page-divorcio
	.jt-civil-faq
	.jt-divorcio-faq__contenido > p {
		line-height: 22px;
		padding: 0;
	}

	body.page-template-page-divorcio .jt-civil-faq .jt-divorcio-faq__pregunta {
		margin-top: 9px;
	}

	body.page-template-page-divorcio
	.jt-civil-faq
	.jt-divorcio-faq__pregunta
	summary {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		font-size: 14px;
		height: 44px;
		line-height: 16px;
		min-height: 44px;
		padding: 6px 38px 6px 11px;
	}

	body.page-template-page-divorcio
	.jt-civil-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-civil-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
		overflow: visible;
	}

	body.page-template-page-divorcio
	.jt-civil-faq:has(.jt-divorcio-faq__pregunta[open])
	.jt-divorcio-faq__rejilla,
	body.page-template-page-divorcio
	.jt-civil-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open])
	.jt-divorcio-faq__rejilla {
		height: auto;
	}
}

/* -------------------------------------------------------------------------
 * Arrendamientos y desahucios — composición propia de Figma
 * Escritorio 412:1173 · tablet 412:1853 · móvil 412:2407
 * ---------------------------------------------------------------------- */
body.page-template-page-divorcio .jt-divorcio-hero.jt-arrendamientos-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.59), rgba(12, 29, 77, 0.59)),
		url(./assets/imagenes/arrendamientos/hero-entrega-llaves.webp);
	background-position: center;
}

.jt-arrendamientos-confianza .jt-divorcio-confianza__foto {
	order: 1;
}

.jt-arrendamientos-confianza .jt-divorcio-confianza__contenido {
	order: 2;
}

.jt-arrendamientos-materias .jt-antetitulo,
.jt-arrendamientos-materias .jt-divorcio-materia small,
.jt-arrendamientos-confianza .jt-antetitulo,
.jt-arrendamientos-proceso .jt-antetitulo,
.jt-arrendamientos-proceso .jt-divorcio-paso small,
.jt-arrendamientos-claves .jt-antetitulo,
.jt-arrendamientos-claves .jt-divorcio-paso small,
.jt-arrendamientos-faq .jt-antetitulo {
	color: #85552f;
}

.jt-arrendamientos-escenarios .jt-antetitulo {
	color: #d9a474;
}

.jt-arrendamientos-antetitulo-mobile,
.jt-arrendamientos-titulo-mobile {
	display: none;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-arrendamientos-materias {
		height: 754px;
		min-height: 754px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-confianza {
		height: 540px;
		min-height: 540px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-proceso {
		height: 555px;
		max-height: 555px;
		min-height: 555px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-escenarios {
		height: 690px;
		min-height: 690px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__rejilla > img {
		height: 422px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__tarjetas
	article {
		height: 130px;
		min-height: 130px;
		padding: 16px 20px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__tarjetas
	article
	h3 {
		font-size: 24px;
		line-height: 28px;
		margin-bottom: 8px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__tarjetas
	article
	p {
		font-size: 15px;
		line-height: 21px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-claves {
		height: 544px;
		min-height: 544px;
		padding-bottom: 42px;
		padding-top: 42px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-faq {
		height: 1060px;
		min-height: 1060px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-arrendamientos-hero {
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-materias {
		height: 1315px;
		min-height: 1315px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-confianza {
		height: 957px;
		min-height: 957px;
	}

	.jt-arrendamientos-confianza .jt-divorcio-confianza__contenido {
		height: 517px;
		min-height: 517px;
		order: 1;
	}

	.jt-arrendamientos-confianza .jt-divorcio-confianza__foto {
		height: 440px;
		order: 2;
	}

	body.page-template-page-divorcio .jt-arrendamientos-proceso {
		height: 830px;
		max-height: 830px;
		min-height: 830px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-escenarios {
		height: 778px;
		min-height: 778px;
		padding-bottom: 44px;
		padding-top: 44px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__rejilla > img {
		height: 490px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-escenarios
	.jt-divorcio-tipos__tarjetas
	article {
		height: 152px;
		min-height: 152px;
		padding: 16px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-claves {
		height: 798px;
		min-height: 798px;
		padding-bottom: 36px;
		padding-top: 36px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-faq {
		height: 990px;
		min-height: 990px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-arrendamientos-hero {
		background-color: #0c1d4d;
		background-position:
			center top,
			center top !important;
		background-repeat: no-repeat, no-repeat;
		background-size:
			100% 500px,
			auto 500px;
		height: 1235px;
		min-height: 1235px;
		overflow: hidden;
		padding: 0;
		position: relative;
	}

	body.page-template-page-divorcio .jt-arrendamientos-hero .jt-divorcio-hero__contenido {
		height: 505px;
		left: 20px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		top: 28px;
		width: 350px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	.jt-divorcio-hero__rejilla {
		display: block;
		height: 100%;
		margin: 0;
		max-width: none;
		position: relative;
		width: 100%;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	.jt-formulario-hero {
		height: 666px;
		left: 20px;
		margin: 0;
		padding: 24px;
		position: absolute;
		top: 557px;
		width: 350px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	.wpforms-field-container {
		gap: 8px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	div.wpforms-container-full
	input[type="email"],
	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	div.wpforms-container-full
	input[type="text"] {
		height: 50px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	div.wpforms-container-full
	textarea {
		height: 88px !important;
		min-height: 88px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-hero
	div.wpforms-container-full
	button[type="submit"] {
		min-height: 52px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-hero h1 {
		font-size: 42px;
		line-height: 50px;
	}

	.jt-arrendamientos-antetitulo-desktop,
	.jt-arrendamientos-titulo-desktop {
		display: none;
	}

	.jt-arrendamientos-antetitulo-mobile,
	.jt-arrendamientos-titulo-mobile {
		display: inline;
	}

	body.page-template-page-divorcio .jt-arrendamientos-materias {
		height: 572px;
		min-height: 572px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-confianza {
		height: 896px;
		min-height: 896px;
	}

	.jt-arrendamientos-confianza .jt-divorcio-confianza__contenido {
		height: 611px;
		min-height: 611px;
		order: 1;
		overflow: visible;
	}

	.jt-arrendamientos-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	.jt-arrendamientos-confianza .jt-divorcio-confianza__foto {
		height: 285px;
		order: 2;
	}

	body.page-template-page-divorcio .jt-arrendamientos-proceso {
		height: 564px;
		max-height: 564px;
		min-height: 564px;
		padding-bottom: 18px;
		padding-top: 20px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-escenarios {
		height: 777px;
		min-height: 777px;
		padding-bottom: 28px;
		padding-top: 32px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-claves {
		height: 558px;
		min-height: 558px;
		padding-bottom: 24px;
		padding-top: 28px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-cta {
		height: 232px;
		min-height: 232px;
	}

	body.page-template-page-divorcio .jt-arrendamientos-faq {
		height: 1335px;
		min-height: 1335px;
		overflow: hidden;
	}

	body.page-template-page-divorcio .jt-arrendamientos-faq .jt-divorcio-faq__rejilla {
		height: 1060px;
		min-height: 1060px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__estrellas {
		display: none;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__carrusel {
		margin-top: 12px;
		overflow-y: visible;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-resena-real {
		padding: 16px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-resena-real
	p {
		margin-top: 8px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-carrusel-movil__controles,
	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-blog-home
	.jt-carrusel-movil__controles {
		height: 20px;
		margin-top: 0;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-valoraciones-divorcio
	.jt-carrusel-movil__controles
	button,
	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-blog-home
	.jt-carrusel-movil__controles
	button {
		height: 20px;
		min-height: 20px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-blog-home__tarjeta,
	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-blog-home__vacio
	article {
		height: 250px;
		min-height: 250px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero) .jt-pie {
		height: 1454px;
		overflow: visible;
		padding: 0 24px 46px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__tarjetas {
		background: #fff;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		gap: 12px;
		height: 432px;
		left: auto;
		margin: 0 -24px;
		padding: 0 24px 48px;
		position: relative;
		top: auto;
		transform: none;
		width: calc(100% + 48px);
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__tarjeta {
		border-radius: 8px;
		box-shadow: none;
		gap: 14px;
		height: 116px;
		min-height: 116px;
		padding: 16px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__tarjeta:first-child {
		height: 128px;
		min-height: 128px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__columnas {
		font-size: 14px;
		gap: 28px;
		padding-top: 46px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__columnas
	ul {
		margin-top: 8px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__columnas
	li {
		line-height: 22px;
	}

	body.page-template-page-divorcio:has(.jt-arrendamientos-hero)
	.jt-pie__legal {
		margin-top: 28px;
		padding-top: 24px;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
		overflow: visible;
	}

	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__pregunta[open])
	.jt-divorcio-faq__rejilla,
	body.page-template-page-divorcio
	.jt-arrendamientos-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open])
	.jt-divorcio-faq__rejilla {
		height: auto;
	}
}

/* --------------------------------------------------------------------------
 * Página DESPACHO · composición definitiva de Figma
 * ----------------------------------------------------------------------- */

.jt-despacho-hero {
	background: #07142f;
	height: 720px;
	overflow: hidden;
	position: relative;
}

.jt-despacho-hero__imagen,
.jt-despacho-hero__imagen img,
.jt-despacho-hero__velo {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.jt-despacho-hero__imagen img {
	object-fit: cover;
	object-position: center;
}

.jt-despacho-hero__velo {
	background: rgba(8, 18, 48, 0.68);
}

.jt-despacho-hero__contenido {
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 18px;
	left: max(24px, calc((100% - 1248px) / 2));
	max-width: 760px;
	position: absolute;
	top: 106px;
	width: 760px;
}

.jt-despacho-hero__contenido :where(h1, p),
.jt-despacho-presentacion :where(h2, p),
.jt-despacho-trayectoria :where(h2, h3, p),
.jt-despacho-equipo :where(h2, h3, h4, p),
.jt-despacho-faq :where(h2, p) {
	margin: 0;
}

.jt-despacho-hero__contenido .jt-eyebrow {
	color: #c98b59;
	font-size: 15px;
	line-height: 20px;
}

.jt-despacho-hero h1 {
	color: #fff;
	font-family: var(--jt-fuente-titulos);
	font-size: 64px;
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 68px;
}

.jt-despacho-hero__contenido > p:last-child {
	font-family: var(--jt-fuente-lectura);
	font-size: 20px;
	line-height: 30px;
	max-width: 690px;
}

.jt-despacho-presentacion {
	background: #f3ecdf;
	display: grid;
	gap: 64px;
	grid-template-columns: 500px minmax(0, 684px);
	min-height: 720px;
	padding: 64px max(24px, calc((100% - 1248px) / 2));
}

.jt-despacho-presentacion__imagen,
.jt-despacho-presentacion__imagen img {
	border-radius: 8px;
	display: block;
	height: 560px;
	width: 500px;
}

.jt-despacho-presentacion__imagen img {
	object-fit: cover;
	object-position: center;
}

.jt-despacho-presentacion__contenido {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.jt-despacho-presentacion h2,
.jt-despacho-trayectoria > h2,
.jt-despacho-equipo h2,
.jt-despacho-faq h2 {
	color: #0c1d4d;
	font-family: var(--jt-fuente-titulos);
	font-size: 44px;
	font-weight: 500;
	line-height: 1.1;
}

.jt-despacho-presentacion__contenido > p:not(.jt-eyebrow) {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 17px;
	line-height: 27px;
}

.jt-despacho-trayectoria {
	background: #faf7f1;
	display: flex;
	flex-direction: column;
	gap: 28px;
	min-height: 650px;
	padding: 56px max(24px, calc((100% - 1248px) / 2));
}

.jt-despacho-trayectoria__pilares {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jt-despacho-trayectoria article {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 430px;
	padding: 34px 32px;
}

.jt-despacho-trayectoria h3 {
	color: #0c1d4d;
	font-family: var(--jt-fuente-titulos);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.15;
}

.jt-despacho-trayectoria article > p:not(.jt-eyebrow) {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
}

.jt-despacho-equipo {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-height: 760px;
	padding: 56px max(24px, calc((100% - 1248px) / 2));
}

.jt-despacho-equipo__cabecera {
	text-align: center;
}

.jt-despacho-equipo__cabecera .jt-eyebrow {
	margin-bottom: 22px;
}

.jt-despacho-equipo__cabecera > p:last-child {
	color: #0c1d4d;
	font-family: var(--jt-fuente-lectura);
	font-size: 17px;
	line-height: 27px;
	margin: 22px auto 0;
	max-width: 900px;
}

.jt-despacho-equipo__tarjetas {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, 288px);
}

.jt-despacho-persona {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	box-sizing: border-box;
	height: 470px;
	overflow: hidden;
}

.jt-despacho-persona[open] {
	height: auto;
	min-height: 800px;
}

.jt-despacho-persona > summary {
	cursor: pointer;
	display: grid;
	grid-template-rows: 300px auto 38px;
	list-style: none;
}

.jt-despacho-persona[open] > summary {
	grid-template-rows: 220px auto 38px;
}

.jt-despacho-persona > summary::-webkit-details-marker {
	display: none;
}

.jt-despacho-persona > summary::marker {
	content: "";
}

.jt-despacho-persona__accion {
	align-items: center;
	border-top: 1px solid #dcd6c9;
	color: #85552f;
	display: flex;
	font-family: var(--jt-fuente-titulos);
	font-size: 14px;
	font-weight: 600;
	justify-content: space-between;
	line-height: 1.2;
	margin: 0 20px;
	text-transform: uppercase;
}

.jt-despacho-persona__accion i {
	display: block;
	height: 20px;
	position: relative;
	width: 20px;
}

.jt-despacho-persona__accion i::before,
.jt-despacho-persona__accion i::after {
	background: #0c1d4d;
	content: "";
	height: 2px;
	left: 2px;
	position: absolute;
	top: 9px;
	width: 16px;
}

.jt-despacho-persona__accion i::after {
	transform: rotate(90deg);
}

.jt-despacho-persona[open] > summary i::after {
	display: none;
}

.jt-despacho-persona__ocultar,
.jt-despacho-persona[open] .jt-despacho-persona__ver {
	display: none;
}

.jt-despacho-persona[open] .jt-despacho-persona__ocultar {
	display: inline;
}

.jt-despacho-persona__foto {
	height: 300px;
	overflow: hidden;
	position: relative;
}

.jt-despacho-persona__foto picture {
	display: block;
	position: absolute;
}

.jt-despacho-persona__foto img {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.jt-despacho-persona--jose-miguel-toledo-gregorio
.jt-despacho-persona__foto
picture {
	height: 300px;
	left: -56px;
	top: 0;
	width: 400px;
}

.jt-despacho-persona--jose-miguel-toledo-cano
.jt-despacho-persona__foto
picture {
	height: 512px;
	left: 0;
	top: -8px;
	width: 288px;
}

.jt-despacho-persona--javier-toledo-cano .jt-despacho-persona__foto picture {
	height: 390px;
	left: -174px;
	top: -35px;
	width: 520px;
}

.jt-despacho-persona--pablo-mayor-guzman .jt-despacho-persona__foto picture {
	height: 512px;
	left: 0;
	top: -72px;
	width: 288px;
}

.jt-despacho-persona__cabecera {
	align-content: start;
	display: grid;
	gap: 7px;
	min-height: 92px;
	padding: 18px 20px 10px;
}

.jt-despacho-persona__cabecera h3 {
	color: #0c1d4d;
	font-family: var(--jt-fuente-titulos);
	font-size: 22px;
	font-weight: 500;
	line-height: 26px;
}

.jt-despacho-persona__cabecera p,
.jt-despacho-persona__formacion h4 {
	color: #85552f;
	font-family: var(--jt-fuente-titulos);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.2px;
	line-height: 16px;
}

.jt-despacho-persona__formacion {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 14px;
	line-height: 20px;
	padding: 20px;
}

.jt-despacho-persona__formacion h4 {
	margin: 0 0 14px;
}

.jt-despacho-persona__formacion :where(ul, p) {
	margin: 0;
}

.jt-despacho-persona__formacion ul {
	display: grid;
	gap: 10px;
	list-style: none;
	padding: 0;
}

.jt-despacho-equipo > .jt-carrusel-movil__controles {
	display: none;
}

.jt-despacho-faq {
	background: #f3ecdf;
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 820px);
	min-height: 780px;
}

.jt-despacho-faq__imagen {
	background-image: url(assets/figma/despacho/hero-biblioteca-1200.webp);
	background-position: center;
	background-size: cover;
	min-height: 780px;
}

.jt-despacho-faq__contenido {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 54px 64px;
}

.jt-despacho-faq__acordeon {
	display: grid;
	gap: 10px;
}

.jt-despacho-faq details {
	background: #fff;
	border-block: 1px solid #dcd6c9;
}

.jt-despacho-faq summary {
	align-items: center;
	color: #0c1d4d;
	cursor: pointer;
	display: flex;
	font-family: var(--jt-fuente-titulos);
	font-size: 18px;
	font-weight: 500;
	justify-content: space-between;
	line-height: 24px;
	min-height: 58px;
	padding: 16px;
}

.jt-despacho-faq summary::after {
	color: #a06d46;
	content: "+";
	font-size: 24px;
	line-height: 1;
}

.jt-despacho-faq details[open] summary::after {
	content: "−";
}

.jt-despacho-faq details p {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	padding: 0 16px 18px;
}

@media (max-width: 64rem) {

	.jt-despacho-hero {
		height: 650px;
	}

	.jt-despacho-hero__contenido {
		left: 48px;
		max-width: 680px;
		top: 92px;
	}

	.jt-despacho-hero h1 {
		font-size: 54px;
		line-height: 58px;
	}

	.jt-despacho-presentacion {
		gap: 0;
		grid-template-columns: 1fr;
		padding: 0;
	}

	.jt-despacho-presentacion__imagen,
	.jt-despacho-presentacion__imagen img {
		border-radius: 0;
		height: 430px;
		width: 100%;
	}

	.jt-despacho-presentacion__contenido {
		padding: 48px;
	}

	.jt-despacho-trayectoria,
	.jt-despacho-equipo {
		padding-inline: 48px;
	}

	.jt-despacho-trayectoria article {
		min-height: 570px;
	}

	.jt-despacho-equipo__tarjetas {
		grid-template-columns: repeat(2, 288px);
		justify-content: center;
	}

	.jt-despacho-faq {
		grid-template-columns: 1fr;
	}

	.jt-despacho-faq__imagen {
		min-height: 390px;
	}

	.jt-despacho-faq__contenido {
		padding: 48px;
	}
}

@media (max-width: 47.99rem) {

	.jt-despacho-hero__contenido {
		left: 24px;
		right: 24px;
		top: 58px;
		width: auto;
	}

	.jt-despacho-hero__imagen img {
		object-position: 51% center;
	}

	.jt-despacho-hero h1 {
		font-size: 42px;
		line-height: 46px;
	}

	.jt-despacho-hero__contenido > p:last-child {
		font-size: 18px;
		line-height: 27px;
	}

	.jt-despacho-presentacion__imagen,
	.jt-despacho-presentacion__imagen img {
		height: 300px;
	}

	.jt-despacho-presentacion__contenido {
		padding: 44px 24px 48px;
	}

	.jt-despacho-presentacion h2,
	.jt-despacho-trayectoria > h2,
	.jt-despacho-equipo h2,
	.jt-despacho-faq h2 {
		font-size: 36px;
		line-height: 41px;
	}

	.jt-despacho-presentacion__contenido > p:not(.jt-eyebrow) {
		font-size: 16px;
		line-height: 24px;
	}

	.jt-despacho-trayectoria {
		gap: 28px;
		padding: 48px 24px;
	}

	.jt-despacho-trayectoria__pilares {
		grid-template-columns: 1fr;
	}

	.jt-despacho-trayectoria article {
		min-height: 0;
		padding: 32px 24px;
	}

	.jt-despacho-trayectoria h3 {
		font-size: 30px;
	}

	.jt-despacho-equipo {
		min-height: 720px;
		padding: 44px 24px 38px;
	}

	.jt-despacho-equipo__cabecera > p:last-child {
		font-size: 17px;
		line-height: 25px;
	}

	.jt-despacho-equipo__tarjetas {
		display: flex;
		gap: 24px;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-padding-inline: 27px;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x pan-y;
		padding-inline: 27px;
		-webkit-overflow-scrolling: touch;
	}

	.jt-despacho-equipo__tarjetas::-webkit-scrollbar {
		display: none;
	}

	.jt-despacho-persona {
		flex: 0 0 288px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.jt-despacho-equipo > .jt-carrusel-movil__controles {
		display: flex;
	}

	.jt-despacho-faq__imagen {
		background-image: url(assets/figma/despacho/hero-biblioteca-640.webp);
		min-height: 260px;
	}

	.jt-despacho-faq__contenido {
		padding: 38px 24px 52px;
	}

	.jt-despacho-faq summary {
		font-size: 17px;
		line-height: 23px;
		min-height: 58px;
	}
}

/*
 * Evita que un titular largo o una URL sin espacios desborden en móvil, que es
 * la causa más común de desplazamiento horizontal.
 */
body {
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

html {
	scroll-behavior: smooth;
}

h1,
h2,
h4 {
	text-wrap: balance;
}

p,
li {
	text-wrap: pretty;
}

/*
 * El h1 va en cursiva, como en la maqueta final de Figma.
 */
h1 {
	letter-spacing: 0.005em;
}

/* Los iconos decorativos se ocultan a las tecnologías de asistencia desde el
   marcado (aria-hidden); aquí solo se les impide capturar el puntero. */
.jt-icono-decorativo {
	pointer-events: none;
}

/* Destino de los enlaces internos con ancla: que el titular no quede pegado al
   borde superior ni escondido bajo la cabecera fija. */
:target {
	scroll-margin-top: 6rem;
}

.jt-proximamente {
	background: var(--wp--preset--color--crema-suave);
	border: 1px solid var(--wp--preset--color--borde);
	padding: clamp(1.5rem, 4vw, 3rem);
	text-align: center;
}

.jt-proximamente > * {
	margin-inline: auto;
	max-width: 36rem;
}

/* ------------------------------------------------------------------------- *
 * 2. Foco visible
 * ------------------------------------------------------------------------- */

/*
 * WCAG 2.2 sube el listón del indicador de foco (2.4.11 y 2.4.13): tiene que
 * verse y no puede quedar tapado. Se usa :focus-visible para no molestar al
 * ratón, y un contorno de 3px con separación, que sobrevive a cualquier fondo.
 */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--jt-foco-grosor) solid var(--jt-foco-color);
	outline-offset: var(--jt-foco-separacion);
	border-radius: 2px;
}

/* ------------------------------------------------------------------------- *
 * 3. Enlace de salto al contenido
 * ------------------------------------------------------------------------- */

.skip-link.screen-reader-text {
	background-color: var(--wp--preset--color--blanco);
	border: 2px solid var(--wp--preset--color--azul);
	border-radius: 2px;
	color: var(--wp--preset--color--azul);
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	padding: 0.75rem 1.25rem;
	text-decoration: none;
	z-index: 100000;
}

.skip-link.screen-reader-text:focus {
	/* stylelint-disable-next-line property-no-deprecated -- WordPress 6.5
	   oculta .screen-reader-text con `clip`, no con `clip-path`, así que
	   hay que deshacerlo con la misma propiedad. Se podrá quitar cuando la
	   versión mínima soportada sea 6.6. */
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: 1rem;
	top: 1rem;
	width: auto;
}

/* ------------------------------------------------------------------------- *
 * 4. Cabecera, barra de contacto y navegación
 * ------------------------------------------------------------------------- */

.jt-cabecera {
	background-color: var(--wp--preset--color--blanco);
	position: sticky;
	top: 0;
	z-index: 100;
}

.jt-cabecera__principal {
	border-bottom: 1px solid var(--wp--preset--color--borde);
}

/*
 * WordPress separa los hijos directos de `.wp-site-blocks` con el `blockGap`
 * global. Entre la cabecera y el contenido eso dejaba una franja blanca de
 * 20 px justo encima del hero, que sobre fondo crema se ve como un fallo de
 * maquetación. La cabecera y el pie se pegan a lo que tienen al lado.
 */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-template-part {
	margin-block-start: 0;
}

/*
 * Barra superior con el teléfono, el correo y la dirección. Es lo que pidió el
 * despacho y, en la web de un despacho, es información de conversión: quien
 * llega con un problema quiere el teléfono antes que el menú.
 */
.jt-barra-contacto {
	background-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--crema);
	font-size: var(--wp--preset--font-size--menudo);
}

.jt-barra-contacto ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	list-style: none;
	margin: 0 auto;
	max-width: var(--wp--style--global--wide-size);
	padding: 0.5rem clamp(1.25rem, 5vw, 3rem);
}

.jt-barra-contacto a {
	color: inherit;
	display: inline-block;
	min-height: 32px;
	padding-block: 0.25rem;
	text-decoration-color: rgba(243, 236, 223, 0.45);
	text-underline-offset: 0.2em;
}

.jt-barra-contacto a:hover {
	color: var(--wp--preset--color--blanco);
	text-decoration-color: currentcolor;
}

.jt-barra-contacto :where(a):focus-visible {
	outline-color: var(--wp--preset--color--crema);
}

/* En móvil solo se mantienen el teléfono y el correo: la dirección entera no
   cabe en una línea y partirla en dos come pantalla sin aportar. */
@media (max-width: 781px) {

	.jt-barra-contacto__direccion {
		display: none;
	}
}

/*
 * En pantallas estrechas caben justo el logotipo, el botón del menú y el de
 * contacto. Sin esto, «Cuéntanos tu caso» partía en dos líneas y la fila de la
 * cabecera crecía hasta los 104 px. Se recorta el relleno del botón y se
 * impide el salto: sigue cumpliendo el objetivo de pulsación de 44 px porque el
 * alto mínimo lo fija `.wp-block-button__link`.
 */
@media (max-width: 30rem) {

	.jt-cabecera__principal .wp-block-button__link {
		padding-inline: 0.875rem;
		white-space: nowrap;
	}

	.jt-cabecera__principal .wp-block-group {
		gap: 0.5rem;
	}

	.jt-logo img {
		height: 1.875rem;
	}
}

/* Logotipo. El SVG oficial mide 802×200; se fija la altura y el ancho se
   deduce, para respetar la proporción del brandguide. */
.jt-logo {
	display: inline-flex;
	line-height: 0;
}

.jt-logo img {
	height: clamp(2rem, 4.5vw, 2.625rem);
	width: auto;
}

.jt-pie .jt-logo img {
	height: 2.5rem;
}

/* El menú de bloques de WordPress subraya al pasar por encima; aquí
   se usa una línea propia para que el estado activo también se vea
   sin depender del color. */
.jt-navegacion .wp-block-navigation-item__content {
	border-bottom: 2px solid transparent;
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 500;
	padding-block: 0.375rem;
	text-decoration: none;
	transition:
		border-color var(--jt-transicion),
		color var(--jt-transicion);
}

.jt-navegacion .wp-block-navigation-item__content:hover {
	border-bottom-color: var(--wp--preset--color--camel);
	color: var(--wp--preset--color--camel-oscuro);
}

.jt-navegacion .current-menu-item > .wp-block-navigation-item__content,
.jt-navegacion .current-menu-ancestor > .wp-block-navigation-item__content {
	border-bottom-color: var(--wp--preset--color--azul);
	font-weight: 600;
}

/* Submenú desplegable: fondo sólido y borde, para que se lea sobre cualquier
   contenido de la página. */
.jt-navegacion .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 2px;
	box-shadow: var(--wp--preset--shadow--tarjeta-realce);
	min-width: 19rem;
	padding-block: 0.375rem;
}

.jt-navegacion
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content {
	border-bottom: 0;
	padding: 0.5rem 1rem;
	width: 100%;
}

.jt-navegacion
.wp-block-navigation__submenu-container
.wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--crema);
}

/*
 * Las cuatro landings van indentadas bajo su área dentro del submenú, para que
 * la jerarquía se vea también aquí y no solo en las migas de pan.
 */
.jt-navegacion .wp-block-navigation__submenu-container .jt-submenu-hija a {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--menudo);
	padding-inline-start: 2rem;
	position: relative;
}

.jt-navegacion
.wp-block-navigation__submenu-container
.jt-submenu-hija
a::before {
	color: var(--wp--preset--color--camel);
	content: "└";
	left: 1rem;
	position: absolute;
}

/*
 * Menú móvil (overlay del bloque Navegación). WordPress lo abre con
 * has-modal-open en el body y gestiona el foco; aquí solo se ajusta el aspecto.
 */
.jt-navegacion .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--blanco);
	padding: 1.5rem clamp(1.25rem, 5vw, 3rem) 3rem;
}

.jt-navegacion
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-content {
	gap: 0.25rem;
	padding-top: 1rem;
}

.jt-navegacion
.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content {
	border-bottom: 1px solid var(--wp--preset--color--borde);
	font-size: var(--wp--preset--font-size--realce);
	padding-block: 0.875rem;
	width: 100%;
}

/*
 * Área de pulsación de al menos 44×44 px en los dos botones del menú móvil
 * (WCAG 2.2, criterio 2.5.8 Tamaño del objetivo).
 *
 * Aquí NO se declara `display`, y es importante: WordPress oculta el botón de
 * abrir a partir de 600 px con una regla de la misma especificidad. Como esta
 * hoja se carga después, un `display: grid` aquí ganaría y el icono de
 * hamburguesa aparecería también en escritorio, junto al menú completo.
 */
.jt-navegacion .wp-block-navigation__responsive-container-open,
.jt-navegacion .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

/* ------------------------------------------------------------------------- *
 * 5. Botones
 * ------------------------------------------------------------------------- */

/*
 * Se registran como estilos de bloque en inc/estilos-de-bloque.php para que
 * estén disponibles en el editor y no haya que recordar nombres de clase.
 */

/* Contorno: acción secundaria. Mismo tamaño y peso que la principal, para que
   el par de CTA no se lea como «una importante y otra de relleno». */
.wp-block-button.is-style-jt-contorno > .wp-block-button__link {
	background-color: transparent;
	border-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--azul);
}

.wp-block-button.is-style-jt-contorno > .wp-block-button__link:hover,
.wp-block-button.is-style-jt-contorno > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--crema);
}

/* Inverso: para usar sobre fondo azul, donde el botón sólido desaparecería. */
.wp-block-button.is-style-jt-inverso > .wp-block-button__link {
	background-color: var(--wp--preset--color--crema);
	border-color: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--azul);
}

.wp-block-button.is-style-jt-inverso > .wp-block-button__link:hover,
.wp-block-button.is-style-jt-inverso > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--blanco);
	border-color: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--azul-profundo);
}

/* Contorno inverso: acción secundaria sobre fondo azul. */
.wp-block-button.is-style-jt-contorno-inverso > .wp-block-button__link {
	background-color: transparent;
	border-color: rgba(243, 236, 223, 0.6);
	color: var(--wp--preset--color--crema);
}

.wp-block-button.is-style-jt-contorno-inverso > .wp-block-button__link:hover,
.wp-block-button.is-style-jt-contorno-inverso > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--crema);
	border-color: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--azul);
}

/* Todos los botones: objetivo de pulsación cómodo y sin saltos de diseño. */
.wp-block-button__link {
	align-items: center;
	display: inline-flex;
	gap: 0.5rem;
	justify-content: center;
	min-height: 44px;
	transition:
		background-color var(--jt-transicion),
		border-color var(--jt-transicion),
		color var(--jt-transicion);
}

/* En móvil los botones ocupan el ancho disponible: son el objetivo principal
   de la página y no deben quedarse pequeños. */
@media (max-width: 600px) {

	.jt-botones-apilados .wp-block-button,
	.jt-botones-apilados .wp-block-button__link {
		width: 100%;
	}
}

/* ------------------------------------------------------------------------- *
 * 6. Secciones y ritmo vertical
 * ------------------------------------------------------------------------- */

.jt-seccion {
	padding-block: var(--wp--preset--spacing--70);
}

.jt-seccion--compacta {
	padding-block: var(--wp--preset--spacing--60);
}

.jt-seccion--crema {
	background-color: var(--wp--preset--color--crema);
}

.jt-seccion--crema-suave {
	background-color: var(--wp--preset--color--crema-suave);
}

.jt-seccion--oscura {
	background-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--crema);

	/* El camel no contrasta lo suficiente contra el azul:
	   aquí el foco es crema. */
	--jt-foco-color: var(--wp--preset--color--crema);
}

.jt-seccion--oscura :where(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--crema);
}

.jt-seccion--oscura a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--crema);
}

.jt-seccion--oscura a:not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--azul-claro);
}

/*
 * Franja de llamada a la acción. Es la única pieza del diseño que interrumpe
 * el ritmo a propósito: fondo azul, una frase y un botón.
 */
.jt-franja-cta {
	background-color: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--crema);
	padding-block: var(--wp--preset--spacing--60);

	/* Las franjas que genera el contenido de las áreas se imprimen como HTML
	   suelto, fuera de un grupo restringido: el margen lateral lo pone aquí la
	   hoja de estilos en lugar de heredarlo del diseño de bloques. */
	padding-inline: clamp(1.25rem, 5vw, 3rem);

	--jt-foco-color: var(--wp--preset--color--crema);
}

.jt-franja-cta :where(h2, p) {
	color: var(--wp--preset--color--crema);
	margin: 0;
}

.jt-franja-cta h2 {
	font-size: var(--wp--preset--font-size--titulo);
	max-width: 24em;
}

/* ------------------------------------------------------------------------- *
 * 7. Tipografía de apoyo: antetítulo, entradilla, reglas
 * ------------------------------------------------------------------------- */

/*
 * Antetítulo: etiqueta breve sobre el titular, con una regla corta en camel
 * encima. No es un encabezado real, así que va en un <p> y no rompe la
 * jerarquía de h1…h6.
 */
.jt-antetitulo {
	color: var(--wp--preset--color--camel-oscuro);
	font-size: var(--wp--preset--font-size--menudo);
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.jt-antetitulo::before {
	background-color: var(--wp--preset--color--camel);
	content: "";
	display: inline-block;
	height: 1px;
	margin-inline-end: 0.75rem;
	vertical-align: middle;
	width: 2rem;
}

.jt-seccion--oscura .jt-antetitulo,
.jt-franja-cta .jt-antetitulo {
	color: var(--wp--preset--color--azul-claro);
}

.jt-seccion--oscura .jt-antetitulo::before,
.jt-franja-cta .jt-antetitulo::before {
	background-color: var(--wp--preset--color--azul-claro);
}

/*
 * Entradilla: subtítulo de la maqueta en Barlow Condensed. El peso 300
 * solo se usa a partir de 1.19rem, que es donde sigue siendo legible; por
 * debajo de ese tamaño una Extra Light se rompe en pantallas normales.
 */
.jt-entradilla {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--entradilla);
	font-weight: 200;
	letter-spacing: 0.005em;
	line-height: 1.5;
	max-width: 34em;
}

.jt-seccion--oscura .jt-entradilla,
.jt-hero--oscuro .jt-entradilla {
	color: var(--wp--preset--color--crema);
}

/* Párrafo destacado dentro del texto corrido, sin llegar a ser una cita. */
.jt-destacado {
	border-left: 2px solid var(--wp--preset--color--camel);
	font-size: var(--wp--preset--font-size--realce);
	padding-left: 1.25rem;
}

/* Nota de revisión jurídica al pie de las páginas de área. */
.jt-nota-revision {
	border-top: 1px solid var(--wp--preset--color--borde);
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--menudo);
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
}

/* Migas de pan. La lista ordenada aporta la estructura; los separadores son
   decorativos y se generan en CSS para que no los lea el lector de pantalla. */
.jt-migas ol {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--pequeno);
	gap: 0.375rem 0.625rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-migas li + li::before {
	color: var(--wp--preset--color--texto-suave);
	content: "›";
	margin-right: 0.625rem;
}

.jt-migas [aria-current="page"] {
	color: var(--wp--preset--color--texto-suave);
}

/* ------------------------------------------------------------------------- *
 * 8. Imágenes y figuras
 * ------------------------------------------------------------------------- */

/*
 * Las fotografías del despacho viven en el tema, no en la biblioteca de medios
 * (ver scripts/recursos-graficos.mjs), y los patrones escriben el `srcset` a
 * mano. Aquí se garantiza que nunca se deformen ni desborden, y que reserven su
 * hueco antes de cargar para que la página no salte (CLS).
 */
.jt-figura {
	margin: 0;
	overflow: hidden;
	position: relative;
}

.jt-figura img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.jt-figura--panoramica {
	aspect-ratio: 3 / 2;
}

.jt-figura--retrato {
	aspect-ratio: 3 / 4;
}

.jt-figura--cuadrada {
	aspect-ratio: 1 / 1;
}

/* Filete fino en camel: el único adorno del diseño, y solo en las fotografías
   que acompañan a un bloque de texto. */
.jt-figura--filete {
	border-bottom: 3px solid var(--wp--preset--color--camel);
}

/* Sello del ICAM: se usa en pequeño y con discreción, nunca como elemento
   decorativo dominante. */
.jt-sello {
	height: auto;
	width: 3.5rem;
}

/* ------------------------------------------------------------------------- *
 * 9. Hero
 * ------------------------------------------------------------------------- */

.jt-hero {
	background-color: var(--wp--preset--color--crema);
	padding-block: var(--wp--preset--spacing--70);
}

.jt-hero__titulo {
	max-width: 15em;
}

/*
 * Hero de las páginas interiores: más bajo que el de la portada, con la foto a
 * un lado. En móvil la foto va debajo del texto, nunca encima: lo primero que
 * debe leerse es de qué va la página.
 */
.jt-hero--interior {
	padding-block: var(--wp--preset--spacing--60);
}

.jt-hero--interior .jt-hero__titulo {
	max-width: 13em;
}

/*
 * En el hero interior la columna de texto es bastante más alta que la
 * fotografía —la lista de anclas puede tener doce puntos—, y una imagen con
 * proporción fija se quedaba flotando arriba con medio hueco vacío al lado.
 * Aquí la figura estira hasta el alto de la fila y la imagen se recorta con
 * `object-fit`, que ya está puesto.
 */
@media (min-width: 62rem) {

	.jt-hero .jt-dos-columnas > :last-child {
		display: flex;
	}

	.jt-hero .jt-dos-columnas > :last-child .jt-figura {
		aspect-ratio: auto;
		min-height: 22rem;
		width: 100%;
	}
}

/*
 * El hero de la portada usa columnas del núcleo, que se apilan por debajo de
 * 782 px. Entre 782 y 992 px —tableta en vertical— eso dejaba la fotografía en
 * una columna de unos 340 px, con proporción fija y centrada en vertical, de
 * modo que quedaba flotando con hueco arriba y abajo frente a una columna de
 * texto mucho más alta.
 *
 * Se sube el punto de apilado a 62rem, que es el mismo que usa
 * `.jt-dos-columnas`: así todo el sitio cambia de una a dos columnas en el
 * mismo sitio. Los dos `!important` no son un atajo: WordPress declara
 * `flex-wrap: nowrap !important` a partir de 782 px y reparte el ancho con un
 * atributo `style` en línea en cada columna. Sin ellos la regla no llega a
 * aplicarse, y es exactamente así como el propio WordPress resuelve su regla
 * equivalente de 781 px.
 */
@media (max-width: 61.99rem) {

	.jt-hero .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.jt-hero .wp-block-column:not(:only-child) {
		flex-basis: 100% !important;
	}
}

/* Hero fotográfico de HOME, trasladado de la maqueta final de Figma. */
.jt-hero-home {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.68), rgba(12, 29, 77, 0.62)),
		var(--jt-hero-home);
	background-position: center;
	background-size: cover;
	color: var(--wp--preset--color--blanco);
	min-height: clamp(32rem, 54vw, 45rem);
	padding-block: clamp(4.5rem, 10vw, 9rem);
}

.jt-hero-home__interior {
	margin-inline: auto;
}

.jt-hero-home .jt-antetitulo {
	color: var(--wp--preset--color--camel);
}

.jt-hero-home .jt-antetitulo::before {
	background-color: currentcolor;
}

.jt-hero-home__titulo {
	color: var(--wp--preset--color--blanco);
	font-size: clamp(3rem, 5.2vw, 5.25rem);
	font-style: italic;
	font-weight: 500;
	line-height: 0.98;
	margin-block: 1.25rem 0;
	max-width: 12em;
}

.jt-hero-home__texto {
	font-size: clamp(1.125rem, 1.65vw, 1.5rem);
	font-weight: 300;
	line-height: 1.45;
	margin-block: 2rem;
	max-width: 31rem;
}

.jt-hero-home .wp-block-buttons {
	gap: 0.875rem;
}

/* Presentación partida en crema y fotografía, sin márgenes laterales. */
.jt-presentacion-home {
	background: var(--wp--preset--color--crema);
}

.jt-presentacion-home__rejilla {
	display: grid;
	grid-template-columns: 1fr;
}

.jt-presentacion-home__contenido {
	padding: clamp(3rem, 7vw, 6.5rem) clamp(1.25rem, 7vw, 7rem);
}

.jt-presentacion-home__contenido > p:not(.jt-antetitulo) {
	max-width: 42rem;
}

.jt-presentacion-home__garantias {
	align-items: center;
	display: flex;
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-top: 2rem;
}

.jt-presentacion-home__garantias img {
	flex: 0 0 auto;
	height: clamp(5.25rem, 9vw, 8.5rem);
	object-fit: contain;
	width: clamp(5.25rem, 9vw, 8.5rem);
}

.jt-presentacion-home__garantias ul {
	display: grid;
	gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-presentacion-home__garantias li::before {
	color: var(--wp--preset--color--camel-oscuro);
	content: "✓";
	font-weight: 700;
	margin-inline-end: 0.625rem;
}

.jt-presentacion-home__imagen,
.jt-presentacion-home__imagen .jt-figura {
	height: 100%;
}

.jt-presentacion-home__imagen .jt-figura {
	aspect-ratio: auto;
	min-height: 28rem;
}

@media (min-width: 62rem) {

	.jt-presentacion-home__rejilla {
		grid-template-columns: 1fr 1fr;
	}
}

.jt-titulo-centrado,
.jt-texto-centrado {
	margin-inline: auto;
	text-align: center;
}

.jt-rejilla-servicios {
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.jt-rejilla-servicios + .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--50);
}

.jt-servicio-card {
	gap: 0.75rem;
	overflow: hidden;
	padding-top: 0;
}

.jt-servicio-card__imagen {
	filter: saturate(0.45);
	height: 9.5rem;
	margin-inline: calc(-1 * var(--wp--preset--spacing--50));
	object-fit: cover;
	width: calc(100% + 2 * var(--wp--preset--spacing--50));
}

.jt-servicio-card::before {
	background: rgba(12, 29, 77, 0.42);
	content: "";
	height: 9.5rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.jt-servicio-card__enlace {
	color: var(--wp--preset--color--camel-oscuro) !important;
	font-weight: 600;
	margin-top: auto !important;
}

.jt-articulos-home {
	background: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--crema);
}

.jt-articulos-home :where(h2, h3) {
	color: var(--wp--preset--color--crema);
}

.jt-articulos-home .jt-antetitulo {
	color: var(--wp--preset--color--azul-claro);
}

.jt-articulos-home .jt-antetitulo::before {
	background-color: currentcolor;
}

.jt-articulos-home a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--crema);
}

.jt-articulos-home .jt-proximamente {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(243, 236, 223, 0.24);
}

/* Landing de Familia: hero, materias y guía práctica de la maqueta Figma. */
.jt-hero-area {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.64), rgba(12, 29, 77, 0.52)),
		url(./assets/imagenes/familia/hero-anillos-v2.webp);
	background-position: center;
	background-size: cover;
	color: var(--wp--preset--color--blanco);
	padding-block: clamp(3rem, 7vw, 6rem);
}

.jt-hero-area__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: 1fr;
	margin-inline: auto;
}

.jt-hero-area :where(h1, h2) {
	color: var(--wp--preset--color--blanco);
}

.jt-hero-area h1 {
	font-size: clamp(2.75rem, 4.5vw, 4.75rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	margin: 1rem 0 0;
	max-width: 11em;
}

.jt-hero-area__subtitulo {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1.5;
	max-width: 38rem;
}

.jt-hero-area__anclas {
	column-count: 2;
	column-gap: 2rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.jt-hero-area__anclas li {
	break-inside: avoid;
	padding-block: 0.4rem;
}

.jt-hero-area__anclas a {
	color: var(--wp--preset--color--crema);
	text-decoration: none;
}

.jt-hero-area__anclas a::before {
	color: var(--wp--preset--color--camel);
	content: "◆";
	font-size: 0.5em;
	margin-inline-end: 0.65rem;
	vertical-align: middle;
}

.jt-formulario-hero {
	backdrop-filter: blur(7px);
	background: rgba(255, 255, 255, 0.91);
	border-radius: 0.75rem;
	color: var(--wp--preset--color--texto);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.jt-formulario-hero h2 {
	color: var(--wp--preset--color--azul);
	font-size: var(--wp--preset--font-size--titulo);
	margin: 0;
}

.jt-formulario-hero > p {
	font-size: var(--wp--preset--font-size--pequeno);
	margin-block: 0.5rem 1rem;
}

.jt-formulario-hero .wpforms-field {
	padding-block: 0.35rem;
}

.jt-formulario-hero .wpforms-container textarea {
	min-height: 5.5rem;
}

.jt-materias-familia > .jt-antetitulo {
	text-align: center;
}

.jt-rejilla-materias {
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.jt-materia-familia .jt-tarjeta__titulo {
	font-size: 1.15rem;
	text-transform: uppercase;
}

.jt-estrategia-familia {
	background: var(--wp--preset--color--crema);
}

.jt-estrategia-familia__rejilla {
	display: grid;
	grid-template-columns: 1fr;
}

.jt-estrategia-familia__imagen,
.jt-estrategia-familia__imagen .jt-figura {
	height: 100%;
}

.jt-estrategia-familia__imagen .jt-figura {
	aspect-ratio: auto;
	min-height: 29rem;
}

.jt-estrategia-familia__contenido {
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 7vw, 7rem);
}

.jt-guia-familia__rejilla {
	columns: 2;
	column-gap: 2.5rem;
	margin-top: var(--wp--preset--spacing--60);
}

.jt-faq-materia {
	background: var(--wp--preset--color--blanco);
	border-radius: 0.25rem;
	break-inside: avoid;
	margin-bottom: 1rem;
	padding: 0;
	scroll-margin-top: 184px;
}

.jt-faq-materia > summary {
	color: var(--wp--preset--color--azul);
	cursor: pointer;
	font-size: 1.15rem;
	font-weight: 600;
	list-style-position: inside;
	padding: 1rem 1.25rem;
}

.jt-faq-materia > div {
	padding: 0 1.25rem 1rem;
}

.jt-faq-materia .wp-block-details {
	border-top: 1px solid var(--wp--preset--color--borde);
	padding-block: 0.75rem;
}

.jt-faq-materia .wp-block-details > summary {
	color: var(--wp--preset--color--azul);
	cursor: pointer;
	font-weight: 500;
}

/* Ajuste definitivo de la landing de Familia a los tres marcos aprobados. */
.jt-hero-area--familia {
	background-color: #0c1d4d;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.54), rgba(12, 29, 77, 0.54)),
		url(./assets/imagenes/familia/hero-anillos-v2.webp);
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

.jt-hero-area--familia .jt-hero-area__grid {
	box-sizing: border-box;
	max-width: 1440px;
}

.jt-hero-area--familia .jt-antetitulo,
.jt-hero-area--familia .jt-hero-area__ayuda {
	color: #fff;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 22px;
	margin: 0;
	text-transform: uppercase;
}

.jt-hero-area--familia h1 {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 56px;
	font-style: italic;
	font-weight: 500;
	line-height: 59px;
	margin: 12px 0 0;
	max-width: 800px;
}

.jt-hero-area--familia .jt-hero-area__subtitulo {
	color: #fff;
	font-family: var(--jt-fuente-lectura);
	font-size: 18px;
	line-height: 27px;
	margin: 14px 0 18px;
	max-width: 700px;
}

.jt-hero-area--familia .jt-hero-area__anclas {
	column-count: 2;
	column-gap: 18px;
	margin: 4px 0 0;
}

.jt-hero-area--familia .jt-hero-area__anclas li {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 19px;
	line-height: 24px;
	min-height: 44px;
	padding: 8px 0;
}

.jt-hero-area--familia .jt-formulario-hero {
	border-radius: 16px;
	box-sizing: border-box;
	padding: 28px;
}

.jt-hero-area--familia .jt-formulario-hero h2 {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 36px;
	font-weight: 500;
	line-height: 42px;
}

.jt-hero-area--familia .jt-formulario-hero > p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 4px 0 8px;
}

.jt-hero-area--familia div.wpforms-container-full .wpforms-field-label {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 14px;
	font-weight: 600;
	line-height: 18px;
	margin-bottom: 7px !important;
}

.jt-hero-area--familia div.wpforms-container-full {
	margin: 0 !important;
}

.jt-hero-area--familia .wpforms-field-container {
	display: grid;
	gap: 8px;
}

.jt-hero-area--familia div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 0;
}

.jt-hero-area--familia .wpforms-submit-container {
	padding-top: 10px;
}

.jt-hero-area--familia .wpforms-field[data-field-id="4"],
.jt-hero-area--familia .wpforms-field[data-field-id="7"] {
	display: none !important;
}

.jt-hero-area--familia div.wpforms-container-full input[type="email"],
.jt-hero-area--familia div.wpforms-container-full input[type="text"],
.jt-hero-area--familia div.wpforms-container-full textarea {
	background: #f7f5f1;
	border-color: rgba(12, 29, 77, 0.12);
	border-radius: 8px;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
}

.jt-hero-area--familia div.wpforms-container-full input[type="email"],
.jt-hero-area--familia div.wpforms-container-full input[type="text"] {
	height: 46px;
}

.jt-hero-area--familia div.wpforms-container-full textarea {
	height: 90px !important;
	min-height: 90px;
}

.jt-hero-area--familia div.wpforms-container-full button[type="submit"] {
	min-height: 44px;
}

.jt-hero-area--familia .wpforms-field-textarea,
.jt-hero-area--familia .wpforms-field-gdpr-checkbox {
	clear: both;
}

.jt-hero-area--familia .wpforms-field-gdpr-checkbox,
.jt-hero-area--familia .wpforms-field-gdpr-checkbox label {
	font-family: var(--jt-fuente-lectura);
	font-size: 13px;
	line-height: 18px;
}

/* El consentimiento sigue siendo obligatorio, pero su aviso técnico no
   desplaza el botón dentro de la tarjeta. Los lectores de pantalla conservan
   el mensaje y WPForms continúa bloqueando el envío. */
.jt-hero-area--familia .wpforms-field-gdpr-checkbox label.wpforms-error,
.jt-hero-area--familia .wpforms-field-gdpr-checkbox em.wpforms-error {
	clip-path: inset(50%) !important;
	height: 1px !important;
	max-width: 1px !important;
	min-width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.jt-materias-familia {
	padding-block: 64px 72px;
}

.jt-materias-familia .jt-rejilla-materias {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 34px !important;
}

.jt-materia-familia {
	border-radius: 10px;
	box-sizing: border-box;
	gap: 8px;
	min-height: 300px;
	padding: 0 18px 18px;
	text-align: center;
}

.jt-materia-familia .jt-servicio-card__imagen {
	height: 128px;
	margin-inline: -18px;
	width: calc(100% + 36px);
}

.jt-materia-familia::before {
	height: 128px;
}

.jt-materia-familia .jt-tarjeta__titulo {
	font-size: 17px;
	line-height: 21px;
	margin: 8px 0 0;
}

.jt-materia-familia p {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 21px;
	margin: 0;
}

.jt-materia-familia .jt-servicio-card__enlace {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 14px;
	line-height: 18px;
	text-transform: uppercase;
}

.jt-materias-familia > .jt-carrusel-movil__controles {
	display: none;
}

.jt-estrategia-familia__imagen img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.jt-estrategia-familia__contenido {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.jt-estrategia-familia__contenido > p:not(.jt-antetitulo) {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 25px;
}

.jt-estrategia-familia__contenido h2 {
	font-size: 42px;
	line-height: 46px;
	margin: 12px 0 0;
}

.jt-estrategia-familia .jt-presentacion-home__garantias {
	margin-top: 18px;
}

.jt-guia-familia {
	padding-block: 68px 80px;
}

.jt-guia-familia__rejilla {
	column-gap: 36px;
	margin-top: 34px;
}

.jt-faq-materia > summary {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 18px;
	line-height: 24px;
	padding: 18px 20px;
}

.jt-faq-materia > div {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 23px;
	padding: 0 20px 18px;
}

.jt-faq-materia .wp-block-details > summary {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
}

/* Sistema compartido por las doce landings restantes. Conserva la escala de
   Familia, pero permite que cada página utilice su fotografía y que todos los
   textos crezcan en altura sin quedar recortados. */
.jt-hero-area--landing {
	background-color: #0c1d4d;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.jt-hero-area--abogados-divorcio-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/hero-divorcio-separacion-original-v1.webp);
}

.jt-hero-area--abogados-herencias-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.66), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/familia/herencias-testamentos.jpg);
}

.jt-hero-area--abogados-derecho-civil {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.7), rgba(12, 29, 77, 0.68)),
		url(./assets/imagenes/despacho-biblioteca-1800.webp);
}

.jt-hero-area--abogados-arrendamientos-y-desahucios-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.64), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/arrendamientos/hero-entrega-llaves.webp);
}

.jt-hero-area--abogados-propiedad-horizontal-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/propiedad-horizontal/hero-complejo-residencial.webp);
}

.jt-hero-area--abogados-derecho-laboral-en-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.66), rgba(12, 29, 77, 0.74)),
		url(./assets/imagenes/laboral/contratos-condiciones.webp);
}

.jt-hero-area--penal {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.75)),
		url(./assets/imagenes/penal/hero-penal-sala-segunda-v3.webp);
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/mercantil/hero-mercantil-fabrica-v3.webp);
}

.jt-hero-area--derecho-administrativo {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/administrativo/hero-cibeles.webp);
}

.jt-hero-area--extranjeria {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.62), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/extranjeria/hero-t4-barajas.webp);
}

.jt-hero-area--abogados-accidentes-de-trafico-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.6), rgba(12, 29, 77, 0.72)),
		url(./assets/imagenes/accidentes-trafico/hero-accidente-coche.webp);
}

.jt-hero-area--abogado-fiscalista-madrid {
	background-image:
		linear-gradient(rgba(7, 20, 47, 0.64), rgba(12, 29, 77, 0.74)),
		url(./assets/imagenes/fiscal/hero-agencia-tributaria.webp);
}

.jt-hero-area--landing .jt-hero-area__grid {
	min-height: 0;
}

.jt-hero-area--landing .jt-formulario-hero {
	height: auto;
	min-height: 0;
}

.jt-materias-landing .jt-rejilla-materias {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jt-materias-landing .jt-materia-familia {
	height: auto;
	min-height: 350px;
}

.jt-servicios-especificos {
	background: var(--wp--preset--color--azul);
	color: var(--wp--preset--color--blanco);
	padding-block: 68px 76px;
}

.jt-servicios-especificos > :where(.jt-antetitulo, h2, .jt-entradilla) {
	color: var(--wp--preset--color--blanco);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
}

.jt-servicios-especificos > .jt-antetitulo {
	color: var(--wp--preset--color--camel);
}

.jt-servicios-especificos__rejilla {
	align-items: stretch;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	margin-top: 30px;
}

.jt-servicios-especificos__tarjetas {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-servicio-especifico {
	background: var(--wp--preset--color--crema);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--wp--preset--color--texto);
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	min-height: 148px;
	padding: 18px 20px;
}

.jt-servicio-especifico h3,
.jt-servicio-especifico p {
	margin: 0;
}

.jt-servicio-especifico h3 {
	font-size: 20px;
	line-height: 24px;
}

.jt-servicio-especifico p {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 22px;
	margin-top: 7px;
}

.jt-servicio-especifico a {
	color: var(--wp--preset--color--azul);
}

.jt-servicios-especificos__rejilla > img {
	border-radius: 10px;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	width: 100%;
}

.jt-servicios-especificos .jt-carrusel-movil__controles {
	display: none;
}

.jt-confianza-landing .jt-estrategia-familia__rejilla {
	height: auto;
	min-height: 610px;
}

.jt-confianza-landing .jt-estrategia-familia__contenido {
	height: auto;
	min-height: 610px;
}

.jt-guia-landing .jt-faq-materia > div > p {
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 25px;
}

.jt-guia-landing .jt-faq-materia .jt-destacado {
	font-size: 15px;
	line-height: 23px;
}

@media (min-width: 62rem) {

	.jt-hero-area--familia {
		height: 760px;
		min-height: 760px;
		padding: 64px 96px;
	}

	.jt-hero-area--familia .jt-hero-area__grid {
		align-items: start;
		gap: 18px;
		grid-template-columns: minmax(0, 800px) 430px;
	}

	.jt-hero-area--familia .jt-formulario-hero {
		height: 680px;
		min-height: 680px;
		width: 430px;
	}

	.jt-estrategia-familia__rejilla {
		grid-template-columns: 1fr 1fr;
		min-height: 610px;
	}

	.jt-estrategia-familia__contenido {
		padding: 64px 96px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-hero-area--familia {
		background-position: center top;
		background-size: auto 512px;
		min-height: 1040px;
		padding: 42px 44px 40px;
	}

	.jt-hero-area--familia .jt-hero-area__grid {
		align-items: start;
		gap: 26px;
	}

	.jt-hero-area--familia h1 {
		font-size: 50px;
		line-height: 60px;
	}

	.jt-hero-area--familia .jt-formulario-hero {
		height: 470px;
		min-height: 470px;
		padding: 24px 32px;
		width: 100%;
	}

	.jt-hero-area--familia .wpforms-field-container {
		gap: 0 12px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jt-hero-area--familia .wpforms-field[data-field-id="1"] {
		order: 1;
	}

	.jt-hero-area--familia .wpforms-field[data-field-id="3"] {
		order: 2;
	}

	.jt-hero-area--familia .wpforms-field[data-field-id="2"] {
		order: 3;
	}

	.jt-hero-area--familia .wpforms-field-textarea {
		grid-column: 1 / -1;
		order: 4;
	}

	.jt-hero-area--familia .wpforms-field-gdpr-checkbox {
		grid-column: 1 / -1;
		order: 5;
	}

	.jt-materias-familia .jt-rejilla-materias {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jt-estrategia-familia__contenido {
		order: 1;
		padding: 56px 48px 36px;
	}

	.jt-estrategia-familia__imagen {
		order: 2;
	}

	.jt-estrategia-familia__imagen .jt-figura {
		min-height: 430px;
	}

	.jt-faq-materia {
		scroll-margin-top: 146px;
	}

	.jt-servicios-especificos {
		padding: 56px 44px 64px;
	}

	.jt-servicios-especificos__rejilla {
		grid-template-columns: 1fr;
	}

	.jt-servicios-especificos__rejilla > img {
		max-height: 420px;
		min-height: 420px;
	}
}

@media (max-width: 40rem) {

	.jt-hero-area--familia {
		background-position: center top;
		background-size: auto 610px;
		padding: 28px 20px 34px;
	}

	.jt-hero-area--familia .jt-hero-area__grid {
		gap: 28px;
	}

	.jt-hero-area--familia .jt-antetitulo,
	.jt-hero-area--familia .jt-hero-area__ayuda {
		font-size: 14px;
		line-height: 18px;
	}

	.jt-hero-area--familia h1 {
		font-size: 38px;
		line-height: 43px;
		margin-top: 8px;
	}

	.jt-hero-area--familia .jt-hero-area__subtitulo {
		font-size: 16px;
		line-height: 23px;
		margin: 10px 0 14px;
	}

	.jt-hero-area--familia .jt-hero-area__anclas {
		column-count: 1;
		margin-top: 2px;
	}

	.jt-hero-area--familia .jt-hero-area__anclas li {
		font-size: 16px;
		line-height: 20px;
		min-height: 0;
		padding: 5px 0;
	}

	.jt-hero-area--familia .jt-formulario-hero {
		padding: 24px 20px;
		width: 100%;
	}

	.jt-hero-area--familia .jt-formulario-hero h2 {
		font-size: 29px;
		line-height: 34px;
	}

	.jt-hero-area--familia .jt-formulario-hero > p {
		font-size: 15px;
		line-height: 22px;
	}

	.jt-materias-familia {
		padding: 48px 24px 44px;
	}

	.jt-materias-familia .jt-rejilla-materias {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x pan-y;
		-webkit-overflow-scrolling: touch;
	}

	.jt-materias-familia .jt-rejilla-materias::-webkit-scrollbar {
		display: none;
	}

	.jt-materias-familia .jt-rejilla-materias > .jt-materia-familia {
		flex: 0 0 100%;
		min-height: 350px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.jt-materia-familia .jt-servicio-card__imagen,
	.jt-materia-familia::before {
		height: 170px;
	}

	.jt-materias-familia > .jt-carrusel-movil__controles {
		display: flex;
	}

	.jt-estrategia-familia__contenido {
		order: 1;
		padding: 48px 24px 30px;
	}

	.jt-estrategia-familia__contenido h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-estrategia-familia__contenido > p:not(.jt-antetitulo) {
		font-size: 16px;
		line-height: 24px;
	}

	.jt-estrategia-familia .jt-presentacion-home__garantias {
		align-items: center;
		flex-direction: row;
	}

	.jt-estrategia-familia .jt-presentacion-home__garantias img {
		flex: 0 0 86px;
		height: 86px;
		width: 86px;
	}

	.jt-estrategia-familia__imagen {
		order: 2;
	}

	.jt-estrategia-familia__imagen .jt-figura {
		min-height: 330px;
	}

	.jt-guia-familia {
		padding: 48px 24px 56px;
	}

	.jt-guia-familia__rejilla {
		column-count: 1;
		margin-top: 28px;
	}

	.jt-faq-materia > summary {
		font-size: 17px;
		line-height: 23px;
	}

	.jt-faq-materia .wp-block-details > summary {
		font-size: 16px;
		line-height: 22px;
	}

	.jt-faq-materia {
		scroll-margin-top: 126px;
	}

	.jt-servicios-especificos {
		padding: 48px 24px 54px;
	}

	.jt-servicios-especificos__rejilla {
		display: block;
		margin-top: 26px;
	}

	.jt-servicios-especificos__tarjetas {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x pan-y;
		-webkit-overflow-scrolling: touch;
	}

	.jt-servicios-especificos__tarjetas::-webkit-scrollbar {
		display: none;
	}

	.jt-servicios-especificos__tarjetas > .jt-servicio-especifico {
		flex: 0 0 100%;
		min-height: 230px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.jt-servicios-especificos .jt-carrusel-movil__controles {
		display: flex;
	}

	.jt-servicios-especificos__rejilla > img {
		display: none;
	}
}

/* En escritorio, los campos cortos del formulario comparten una sola fila. */
@media (min-width: 48rem) {

	.jt-tarjeta-formulario .wpforms-field-container {
		display: grid;
		gap: 0 0.75rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jt-tarjeta-formulario .wpforms-field-textarea,
	.jt-tarjeta-formulario .wpforms-field-gdpr-checkbox {
		grid-column: 1 / -1;
	}

	.jt-tarjeta-formulario .wpforms-container textarea {
		min-height: 7rem;
	}
}

@media (min-width: 62rem) {

	.jt-hero-area__grid {
		grid-template-columns: minmax(0, 1.55fr) minmax(22rem, 0.8fr);
	}

	.jt-estrategia-familia__rejilla {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 40rem) {

	.jt-hero-home__titulo br {
		display: none;
	}

	.jt-presentacion-home__garantias {
		align-items: flex-start;
		flex-direction: column;
	}

	.jt-hero-area__anclas,
	.jt-guia-familia__rejilla {
		column-count: 1;
	}
}

/* ------------------------------------------------------------------------- *
 * 10. Tarjetas y rejillas
 * ------------------------------------------------------------------------- */

/*
 * Rejilla responsiva sin consultas de medios: las tarjetas se reparten solas.
 * El mínimo de 16rem evita que en tableta queden tres columnas estrechísimas.
 */
.jt-rejilla {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-rejilla--holgada {
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}

.jt-rejilla--dos {
	grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
}

/* Dos columnas de anchos distintos: texto y apoyo. Se apilan por debajo de
   62rem, que es donde la columna estrecha deja de ser legible. */
.jt-dos-columnas {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: 1fr;
}

@media (min-width: 62rem) {

	.jt-dos-columnas {
		grid-template-columns: 1.15fr 1fr;
	}

	.jt-dos-columnas--texto-mayor {
		grid-template-columns: 1.6fr 1fr;
	}

	.jt-dos-columnas--iguales {
		grid-template-columns: 1fr 1fr;
	}

	/* Invierte el orden visual sin tocar el orden del DOM: en móvil el texto
	   sigue leyéndose primero. */
	.jt-dos-columnas--invertida > :first-child {
		order: 2;
	}
}

.jt-tarjeta {
	background-color: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 2px;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	height: 100%;
	padding: var(--wp--preset--spacing--50);
	transition:
		border-color var(--jt-transicion),
		box-shadow var(--jt-transicion);
}

.jt-tarjeta > :last-child {
	margin-bottom: 0;
}

.jt-tarjeta p {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--pequeno);
	margin: 0;
}

.jt-tarjeta__titulo {
	color: var(--wp--preset--color--azul);
	font-family: var(--wp--preset--font-family--titulares);
	font-size: var(--wp--preset--font-size--titulo-menor);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	text-transform: none;
}

/* Icono de la tarjeta: una inicial en camel dentro de un filete, no un
   pictograma. Evita el cliché de mazos y balanzas y no pide ningún archivo. */
.jt-tarjeta__marca {
	background-color: var(--wp--preset--color--crema);
	border-radius: 2px;
	color: var(--wp--preset--color--camel-oscuro);
	display: grid;
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 1.125rem;
	font-weight: 600;
	height: 2.5rem;
	place-items: center;
	width: 2.5rem;
}

/*
 * Tarjeta enlazable: el enlace real está en el titular, no envolviendo la
 * tarjeta entera. Así el lector de pantalla anuncia un destino con nombre
 * («Derecho civil») en lugar de leer el bloque completo, y el foco cae donde
 * se espera. El resto de la tarjeta se hace pulsable con un pseudoelemento.
 */
.jt-tarjeta--enlace {
	position: relative;
}

.jt-tarjeta--enlace:hover,
.jt-tarjeta--enlace:focus-within {
	border-color: var(--wp--preset--color--camel);
	box-shadow: var(--wp--preset--shadow--tarjeta-realce);
}

.jt-tarjeta--enlace .jt-tarjeta__titulo a {
	text-decoration: none;
}

.jt-tarjeta--enlace .jt-tarjeta__titulo a::after {
	border-radius: inherit;
	content: "";
	inset: 0;
	position: absolute;
}

.jt-tarjeta--enlace .jt-tarjeta__titulo a:hover {
	color: var(--wp--preset--color--camel-oscuro);
	text-decoration: underline;
}

/* El contorno de foco del titular debe rodear la tarjeta,
   no el texto suelto. */
.jt-tarjeta--enlace .jt-tarjeta__titulo a:focus-visible {
	outline: 0;
}

.jt-tarjeta--enlace:has(.jt-tarjeta__titulo a:focus-visible) {
	outline: var(--jt-foco-grosor) solid var(--jt-foco-color);
	outline-offset: var(--jt-foco-separacion);
}

/* Tarjeta sobre fondo crema: el blanco ya la separa, el borde sobra. */
.jt-seccion--crema .jt-tarjeta,
.jt-seccion--crema-suave .jt-tarjeta {
	border-color: transparent;
	box-shadow: var(--wp--preset--shadow--tarjeta);
}

.jt-seccion--crema .jt-tarjeta__marca,
.jt-seccion--crema-suave .jt-tarjeta__marca {
	background-color: var(--wp--preset--color--crema);
}

/* Tarjeta sobre fondo azul. */
.jt-seccion--oscura .jt-tarjeta,
.jt-franja-cta .jt-tarjeta {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(243, 236, 223, 0.22);
	color: var(--wp--preset--color--crema);
}

.jt-seccion--oscura .jt-tarjeta p {
	color: rgba(243, 236, 223, 0.86);
}

.jt-seccion--oscura .jt-tarjeta__titulo {
	color: var(--wp--preset--color--crema);
}

.jt-seccion--oscura .jt-tarjeta__marca {
	background-color: rgba(243, 236, 223, 0.12);
	color: var(--wp--preset--color--azul-claro);
}

/* Tarjeta grande de landing destacada: dos por fila, con más aire. */
.jt-tarjeta--destacada {
	gap: 0.875rem;
	padding: var(--wp--preset--spacing--60);
}

.jt-tarjeta--destacada .jt-tarjeta__titulo {
	font-size: var(--wp--preset--font-size--titulo);
}

/* ------------------------------------------------------------------------- *
 * 11. Listas de anclas, pasos y canales de contacto
 * ------------------------------------------------------------------------- */

/*
 * «Te ayudamos en»: la lista de enlaces a las secciones de la propia página.
 * Es el índice del documento y el reparto interno de enlaces más importante de
 * las páginas de área.
 */
.jt-lista-anclas {
	columns: 2;
	column-gap: var(--wp--preset--spacing--50);
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

@media (max-width: 48rem) {

	.jt-lista-anclas {
		columns: 1;
	}
}

.jt-lista-anclas li {
	break-inside: avoid;
	padding-block: 0.3125rem;
}

.jt-lista-anclas a {
	display: inline-block;
	min-height: 32px;
	padding-inline-start: 1.75rem;
	position: relative;
	text-decoration-color: var(--wp--preset--color--borde);
	text-underline-offset: 0.2em;
}

.jt-lista-anclas a::before {
	color: var(--wp--preset--color--camel);
	content: "—";
	left: 0;
	position: absolute;
}

.jt-lista-anclas a:hover {
	text-decoration-color: currentcolor;
}

/* Lista de enlaces a otras áreas: chips, no viñetas. */
.jt-enlaces-areas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

.jt-enlaces-areas a {
	background-color: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 999px;
	display: inline-block;
	font-size: var(--wp--preset--font-size--pequeno);
	min-height: 40px;
	padding: 0.5rem 1rem;
	text-decoration: none;
}

.jt-enlaces-areas a:hover {
	border-color: var(--wp--preset--color--camel);
	color: var(--wp--preset--color--camel-oscuro);
	text-decoration: underline;
}

/*
 * Pasos numerados. El marcado es una lista ordenada real, así que se le quita
 * el marcador nativo y el número visible se pinta aparte, marcado como
 * decorativo: quien usa lector de pantalla oye «1 de 4» por la propia lista y
 * no lo oiría dos veces.
 */
.jt-pasos {
	counter-reset: jt-paso;
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-paso {
	border-top: 2px solid var(--wp--preset--color--camel);
	padding-top: var(--wp--preset--spacing--40);
}

.jt-paso__numero {
	color: var(--wp--preset--color--camel-oscuro);
	display: block;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: var(--wp--preset--font-size--titulo);
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0.5rem;
}

.jt-paso h3,
.jt-paso h4 {
	font-size: var(--wp--preset--font-size--titulo-menor);
	font-weight: 600;
	letter-spacing: 0;
	margin: 0 0 0.375rem;
	text-transform: none;
}

.jt-paso p {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--pequeno);
	margin: 0;
}

.jt-seccion--oscura .jt-paso p {
	color: rgba(243, 236, 223, 0.86);
}

.jt-seccion--oscura .jt-paso__numero {
	color: var(--wp--preset--color--azul-claro);
}

/* Canal de contacto: teléfono, WhatsApp o formulario,
   los tres al mismo nivel. */
.jt-canal {
	border-top: 3px solid var(--wp--preset--color--camel);
	padding-top: var(--wp--preset--spacing--40);
}

.jt-seccion--oscura .jt-canal {
	border-top-color: var(--wp--preset--color--azul-claro);
}

.jt-canal > h3 {
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	letter-spacing: 0.1em;
	margin: 0;
	text-transform: uppercase;
}

.jt-canal__dato {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: var(--wp--preset--font-size--titulo);
	font-weight: 500;
	line-height: 1.2;
	margin: 0.375rem 0 0.5rem;
}

.jt-canal__dato a {
	text-decoration: none;
}

.jt-canal__dato a:hover {
	text-decoration: underline;
}

.jt-canal__nota {
	font-size: var(--wp--preset--font-size--pequeno);
	margin: 0;
	opacity: 0.86;
}

/* ------------------------------------------------------------------------- *
 * 12. Preguntas frecuentes
 * ------------------------------------------------------------------------- */

/*
 * Se usa el bloque nativo Detalles (<details>/<summary>), que ya es accesible
 * por teclado y no necesita ni una línea de JavaScript. El despacho pedía un
 * acordeón con pestañas laterales; esto es el mismo contenido sin script, sin
 * ocultar nada a los buscadores y navegable con el tabulador.
 */
.jt-faq .wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--borde);
	padding-block: 1.125rem;
}

.jt-faq .wp-block-details:first-of-type {
	border-top: 1px solid var(--wp--preset--color--borde);
}

.jt-faq .wp-block-details > summary {
	color: var(--wp--preset--color--azul);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--realce);
	font-weight: 500;
	line-height: 1.4;
	list-style-position: outside;
	min-height: 32px;
	padding-inline-start: 0.25rem;
}

.jt-faq .wp-block-details > summary:hover {
	color: var(--wp--preset--color--camel-oscuro);
}

.jt-faq .wp-block-details > :not(summary) {
	margin-block-start: 0.75rem;
	max-width: var(--jt-ancho-texto);
}

.jt-faq .wp-block-details > :not(summary):last-child {
	margin-block-end: 0;
}

/* Grupo de preguntas: el equivalente estático a las pestañas del carrusel que
   pedía el despacho. Cada grupo es una sección con su propio encabezado. */
.jt-faq-grupo + .jt-faq-grupo {
	margin-top: var(--wp--preset--spacing--60);
}

.jt-faq-grupo > h3 {
	border-bottom: 2px solid var(--wp--preset--color--camel);
	display: inline-block;
	margin-bottom: var(--wp--preset--spacing--30);
	padding-bottom: 0.375rem;
}

/* ------------------------------------------------------------------------- *
 * 13. Equipo y fichas de letrado
 * ------------------------------------------------------------------------- */

.jt-persona {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	position: relative;
}

.jt-persona__nombre {
	font-family: var(--wp--preset--font-family--titulares);
	font-size: var(--wp--preset--font-size--titulo-menor);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	text-transform: none;
}

.jt-persona__nombre a {
	text-decoration: none;
}

.jt-persona__nombre a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.jt-persona__nombre a:hover {
	color: var(--wp--preset--color--camel-oscuro);
	text-decoration: underline;
}

.jt-persona__nombre a:focus-visible {
	outline: 0;
}

.jt-persona:has(.jt-persona__nombre a:focus-visible) {
	outline: var(--jt-foco-grosor) solid var(--jt-foco-color);
	outline-offset: var(--jt-foco-separacion);
}

.jt-persona__cargo {
	color: var(--wp--preset--color--camel-oscuro);
	font-size: var(--wp--preset--font-size--menudo);
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

/* Historial académico: lista con el año a la izquierda. */
.jt-historial {
	border-top: 1px solid var(--wp--preset--color--borde);
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

.jt-historial li {
	border-bottom: 1px solid var(--wp--preset--color--borde);
	display: grid;
	gap: 0.25rem 1.25rem;
	grid-template-columns: 4rem 1fr;
	padding-block: 0.875rem;
}

@media (max-width: 30rem) {

	.jt-historial li {
		grid-template-columns: 1fr;
	}
}

.jt-historial__anio {
	color: var(--wp--preset--color--camel-oscuro);
	font-size: var(--wp--preset--font-size--pequeno);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

/* ------------------------------------------------------------------------- *
 * 14. Ficha de oficina y ubicación
 * ------------------------------------------------------------------------- */

.jt-oficina {
	background-color: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 2px;
	padding: var(--wp--preset--spacing--50);
}

.jt-seccion--oscura .jt-oficina {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: rgba(243, 236, 223, 0.22);
}

.jt-oficina dl {
	display: grid;
	gap: 0.5rem 1rem;
	grid-template-columns: auto 1fr;
	margin: 0;
}

.jt-oficina dt {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--menudo);
	font-weight: 600;
	letter-spacing: 0.08em;
	padding-top: 0.1875rem;
	text-transform: uppercase;
}

.jt-seccion--oscura .jt-oficina dt {
	color: var(--wp--preset--color--azul-claro);
}

.jt-oficina dd {
	margin: 0;
}

@media (max-width: 30rem) {

	.jt-oficina dl {
		grid-template-columns: 1fr;
		gap: 0.125rem 0;
	}

	.jt-oficina dd + dt {
		margin-top: 0.75rem;
	}
}

/* Dirección postal. `address` viene en cursiva por defecto en los navegadores,
   que para una dirección real no aporta nada y se lee peor. */
.jt-direccion {
	font-size: var(--wp--preset--font-size--realce);
	font-style: normal;
	line-height: 1.5;
}

/* Horario: tabla pequeña de dos columnas, sin bordes. */
.jt-horario {
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--pequeno);
	width: 100%;
}

.jt-horario th,
.jt-horario td {
	padding: 0.25rem 0;
	text-align: start;
	vertical-align: top;
}

.jt-horario th {
	font-weight: 600;
	padding-inline-end: 1rem;
	white-space: nowrap;
}

.jt-ubicacion {
	background: var(--wp--preset--color--blanco);
}

.jt-ubicacion__cabecera {
	padding-block: clamp(2rem, 4vw, 3.5rem) 1rem;
}

.jt-mapa {
	border-block: 1px solid var(--wp--preset--color--borde);
	height: 17.5rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.jt-mapa::before {
	background-image: var(--jt-mapa-previa);
	background-position: center;
	background-size: cover;
	content: "";
	inset: 0;
	position: absolute;
}

/* ------------------------------------------------------------------------- *
 * 15. Marcadores de contenido pendiente
 * ------------------------------------------------------------------------- */

/*
 * IMPORTANTE. Estos marcadores señalan contenido que el despacho todavía no ha
 * facilitado. Se ven a la primera y llevan la palabra PENDIENTE en el texto,
 * de modo que sea imposible publicarlos por descuido creyendo que son
 * contenido real. Hay una prueba automática que los inventaría en cada
 * ejecución y falla si alguno no se identifica como tal.
 */
.jt-pendiente {
	background-color: #fff8e6;
	border: 2px dashed #a15c00;
	border-radius: 2px;
	color: #6b3d00;
	display: block;
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--pequeno);
	line-height: 1.5;
	padding: 1rem 1.125rem;
}

.jt-pendiente strong:first-child {
	display: block;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 0.25rem;
	text-transform: uppercase;
}

.jt-pendiente a {
	color: #6b3d00;
}

/* En línea, para un dato suelto dentro de un párrafo. */
.jt-pendiente-dato {
	background-color: #fff8e6;
	border-bottom: 2px dashed #a15c00;
	color: #6b3d00;
	font-weight: 600;
	padding: 0 0.25rem;
}

/*
 * Marcador de imagen: mantiene la proporción reservada para que, al sustituirlo
 * por la fotografía real, el diseño no se mueva (evita CLS).
 */
.jt-marcador-imagen {
	align-items: center;
	aspect-ratio: 3 / 2;
	background-color: #fff8e6;
	border: 2px dashed #a15c00;
	border-radius: 2px;
	color: #6b3d00;
	display: flex;
	font-size: var(--wp--preset--font-size--pequeno);
	justify-content: center;
	padding: 1.5rem;
	text-align: center;
}

.jt-marcador-imagen--retrato {
	aspect-ratio: 3 / 4;
}

/* ------------------------------------------------------------------------- *
 * 16. Formulario de contacto (WPForms)
 * ------------------------------------------------------------------------- */

/*
 * WPForms trae su propia hoja de estilos. Estas reglas la alinean con el
 * sistema del tema y, sobre todo, arreglan tres cosas de accesibilidad:
 * etiquetas siempre visibles, error asociado y anunciado, y foco que se ve.
 */

/*
 * El marcado moderno de WPForms pinta el botón de envío con
 * `div.wpforms-container-full button[type="submit"]:not(:hover):not(:active)`,
 * que tiene más especificidad que cualquier regla razonable del tema: por eso
 * el botón de la acción principal de toda la web salía en el azul de WPForms
 * (#066aab) y no en el azul marino de la marca. La forma correcta de ganar no
 * es subir la especificidad a pulso, sino **alimentar sus variables**, que es
 * para lo que existen. Los selectores llevan `div.` porque las suyas también.
 */
div.wpforms-container.wpforms-container-full {
	--wpforms-field-border-radius: 2px;
	--wpforms-button-border-radius: 2px;

	/*
	 * Ojo al reparto, que es contraintuitivo: WPForms pinta el **reposo** con
	 * `-alt` y reserva la variable sin sufijo para `:hover` y `:active`. De ahí
	 * que el azul marino vaya en `-alt` y el profundo en la otra.
	 */
	--wpforms-button-background-color: var(--wp--preset--color--azul-profundo);
	--wpforms-button-background-color-alt: var(--wp--preset--color--azul);
	--wpforms-button-text-color: var(--wp--preset--color--crema);
	--wpforms-button-text-color-alt: var(--wp--preset--color--crema);
	--wpforms-button-border-color: var(--wp--preset--color--azul);
	--wpforms-field-text-color: var(--wp--preset--color--texto);
	--wpforms-label-color: var(--wp--preset--color--azul);
	--wpforms-label-sublabel-color: var(--wp--preset--color--texto-suave);
	--wpforms-label-error-color: #8a1f24;

	max-width: 40rem;
}

.wpforms-container .wpforms-field-label {
	color: var(--wp--preset--color--azul);
	display: block;
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	margin-bottom: 0.375rem;
}

/* El asterisco de campo obligatorio no basta por sí solo: la palabra
   «obligatorio» se añade en el marcado del formulario. */
.wpforms-container .wpforms-required-label {
	color: #a4262c;
	font-weight: 700;
}

.wpforms-container
	:where(
		input[type="text"],
		input[type="email"],
		input[type="tel"],
		select,
		textarea
	) {
	background-color: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--texto-suave);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--base);
	min-height: 44px;
	padding: 0.625rem 0.75rem;
	width: 100%;
}

.wpforms-container textarea {
	min-height: 8rem;
	resize: vertical;
}

.wpforms-container :where(input, select, textarea):focus-visible {
	border-color: var(--wp--preset--color--azul);
	outline: var(--jt-foco-grosor) solid var(--jt-foco-color);
	outline-offset: 1px;
}

.wpforms-container .wpforms-field-description {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--pequeno);
	margin-top: 0.375rem;
}

/* Error: no se señala solo con color. Lleva borde más grueso y texto propio. */
.wpforms-container .wpforms-error {
	border-color: #a4262c;
	border-width: 2px;
}

.wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error {
	color: #8a1f24;
	display: block;
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	margin-top: 0.375rem;
}

/* Casilla de privacidad: objetivo de pulsación grande y NUNCA premarcada
   (eso se garantiza en la definición del formulario, no aquí). */
.wpforms-container .wpforms-field-checkbox label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	font-size: var(--wp--preset--font-size--pequeno);
	gap: 0.625rem;
	line-height: 1.5;
}

.wpforms-container .wpforms-field-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	height: 1.375rem;
	margin-top: 0.0625rem;
	width: 1.375rem;
}

div.wpforms-container-full button[type="submit"] {
	border: 2px solid var(--wp--preset--color--azul);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--pequeno);
	font-weight: 600;
	letter-spacing: 0.02em;
	min-height: 48px;
	padding: 0.8125rem 1.75rem;
}

/*
 * El reposo lo fijan las variables de arriba. El hover no se puede resolver
 * igual: WPForms usa `-alt` tanto en reposo como en `:hover`, así que por
 * variables es imposible distinguirlos. Aquí sí hay que subir la
 * especificidad, y se sube lo justo —añadiendo `form.wpforms-form`— para
 * ganar a `div.wpforms-container-full button[type="submit"]:hover`.
 */
div.wpforms-container-full form.wpforms-form button[type="submit"]:hover,
div.wpforms-container-full form.wpforms-form button[type="submit"]:active {
	background-color: var(--wp--preset--color--azul-profundo);
	border-color: var(--wp--preset--color--azul-profundo);
	color: var(--wp--preset--color--crema);
}

/* Confirmación de envío: se anuncia con role="status" desde WPForms. */
.wpforms-confirmation-container-full {
	background-color: var(--wp--preset--color--crema);
	border: 1px solid var(--wp--preset--color--camel);
	border-left-width: 4px;
	border-radius: 2px;
	color: var(--wp--preset--color--texto);
	padding: 1.25rem;
}

/* Aviso sobre datos sensibles: debe verse antes de escribir, no después. */
.jt-aviso-formulario {
	background-color: var(--wp--preset--color--crema);
	border-left: 4px solid var(--wp--preset--color--camel);
	border-radius: 0 2px 2px 0;
	font-size: var(--wp--preset--font-size--pequeno);
	padding: 1rem 1.125rem;
}

/* El formulario dentro de una sección azul: la tarjeta blanca lo despega. */
.jt-tarjeta-formulario {
	background-color: var(--wp--preset--color--blanco);
	border-radius: 2px;
	color: var(--wp--preset--color--texto);
	padding: var(--wp--preset--spacing--50);

	--jt-foco-color: var(--wp--preset--color--camel-oscuro);
}

.jt-tarjeta-formulario :where(h2, h3, h4) {
	color: var(--wp--preset--color--azul);
}

.jt-tarjeta-formulario a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--azul);
}

/* ------------------------------------------------------------------------- *
 * 17. Artículos y blog
 * ------------------------------------------------------------------------- */

.jt-articulo__contenido > * {
	max-width: var(--jt-ancho-texto);
}

.jt-articulo__contenido > .alignwide,
.jt-articulo__contenido > .alignfull,
.jt-articulo__contenido > figure,
.jt-articulo__contenido > .wp-block-table {
	max-width: none;
}

.jt-lista-articulos .wp-block-post-title {
	font-size: var(--wp--preset--font-size--titulo-menor);
	line-height: 1.25;
}

.jt-lista-articulos .wp-block-post-title a {
	text-decoration: none;
}

.jt-lista-articulos .wp-block-post-title a:hover {
	color: var(--wp--preset--color--camel-oscuro);
	text-decoration: underline;
}

.jt-meta {
	color: var(--wp--preset--color--texto-suave);
	font-size: var(--wp--preset--font-size--pequeno);
}

/* Etiqueta de categoría sobre el título de la entrada. */
.jt-lista-articulos .wp-block-post-terms {
	color: var(--wp--preset--color--camel-oscuro);
	font-size: var(--wp--preset--font-size--menudo);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.jt-lista-articulos .wp-block-post-terms a {
	text-decoration: none;
}

.jt-lista-articulos .wp-block-post-terms a:hover {
	text-decoration: underline;
}

/*
 * Tablas con desplazamiento propio: lo que se desplaza es la tabla, nunca la
 * página.
 *
 * El contenedor desplazable es un `div` dentro de la `figure`, no la `figure`
 * misma: lo añade `jt_abogados_tablas_alcanzables()` con `tabindex` y un nombre
 * accesible, porque una región desplazable a la que no se llega con el teclado
 * deja contenido inalcanzable. El motivo de que no sea la propia `figure` está
 * en esa función.
 */
.jt-tabla-desplazable {
	overflow-x: auto;
}

/* ------------------------------------------------------------------------- *
 * 18. Pie de página
 * ------------------------------------------------------------------------- */

.jt-pie {
	background-color: var(--wp--preset--color--azul-profundo);
	color: rgba(243, 236, 223, 0.86);
	font-size: var(--wp--preset--font-size--pequeno);

	--jt-foco-color: var(--wp--preset--color--crema);
}

.jt-pie :where(h2, h3, h4) {
	color: var(--wp--preset--color--crema);
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--menudo);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.jt-pie a {
	color: rgba(243, 236, 223, 0.92);
	text-decoration-color: rgba(243, 236, 223, 0.4);
	text-underline-offset: 0.2em;
}

.jt-pie a:hover {
	color: var(--wp--preset--color--blanco);
	text-decoration-color: currentcolor;
}

.jt-pie ul {
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
}

.jt-pie li {
	padding-block: 0.3125rem;
}

.jt-pie__columnas {
	display: grid;
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

/*
 * A partir de 62rem el reparto deja de ser automático y se declara a mano.
 * Con cinco columnas iguales, la de contacto medía 211 px y ahí
 * `secretaria@jtoledoabogados.com` no entra: se partía a mitad de palabra, y
 * la dirección dejaba la «B» de «Bajo B» sola en una línea. Subir el mínimo
 * dejaba el pie en cuatro columnas y mandaba la marca a una segunda fila con
 * medio pie vacío al lado, que era peor. Así las cinco siguen en línea y el
 * ancho de más va donde hace falta.
 */
@media (min-width: 62rem) {

	.jt-pie__columnas {
		grid-template-columns: 1fr 1fr 1.3fr 1fr 1.1fr;
	}
}

.jt-pie__legal {
	border-top: 1px solid rgba(243, 236, 223, 0.18);
	font-size: var(--wp--preset--font-size--menudo);
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
}

.jt-pie__aviso {
	color: rgba(243, 236, 223, 0.74);
	font-size: var(--wp--preset--font-size--menudo);
	max-width: 56rem;
}

/* ------------------------------------------------------------------------- *
 * 19. Movimiento reducido e impresión
 * ------------------------------------------------------------------------- */

/*
 * El tema apenas anima: solo transiciones de color y sombra al pasar por
 * encima. Aun así se respeta la preferencia del sistema, que es lo que pide
 * WCAG 2.3.3, y se desactiva el desplazamiento suave.
 */
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* La cabecera fija estorba al ampliar el texto o en pantallas muy bajas: a
   partir de cierto punto deja de ser fija para no comerse el contenido. */
@media (max-height: 30rem) {

	.jt-cabecera {
		position: static;
	}
}

@media print {

	.jt-cabecera,
	.jt-navegacion,
	.jt-barra-contacto,
	.skip-link,
	.wpforms-container {
		display: none !important;
	}

	.jt-seccion--oscura,
	.jt-franja-cta,
	.jt-pie {
		background-color: transparent !important;
		color: #000 !important;
	}

	/* En papel un enlace sin su destino no sirve de nada. */
	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
		word-break: break-all;
	}
}

/* ------------------------------------------------------------------------- *
 * 20. HOME maestra de Figma
 *
 * Las medidas de escritorio reproducen el lienzo de 1440 × 6086 px. En
 * pantallas menores se conserva la composición, pero se permite que el alto
 * crezca para que el contenido siga siendo legible y accesible.
 * ------------------------------------------------------------------------- */

.jt-cabecera,
.jt-hero-home,
.jt-confianza-home,
.jt-servicios-home,
.jt-contacto-home,
.jt-faq-home,
.jt-proceso-home,
.jt-franja-cta,
.jt-valoraciones-home,
.jt-blog-home,
.jt-ubicacion,
.jt-pie {
	box-sizing: border-box;
	margin-inline: 0;
	width: 100%;
}

main#contenido > .wp-block-post-content > * {
	margin-block-start: 0;
}

.jt-eyebrow {
	color: #8a5a32;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 2.2px;
	line-height: 22px;
	margin: 0;
	text-transform: uppercase;
}

.jt-boton {
	align-items: center;
	border: 0;
	border-radius: 4px;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 15px;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.6px;
	line-height: 20px;
	min-height: 50px;
	padding: 15px 28px;
	text-decoration: none;
}

.jt-boton--azul {
	background: #0c1d4d;
	color: #fff;
}

.jt-boton--blanco {
	background: #fff;
	color: #0c1d4d;
}

.jt-boton--contorno-blanco {
	background: transparent;
	border: 1.5px solid #fff;
	color: #fff;
}

/* Cabecera: 34 px de contacto + 134 px de navegación. */
.wp-site-blocks > .wp-block-template-part:has(> .jt-cabecera) {
	position: sticky;
	top: 0;
	z-index: 100;
}

.jt-cabecera {
	background: #fff;
	box-shadow: none;
	color: #0c1d4d;
	position: relative;
}

.jt-cabecera__contacto {
	background: #07142f;
	color: #fff;
	height: 34px;
}

.jt-cabecera__contacto-interior {
	align-items: center;
	display: flex;
	font-size: 12px;
	height: 34px;
	line-height: 16px;
	margin: auto;
	max-width: 1440px;
	padding-inline: 96px;
}

.jt-cabecera__contacto a {
	align-items: center;
	color: #fff;
	display: inline-flex;
	gap: 8px;
	margin-right: 24px;
	min-height: 30px;
	text-decoration: none;
}

.jt-cabecera__contacto img {
	display: block;
}

.jt-cabecera__retiro {
	margin-left: auto;
	text-transform: uppercase;
}

.jt-cabecera__principal {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
	box-sizing: border-box;
	display: flex;
	gap: 41px;
	height: 134px;
	margin: auto;
	max-width: 1440px;
	padding: 32px 96px;
}

.jt-cabecera__logo,
.jt-cabecera__logo img {
	display: block;
	height: 70px;
	width: 316px;
}

.jt-navegacion {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	gap: 38px;
}

.jt-navegacion__enlace {
	color: #0c1d4d;
	font-size: 22px;
	font-weight: 500;
	line-height: 30px;
	text-decoration: none;
	white-space: nowrap;
}

.jt-navegacion__grupo {
	position: relative;
}

.jt-navegacion__activador {
	align-items: center;
	display: flex;
	gap: 2px;
}

.jt-navegacion__desplegar {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
	display: flex;
	height: 30px;
	justify-content: center;
	padding: 0;
	width: 24px;
}

.jt-navegacion__desplegar img {
	display: block;
	transition: transform 180ms ease;
}

.jt-navegacion__desplegar[aria-expanded="true"] img {
	transform: rotate(180deg);
}

.jt-navegacion__desplegable {
	background: #fff;
	border: 1px solid #e5e7eb;
	box-shadow: 0 10px 24px rgba(7, 20, 47, 0.12);
	left: -118px;
	position: absolute;
	top: calc(100% + 20px);
	width: 760px;
	z-index: 20;
}

.jt-navegacion__desplegable[hidden],
.jt-idioma__menu[hidden] {
	display: none;
}

.jt-navegacion__desplegable-titulo {
	background: #0c1d4d;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 20px;
	margin: 0;
	padding: 12px 22px;
}

.jt-navegacion__columnas {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 18px 22px 22px;
}

.jt-navegacion__columna,
.jt-navegacion__area {
	display: grid;
}

.jt-navegacion__columna {
	align-content: start;
	gap: 13px;
}

.jt-navegacion__area {
	gap: 2px;
}

.jt-navegacion__desplegable a {
	color: #0c1d4d;
	text-decoration: none;
}

.jt-navegacion__desplegable a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.jt-navegacion__area-principal {
	border-bottom: 1px solid #d9dce4;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.75px;
	line-height: 18px;
	padding: 7px 0;
	text-transform: uppercase;
}

.jt-navegacion__area-especifica {
	font-size: 15px;
	line-height: 21px;
	padding: 5px 0 2px 12px;
}

.jt-cabecera__acciones {
	align-items: center;
	display: flex;
	gap: 16px;
	margin-left: auto;
}

.jt-cabecera__cta {
	align-items: center;
	background: #0c1d4d;
	border-radius: 4px;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	font-size: 22px;
	font-weight: 600;
	height: 70px;
	line-height: 30px;
	padding-inline: 32px;
	text-decoration: none;
	white-space: nowrap;
}

.jt-cabecera__cta-corto,
.jt-menu-movil {
	display: none;
}

.jt-idioma {
	position: relative;
}

.jt-selector-idioma {
	align-items: center;
	background: #fff;
	border: 1px solid #0c1d4d;
	border-radius: 4px;
	color: #0c1d4d;
	display: flex;
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	gap: 8px;
	line-height: 24px;
	padding: 10px 12px;
}

.jt-selector-idioma,
.jt-menu-movil,
.jt-navegacion__desplegar {
	font-family: inherit;
}

.jt-idioma__menu {
	background: #fff;
	border: 1px solid #d9dce4;
	border-radius: 4px;
	box-shadow: 0 10px 24px rgba(7, 20, 47, 0.12);
	display: grid;
	font-size: 14px;
	line-height: 20px;
	min-width: 190px;
	padding: 7px;
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 30;
}

.jt-idioma__menu > span {
	color: #0c1d4d;
	display: flex;
	justify-content: space-between;
	padding: 8px 9px;
}

.jt-idioma__menu > span[aria-disabled="true"] {
	color: #6b7280;
}

.jt-bandera-es {
	display: grid;
	height: 16px;
	overflow: hidden;
	width: 24px;
}

.jt-bandera-es i:nth-child(1),
.jt-bandera-es i:nth-child(3) {
	background: #c60b1e;
}

.jt-bandera-es i:nth-child(2) {
	background: #f1bf00;
}

/* Hero. */
.jt-hero-home {
	align-items: center;
	background-image:
		linear-gradient(90deg, rgba(12, 29, 77, 0.93), rgba(12, 29, 77, 0.73) 55%, rgba(12, 29, 77, 0.47)),
		var(--jt-hero-home);
	background-position: center;
	background-size: cover;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	height: 720px;
	min-height: 0;
	padding: 0;
}

.jt-hero-home__interior {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 0 auto;
	padding-inline: 96px;
	width: min(1440px, 100%);
}

.jt-hero-home__eyebrow {
	color: #a06d46;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 4.32px;
	line-height: 22px;
	margin: 0;
}

.jt-hero-home__titulo {
	color: #fff;
	font-size: 84px;
	font-style: italic;
	font-weight: 500;
	line-height: 88px;
	margin: 0;
	max-width: 740px;
}

.jt-hero-home__texto {
	font-size: 24px;
	line-height: 36px;
	margin: 0;
	max-width: 600px;
}

.jt-hero-home__texto p {
	margin: 0;
}

.jt-hero-home__texto p + p {
	margin-top: 8px;
}

.jt-hero-home__acciones {
	display: flex;
	gap: 16px;
}

.jt-hero-home__acciones .jt-boton {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 22px;
	min-height: 54px;
	padding: 16px 32px;
}

/* Trayectoria y confianza. */
.jt-confianza-home {
	background: #f3ecdf;
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: auto;
	min-height: 656px;
}

.jt-confianza-home__contenido {
	box-sizing: border-box;
	padding: 35px 72px;
}

.jt-confianza-home h2 {
	color: #0c1d4d;
	font-size: 32px;
	font-weight: 500;
	line-height: 38px;
	margin: 8px 0 0;
}

.jt-confianza-home__fundado {
	color: #8a5a32;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.2px;
	line-height: 16px;
	margin: 8px 0 0;
}

.jt-confianza-home__texto {
	color: #1b2437;
	font-family: var(--jt-fuente-lectura);
	font-size: 17px;
	line-height: 27px;
	margin-top: 8px;
}

.jt-confianza-home__texto p {
	margin: 0 0 10px;
}

.jt-confianza-home__pruebas {
	align-items: center;
	display: flex;
	gap: 24px;
	min-height: 110px;
	margin-top: 8px;
}

.jt-confianza-home__sello {
	height: 110px;
	object-fit: contain;
	width: 110px;
}

.jt-confianza-home__pruebas ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-confianza-home__pruebas li {
	align-items: center;
	display: flex;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	gap: 8px;
	line-height: 24px;
}

.jt-confianza-home__imagen,
.jt-confianza-home__imagen img {
	height: 100%;
	min-height: 656px;
	width: 100%;
}

.jt-confianza-home__imagen img {
	display: block;
	object-fit: cover;
	object-position: center;
}

/* Servicios. */
.jt-servicios-home {
	align-items: center;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 32px;
	height: auto;
	min-height: 920px;
	padding: 52px 96px;
}

.jt-servicios-home__cabecera {
	text-align: center;
	width: 100%;
}

.jt-servicios-home h2 {
	color: #1b2437;
	font-size: 44px;
	font-weight: 500;
	line-height: 50px;
	margin: 12px 0 0;
}

.jt-servicios-home__rejilla {
	display: grid;
	gap: 20px 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	max-width: 1248px;
	width: 100%;
}

.jt-servicio-home {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	box-sizing: border-box;
	color: #1b2437;
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 300px;
	overflow: hidden;
	text-decoration: none;
}

.jt-servicio-home__imagen {
	background: #0c1d4d;
	height: 120px;
	overflow: hidden;
	position: relative;
}

.jt-servicio-home__imagen::after {
	background: rgba(12, 29, 77, 0.56);
	content: "";
	inset: 0;
	position: absolute;
}

.jt-servicio-home__imagen img {
	display: block;
	height: 120px;
	object-fit: cover;
	width: 100%;
}

.jt-servicio-home__contenido {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
	padding: 16px 20px;
	text-align: center;
}

.jt-servicio-home h3 {
	color: #1b2437;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 26px;
	margin: 0;
}

.jt-servicio-home p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0;
	text-align: left;
}

.jt-servicio-home span {
	color: #8a5a32;
	font-size: 15px;
	font-weight: 600;
	line-height: 20px;
}

.jt-servicios-home__boton {
	height: 52px;
	width: 320px;
}

/* Contacto directo. */
.jt-contacto-home {
	background: #0c1d4d;
	box-sizing: border-box;
	color: #fff;
	height: auto;
	min-height: 742px;
	padding: 48px 96px;
}

.jt-contacto-home__cabecera {
	height: 88px;
}

.jt-contacto-home__cabecera h2 {
	color: #fff;
	font-size: 50px;
	font-weight: 500;
	line-height: 58px;
	margin: 8px 0 0;
}

.jt-contacto-home .jt-eyebrow,
.jt-blog-home .jt-eyebrow {
	color: #d8ae8a;
}

.jt-contacto-home__contenido {
	align-items: stretch;
	display: grid;
	gap: 40px;
	grid-template-columns: 420px minmax(0, 788px);
	height: auto;
	min-height: 526px;
	margin-top: 24px;
}

.jt-contacto-home__opciones {
	display: grid;
	gap: 16px;
	grid-template-rows: repeat(3, minmax(146px, 1fr));
}

.jt-via-home {
	align-items: center;
	background: #142b65;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	box-sizing: border-box;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: 56px 1fr;
	padding: 20px;
	text-decoration: none;
}

.jt-via-home__icono {
	align-items: center;
	background: #f3ecdf;
	border-radius: 50%;
	display: flex;
	height: 56px;
	justify-content: center;
	width: 56px;
}

.jt-via-home > span:last-child {
	display: flex;
	flex-direction: column;
}

.jt-via-home strong {
	font-size: 24px;
	font-weight: 500;
	line-height: 30px;
}

.jt-via-home small {
	color: rgba(255, 255, 255, 0.82);
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin-top: 8px;
}

.jt-via-home em,
.jt-via-home em a {
	color: #fff;
	font-size: 15px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 20px;
	margin-top: 8px;
	text-decoration: none;
}

.jt-contacto-home__formulario {
	background: #fff;
	border-radius: 12px;
	box-sizing: border-box;
	color: #1b2437;
	height: auto;
	min-height: 526px;
	padding: 32px;
}

.jt-contacto-home__formulario h3 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 42px;
	margin: 0;
	text-transform: none;
}

.jt-contacto-home__formulario > p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 6px 0 0;
}

.jt-contacto-home .wpforms-container {
	margin: 24px 0 0;
	max-width: none;
}

.jt-contacto-home .wpforms-container .wpforms-field-container {
	display: grid;
	gap: 8px 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jt-contacto-home .wpforms-container .wpforms-field {
	padding: 0;
}

.jt-contacto-home .wpforms-container .wpforms-field-textarea,
.jt-contacto-home .wpforms-container .wpforms-field-gdpr-checkbox {
	grid-column: 1 / -1;
}

.jt-contacto-home .wpforms-container .wpforms-field-label {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 20px;
	margin-bottom: 5px;
}

.jt-contacto-home
.wpforms-container
:where(input[type="text"], input[type="email"], input[type="tel"], textarea) {
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	min-height: 48px;
	padding: 10px 12px;
}

.jt-contacto-home .wpforms-container textarea {
	height: 88px;
	min-height: 88px;
}

.jt-contacto-home .wpforms-container .wpforms-field-checkbox label {
	font-family: var(--jt-fuente-lectura);
	font-size: 15px;
	line-height: 22px;
}

.jt-contacto-home
.wpforms-container
.wpforms-field-checkbox
input[type="checkbox"] {
	height: 18px;
	width: 18px;
}

.jt-contacto-home .wpforms-submit-container {
	margin-top: 18px;
	padding: 0;
}

.jt-contacto-home div.wpforms-container-full button[type="submit"] {
	font-size: 15px;
	height: 50px;
	min-height: 50px;
	padding: 12px 28px;
}

/* Preguntas frecuentes. */
.jt-faq-home {
	align-items: stretch;
	background: #f3ecdf;
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: auto;
	min-height: 560px;
}

.jt-faq-home__imagen {
	background-image: var(--jt-faq-imagen);
	background-position: center;
	background-size: cover;
	height: 100%;
	min-height: 560px;
	width: 100%;
}

.jt-faq-home__contenido {
	box-sizing: border-box;
	padding: 48px 55px;
}

.jt-faq-home h2 {
	color: #0c1d4d;
	font-size: 40px;
	font-weight: 500;
	line-height: 46px;
	margin: 8px 0 0;
}

.jt-faq-home__acordeon {
	display: grid;
	gap: 10px;
	margin: 38px 0;
}

.jt-faq-home details {
	background: #fff;
	border: 1px solid #dcd6c9;
	box-sizing: border-box;
	min-height: 58px;
	padding: 0 16px;
}

.jt-faq-home summary {
	align-items: center;
	color: #0c1d4d;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: 600;
	justify-content: space-between;
	line-height: 24px;
	min-height: 58px;
	padding-right: 6px;
}

.jt-faq-home summary::after {
	content: "+";
	font-size: 22px;
}

.jt-faq-home details[open] summary::after {
	content: "−";
}

.jt-faq-home details p {
	font-family: var(--jt-fuente-lectura);
	font-size: 17px;
	line-height: 27px;
	margin: 0 0 16px;
}

.jt-faq-home .jt-boton {
	min-width: 330px;
}

/* Proceso. */
.jt-proceso-home {
	background: #faf7f1;
	box-sizing: border-box;
	height: auto;
	min-height: 544px;
	padding: 56px 96px;
}

.jt-proceso-home__cabecera {
	text-align: center;
}

.jt-proceso-home h2 {
	color: #0c1d4d;
	font-size: 42px;
	font-weight: 500;
	line-height: 48px;
	margin: 12px 0 0;
}

.jt-proceso-home__cabecera > p:last-child {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 17px;
	line-height: 27px;
	margin: 12px auto 0;
	max-width: 900px;
}

.jt-proceso-home__pasos {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.jt-proceso-home__pasos li {
	align-items: center;
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 8px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 280px;
	padding: 21px 22px;
	text-align: center;
}

.jt-proceso-home__icono {
	align-items: center;
	background: #f3ecdf;
	border-radius: 50%;
	display: flex;
	height: 56px;
	justify-content: center;
	width: 56px;
}

.jt-proceso-home__numero {
	color: #8a5a32;
	font-size: 12px;
	font-weight: 600;
	line-height: 14px;
	margin-top: 8px;
}

.jt-proceso-home h3 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 28px;
	margin: 8px 0 0;
	text-transform: none;
}

.jt-proceso-home__pasos p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 8px 0 0;
}

.jt-proceso-home__pasos strong {
	color: #8a5a32;
	font-size: 15px;
	line-height: 20px;
	margin-top: 8px;
}

/* CTA. */
.jt-franja-cta {
	background: #0c1d4d;
	box-sizing: border-box;
	height: 150px;
	padding: 0 96px;
}

.jt-franja-cta > div {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
	margin: auto;
	max-width: 1248px;
}

.jt-franja-cta h2 {
	color: #fff;
	font-size: 34px;
	font-weight: 500;
	line-height: 42px;
	margin: 0;
}

.jt-franja-cta .jt-boton {
	min-width: 240px;
}

/* Valoraciones: la estructura es definitiva; el texto se sustituirá por las
   seis reseñas reales que seleccione el despacho. */
.jt-valoraciones-home {
	background: #fff;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 280px 1fr;
	height: auto;
	min-height: 400px;
	padding: 46px 80px;
}

.jt-valoraciones-home__intro {
	align-self: center;
}

.jt-valoraciones-home h2 {
	color: #0c1d4d;
	font-size: 38px;
	font-weight: 500;
	line-height: 40px;
	margin: 12px 0 0;
}

.jt-valoraciones-home__estrellas {
	color: #a06d46;
	font-size: 22px;
	letter-spacing: 5px;
	line-height: 28px;
	margin: 12px 0 0;
}

.jt-valoraciones-home__carrusel {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: 55px;
	position: relative;
}

.jt-resena-vacia {
	background: #fafafa;
	border: 1px solid #dcd6c9;
	border-radius: 8px;
	box-sizing: border-box;
	display: grid;
	font-size: 16px;
	grid-template-columns: 48px 1fr;
	grid-template-rows: 26px 22px 1fr;
	height: auto;
	min-height: 240px;
	padding: 19px 20px;
}

.jt-resena-vacia__avatar {
	background: #e8e3dc;
	border-radius: 50%;
	grid-row: 1 / 3;
	height: 48px;
	width: 48px;
}

.jt-resena-vacia strong,
.jt-resena-vacia > span:not(.jt-resena-vacia__avatar) {
	margin-left: 12px;
}

.jt-resena-vacia > span:not(.jt-resena-vacia__avatar) {
	color: #a06d46;
	letter-spacing: 2px;
}

.jt-resena-vacia p {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	grid-column: 1 / -1;
	line-height: 24px;
	margin: 12px 0 0;
}

.jt-valoraciones-home__controles {
	align-items: center;
	bottom: -20px;
	display: flex;
	gap: 8px;
	justify-content: center;
	left: 0;
	position: absolute;
	right: 0;
}

.jt-valoraciones-home__controles :where(b, i) {
	background: #a9b1c0;
	border-radius: 5px;
	height: 7px;
	width: 7px;
}

.jt-valoraciones-home__controles b {
	background: #0c1d4d;
	width: 18px;
}

/* Blog. */
.jt-blog-home {
	background: #0c1d4d;
	box-sizing: border-box;
	color: #fff;
	display: grid;
	grid-template-columns: 300px 1fr;
	height: auto;
	min-height: 490px;
	padding: 64px 80px;
}

.jt-blog-home__intro h2 {
	color: #fff;
	font-size: 38px;
	font-weight: 500;
	line-height: 40px;
	margin: 10px 0 0;
}

.jt-blog-home__intro > p:not(.jt-eyebrow) {
	color: rgba(255, 255, 255, 0.84);
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 10px 0 0;
}

.jt-blog-home__intro .jt-boton {
	margin-top: 32px;
	min-height: 48px;
	padding: 14px 28px;
}

.jt-blog-home__entradas {
	margin: 0 0 0 60px;
}

.jt-blog-home__entradas .wp-block-post-template,
.jt-blog-home__vacio {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-blog-home__tarjeta,
.jt-blog-home__vacio article {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-top: 6px solid #a06d46;
	box-sizing: border-box;
	color: #1b2437;
	height: auto;
	min-height: 330px;
	padding: 18px;
}

.jt-blog-home__tarjeta h3,
.jt-blog-home__vacio h3 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 24px;
	margin: 14px 0 0;
	text-transform: none;
}

.jt-blog-home__tarjeta :where(p, .wp-block-post-date),
.jt-blog-home__vacio p {
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
}

.jt-blog-home__tarjeta .wp-block-post-excerpt__more-link {
	display: inline-block;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 15px;
	font-weight: 600;
	line-height: 20px;
	margin-top: 12px;
}

.jt-blog-home__tarjeta .wp-block-post-date {
	font-size: 14px;
	line-height: 20px;
	margin-top: 24px;
}

.jt-blog-home__vacio article > span {
	color: #8a5a32;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
}

/* Los controles solo aparecen cuando las tarjetas pasan a carrusel móvil. */
.jt-carrusel-movil__controles {
	display: none;
}

/* Ubicación. */
.jt-ubicacion {
	background: #fff;
	height: 398px;
}

.jt-ubicacion__cabecera {
	box-sizing: border-box;
	height: 118px;
	margin: auto;
	max-width: 1440px;
	padding: 34px 96px 12px;
}

.jt-ubicacion h2 {
	color: #0c1d4d;
	font-size: 44px;
	font-weight: 500;
	line-height: 50px;
	margin: 2px 0 0;
}

.jt-ubicacion .jt-mapa {
	border: 0;
	height: 280px;
}

/* Pie. */
.jt-pie {
	background: #07142f;
	border-top: 5px solid rgba(172, 117, 73, 0.75);
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	height: 620px;
	padding: 153px 96px 0;
	position: relative;
}

.jt-pie__tarjetas {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	left: 50%;
	position: absolute;
	top: -77px;
	transform: translateX(-50%);
	width: 1200px;
	z-index: 5;
}

.jt-pie__tarjeta {
	align-items: start;
	background: #fff;
	border: 1px solid #e3e3e3;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
	color: #0e1730;
	display: grid;
	gap: 24px;
	grid-template-columns: 58px 1fr;
	height: 178px;
	padding: 28px 36px;
}

.jt-pie__icono {
	align-items: center;
	background: #0c1d4d;
	border-radius: 50%;
	display: flex;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.jt-pie__tarjeta h2,
.jt-pie__columnas h2 {
	color: #ac7549;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.3px;
	line-height: 22px;
	margin: 0;
	text-transform: uppercase;
}

.jt-pie__tarjeta h2 {
	color: #8a5a32;
	font-size: 15px;
	letter-spacing: 1.12px;
	line-height: 20px;
}

.jt-pie__tarjeta :where(p, address) {
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	font-style: normal;
	line-height: 24px;
	margin: 7px 0 0;
}

.jt-pie__tarjeta a {
	color: #0e1730;
	text-decoration: none;
}

.jt-pie__columnas {
	display: grid;
	gap: 44px;
	grid-template-columns: 250px 250px 250px 1fr;
	margin: auto;
	max-width: 1248px;
}

.jt-pie__columnas ul {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.jt-pie__columnas li {
	line-height: 29px;
	padding: 0;
}

.jt-pie__columnas a {
	color: #fff;
	text-decoration: none;
}

.jt-pie__despacho {
	padding-left: 0;
}

.jt-pie__dato {
	align-items: flex-start;
	display: flex;
	font-size: 15px;
	gap: 16px;
	line-height: 25px;
	margin: 10px 0 0;
}

.jt-pie__dato img {
	flex: 0 0 auto;
	margin-top: 3px;
}

.jt-pie__telefono {
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}

.jt-pie__marcas {
	align-items: center;
	display: flex;
	gap: 26px;
	margin-top: 22px;
}

.jt-pie__sello {
	height: 86px;
	object-fit: contain;
	width: 86px;
}

.jt-pie__linkedin {
	height: 52px;
	position: relative;
	width: 52px;
}

.jt-pie__linkedin img:first-child {
	inset: 0;
	position: absolute;
}

.jt-pie__linkedin img:last-child {
	height: 26px;
	left: 13px;
	position: absolute;
	top: 13px;
	width: 26px;
}

.jt-pie__legal {
	align-items: center;
	border-top: 1px solid rgba(77, 97, 133, 0.7);
	box-sizing: border-box;
	display: flex;
	font-size: 13px;
	justify-content: space-between;
	margin: 64px auto 0;
	max-width: 1248px;
	padding-top: 27px;
}

.jt-pie__legal p {
	color: #b8c7de;
	margin: 0;
}

.jt-pie__legal p:last-child {
	color: #ac7549;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.96px;
}

/*
 * Cabecera compacta para portátiles. La composición completa está calculada
 * para el lienzo Figma de 1440 px; antes de 1360 px sus piezas ya no caben en
 * una sola fila y provocaban un pequeño desplazamiento horizontal.
 */
@media (max-width: 84.99rem) {

	.jt-cabecera__contacto-interior,
	.jt-cabecera__principal,
	.jt-hero-home__interior,
	.jt-servicios-home,
	.jt-contacto-home,
	.jt-proceso-home,
	.jt-franja-cta,
	.jt-ubicacion__cabecera {
		padding-inline: clamp(24px, 5vw, 64px);
	}

	.jt-cabecera__principal {
		gap: 20px;
	}

	.jt-cabecera__logo,
	.jt-cabecera__logo img {
		height: auto;
		width: 220px;
	}

	.jt-navegacion {
		flex-basis: auto;
		gap: 20px;
	}

	.jt-navegacion__enlace,
	.jt-cabecera__cta {
		font-size: 17px;
	}

	.jt-cabecera__cta {
		padding-inline: 16px;
	}

	.jt-cabecera__acciones {
		gap: 10px;
	}

	.jt-selector-idioma {
		font-size: 16px;
		gap: 6px;
		padding-inline: 9px;
	}
}

@media (max-width: 61.99rem) {

	.jt-cabecera {
		position: relative;
	}

	.jt-cabecera__contacto-interior {
		padding-inline: 48px;
	}

	.jt-cabecera__retiro {
		display: none;
	}

	.jt-cabecera__principal {
		gap: 20px;
		height: 96px;
		padding: 20px 48px;
	}

	.jt-cabecera__logo,
	.jt-cabecera__logo img {
		width: 220px;
	}

	.jt-menu-movil {
		align-content: center;
		background: #fff;
		border: 1px solid #0c1d4d;
		border-radius: 4px;
		box-sizing: border-box;
		cursor: pointer;
		display: grid;
		gap: 5px;
		height: 49px;
		justify-content: center;
		padding: 0;
		width: 62px;
	}

	.jt-menu-movil span {
		background: #0c1d4d;
		display: block;
		height: 2px;
		width: 26px;
	}

	.jt-menu-movil[aria-expanded="true"] span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.jt-menu-movil[aria-expanded="true"] span:nth-child(2) {
		opacity: 0;
	}

	.jt-menu-movil[aria-expanded="true"] span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.jt-navegacion {
		align-items: stretch;
		background: #fff;
		border-block: 1px solid #e5e7eb;
		box-sizing: border-box;
		display: none;
		flex-direction: column;
		gap: 0;
		left: 0;
		max-height: calc(100vh - 130px);
		overflow-y: auto;
		padding: 16px 48px 28px;
		position: absolute;
		top: 130px;
		width: 100%;
		z-index: 25;
	}

	.jt-navegacion.es-abierta {
		display: flex;
	}

	.jt-navegacion__enlace {
		font-size: 19px;
		line-height: 27px;
		padding: 12px 0;
	}

	.jt-navegacion__activador {
		justify-content: space-between;
	}

	.jt-navegacion__desplegar {
		height: 48px;
		width: 48px;
	}

	.jt-navegacion__desplegable {
		border: 1px solid #d9dce4;
		box-shadow: none;
		left: auto;
		position: static;
		width: 100%;
	}

	.jt-navegacion__columnas {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jt-cabecera__acciones {
		margin-left: auto;
	}

	.jt-cabecera__cta {
		font-size: 16px;
		height: 49px;
		line-height: 22px;
		padding-inline: 18px;
	}

	.jt-selector-idioma {
		height: 49px;
		padding-inline: 12px;
	}

	.jt-hero-home {
		height: auto;
		min-height: 620px;
		padding-block: 72px;
	}

	.jt-hero-home__interior {
		gap: 28px;
		padding-inline: 28px;
	}

	.jt-hero-home__titulo {
		font-size: clamp(48px, 10vw, 70px);
		line-height: 1.02;
	}

	.jt-hero-home__texto {
		font-family: var(--jt-fuente-lectura);
		font-size: 19px;
		line-height: 29px;
	}

	.jt-confianza-home,
	.jt-faq-home {
		grid-template-columns: 1fr;
		height: auto;
	}

	.jt-confianza-home__contenido,
	.jt-faq-home__contenido {
		padding: 48px 32px;
	}

	.jt-confianza-home__imagen,
	.jt-confianza-home__imagen img,
	.jt-faq-home__imagen {
		height: 440px;
		min-height: 440px;
	}

	.jt-servicios-home,
	.jt-contacto-home,
	.jt-proceso-home,
	.jt-valoraciones-home,
	.jt-blog-home,
	.jt-ubicacion,
	.jt-pie {
		height: auto;
	}

	.jt-servicios-home {
		padding-block: 56px;
	}

	.jt-servicios-home__rejilla,
	.jt-proceso-home__pasos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-contacto-home {
		padding-block: 56px;
	}

	.jt-contacto-home__contenido {
		grid-template-columns: 1fr;
		height: auto;
	}

	.jt-contacto-home__formulario {
		height: auto;
		min-height: 0;
	}

	.jt-proceso-home {
		padding-block: 56px;
	}

	.jt-franja-cta {
		height: auto;
		padding-block: 40px;
	}

	.jt-franja-cta > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
	}

	.jt-valoraciones-home,
	.jt-blog-home {
		grid-template-columns: 1fr;
		padding: 56px 32px;
	}

	.jt-valoraciones-home__carrusel,
	.jt-blog-home__entradas {
		margin: 36px 0 0;
	}

	.jt-pie {
		padding: 0 32px 40px;
	}

	.jt-pie__tarjetas {
		grid-template-columns: 1fr;
		left: auto;
		margin: -50px auto 40px;
		position: relative;
		top: auto;
		transform: none;
		width: 100%;
	}

	.jt-pie__tarjeta {
		height: auto;
		min-width: 0;
		min-height: 120px;
	}

	.jt-pie__tarjeta > * {
		min-width: 0;
	}

	.jt-pie__tarjeta :where(a, address) {
		overflow-wrap: anywhere;
	}

	.jt-pie__columnas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.99rem) {

	.jt-cabecera__contacto-interior {
		font-size: 10px;
		gap: 10px;
		justify-content: space-between;
		padding-inline: 24px;
	}

	.jt-cabecera__contacto a {
		gap: 5px;
		margin-right: 0;
		white-space: nowrap;
	}

	.jt-cabecera__contacto img {
		height: auto;
		width: 12px;
	}

	.jt-cabecera__principal {
		gap: 27px;
		height: 76px;
		padding: 14px 24px;
	}

	.jt-cabecera__logo,
	.jt-cabecera__logo img {
		width: 104px;
	}

	.jt-cabecera__acciones {
		gap: 8px;
	}

	.jt-cabecera__cta {
		display: flex;
		font-size: 12px;
		height: 44px;
		justify-content: center;
		line-height: 16px;
		padding-inline: 7px;
		width: 79px;
	}

	.jt-cabecera__cta-largo {
		display: none;
	}

	.jt-cabecera__cta-corto {
		display: inline;
	}

	.jt-menu-movil {
		height: 44px;
		width: 54px;
	}

	.jt-menu-movil span {
		width: 23px;
	}

	.jt-selector-idioma {
		gap: 6px;
		height: 44px;
		justify-content: center;
		padding: 0 8px;
		width: 62px;
	}

	.jt-selector-idioma__codigo {
		display: none;
	}

	.jt-bandera-es {
		height: 14px;
		width: 21px;
	}

	.jt-navegacion {
		max-height: calc(100vh - 110px);
		padding: 14px 24px 24px;
		top: 110px;
	}

	.jt-navegacion__columnas {
		gap: 0;
		grid-template-columns: 1fr;
		padding: 12px 18px 18px;
	}

	.jt-navegacion__columna {
		gap: 0;
	}

	.jt-navegacion__desplegable-titulo {
		padding-inline: 18px;
	}

	.jt-hero-home {
		background-position: 58% center;
		min-height: 580px;
	}

	.jt-hero-home__titulo br {
		display: none;
	}

	.jt-hero-home__texto {
		font-size: 18px;
		line-height: 27px;
	}

	.jt-hero-home__acciones {
		align-items: stretch;
		flex-direction: column;
	}

	.jt-confianza-home__contenido {
		padding: 42px 24px;
	}

	.jt-confianza-home h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-confianza-home__pruebas {
		align-items: flex-start;
		height: auto;
	}

	.jt-confianza-home__imagen,
	.jt-confianza-home__imagen img,
	.jt-faq-home__imagen {
		height: 320px;
		min-height: 320px;
	}

	.jt-servicios-home,
	.jt-contacto-home,
	.jt-proceso-home,
	.jt-franja-cta,
	.jt-ubicacion__cabecera {
		padding-inline: 24px;
	}

	.jt-servicios-home h2 {
		font-size: 36px;
		line-height: 41px;
	}

	.jt-ubicacion h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-servicios-home__rejilla,
	.jt-proceso-home__pasos,
	.jt-valoraciones-home__carrusel,
	.jt-blog-home__entradas .wp-block-post-template,
	.jt-blog-home__vacio {
		grid-template-columns: 1fr;
	}

	/*
	 * Carruseles táctiles de HOME. Cada tarjeta ocupa el ancho visible fijado
	 * en Figma y scroll-snap la encaja al soltar el dedo. No dependen de JS para
	 * el gesto: las flechas y los puntos son una mejora progresiva.
	 */
	.jt-servicios-home,
	.jt-proceso-home,
	.jt-valoraciones-home,
	.jt-blog-home {
		min-height: 0;
	}

	.jt-valoraciones-home,
	.jt-blog-home {
		grid-template-columns: minmax(0, 1fr);
		padding: 44px 24px;
	}

	.jt-blog-home > *,
	.jt-valoraciones-home > * {
		min-width: 0;
	}

	.jt-servicios-home__rejilla,
	.jt-proceso-home__pasos,
	.jt-valoraciones-home__carrusel,
	.jt-blog-home__entradas .wp-block-post-template,
	.jt-blog-home__vacio {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x pan-y;
		-webkit-overflow-scrolling: touch;
	}

	.jt-servicios-home__rejilla::-webkit-scrollbar,
	.jt-proceso-home__pasos::-webkit-scrollbar,
	.jt-valoraciones-home__carrusel::-webkit-scrollbar,
	.jt-blog-home__entradas .wp-block-post-template::-webkit-scrollbar,
	.jt-blog-home__vacio::-webkit-scrollbar {
		display: none;
	}

	.jt-servicios-home__rejilla > .jt-servicio-home,
	.jt-proceso-home__pasos > li,
	.jt-valoraciones-home__carrusel > :where(.jt-resena-vacia, .jt-resena-real),
	.jt-blog-home__entradas .wp-block-post-template > li,
	.jt-blog-home__vacio > article {
		flex: 0 0 100%;
		min-width: 0;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.jt-blog-home__entradas {
		width: 100%;
	}

	.jt-carrusel-movil__controles {
		align-items: center;
		display: flex;
		gap: 8px;
		grid-column: 1 / -1;
		justify-content: center;
		margin-top: 4px;
		width: 100%;
	}

	.jt-carrusel-movil__controles button {
		align-items: center;
		background: transparent;
		border: 0;
		color: currentcolor;
		cursor: pointer;
		display: inline-flex;
		font: inherit;
		height: 44px;
		justify-content: center;
		padding: 0;
		width: 44px;
	}

	.jt-carrusel-movil__controles button:disabled {
		cursor: default;
		opacity: 0.35;
	}

	.jt-carrusel-movil__controles [data-jt-carrusel-puntos] {
		align-items: center;
		display: flex;
		gap: 7px;
		justify-content: center;
	}

	.jt-carrusel-movil__controles i {
		background: #a9b1c0;
		border-radius: 6px;
		display: block;
		height: 7px;
		transition:
			width 180ms ease,
			background-color 180ms ease;
		width: 7px;
	}

	.jt-carrusel-movil__controles i.es-activo {
		background: #0c1d4d;
		width: 18px;
	}

	.jt-blog-home .jt-carrusel-movil__controles {
		color: #fff;
	}

	.jt-blog-home .jt-carrusel-movil__controles i {
		background: rgba(255, 255, 255, 0.55);
	}

	.jt-blog-home .jt-carrusel-movil__controles i.es-activo {
		background: #fff;
	}

	.jt-servicios-home__boton,
	.jt-faq-home .jt-boton {
		min-width: 0;
		width: 100%;
	}

	.jt-contacto-home__cabecera {
		height: auto;
	}

	.jt-contacto-home__cabecera h2 {
		font-size: 40px;
		line-height: 46px;
	}

	.jt-contacto-home__opciones {
		grid-template-rows: none;
	}

	.jt-via-home {
		min-height: 146px;
	}

	.jt-contacto-home__formulario {
		padding: 24px 18px;
	}

	.jt-contacto-home .wpforms-container .wpforms-field-container {
		grid-template-columns: 1fr;
	}

	.jt-contacto-home .wpforms-container .wpforms-field-textarea,
	.jt-contacto-home .wpforms-container .wpforms-field-gdpr-checkbox {
		grid-column: auto;
	}

	.jt-faq-home__contenido {
		padding: 42px 24px;
	}

	.jt-faq-home h2,
	.jt-franja-cta h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-proceso-home h2,
	.jt-valoraciones-home h2,
	.jt-blog-home__intro h2 {
		font-size: 36px;
		line-height: 41px;
	}

	.jt-faq-home summary {
		font-size: 17px;
		line-height: 23px;
	}

	.jt-faq-home details p {
		font-size: 16px;
		line-height: 24px;
	}

	.jt-proceso-home__pasos li {
		height: auto;
		min-height: 260px;
	}

	.jt-ubicacion {
		height: auto;
	}

	.jt-ubicacion__cabecera {
		height: auto;
		min-height: 150px;
		padding-block: 34px 20px;
	}

	.jt-pie {
		padding: 0 24px 40px;
	}

	.jt-pie__tarjetas {
		width: 100%;
	}

	.jt-pie__columnas {
		grid-template-columns: 1fr;
	}

	.jt-pie__legal {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}

/* Ajustes de cierre de la landing de divorcio, colocados al final para que la
 * imagen y el orden aprobados prevalezcan en escritorio. */
.jt-divorcio-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/familia/hero-anillos-v2.webp);
}

@media (min-width: 62rem) {

	.jt-divorcio-confianza__foto {
		order: 1;
	}

	.jt-divorcio-confianza__contenido {
		order: 2;
	}
}

.jt-divorcio-hero.jt-herencias-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.55), rgba(12, 29, 77, 0.55)),
		url(./assets/imagenes/herencias/hero-herencias.webp);
}

/* Cierre específico de Propiedad horizontal. */
.jt-propiedad-materias .jt-antetitulo,
.jt-propiedad-confianza .jt-antetitulo,
.jt-propiedad-proceso .jt-antetitulo,
.jt-propiedad-claves .jt-antetitulo,
.jt-propiedad-faq .jt-antetitulo {
	color: #85552f;
}

.jt-propiedad-escenarios .jt-antetitulo {
	color: #d9a474;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		box-sizing: border-box;
		height: 750px;
		min-height: 750px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		box-sizing: border-box;
		height: 560px;
		min-height: 560px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		box-sizing: border-box;
		height: 690px;
		min-height: 690px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		box-sizing: border-box;
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		box-sizing: border-box;
		height: 1297px;
		min-height: 1297px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		box-sizing: border-box;
		height: 937px;
		min-height: 937px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		box-sizing: border-box;
		height: 830px;
		min-height: 830px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		box-sizing: border-box;
		height: 776px;
		min-height: 776px;
	}

	body.page-template-page-divorcio .jt-divorcio-acuerdos.jt-propiedad-claves {
		box-sizing: border-box;
		height: 798px;
		min-height: 798px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta.jt-propiedad-cta {
		box-sizing: border-box;
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
		height: 942px;
		min-height: 942px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-propiedad-hero {
		box-sizing: border-box;
		height: 1211px;
		min-height: 1211px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-propiedad-materias {
		box-sizing: border-box;
		height: 500px;
		min-height: 500px;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-propiedad-confianza {
		box-sizing: border-box;
		height: 812px;
		min-height: 812px;
	}

	body.page-template-page-divorcio .jt-divorcio-proceso.jt-propiedad-proceso {
		box-sizing: border-box;
		height: 564px;
		min-height: 564px;
	}

	body.page-template-page-divorcio .jt-divorcio-tipos.jt-propiedad-escenarios {
		box-sizing: border-box;
		height: 753px;
		min-height: 753px;
	}

	body.page-template-page-divorcio .jt-divorcio-acuerdos.jt-propiedad-claves {
		box-sizing: border-box;
		height: 558px;
		min-height: 558px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta.jt-propiedad-cta {
		box-sizing: border-box;
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-propiedad-faq {
		box-sizing: border-box;
		height: 1294px;
		min-height: 1294px;
	}
}

/* -------------------------------------------------------------------------
 * Derecho Laboral — composición aprobada en Figma
 * Escritorio 255:325 · tablet 255:839 · móvil 255:1276
 * ---------------------------------------------------------------------- */
.jt-divorcio-hero.jt-laboral-hero {
	background-color: #0c1d4d;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.58), rgba(12, 29, 77, 0.58)),
		url(./assets/imagenes/laboral/hero-laboral.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.jt-laboral-materias .jt-antetitulo,
.jt-laboral-confianza .jt-antetitulo,
.jt-laboral-faq .jt-antetitulo {
	color: #85552f;
}

.jt-laboral-intro-mobile,
.jt-laboral-faq-intro-mobile,
.jt-laboral-materias__todas {
	display: none;
}

.jt-laboral-confianza .jt-divorcio-confianza__contenido {
	order: 1;
}

.jt-laboral-confianza .jt-divorcio-confianza__foto {
	order: 2;
}

.jt-laboral-confianza .jt-divorcio-confianza__foto img {
	object-position: center;
}

.jt-laboral-materias .jt-divorcio-materia small {
	color: #85552f;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-laboral-hero {
		height: 760px;
		min-height: 760px;
	}

	.jt-laboral-hero .jt-divorcio-hero__contenido {
		height: 680px;
	}

	.jt-laboral-hero .jt-formulario-hero {
		margin-top: 24px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-laboral-materias {
		height: 754px;
		min-height: 754px;
		padding: 56px 96px 25px;
	}

	.jt-laboral-materias .jt-divorcio-materias__rejilla {
		gap: 18px 22px;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-laboral-confianza {
		height: 540px;
		min-height: 540px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido {
		padding: 35px 72px 39px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido > p:not(.jt-antetitulo) {
		font-size: 15px;
		line-height: 23px;
		margin-bottom: 12px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__garantias {
		margin-top: -4px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta.jt-laboral-cta {
		height: 150px;
		min-height: 150px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-laboral-faq {
		box-sizing: border-box;
		min-height: 1060px;
		padding: 64px 96px 32px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-laboral-hero {
		background-position: center top;
		background-size: 100% 500px, 100% 500px;
		height: 1040px;
		min-height: 1040px;
		padding: 42px 44px 40px;
	}

	.jt-laboral-hero .jt-divorcio-hero__rejilla {
		gap: 18px;
	}

	.jt-laboral-hero .jt-divorcio-hero__contenido {
		height: 470px;
		min-height: 470px;
	}

	.jt-laboral-hero .jt-formulario-hero {
		height: 470px;
		min-height: 470px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-laboral-materias {
		height: 1040px;
		min-height: 1040px;
		padding: 64px 44px 46px;
	}

	.jt-laboral-materias .jt-divorcio-materias__rejilla {
		gap: 18px 17px;
		grid-template-columns: repeat(3, 1fr);
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-laboral-confianza {
		height: 983px;
		min-height: 983px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido {
		height: 543px;
		min-height: 543px;
		padding: 44px 48px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__foto {
		height: 440px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta.jt-laboral-cta {
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-laboral-faq {
		min-height: 990px;
		padding: 52px 48px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-laboral-hero {
		background-position: center top;
		background-size: auto 500px, auto 500px;
		height: 1235px;
		min-height: 1235px;
		padding: 28px 20px 12px;
	}

	.jt-laboral-hero .jt-divorcio-hero__rejilla {
		gap: 24px;
	}

	.jt-laboral-hero .jt-divorcio-hero__contenido {
		height: 505px;
		min-height: 505px;
	}

	.jt-laboral-hero .jt-formulario-hero {
		height: 666px;
		min-height: 666px;
	}

	body.page-template-page-divorcio .jt-divorcio-materias.jt-laboral-materias {
		height: 548px;
		min-height: 548px;
		padding: 48px 24px 24px;
	}

	.jt-laboral-intro-desktop {
		display: none;
	}

	.jt-laboral-intro-mobile {
		display: inline;
	}

	.jt-laboral-materias .jt-divorcio-materias__rejilla {
		margin-inline: 0;
		padding: 8px 0 0;
	}

	.jt-laboral-materias .jt-divorcio-materia {
		flex-basis: 342px;
		height: 238px;
	}

	.jt-laboral-materias .jt-divorcio-materia__imagen {
		height: 104px;
	}

	.jt-laboral-materias .jt-carrusel-movil__controles {
		height: 18px;
		margin-top: 10px;
	}

	.jt-laboral-materias__todas {
		align-items: center;
		border: 1px solid #0c1d4d;
		border-radius: 5px;
		color: #0c1d4d;
		display: flex;
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 14px;
		font-weight: 600;
		height: 44px;
		justify-content: center;
		margin-top: 10px;
		text-decoration: none;
		width: 100%;
	}

	body.page-template-page-divorcio .jt-divorcio-confianza.jt-laboral-confianza {
		height: 960px;
		min-height: 960px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido {
		height: 675px;
		min-height: 675px;
		padding: 34px 24px;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido > p:nth-of-type(3) {
		display: block;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__contenido > p:not(.jt-antetitulo) {
		font-size: 15px;
		line-height: 24px;
		margin-bottom: 12px;
		text-align: left;
	}

	.jt-laboral-confianza .jt-divorcio-confianza__foto {
		height: 285px;
	}

	body.page-template-page-divorcio .jt-divorcio-cta.jt-laboral-cta {
		height: 232px;
		min-height: 232px;
		padding: 34px 24px;
	}

	body.page-template-page-divorcio .jt-divorcio-faq.jt-laboral-faq {
		min-height: 1294px;
		padding: 44px 24px;
	}

	.jt-laboral-faq .jt-divorcio-faq__rejilla {
		margin-top: 14px;
	}

	.jt-laboral-faq .jt-antetitulo {
		font-size: 11px;
		line-height: 16px;
	}

	.jt-laboral-faq h2 {
		font-size: 34px;
		line-height: 41px;
		margin: 14px 0;
	}

	.jt-laboral-faq .jt-divorcio-intro {
		font-size: 14px;
		line-height: 19px;
	}

	.jt-laboral-faq-intro-desktop {
		display: none;
	}

	.jt-laboral-faq-intro-mobile {
		display: inline;
	}

	.jt-laboral-faq .jt-divorcio-faq__grupo {
		margin-bottom: 12px;
	}

	.jt-laboral-faq .jt-divorcio-faq__grupo > summary {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		min-height: 64px;
		padding-block: 10px;
	}

	.jt-laboral-faq .jt-divorcio-faq__contenido {
		padding: 0 18px 16px;
	}

	.jt-laboral-faq .jt-divorcio-faq__contenido > p {
		align-items: center;
		display: flex;
		font-size: 14px;
		line-height: 22px;
		margin: 0;
		min-height: 66px;
		padding: 0;
	}

	.jt-laboral-faq .jt-divorcio-faq__pregunta {
		margin-top: 9px;
	}

	.jt-laboral-faq .jt-divorcio-faq__pregunta summary {
		box-sizing: border-box;
		font-size: 13px;
		line-height: 16px;
		min-height: 44px;
		padding-block: 6px;
	}

	body.page-template-page-divorcio:has(.jt-laboral-hero) .jt-pie__tarjeta {
		padding-bottom: 23px;
		padding-top: 23px;
	}

	body.page-template-page-divorcio:has(.jt-laboral-hero) .jt-pie__columnas {
		gap: 24px;
	}
}

/* -------------------------------------------------------------------------
 * Correcciones transversales de las landings jurídicas.
 * Mantienen el botón dentro del formulario y evitan recortes en móvil.
 * ---------------------------------------------------------------------- */
@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-divorcio-hero .jt-formulario-hero {
		height: 680px;
		min-height: 680px;
	}

	body.page-template-page-divorcio .jt-divorcio-hero .wpforms-submit-container {
		margin-top: 0;
		padding-top: 10px !important;
		transform: none;
	}

	body.page-template-page-divorcio .jt-herencias-tipos article {
		height: 130px;
		min-height: 130px;
		padding: 16px 20px;
	}

	body.page-template-page-divorcio .jt-herencias-tipos article h3 {
		font-size: 24px;
		line-height: 28px;
		margin-bottom: 8px;
	}

	body.page-template-page-divorcio .jt-herencias-tipos article p {
		font-size: 15px;
		line-height: 21px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-valoraciones-divorcio {
		height: 492px;
		min-height: 492px;
		overflow: visible;
	}

	body.page-template-page-divorcio
	.jt-valoraciones-divorcio
	.jt-valoraciones-home__carrusel {
		height: 220px;
		min-height: 220px;
		overflow-y: visible;
	}

	body.page-template-page-divorcio .jt-blog-home {
		height: auto;
		min-height: 786px;
		overflow: visible;
	}

	body.page-template-page-divorcio .jt-pie {
		height: auto;
		min-height: 0;
		overflow: visible;
	}
}

/* Familia usa el mismo ritmo y tratamiento de enlace que las demás landings. */
.jt-hero-area--familia .jt-hero-area__anclas li {
	box-sizing: border-box;
	padding-left: 22px;
	position: relative;
}

.jt-hero-area--familia .jt-hero-area__anclas a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.jt-hero-area--familia .jt-hero-area__anclas a::before {
	content: none;
}

.jt-hero-area--familia .jt-hero-area__anclas li::before {
	background: #a06d46;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
}

@media (min-width: 40.0625rem) {

	.jt-hero-area--familia .jt-hero-area__anclas {
		max-width: 620px;
	}

	.jt-hero-area--familia .jt-hero-area__anclas li {
		min-height: 44px;
		padding: 10px 0 8px 22px;
	}
}

/* Derecho Penal: reproducción de los tres marcos aprobados en Figma. */
.jt-hero-area--penal .jt-hero-area__mas {
	display: none;
}

.jt-materias-landing:has(+ .jt-confianza-penal) {
	box-sizing: border-box;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-rejilla-materias {
	align-items: stretch;
	display: grid;
	grid-auto-rows: minmax(275px, auto);
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia {
	gap: 4px;
	height: auto;
	min-height: 275px;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia .jt-tarjeta__titulo {
	font-size: 17px;
	line-height: 20px;
	margin-top: 10px;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia > p:not(.jt-servicio-card__enlace) {
	font-size: 14px;
	line-height: 20px;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-servicio-card__enlace {
	font-size: 12px;
	line-height: 14px;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia::before {
	content: none;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-servicio-card__media {
	display: block;
	flex: 0 0 112px;
	height: 112px;
	margin-inline: -16px;
	overflow: hidden;
	position: relative;
	width: calc(100% + 32px);
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-servicio-card__media::after {
	background: rgba(12, 29, 77, 0.38);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.jt-materias-landing:has(+ .jt-confianza-penal) .jt-servicio-card__media .jt-servicio-card__imagen {
	display: block;
	filter: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
	width: 100%;
}

.jt-hero-area--penal .jt-hero-area__formulario {
	min-width: 0;
	scroll-margin-top: 180px;
}

.jt-confianza-penal {
	background: #f3ecdf;
}

.jt-confianza-penal__rejilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	width: 100%;
}

.jt-confianza-penal__contenido {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 632px;
	overflow: hidden;
	padding: 35px 72px;
}

.jt-confianza-penal__contenido .jt-antetitulo {
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.jt-confianza-penal__contenido h2 {
	font-size: 32px;
	font-weight: 500;
	line-height: 38px;
	margin: 0;
}

.jt-confianza-penal__contenido h3 {
	color: #0c1d4d;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.8px;
	line-height: 16px;
	margin: 0;
	text-transform: uppercase;
}

.jt-confianza-penal__texto {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0;
	text-align: justify;
}

.jt-confianza-penal__texto--compacto {
	display: none;
}

.jt-confianza-penal__garantias {
	align-items: center;
	display: flex;
	gap: 24px;
	height: 110px;
	margin-top: auto;
}

.jt-confianza-penal__garantias img {
	height: 110px;
	object-fit: contain;
	width: 110px;
}

.jt-confianza-penal__garantias ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-confianza-penal__garantias li {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 16px;
	line-height: 18px;
	padding-left: 26px;
	position: relative;
}

.jt-confianza-penal__garantias li::before {
	color: #0c1d4d;
	content: "✓";
	font-family: var(--jt-fuente-lectura);
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 0;
}

.jt-confianza-penal__imagen,
.jt-confianza-penal__imagen img {
	height: 632px;
	width: 100%;
}

.jt-confianza-penal__imagen img {
	object-fit: cover;
}

@media (min-width: 62rem) {

	.jt-hero-area--penal {
		height: 732px;
		min-height: 732px;
		padding: 34px 96px;
	}

	.jt-hero-area--penal .jt-hero-area__grid {
		height: 664px;
	}

	.jt-hero-area--penal .jt-formulario-hero {
		height: 632px;
		margin-top: 16px;
		min-height: 632px;
		padding: 28px;
	}

	.jt-hero-area--penal div.wpforms-container-full button[type="submit"] {
		height: 52px;
		min-height: 52px;
	}

	.jt-hero-area--penal .wpforms-field-container {
		gap: 0;
	}

	.jt-hero-area--penal div.wpforms-container-full textarea {
		height: 82px !important;
		min-height: 82px;
	}

	.jt-hero-area--penal .wpforms-submit-container {
		padding-top: 0;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) {
		height: auto;
		min-height: 1084px;
		padding: 56px 96px 40px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-rejilla-materias {
		gap: 18px;
		grid-template-columns: repeat(4, 232px);
		justify-content: space-between;
		margin-top: 18px !important;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia {
		height: auto;
		padding: 0 16px 14px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-hero-area--penal {
		background-size: auto 580px;
		height: 1120px;
		min-height: 1120px;
		padding: 42px 44px 40px;
	}

	.jt-hero-area--penal .jt-hero-area__grid {
		gap: 134px;
	}

	.jt-hero-area--penal .jt-hero-area__anclas li {
		font-size: 17px;
		line-height: 20px;
		min-height: 38px;
		padding-block: 7px;
	}

	.jt-hero-area--penal .jt-formulario-hero {
		height: 470px;
		min-height: 470px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) {
		padding: 64px 44px 46px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-rejilla-materias {
		column-gap: 25px;
		grid-template-columns: repeat(3, 232px);
		justify-content: space-between;
		margin-top: 24px !important;
		row-gap: 18px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia {
		height: auto;
		min-height: 280px;
		padding: 0 16px 14px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia:nth-child(n + 4):nth-child(-n + 6) {
		height: auto;
		min-height: 295px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-materia-familia:nth-child(n + 10) {
		display: none;
	}

	.jt-confianza-penal__rejilla {
		grid-template-columns: 1fr;
	}

	.jt-confianza-penal__contenido {
		gap: 14px;
		height: auto;
		padding: 44px 48px;
	}

	.jt-confianza-penal__contenido h2 {
		font-size: 42px;
		line-height: 48px;
	}

	.jt-confianza-penal__contenido h3 {
		font-size: 14px;
	}

	.jt-confianza-penal__texto--escritorio {
		display: none;
	}

	.jt-confianza-penal__texto--compacto {
		display: block;
	}

	.jt-confianza-penal__garantias {
		gap: 18px;
		height: auto;
		margin-top: 0;
	}

	.jt-confianza-penal__garantias img {
		height: 88px;
		width: 88px;
	}

	.jt-confianza-penal__imagen,
	.jt-confianza-penal__imagen img {
		height: 440px;
	}
}

@media (max-width: 40rem) {

	.jt-hero-area--penal {
		background-size: auto 500px;
		height: 1235px;
		min-height: 1235px;
		padding: 28px 20px 12px;
	}

	.jt-hero-area--penal .jt-hero-area__grid {
		gap: 24px;
	}

	.jt-hero-area--penal .jt-hero-area__contenido {
		height: 505px;
	}

	.jt-hero-area--penal .jt-hero-area__anclas li {
		display: none;
		min-height: 33px;
		padding-block: 7px;
	}

	.jt-hero-area--penal .jt-hero-area__anclas li:nth-child(-n + 4),
	.jt-hero-area--penal .jt-hero-area__anclas.es-completa li {
		display: block;
	}

	.jt-hero-area--penal .jt-hero-area__mas {
		background: rgba(255, 255, 255, 0.14);
		border: 1px solid rgba(255, 255, 255, 0.65);
		border-radius: 6px;
		color: #fff;
		display: block;
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 14px;
		font-weight: 600;
		height: 44px;
		width: 100%;
	}

	.jt-hero-area--penal .jt-formulario-hero {
		height: 666px;
		min-height: 666px;
		padding: 24px;
	}

	.jt-hero-area--penal div.wpforms-container-full button[type="submit"] {
		min-height: 52px;
		width: 100%;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) {
		height: auto;
		min-height: 562px;
		padding: 48px 24px 32px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-rejilla-materias {
		display: flex;
		margin-top: 18px !important;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-rejilla-materias > .jt-materia-familia {
		flex-basis: 100%;
		height: auto;
		min-height: 239px;
		padding: 0 16px 14px;
	}

	.jt-materias-landing:has(+ .jt-confianza-penal) .jt-servicio-card__media {
		flex-basis: 108px;
		height: 108px;
	}

	.jt-hero-area--penal .jt-hero-area__formulario {
		scroll-margin-top: 122px;
	}

	.jt-confianza-penal__rejilla {
		grid-template-columns: 1fr;
	}

	.jt-confianza-penal__contenido {
		gap: 14px;
		height: auto;
		padding: 34px 24px;
	}

	.jt-confianza-penal__contenido h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-confianza-penal__contenido h3 {
		font-size: 14px;
	}

	.jt-confianza-penal__texto--escritorio {
		display: none;
	}

	.jt-confianza-penal__texto--compacto {
		display: block;
	}

	.jt-confianza-penal__garantias {
		gap: 18px;
		height: auto;
		margin-top: 0;
	}

	.jt-confianza-penal__garantias img {
		height: 74px;
		width: 74px;
	}

	.jt-confianza-penal__garantias li {
		font-size: 16px;
	}

	.jt-confianza-penal__imagen,
	.jt-confianza-penal__imagen img {
		height: 285px;
	}
}

/* Derecho Mercantil: composición específica aprobada en Figma. */
.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__mas {
	display: none;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__formulario {
	min-width: 0;
	scroll-margin-top: 180px;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field[data-field-id="1"] {
	order: 1;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field[data-field-id="3"] {
	order: 2;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field[data-field-id="2"] {
	order: 3;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field-textarea {
	order: 4;
}

.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field-gdpr-checkbox {
	order: 5;
}

.jt-materias-mercantil {
	box-sizing: border-box;
}

.jt-materias-mercantil .jt-rejilla-materias {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.jt-materias-mercantil .jt-materia-familia {
	border-radius: 12px;
	flex: 0 0 232px;
	gap: 0;
	height: 255px;
	min-height: 255px;
	overflow: hidden;
	padding: 0 16px 14px;
}

.jt-materias-mercantil .jt-materia-familia::before {
	content: none;
}

.jt-materias-mercantil .jt-servicio-card__media {
	display: block;
	flex: 0 0 112px;
	height: 112px;
	margin-inline: -16px;
	overflow: hidden;
	position: relative;
	width: calc(100% + 32px);
}

.jt-materias-mercantil .jt-servicio-card__media::after {
	background: rgba(12, 29, 77, 0.38);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.jt-materias-mercantil .jt-servicio-card__media .jt-servicio-card__imagen {
	display: block;
	filter: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
	width: 100%;
}

.jt-materias-mercantil .jt-materia-familia .jt-tarjeta__titulo {
	font-size: 17px;
	line-height: 20px;
	margin: 10px 0 0;
}

.jt-materias-mercantil .jt-materia-familia > p:not(.jt-servicio-card__enlace) {
	font-size: 14px;
	line-height: 20px;
	margin-top: auto;
}

.jt-materias-mercantil .jt-servicio-card__enlace {
	font-size: 12px;
	line-height: 14px;
	margin-top: auto;
}

.jt-materias-mercantil__todas {
	display: none;
}

.jt-confianza-mercantil {
	background: #f3ecdf;
}

.jt-confianza-mercantil__rejilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	width: 100%;
}

.jt-confianza-mercantil__contenido {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 632px;
	overflow: hidden;
	padding: 35px 72px;
}

.jt-confianza-mercantil__contenido .jt-antetitulo {
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}

.jt-confianza-mercantil__contenido h2 {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -0.3px;
	line-height: 38px;
	margin: 0;
}

.jt-confianza-mercantil__contenido h3 {
	color: #0c1d4d;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.8px;
	line-height: 16px;
	margin: 0;
	text-transform: uppercase;
}

.jt-confianza-mercantil__texto {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 0;
	text-align: justify;
}

.jt-confianza-mercantil__texto--compacto {
	display: none;
}

.jt-confianza-mercantil__garantias {
	align-items: center;
	display: flex;
	gap: 24px;
	height: 110px;
	margin-top: auto;
}

.jt-confianza-mercantil__garantias img {
	height: 110px;
	object-fit: contain;
	width: 110px;
}

.jt-confianza-mercantil__garantias ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jt-confianza-mercantil__garantias li {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 16px;
	line-height: 18px;
	padding-left: 26px;
	position: relative;
}

.jt-confianza-mercantil__garantias li::before {
	color: #0c1d4d;
	content: "✓";
	font-family: var(--jt-fuente-lectura);
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 0;
}

.jt-confianza-mercantil__imagen,
.jt-confianza-mercantil__imagen img {
	height: 632px;
	width: 100%;
}

.jt-confianza-mercantil__imagen img {
	object-fit: cover;
}

.jt-guia-mercantil {
	box-sizing: border-box;
}

.jt-guia-mercantil__rejilla {
	column-count: auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jt-guia-mercantil__columna {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.jt-guia-mercantil .jt-faq-materia {
	margin: 0;
}

@media (min-width: 62rem) {

	.jt-hero-area--abogados-derecho-mercantil-en-madrid {
		height: 760px;
		min-height: 760px;
		padding: 40px 96px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__grid {
		height: 680px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-formulario-hero {
		height: 660px;
		margin-top: 24px;
		min-height: 660px;
		padding: 28px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-field-container {
		gap: 8px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .wpforms-submit-container {
		padding-top: 0;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid div.wpforms-container-full button[type="submit"] {
		height: 52px;
		min-height: 52px;
	}

	.jt-materias-mercantil {
		height: 781px;
		min-height: 781px;
		padding: 56px 96px 40px;
	}

	.jt-materias-mercantil .jt-rejilla-materias {
		display: block;
		height: 538px;
		margin-top: 18px !important;
		position: relative;
		row-gap: 18px;
	}

	.jt-materias-mercantil .jt-materia-familia {
		position: absolute;
		top: 0;
		width: 232px;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(1),
	.jt-materias-mercantil .jt-materia-familia:nth-child(5) {
		left: 0;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(2) {
		left: 338.6667px;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(3) {
		left: 677.3333px;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(4),
	.jt-materias-mercantil .jt-materia-familia:nth-child(7) {
		right: 0;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(6) {
		left: 508px;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(n + 5) {
		top: 283px;
	}

	.jt-guia-mercantil {
		height: 1060px;
		min-height: 1060px;
		padding: 64px 96px 32px;
	}

	.jt-guia-mercantil__rejilla {
		column-gap: 38px;
		margin-top: 28px;
	}

	.jt-guia-mercantil .jt-faq-materia > summary {
		box-sizing: border-box;
		min-height: 72px;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(-n + 4) {
		height: 275px;
		min-height: 275px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-hero-area--abogados-derecho-mercantil-en-madrid {
		background-size: auto 512px;
		height: 1040px;
		min-height: 1040px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-formulario-hero {
		height: 470px;
		min-height: 470px;
	}

	.jt-materias-mercantil {
		height: 1063px;
		min-height: 1063px;
		padding: 64px 44px 46px;
	}

	.jt-materias-mercantil .jt-rejilla-materias {
		display: grid;
		grid-template-columns: repeat(3, 232px);
		height: auto;
		justify-content: space-between;
		margin-top: 24px !important;
		row-gap: 18px;
	}

	.jt-materias-mercantil .jt-materia-familia {
		position: static;
		width: auto;
	}

	.jt-materias-mercantil .jt-materia-familia:nth-child(-n + 3) {
		height: 275px;
		min-height: 275px;
	}

	.jt-confianza-mercantil__rejilla {
		grid-template-columns: 1fr;
	}

	.jt-confianza-mercantil__contenido {
		gap: 14px;
		height: 493px;
		padding: 44px 48px;
	}

	.jt-confianza-mercantil__contenido h2 {
		font-size: 42px;
		letter-spacing: 0;
		line-height: 50px;
	}

	.jt-confianza-mercantil__contenido h3 {
		font-size: 14px;
	}

	.jt-confianza-mercantil__texto--escritorio {
		display: none;
	}

	.jt-confianza-mercantil__texto--compacto {
		display: block;
	}

	.jt-confianza-mercantil__garantias {
		gap: 18px;
		height: auto;
		margin-top: 0;
	}

	.jt-confianza-mercantil__garantias img {
		height: 88px;
		width: 88px;
	}

	.jt-confianza-mercantil__imagen,
	.jt-confianza-mercantil__imagen img {
		height: 440px;
	}

	.jt-guia-mercantil {
		height: 990px;
		min-height: 990px;
		padding: 56px 44px 40px;
	}

	.jt-guia-mercantil__rejilla {
		column-gap: 22px;
		margin-top: 24px;
	}

	.jt-franja-cta--mercantil {
		height: 228px;
		padding-block: 32px;
	}

	.jt-franja-cta--mercantil > div {
		align-content: center;
		align-items: start;
		display: grid !important;
		gap: 16px !important;
		grid-template-columns: 1fr;
		justify-content: center;
	}

	.jt-franja-cta--mercantil .wp-block-button__link {
		box-sizing: border-box;
		min-width: 240px;
		text-align: center;
	}
}

@media (max-width: 40rem) {

	.jt-hero-area--abogados-derecho-mercantil-en-madrid {
		background-size: auto 500px;
		height: 1235px;
		min-height: 1235px;
		padding: 28px 20px 12px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__grid {
		gap: 24px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__contenido {
		height: 505px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__anclas li {
		display: none;
		min-height: 33px;
		padding-block: 7px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__anclas li:nth-child(-n + 4),
	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__anclas.es-completa li {
		display: block;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__mas {
		background: rgba(255, 255, 255, 0.14);
		border: 1px solid rgba(255, 255, 255, 0.65);
		border-radius: 6px;
		color: #fff;
		display: block;
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 14px;
		font-weight: 600;
		height: 44px;
		width: 100%;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-formulario-hero {
		height: 666px;
		min-height: 666px;
		padding: 24px;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid div.wpforms-container-full button[type="submit"] {
		min-height: 52px;
		width: 100%;
	}

	.jt-hero-area--abogados-derecho-mercantil-en-madrid .jt-hero-area__formulario {
		scroll-margin-top: 122px;
	}

	.jt-materias-mercantil {
		height: 581px;
		min-height: 581px;
		padding: 48px 24px 32px;
	}

	.jt-materias-mercantil .jt-rejilla-materias {
		flex-wrap: nowrap;
		margin-top: 18px !important;
	}

	.jt-materias-mercantil .jt-rejilla-materias > .jt-materia-familia {
		flex: 0 0 100%;
		height: 239px;
		min-height: 239px;
		padding: 0 20px 12px;
	}

	.jt-materias-mercantil .jt-servicio-card__media {
		flex-basis: 108px;
		height: 108px;
		margin-inline: -20px;
		width: calc(100% + 40px);
	}

	.jt-materias-mercantil__todas {
		align-items: center;
		background: #0c1d4d;
		border-radius: 4px;
		color: #fff;
		display: flex;
		font-family: var(--wp--preset--font-family--titulares);
		font-size: 14px;
		font-weight: 600;
		height: 44px;
		justify-content: center;
		line-height: 17px;
		margin-top: 10px;
		text-decoration: none;
		width: 100%;
	}

	.jt-confianza-mercantil__rejilla {
		grid-template-columns: 1fr;
	}

	.jt-confianza-mercantil__contenido {
		gap: 14px;
		height: auto;
		min-height: 606px;
		padding: 34px 24px;
	}

	.jt-confianza-mercantil__contenido h2 {
		font-size: 34px;
		letter-spacing: 0;
		line-height: 39px;
	}

	.jt-confianza-mercantil__contenido h3 {
		font-size: 14px;
	}

	.jt-confianza-mercantil__texto--escritorio {
		display: none;
	}

	.jt-confianza-mercantil__texto--compacto {
		display: block;
	}

	.jt-confianza-mercantil__garantias {
		gap: 18px;
		height: auto;
		margin-top: 0;
	}

	.jt-confianza-mercantil__garantias img {
		height: 74px;
		width: 74px;
	}

	.jt-confianza-mercantil__garantias li {
		font-size: 16px;
	}

	.jt-confianza-mercantil__imagen,
	.jt-confianza-mercantil__imagen img {
		height: 285px;
	}

	.jt-guia-mercantil {
		height: auto;
		min-height: 1216px;
		padding: 48px 24px 40px;
	}

	.jt-guia-mercantil__rejilla {
		display: grid;
		gap: 14px;
		grid-template-columns: 1fr;
		margin-top: 28px;
	}

	.jt-franja-cta--mercantil {
		height: 266px;
		padding-block: 32px;
	}

	.jt-franja-cta--mercantil > div {
		align-content: center;
		align-items: start;
		display: grid !important;
		gap: 16px !important;
		grid-template-columns: 1fr;
		justify-content: center;
	}

	.jt-franja-cta--mercantil .wp-block-button__link {
		box-sizing: border-box;
		min-width: 230px;
		text-align: center;
	}
}

/* Derecho Administrativo: ajustes propios sobre la composición editorial
   compartida con Mercantil (Figma 311:793, 311:1269 y 311:1690). */
.jt-hero-area--derecho-administrativo .jt-hero-area__formulario {
	min-width: 0;
	scroll-margin-top: 180px;
}

.jt-confianza-administrativo__contenido {
	min-width: 0;
}

@media (min-width: 62rem) {

	.jt-materias-administrativo {
		height: 790px;
		min-height: 790px;
	}

	.jt-materias-administrativo > .jt-antetitulo {
		font-size: 14px;
		line-height: 17px;
	}

	.jt-materias-administrativo > h2 {
		line-height: 52px;
		margin-top: 18px;
	}

	.jt-materias-administrativo > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 18px;
		max-width: none;
		width: 100%;
	}

	.jt-materias-administrativo .jt-rejilla-materias {
		height: 549px;
		margin-top: 18px !important;
	}

	.jt-materias-administrativo .jt-materia-familia:nth-child(-n + 4) {
		height: 285px;
		min-height: 285px;
		top: -8px;
	}

	.jt-materias-administrativo .jt-materia-familia:nth-child(n + 5) {
		height: 263px;
		min-height: 263px;
		top: 286px;
	}

	.jt-confianza-administrativo .jt-confianza-mercantil__contenido,
	.jt-confianza-administrativo .jt-confianza-mercantil__imagen,
	.jt-confianza-administrativo .jt-confianza-mercantil__imagen img {
		height: 584px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-materias-administrativo {
		height: 1105px;
		min-height: 1105px;
	}

	.jt-materias-administrativo .jt-materia-familia:nth-child(-n + 3) {
		height: 263px;
		min-height: 263px;
	}

	.jt-materias-administrativo .jt-materia-familia:nth-child(n + 4):nth-child(-n + 6) {
		height: 285px;
		min-height: 285px;
	}

	.jt-materias-administrativo .jt-materia-familia:nth-child(7) {
		height: 255px;
		min-height: 255px;
	}

	.jt-confianza-administrativo .jt-confianza-mercantil__contenido {
		height: 469px;
		min-height: 469px;
	}
}

@media (max-width: 40rem) {

	.jt-materias-administrativo {
		height: 605px;
		min-height: 605px;
	}

	.jt-materias-administrativo > .jt-antetitulo {
		font-size: 12px;
		line-height: 16px;
	}

	.jt-materias-administrativo > h2 {
		font-size: 38px;
		line-height: 43px;
		margin-top: 10px;
	}

	.jt-materias-administrativo > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 10px;
	}

	.jt-materias-administrativo .jt-rejilla-materias {
		margin-top: 10px !important;
	}

	.jt-materias-administrativo > .jt-carrusel-movil__controles {
		height: 18px;
		margin-top: 10px;
	}

	.jt-materias-administrativo > .jt-carrusel-movil__controles button {
		height: 18px;
		min-height: 18px;
	}

	.jt-confianza-administrativo .jt-confianza-mercantil__contenido {
		height: 592px;
		min-height: 592px;
	}

	.jt-guia-administrativo {
		height: auto;
		min-height: 1216px;
	}

	.jt-guia-administrativo .jt-guia-mercantil__rejilla {
		gap: 10px;
		margin-top: 20px;
	}

	.jt-guia-administrativo .jt-guia-mercantil__columna {
		gap: 10px;
	}
}

/* Derecho de Extranjería: cotas de los tres marcos aprobados en Figma
   (330:845, 330:1356 y 330:1812). */
.jt-hero-area--extranjeria .jt-hero-area__formulario {
	min-width: 0;
	scroll-margin-top: 180px;
}

.jt-confianza-extranjeria {
	padding-inline: 0 !important;
}

.jt-confianza-extranjeria .jt-confianza-mercantil__rejilla {
	margin-inline: 0 !important;
	max-width: none;
	width: 100%;
}

.jt-confianza-extranjeria .jt-confianza-mercantil__imagen img {
	display: block;
}

@media (min-width: 62rem) {

	.jt-hero-area--extranjeria .jt-formulario-hero {
		height: 680px;
		min-height: 680px;
	}

	.jt-materias-extranjeria {
		height: 811px;
		min-height: 811px;
	}

	.jt-materias-extranjeria > .jt-antetitulo {
		font-size: 14px;
		line-height: 17px;
	}

	.jt-materias-extranjeria > h2 {
		line-height: 52px;
		margin-top: 18px;
	}

	.jt-materias-extranjeria > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 18px;
		max-width: none;
		width: 100%;
	}

	.jt-materias-extranjeria .jt-rejilla-materias {
		height: 568px;
		margin-top: 18px !important;
	}

	.jt-materias-extranjeria .jt-materia-familia:nth-child(-n + 4) {
		height: 285px;
		min-height: 285px;
		top: -8px;
	}

	.jt-materias-extranjeria .jt-materia-familia:nth-child(n + 5) {
		height: 305px;
		min-height: 305px;
		top: 295px;
	}

	.jt-confianza-extranjeria .jt-confianza-mercantil__contenido,
	.jt-confianza-extranjeria .jt-confianza-mercantil__imagen,
	.jt-confianza-extranjeria .jt-confianza-mercantil__imagen img {
		height: 656px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-materias-extranjeria {
		height: 1177px;
		min-height: 1177px;
	}

	.jt-materias-extranjeria .jt-rejilla-materias {
		row-gap: 18px;
	}

	.jt-materias-extranjeria .jt-materia-familia:nth-child(-n + 6) {
		height: 285px;
		min-height: 285px;
	}

	.jt-materias-extranjeria .jt-materia-familia:nth-child(7) {
		height: 305px;
		min-height: 305px;
	}

	.jt-confianza-extranjeria .jt-confianza-mercantil__contenido {
		height: 493px;
		min-height: 493px;
	}
}

@media (max-width: 40rem) {

	.jt-hero-area--extranjeria {
		height: 1190px;
		min-height: 1190px;
	}

	.jt-hero-area--extranjeria .jt-hero-area__contenido {
		height: 455px;
	}

	.jt-materias-extranjeria {
		height: 562px;
		min-height: 562px;
	}

	.jt-materias-extranjeria > .jt-antetitulo {
		font-size: 12px;
		line-height: 16px;
	}

	.jt-materias-extranjeria > h2 {
		font-size: 38px;
		line-height: 43px;
		margin-top: 10px;
	}

	.jt-materias-extranjeria > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 10px;
	}

	.jt-materias-extranjeria .jt-rejilla-materias {
		margin-top: 10px !important;
	}

	.jt-materias-extranjeria > .jt-carrusel-movil__controles {
		height: 18px;
		margin-top: 10px;
	}

	.jt-materias-extranjeria > .jt-carrusel-movil__controles button {
		height: 18px;
		min-height: 18px;
	}

	.jt-confianza-extranjeria .jt-confianza-mercantil__contenido {
		height: 575px;
		min-height: 575px;
	}

	.jt-franja-cta--extranjeria {
		height: 198px;
		min-height: 198px;
		padding: 34px 24px;
	}

	.jt-franja-cta--extranjeria > div {
		gap: 18px !important;
	}

	.jt-franja-cta--extranjeria h2 {
		font-size: 28px;
		line-height: 34px;
		margin: 0;
	}

	.jt-franja-cta--extranjeria .wp-block-button__link {
		min-height: 44px;
		width: 100%;
	}

	.jt-guia-extranjeria {
		height: auto;
		min-height: 1216px;
	}

	.jt-guia-extranjeria .jt-guia-mercantil__rejilla {
		gap: 10px;
		margin-top: 20px;
	}

	.jt-guia-extranjeria .jt-guia-mercantil__columna {
		gap: 10px;
	}
}

/* Derecho Fiscal: medidas de los marcos aprobados en Figma
   (321:819, 321:1330 y 321:1786). */
.jt-hero-area--abogado-fiscalista-madrid .jt-hero-area__formulario {
	min-width: 0;
	scroll-margin-top: 180px;
}

.jt-confianza-fiscal {
	padding-inline: 0 !important;
}

.jt-confianza-fiscal .jt-confianza-mercantil__rejilla {
	margin-inline: 0 !important;
	max-width: none;
	width: 100%;
}

.jt-materias-fiscal > .jt-antetitulo,
.jt-guia-fiscal > .jt-antetitulo {
	text-align: center;
	width: 100%;
}

.jt-materias-fiscal > .jt-antetitulo::before,
.jt-confianza-fiscal .jt-antetitulo::before,
.jt-guia-fiscal > .jt-antetitulo::before {
	display: none;
}

@media (min-width: 62rem) {

	.jt-hero-area--abogado-fiscalista-madrid .jt-formulario-hero {
		height: 680px;
		min-height: 680px;
	}

	.jt-materias-fiscal {
		height: 811px;
		min-height: 811px;
	}

	.jt-materias-fiscal > .jt-antetitulo {
		font-size: 14px;
		line-height: 17px;
	}

	.jt-materias-fiscal > h2 {
		line-height: 52px;
		margin-top: 18px;
	}

	.jt-materias-fiscal > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 18px;
		max-width: none;
		width: 100%;
	}

	.jt-materias-fiscal .jt-rejilla-materias {
		height: 568px;
		margin-top: 18px !important;
	}

	.jt-materias-fiscal .jt-materia-familia:nth-child(-n + 4) {
		height: 305px;
		min-height: 305px;
		top: 0;
	}

	.jt-materias-fiscal .jt-materia-familia:nth-child(n + 5) {
		height: 285px;
		min-height: 285px;
		top: 305px;
	}

	.jt-confianza-fiscal .jt-confianza-mercantil__contenido,
	.jt-confianza-fiscal .jt-confianza-mercantil__imagen,
	.jt-confianza-fiscal .jt-confianza-mercantil__imagen img {
		height: 656px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-materias-fiscal {
		height: 1215px;
		min-height: 1215px;
	}

	.jt-materias-fiscal .jt-materia-familia:nth-child(-n + 6) {
		height: 305px;
		min-height: 305px;
	}

	.jt-materias-fiscal .jt-materia-familia:nth-child(7) {
		height: 275px;
		min-height: 275px;
	}

	.jt-confianza-fiscal .jt-confianza-mercantil__contenido {
		height: 469px;
		min-height: 469px;
	}
}

@media (max-width: 40rem) {

	.jt-hero-area--abogado-fiscalista-madrid {
		height: 1209px;
		min-height: 1209px;
	}

	.jt-hero-area--abogado-fiscalista-madrid .jt-hero-area__contenido {
		height: 479px;
	}

	.jt-materias-fiscal {
		height: 621px;
		min-height: 621px;
	}

	.jt-materias-fiscal > .jt-antetitulo {
		font-size: 13px;
		line-height: 16px;
	}

	.jt-materias-fiscal > h2 {
		font-size: 36px;
		line-height: 43px;
		margin-top: 10px;
	}

	.jt-materias-fiscal > .jt-entradilla {
		font-size: 16px;
		line-height: 24px;
		margin-top: 10px;
	}

	.jt-materias-fiscal .jt-rejilla-materias {
		margin-top: 10px !important;
	}

	.jt-materias-fiscal .jt-rejilla-materias > .jt-materia-familia {
		height: 255px;
		min-height: 255px;
	}

	.jt-materias-fiscal > .jt-carrusel-movil__controles {
		height: 18px;
		margin-top: 10px;
	}

	.jt-materias-fiscal > .jt-carrusel-movil__controles button {
		height: 18px;
		min-height: 18px;
	}

	.jt-confianza-fiscal .jt-confianza-mercantil__contenido {
		height: 592px;
		min-height: 592px;
	}

	.jt-franja-cta--fiscal {
		height: 232px;
		min-height: 232px;
		padding: 34px 24px;
	}

	.jt-franja-cta--fiscal > div {
		gap: 18px !important;
	}

	.jt-franja-cta--fiscal h2 {
		font-size: 28px;
		line-height: 34px;
		margin: 0;
		text-align: center;
	}

	.jt-franja-cta--fiscal .wp-block-button__link {
		min-height: 44px;
		width: 100%;
	}

	.jt-guia-fiscal {
		height: auto;
		min-height: 1216px;
	}

	.jt-guia-fiscal .jt-guia-mercantil__rejilla {
		gap: 10px;
		margin-top: 20px;
	}

	.jt-guia-fiscal .jt-guia-mercantil__columna {
		gap: 10px;
	}
}

body.page-template-page-extranjeria main#contenido > * {
	margin-block-start: 0;
}

@media (min-width: 62rem) {

	body.page-template-page-extranjeria .jt-contacto-home {
		height: 742px;
		min-height: 742px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__contenido,
	body.page-template-page-extranjeria .jt-contacto-home__formulario,
	body.page-template-page-extranjeria .jt-contacto-home__opciones {
		height: 526px;
		min-height: 0;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-extranjeria .jt-contacto-home {
		height: 992px;
		min-height: 992px;
		padding: 42px 48px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__cabecera {
		height: 94px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__contenido {
		gap: 20px;
		grid-template-rows: 346px 388px;
		height: 754px;
		margin-top: 18px;
		min-height: 0;
	}

	body.page-template-page-extranjeria .jt-contacto-home__opciones {
		gap: 10px;
		grid-template-rows: repeat(3, 1fr);
	}

	body.page-template-page-extranjeria .jt-via-home {
		background: #07142f;
		border-color: rgba(255, 255, 255, 0.72);
		min-height: 0;
		padding: 12px 16px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario {
		height: 388px;
		min-height: 0;
		padding: 20px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario h3 {
		font-size: 32px;
		line-height: 36px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario > p {
		font-size: 14px;
		line-height: 20px;
	}

	body.page-template-page-extranjeria .jt-contacto-home .wpforms-container {
		margin-top: 10px;
	}

	body.page-template-page-extranjeria .jt-valoraciones-extranjeria {
		display: grid;
		grid-template-columns: 230px minmax(0, 1fr);
		height: 439px;
		min-height: 439px;
		padding: 48px 40px;
	}

	body.page-template-page-extranjeria
	.jt-valoraciones-extranjeria
	.jt-valoraciones-home__carrusel {
		display: flex;
		gap: 14px;
		margin: 0 0 0 24px;
	}

	body.page-template-page-extranjeria
	.jt-valoraciones-extranjeria
	:where(.jt-resena-real, .jt-resena-vacia) {
		flex: 0 0 calc(50% - 7px);
		min-height: 300px;
	}

	body.page-template-page-extranjeria .jt-blog-home {
		height: auto;
		min-height: 785px;
		overflow: visible;
		padding: 48px 40px;
	}

	body.page-template-page-extranjeria .jt-blog-home__entradas {
		height: 285px;
		margin-top: 18px;
	}

	body.page-template-page-extranjeria .jt-blog-home__vacio,
	body.page-template-page-extranjeria .jt-blog-home__vacio article {
		height: 285px;
		min-height: 285px;
	}

	body.page-template-page-extranjeria .jt-pie {
		height: 1037px;
		overflow: hidden;
	}

	body.page-template-page-extranjeria .jt-pie__tarjetas {
		grid-template-rows: 157px 133px 120px;
		height: 410px;
	}

	body.page-template-page-extranjeria .jt-pie__tarjeta {
		height: 100%;
		min-height: 0;
	}

	body.page-template-page-extranjeria .jt-pie__columnas {
		gap: 24px 36px;
	}

	body.page-template-page-extranjeria .jt-pie__columnas li {
		line-height: 22px;
	}

	body.page-template-page-extranjeria .jt-pie__legal {
		margin-top: 28px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-extranjeria .jt-contacto-home {
		height: 1266px;
		min-height: 1266px;
		padding: 38px 22px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__cabecera {
		height: 92px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__cabecera h2 {
		font-size: 36px;
		line-height: 41px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__contenido {
		gap: 18px;
		grid-template-rows: 442px 592px;
		height: 1052px;
		margin-top: 18px;
		min-height: 0;
	}

	body.page-template-page-extranjeria .jt-contacto-home__opciones {
		gap: 10px;
		grid-template-rows: repeat(3, 1fr);
	}

	body.page-template-page-extranjeria .jt-via-home {
		background: #07142f;
		border-color: rgba(255, 255, 255, 0.72);
		gap: 12px;
		grid-template-columns: 48px 1fr;
		min-height: 0;
		padding: 12px;
	}

	body.page-template-page-extranjeria .jt-via-home__icono {
		height: 48px;
		width: 48px;
	}

	body.page-template-page-extranjeria .jt-via-home strong {
		font-size: 20px;
		line-height: 24px;
	}

	body.page-template-page-extranjeria .jt-via-home small {
		font-size: 14px;
		line-height: 19px;
		margin-top: 4px;
	}

	body.page-template-page-extranjeria .jt-via-home em,
	body.page-template-page-extranjeria .jt-via-home em a {
		font-size: 12px;
		line-height: 16px;
		margin-top: 4px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario {
		height: 592px;
		min-height: 0;
		padding: 18px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario h3 {
		font-size: 30px;
		line-height: 35px;
	}

	body.page-template-page-extranjeria .jt-contacto-home__formulario > p {
		font-size: 14px;
		line-height: 20px;
	}

	body.page-template-page-extranjeria .jt-contacto-home .wpforms-container {
		margin-top: 10px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-container {
		gap: 5px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-label {
		font-size: 13px;
		line-height: 16px;
		margin-bottom: 3px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-container
	:where(input[type="text"], input[type="email"], input[type="tel"]) {
		height: 42px;
		min-height: 42px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-container
	textarea {
		height: 84px;
		min-height: 84px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-container
	.wpforms-field-checkbox
	label {
		font-size: 12px;
		line-height: 17px;
	}

	body.page-template-page-extranjeria
	.jt-contacto-home
	.wpforms-submit-container {
		margin-top: 8px;
	}

	body.page-template-page-extranjeria .jt-valoraciones-extranjeria {
		display: grid;
		height: auto;
		min-height: 504px;
		overflow: visible;
		padding: 36px 24px 24px;
	}

	body.page-template-page-extranjeria .jt-valoraciones-extranjeria h2 {
		font-size: 34px;
		line-height: 38px;
	}

	body.page-template-page-extranjeria
	.jt-valoraciones-extranjeria
	.jt-valoraciones-home__carrusel {
		display: flex;
		gap: 16px;
		height: 220px;
		margin-top: 18px;
		min-height: 220px;
		overflow-x: auto;
		overflow-y: visible;
	}

	body.page-template-page-extranjeria
	.jt-valoraciones-extranjeria
	:where(.jt-resena-real, .jt-resena-vacia) {
		flex: 0 0 100%;
		min-height: 220px;
	}

	body.page-template-page-extranjeria .jt-blog-home {
		height: auto;
		min-height: 690px;
		overflow: visible;
		padding: 36px 24px;
	}

	body.page-template-page-extranjeria .jt-blog-home__intro .jt-boton {
		height: 44px;
		margin-top: 16px;
	}

	body.page-template-page-extranjeria .jt-blog-home__entradas {
		height: 250px;
		margin-top: 18px;
	}

	body.page-template-page-extranjeria .jt-blog-home__vacio,
	body.page-template-page-extranjeria .jt-blog-home__vacio article {
		height: 250px;
		min-height: 250px;
	}

	body.page-template-page-extranjeria .jt-blog-home > .jt-carrusel-movil__controles {
		height: 18px;
		margin-top: 10px;
	}

	body.page-template-page-extranjeria
	.jt-blog-home > .jt-carrusel-movil__controles button {
		height: 18px;
		min-height: 18px;
	}

	body.page-template-page-extranjeria .jt-pie {
		height: 1454px;
		overflow: visible;
		padding: 0 24px 46px;
	}

	body.page-template-page-extranjeria .jt-pie__tarjetas {
		background: #fff;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		gap: 12px;
		height: 432px;
		left: auto;
		margin: 0 -24px;
		padding: 0 24px 48px;
		position: relative;
		top: auto;
		transform: none;
		width: calc(100% + 48px);
	}

	body.page-template-page-extranjeria .jt-pie__tarjeta {
		border-radius: 8px;
		box-shadow: none;
		gap: 14px;
		height: 116px;
		min-height: 116px;
		padding: 16px;
	}

	body.page-template-page-extranjeria .jt-pie__tarjeta:first-child {
		height: 128px;
		min-height: 128px;
	}

	body.page-template-page-extranjeria
	.jt-pie__tarjeta
	:where(p, address) {
		font-size: 14px;
		line-height: 20px;
		margin-top: 4px;
	}

	body.page-template-page-extranjeria .jt-pie__columnas {
		font-size: 14px;
		gap: 28px;
		padding-top: 46px;
	}

	body.page-template-page-extranjeria .jt-pie__columnas ul {
		margin-top: 8px;
	}

	body.page-template-page-extranjeria .jt-pie__columnas li {
		line-height: 22px;
	}

	body.page-template-page-extranjeria .jt-pie__legal {
		margin-top: 28px;
		padding-top: 24px;
	}
}

/* -------------------------------------------------------------------------
 * Accidentes de tráfico — composición validada en Figma
 * Escritorio 430:3 · tablet 430:683 · móvil 430:1237
 * ---------------------------------------------------------------------- */
body.page-template-page-divorcio .jt-divorcio-hero.jt-trafico-hero {
	background-color: #0c1d4d;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.59), rgba(12, 29, 77, 0.59)),
		url(./assets/imagenes/accidentes-trafico/hero-accidente-coche.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.jt-trafico-materias .jt-antetitulo,
.jt-trafico-materias .jt-divorcio-materia small,
.jt-trafico-confianza .jt-antetitulo,
.jt-trafico-proceso .jt-antetitulo,
.jt-trafico-proceso .jt-divorcio-paso small,
.jt-trafico-claves .jt-antetitulo,
.jt-trafico-claves .jt-divorcio-paso small,
.jt-trafico-faq .jt-antetitulo {
	color: #85552f;
}

.jt-trafico-escenarios .jt-antetitulo {
	color: #d9a474;
}

@media (min-width: 62rem) {

	body.page-template-page-divorcio .jt-trafico-hero {
		height: 760px;
		min-height: 760px;
	}

	body.page-template-page-divorcio .jt-trafico-materias {
		height: 750px;
		min-height: 750px;
	}

	body.page-template-page-divorcio .jt-trafico-confianza {
		height: 560px;
		min-height: 560px;
	}

	body.page-template-page-divorcio .jt-trafico-proceso {
		height: 555px;
		min-height: 555px;
	}

	body.page-template-page-divorcio .jt-trafico-escenarios {
		height: 690px;
		min-height: 690px;
	}

	body.page-template-page-divorcio .jt-trafico-claves {
		height: 544px;
		min-height: 544px;
	}

	body.page-template-page-divorcio .jt-trafico-cta {
		height: 150px;
		min-height: 150px;
	}

	body.page-template-page-divorcio .jt-trafico-faq {
		height: 1060px;
		min-height: 1060px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-trafico-hero {
		background-position: center top;
		background-size: auto 500px;
		height: 1040px;
		min-height: 1040px;
	}

	body.page-template-page-divorcio .jt-trafico-materias {
		height: 1297px;
		min-height: 1297px;
	}

	body.page-template-page-divorcio .jt-trafico-confianza {
		height: 909px;
		min-height: 909px;
	}

	.jt-trafico-confianza .jt-divorcio-confianza__contenido {
		height: 469px;
		min-height: 469px;
	}

	body.page-template-page-divorcio .jt-trafico-proceso {
		height: 830px;
		min-height: 830px;
	}

	body.page-template-page-divorcio .jt-trafico-escenarios {
		height: 810px;
		min-height: 810px;
	}

	body.page-template-page-divorcio .jt-trafico-claves {
		height: 798px;
		min-height: 798px;
	}

	body.page-template-page-divorcio .jt-trafico-cta {
		height: 228px;
		min-height: 228px;
	}

	body.page-template-page-divorcio .jt-trafico-faq {
		height: 942px;
		min-height: 942px;
	}
}

@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-divorcio-hero.jt-trafico-hero {
		background-position: center top;
		background-size:
			100% 500px,
			auto 500px;
		height: 1235px;
		min-height: 1235px;
	}

	body.page-template-page-divorcio .jt-trafico-hero .jt-divorcio-hero__contenido {
		height: 505px;
	}

	body.page-template-page-divorcio .jt-trafico-hero .jt-formulario-hero {
		top: 557px;
	}

	body.page-template-page-divorcio .jt-trafico-materias {
		height: 500px;
		min-height: 500px;
	}

	body.page-template-page-divorcio .jt-trafico-confianza {
		height: 830px;
		min-height: 830px;
	}

	.jt-trafico-confianza .jt-divorcio-confianza__contenido {
		height: 545px;
		min-height: 545px;
	}

	body.page-template-page-divorcio .jt-trafico-proceso {
		height: 564px;
		min-height: 564px;
	}

	body.page-template-page-divorcio .jt-trafico-escenarios {
		height: 753px;
		min-height: 753px;
	}

	body.page-template-page-divorcio .jt-trafico-claves {
		height: 558px;
		min-height: 558px;
	}

	body.page-template-page-divorcio .jt-trafico-cta {
		height: 266px;
		min-height: 266px;
	}

	body.page-template-page-divorcio .jt-trafico-faq {
		height: 1294px;
		min-height: 1294px;
	}

	body.page-template-page-divorcio
	.jt-trafico-faq:has(.jt-divorcio-faq__pregunta[open]),
	body.page-template-page-divorcio
	.jt-trafico-faq:has(.jt-divorcio-faq__grupo:nth-child(n + 2)[open]) {
		height: auto;
		overflow: visible;
	}
}

/* -------------------------------------------------------------------------
 * BLOG · listado principal de Figma
 * Escritorio 499:29 · tablet 499:254 · móvil 499:467
 * ---------------------------------------------------------------------- */

.jt-blog-listado-page {
	margin: 0;
}

.jt-blog-hero {
	align-items: center;
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.62), rgba(12, 29, 77, 0.62)),
		url(./assets/imagenes/blog/hero-blog.webp);
	background-position: center 45%;
	background-size: cover;
	box-sizing: border-box;
	display: flex;
	height: 300px;
	justify-content: center;
	margin: 0;
}

.jt-blog-hero h1 {
	color: #fff;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 56px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 62px;
	margin: 0;
}

.jt-blog-listado {
	background: #faf7f1;
	box-sizing: border-box;
	color: #0c1d4d;
	margin: 0;
	min-height: 1301px;
	padding: 64px 96px 76px;
}

.jt-blog-listado__interior {
	margin: 0 auto;
	max-width: 1248px;
}

.jt-blog-listado__cabecera {
	margin: 0;
}

.jt-blog-listado__eyebrow,
.jt-blog-listado__filtro label,
.jt-blog-tarjeta__meta,
.jt-blog-tarjeta__contenido > a {
	color: #8a5a32;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.055em;
	line-height: 18px;
	text-transform: uppercase;
}

.jt-blog-listado__eyebrow {
	margin: 0 0 28px;
}

.jt-blog-listado__cabecera h2 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 44px;
	font-weight: 600;
	line-height: 50px;
	margin: 0;
}

.jt-blog-listado__cabecera > p:last-child {
	color: #52607a;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 20px;
	font-weight: 400;
	line-height: 28px;
	margin: 25px 0 0;
}

.jt-blog-listado__filtro {
	margin-top: 32px;
	width: 360px;
}

.jt-blog-listado__filtro label {
	display: block;
	margin-bottom: 8px;
}

.jt-blog-listado__select {
	position: relative;
}

.jt-blog-listado__select::after {
	color: #0c1d4d;
	content: "⌄";
	font-family: Arial, sans-serif;
	font-size: 20px;
	pointer-events: none;
	position: absolute;
	right: 18px;
	top: 16px;
}

.jt-blog-listado__select select {
	appearance: none;
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 4px;
	box-sizing: border-box;
	color: #0c1d4d;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 16px;
	height: 58px;
	line-height: 24px;
	padding: 0 48px 0 18px;
	width: 100%;
}

.jt-blog-listado__rejilla {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 36px;
}

.jt-blog-tarjeta {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 12px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 398px;
	overflow: hidden;
	position: relative;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.jt-blog-tarjeta:hover {
	box-shadow: 0 12px 30px rgba(12, 29, 77, 0.12);
	transform: translateY(-2px);
}

.jt-blog-tarjeta:focus-within {
	outline: 3px solid #ac7549;
	outline-offset: 3px;
}

.jt-blog-tarjeta[hidden] {
	display: none;
}

.jt-blog-tarjeta > img {
	display: block;
	height: 170px;
	object-fit: cover;
	width: 100%;
}

.jt-blog-tarjeta__contenido {
	box-sizing: border-box;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px 18px 20px;
}

.jt-blog-tarjeta__meta {
	display: flex;
	justify-content: space-between;
}

.jt-blog-tarjeta__meta time {
	color: #52607a;
	white-space: nowrap;
}

.jt-blog-tarjeta h3 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 25px;
	font-weight: 600;
	line-height: 31px;
	margin: 10px 0 0;
}

.jt-blog-tarjeta p {
	color: #52607a;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 16px;
	line-height: 23px;
	margin: 10px 0 0;
}

.jt-blog-tarjeta__contenido > a {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 14px;
	text-decoration: none;
}

.jt-blog-tarjeta__contenido > a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.jt-blog-tarjeta__contenido > a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/*
 * Evita que las tarjetas elevadas del pie oculten el final de las páginas
 * legales.
 */
body.page-template-page-legal .jt-articulo__contenido {
	padding-bottom: clamp(8rem, 12vw, 11rem);
}

.jt-blog-listado__sin-resultados {
	font-family: var(--wp--preset--font-family--texto);
	font-size: 18px;
	margin: 36px 0 0;
}

@media (min-width: 62rem) {

	.jt-blog-hero {
		background-position: center 88%;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-blog-hero {
		height: 260px;
	}

	.jt-blog-listado {
		min-height: 1825px;
		padding: 64px 48px 76px;
	}

	.jt-blog-listado__filtro {
		width: 320px;
	}

	.jt-blog-listado__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 40rem) {

	.jt-blog-hero {
		background-position: 48% center;
		height: 220px;
	}

	.jt-blog-hero h1 {
		font-size: 44px;
		line-height: 50px;
	}

	.jt-blog-listado {
		min-height: 3006px;
		padding: 44px 24px 56px;
	}

	.jt-blog-listado__eyebrow {
		margin-bottom: 24px;
	}

	.jt-blog-listado__cabecera h2 {
		font-size: 34px;
		line-height: 39px;
	}

	.jt-blog-listado__cabecera > p:last-child {
		font-size: 18px;
		line-height: 28px;
		margin-top: 20px;
	}

	.jt-blog-listado__filtro {
		margin-top: 28px;
		width: 100%;
	}

	.jt-blog-listado__select select {
		height: 54px;
	}

	.jt-blog-listado__select::after {
		top: 14px;
	}

	.jt-blog-listado__rejilla {
		gap: 20px;
		grid-template-columns: 1fr;
		margin-top: 28px;
	}

	.jt-blog-tarjeta {
		min-height: 0;
	}

	.jt-blog-tarjeta > img {
		height: 176px;
	}

	.jt-blog-tarjeta h3 {
		font-size: 24px;
		line-height: 29px;
	}

	.jt-blog-tarjeta__contenido {
		min-height: 236px;
	}
}

/* -------------------------------------------------------------------------
 * BLOG · artículo de muestra
 * Escritorio 499:663 · tablet 499:818 · móvil 499:972
 * ---------------------------------------------------------------------- */

.jt-blog-articulo-page {
	margin: 0;
}

.jt-blog-articulo__hero p {
	color: #fff;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 56px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 62px;
	margin: 0;
}

.jt-blog-articulo {
	background: #fff;
	box-sizing: border-box;
	color: #1b2437;
	padding: 72px 96px 84px;
}

.jt-blog-articulo__rejilla {
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 820px) minmax(0, 396px);
	margin: 0 auto;
	max-width: 1248px;
}

.jt-blog-articulo__principal {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.jt-blog-articulo__imagen {
	display: block;
	height: 460px;
	object-fit: cover;
	width: 100%;
}

.jt-blog-articulo__meta {
	color: #8a5a32 !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 18px !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.jt-blog-articulo__principal h1 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 48px;
	font-style: normal;
	font-weight: 600;
	line-height: 53px;
	margin: 0;
}

.jt-blog-articulo__principal .jt-blog-articulo__entradilla {
	color: #525f75;
	font-size: 22px;
	font-weight: 500;
	line-height: 32px;
}

.jt-blog-articulo__principal hr {
	background: #dcd6c9;
	border: 0;
	height: 1px;
	margin: 0;
	width: 100%;
}

.jt-blog-articulo__principal p {
	color: #1b2437;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 19px;
	line-height: 29px;
	margin: 0;
}

.jt-blog-articulo__principal h2 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 32px;
	font-weight: 600;
	line-height: 38px;
	margin: 0;
}

.jt-blog-articulo__destacado {
	background: #f3ecdf;
	border: 1px solid #a06d46;
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 19px;
	font-weight: 500;
	line-height: 29px;
	padding: 22px;
}

.jt-blog-articulo__lateral {
	border-left: 1px solid #dcd6c9;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 30px;
	min-width: 0;
	padding-left: 32px;
}

.jt-blog-articulo__formulario {
	background: #07142f;
	box-sizing: border-box;
	color: #f3ecdf;
	padding: 24px;
}

.jt-blog-articulo__formulario-eyebrow {
	color: #e2c59f !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 18px !important;
	margin: 0 !important;
}

.jt-blog-articulo__formulario h2 {
	color: #fff;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 30px;
	font-weight: 600;
	line-height: 34px;
	margin: 14px 0 0;
}

.jt-blog-articulo__formulario > p:not(.jt-blog-articulo__formulario-eyebrow) {
	color: #f3ecdf;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 16px;
	line-height: 22px;
	margin: 8px 0 0;
}

.jt-blog-articulo__formulario .wpforms-container {
	margin: 14px 0 0;
}

.jt-blog-articulo__formulario .wpforms-field-container {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.jt-blog-articulo__formulario .wpforms-field {
	padding: 0;
}

.jt-blog-articulo__formulario
.wpforms-field:not(.wpforms-field-gdpr-checkbox)
.wpforms-field-label {
	clip-path: none;
	color: #f3ecdf;
	display: block;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 13px;
	font-weight: 600;
	height: auto;
	line-height: 18px;
	margin: 0 0 5px;
	overflow: visible;
	position: static;
	white-space: normal;
	width: auto;
}

.jt-blog-articulo__formulario div.wpforms-container-full input[type="email"],
.jt-blog-articulo__formulario div.wpforms-container-full input[type="text"],
.jt-blog-articulo__formulario div.wpforms-container-full textarea {
	background: #fff;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: #1b2437;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 15px;
	line-height: 20px;
	padding: 12px 14px;
	width: 100%;
}

.jt-blog-articulo__formulario div.wpforms-container-full input[type="email"],
.jt-blog-articulo__formulario div.wpforms-container-full input[type="text"] {
	height: 48px;
}

.jt-blog-articulo__formulario div.wpforms-container-full textarea {
	height: 84px;
	min-height: 84px;
}

.jt-blog-articulo__formulario div.wpforms-container-full .wpforms-field-gdpr-checkbox,
.jt-blog-articulo__formulario div.wpforms-container-full .wpforms-field-gdpr-checkbox label,
.jt-blog-articulo__formulario div.wpforms-container-full .wpforms-field-gdpr-checkbox .wpforms-field-label-inline {
	color: #f3ecdf;
	font-family: var(--wp--preset--font-family--texto);
	font-size: 13px;
	line-height: 18px;
}

.jt-blog-articulo__formulario div.wpforms-container-full .wpforms-field-gdpr-checkbox a {
	color: #fff;
}

.jt-blog-articulo__formulario .wpforms-field-gdpr-checkbox label.wpforms-error,
.jt-blog-articulo__formulario .wpforms-field-gdpr-checkbox em.wpforms-error {
	display: none !important;
}

.jt-blog-articulo__formulario .wpforms-submit-container {
	margin: 14px 0 0;
	padding: 0;
}

.jt-blog-articulo__formulario div.wpforms-container-full form.wpforms-form button[type="submit"],
.jt-blog-articulo__formulario div.wpforms-container-full form.wpforms-form button[type="submit"]:not(:hover):not(:active),
.jt-blog-articulo__formulario div.wpforms-container-full form.wpforms-form button[type="submit"]:hover,
.jt-blog-articulo__formulario div.wpforms-container-full form.wpforms-form button[type="submit"]:active {
	background: #85552f;
	border: 0;
	border-radius: 0;
	color: #fff;
	font-size: 15px;
	height: 48px;
	min-height: 48px;
	width: 100%;
}

.jt-blog-articulo__recientes {
	background: #faf7f1;
	box-sizing: border-box;
	padding: 24px;
}

.jt-blog-articulo__recientes h2 {
	color: #0c1d4d;
	font-family: var(--wp--preset--font-family--titulares);
	font-size: 22px;
	font-weight: 600;
	line-height: 27px;
	margin: 0 0 16px;
}

.jt-blog-articulo__recientes a {
	border-bottom: 1px solid #dcd6c9;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 0 0 16px;
	text-decoration: none;
}

.jt-blog-articulo__recientes a + a {
	padding-top: 16px;
}

.jt-blog-articulo__recientes a:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.jt-blog-articulo__recientes span {
	color: #8a5a32;
	font-size: 11px;
	font-weight: 600;
	line-height: 15px;
}

.jt-blog-articulo__recientes strong {
	color: #0c1d4d;
	font-size: 19px;
	font-weight: 500;
	line-height: 23px;
}

.jt-blog-articulo__recientes time {
	color: #525f75;
	font-size: 12px;
	line-height: 16px;
}

@media (min-width: 62rem) {

	.jt-blog-articulo__hero {
		background-position: center 77%;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-blog-articulo__hero {
		background-position: center 80%;
	}

	.jt-blog-articulo {
		padding: 72px 48px 84px;
	}

	.jt-blog-articulo__rejilla {
		display: block;
		max-width: 738px;
	}

	.jt-blog-articulo__imagen {
		height: 410px;
	}

	.jt-blog-articulo__principal h1 {
		font-size: 46px;
		line-height: 51px;
	}

	.jt-blog-articulo__lateral {
		border-left: 0;
		border-top: 1px solid #dcd6c9;
		margin-top: 20px;
		padding: 20px 0 0;
	}
}

@media (max-width: 40rem) {

	.jt-blog-articulo__hero p {
		font-size: 44px;
		line-height: 50px;
	}

	.jt-blog-articulo__hero {
		background-position: center 48%;
	}

	.jt-blog-articulo {
		padding: 44px 24px 64px;
	}

	.jt-blog-articulo__rejilla {
		display: block;
		max-width: 342px;
	}

	.jt-blog-articulo__principal {
		gap: 18px;
	}

	.jt-blog-articulo__imagen {
		height: 220px;
	}

	.jt-blog-articulo__meta {
		font-size: 11px !important;
		line-height: 16px !important;
	}

	.jt-blog-articulo__principal h1 {
		font-size: 32px;
		line-height: 36px;
	}

	.jt-blog-articulo__principal .jt-blog-articulo__entradilla {
		font-size: 18px;
		line-height: 26px;
	}

	.jt-blog-articulo__principal p,
	.jt-blog-articulo__destacado {
		font-size: 17px;
		line-height: 27px;
	}

	.jt-blog-articulo__principal h2 {
		font-size: 25px;
		line-height: 31px;
	}

	.jt-blog-articulo__destacado {
		padding: 18px;
	}

	.jt-blog-articulo__lateral {
		border-left: 0;
		border-top: 1px solid #dcd6c9;
		margin-top: 20px;
		padding: 20px 0 0;
	}

	.jt-blog-articulo__formulario,
	.jt-blog-articulo__recientes {
		padding: 20px;
	}
}

/* Contacto: navegación y composición responsive específicas del lienzo Figma.
 * En esta página los carruseles conservan sus controles en los tres marcos. */
.jt-pagina-contacto .jt-valoraciones-contacto,
.jt-pagina-contacto .jt-blog-home {
	position: relative;
}

@media (min-width: 62rem) {

	.jt-pagina-contacto .jt-valoraciones-contacto > .jt-carrusel-movil__controles,
	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		align-items: center;
		display: flex;
		gap: 8px;
		justify-content: center;
		position: absolute;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto > .jt-carrusel-movil__controles {
		bottom: 23px;
		left: 55.2%;
		width: 170px;
	}

	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		bottom: 42px;
		right: 72px;
		width: 96px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles button {
		align-items: center;
		background: transparent;
		border: 0;
		color: currentcolor;
		cursor: pointer;
		display: inline-flex;
		font: inherit;
		height: 32px;
		justify-content: center;
		padding: 0;
		width: 32px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles [data-jt-carrusel-puntos] {
		align-items: center;
		display: flex;
		gap: 7px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles i {
		background: #a9b1c0;
		border-radius: 6px;
		display: block;
		height: 7px;
		width: 7px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles i.es-activo {
		background: #0c1d4d;
		width: 18px;
	}

	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		color: #fff;
	}

	.jt-pagina-contacto .jt-blog-home .jt-carrusel-movil__controles i {
		background: rgba(255, 255, 255, 0.55);
	}

	.jt-pagina-contacto .jt-blog-home .jt-carrusel-movil__controles i.es-activo {
		background: #fff;
	}
}

/* Carrusel de reseñas de Google Maps: tres tarjetas en escritorio, dos en
 * tablet y una en móvil. La tarjeta más larga fija la altura de cada página. */
body .jt-valoraciones-home.jt-resenas-google {
	background: linear-gradient(135deg, #fff 0%, #faf8f4 100%);
	height: auto !important;
	min-height: 0;
	padding-block: 54px 42px;
	position: relative;
}

body .jt-valoraciones-home.jt-resenas-google .jt-valoraciones-home__intro {
	align-self: start;
	padding-top: 20px;
}

.jt-resenas-google__criterio {
	color: #677187;
	font-family: var(--jt-fuente-lectura);
	font-size: 13px;
	line-height: 19px;
	margin: 16px 28px 0 0;
}

body .jt-valoraciones-home.jt-resenas-google .jt-valoraciones-home__carrusel {
	--jt-carrusel-visible: 3;
	align-items: stretch;
	display: flex;
	gap: 20px;
	margin-left: 32px;
	overflow-x: auto !important;
	overflow-y: visible;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

body .jt-valoraciones-home.jt-resenas-google
.jt-valoraciones-home__carrusel::-webkit-scrollbar {
	display: none;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid #e2ddd3;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(12, 29, 77, 0.08);
	flex: 0 0 calc((100% - 40px) / 3);
	height: auto !important;
	min-height: 320px;
	overflow: visible !important;
	padding: 24px;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real header {
	gap: 0 14px;
	grid-template-columns: 52px minmax(0, 1fr) auto;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real__avatar {
	background: linear-gradient(145deg, #f4efe7, #e8dfd1);
	border: 1px solid #ded4c4;
	box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.65);
	height: 52px;
	width: 52px;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real strong {
	font-size: 17px;
	line-height: 21px;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real p {
	color: #4c586d;
	font-size: 14px;
	line-height: 22px;
	margin-top: 18px;
}

body .jt-valoraciones-home.jt-resenas-google .jt-resena-real__fuente {
	background: #f2f4f8;
	border-radius: 999px;
	color: #0c1d4d;
	padding: 8px 12px;
	text-decoration: none;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles {
	align-items: center;
	display: flex;
	gap: 10px;
	grid-column: 2;
	justify-content: center;
	margin: 20px 0 0 32px;
	width: auto;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles button {
	align-items: center;
	background: #fff;
	border: 1px solid #d5cec2;
	border-radius: 50%;
	color: #0c1d4d;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	height: 38px;
	justify-content: center;
	padding: 0;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease;
	width: 38px;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles button:hover,
body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles button:focus-visible {
	background: #0c1d4d;
	border-color: #0c1d4d;
	color: #fff;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles button:disabled {
	cursor: default;
	opacity: 0.38;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles [data-jt-carrusel-puntos] {
	align-items: center;
	display: flex;
	gap: 7px;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles i {
	background: #a9b1c0;
	border-radius: 6px;
	display: block;
	height: 7px;
	transition: width 180ms ease, background-color 180ms ease;
	width: 7px;
}

body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles i.es-activo {
	background: #0c1d4d;
	width: 20px;
}

@media (min-width: 48rem) and (max-width: 61.99rem) {

	body .jt-valoraciones-home.jt-resenas-google
	.jt-valoraciones-home__carrusel {
		--jt-carrusel-visible: 2;
		margin-left: 0;
	}

	body .jt-valoraciones-home.jt-resenas-google .jt-resena-real {
		flex-basis: calc((100% - 20px) / 2);
	}

	body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles {
		grid-column: 1 / -1;
		margin-left: 0;
	}
}

@media (max-width: 47.99rem) {

	body .jt-valoraciones-home.jt-resenas-google {
		padding-block: 44px 36px;
	}

	body .jt-valoraciones-home.jt-resenas-google .jt-valoraciones-home__intro {
		padding-top: 0;
	}

	body .jt-valoraciones-home.jt-resenas-google
	.jt-valoraciones-home__carrusel {
		--jt-carrusel-visible: 1;
		margin-left: 0;
		overflow-y: hidden;
	}

	body .jt-valoraciones-home.jt-resenas-google .jt-resena-real {
		flex-basis: 100%;
		min-height: 0;
		padding: 20px;
	}

	body .jt-valoraciones-home.jt-resenas-google > .jt-carrusel-movil__controles {
		grid-column: 1 / -1;
		margin-left: 0;
	}
}

/* Las reseñas verificadas se muestran completas en todas las plantillas. */
body .jt-valoraciones-home.jt-resenas-google .jt-resena-real {
	height: auto;
	min-height: 280px;
	overflow: visible;
}

@media (max-width: 40rem) {

	body .jt-valoraciones-home.jt-resenas-google .jt-valoraciones-home__carrusel {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	body .jt-valoraciones-home.jt-resenas-google .jt-resena-real {
		flex: 0 0 100%;
		min-height: 0;
		scroll-snap-align: start;
	}
}

/*
 * Salvaguarda de accesibilidad para las tarjetas de artículos en las páginas
 * de servicio. El contenido traducido o un título largo no debe salir de la
 * tarjeta y terminar sobre el fondo azul del bloque.
 */
@media (max-width: 40rem) {

	body.page-template-page-divorcio .jt-blog-home__tarjeta,
	body.page-template-page-divorcio .jt-blog-home__vacio article {
		height: auto !important;
		min-height: 330px !important;
	}
}

/* Contacto móvil: el contenido real manda sobre las cotas de maqueta. De este
 * modo el formulario, las reseñas y los artículos nunca quedan recortados si
 * cambian el navegador, el texto o el tamaño de fuente del visitante. */
@media (max-width: 40rem) {

	.jt-pagina-contacto .jt-contacto-home,
	.jt-pagina-contacto .jt-proceso-home,
	.jt-pagina-contacto .jt-valoraciones-contacto,
	.jt-pagina-contacto .jt-blog-home {
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	.jt-pagina-contacto .jt-contacto-home {
		padding-bottom: 44px;
	}

	.jt-pagina-contacto .jt-contacto-home__formulario {
		height: auto;
		min-height: 0;
	}

	.jt-pagina-contacto .jt-proceso-home {
		padding-bottom: 24px;
	}

	.jt-pagina-contacto .jt-proceso-home > .jt-carrusel-movil__controles {
		display: flex;
		margin-top: 8px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto {
		padding-bottom: 28px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__carrusel {
		overflow-y: visible;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-resena-real {
		height: auto;
		min-height: 250px;
	}

	.jt-pagina-contacto .jt-blog-home {
		padding-bottom: 28px;
	}

	.jt-pagina-contacto .jt-blog-home__tarjeta,
	.jt-pagina-contacto .jt-blog-home__vacio article {
		height: auto;
		min-height: 330px;
		overflow: visible;
	}
}

/* -------------------------------------------------------------------------
 * Índice de Servicios Jurídicos
 * Composición derivada del sistema aprobado para HOME y landings.
 * ---------------------------------------------------------------------- */
.jt-servicios-indice-hero {
	background-image:
		linear-gradient(rgba(12, 29, 77, 0.7), rgba(12, 29, 77, 0.82)),
		var(--jt-servicios-indice-hero);
	background-position: center 54%;
	background-size: cover;
	box-sizing: border-box;
	color: #fff;
	height: 520px;
	position: relative;
}

.jt-servicios-indice-hero__interior {
	box-sizing: border-box;
	height: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding: 34px 96px 28px;
	position: relative;
}

.jt-servicios-indice-hero .rank-math-breadcrumb,
.jt-servicios-indice-hero .rank-math-breadcrumb a,
.jt-servicios-indice-hero .rank-math-breadcrumb span {
	color: rgba(255, 255, 255, 0.82);
}

.jt-servicios-indice-hero .jt-antetitulo {
	color: #fff;
	font-size: 17px;
	letter-spacing: 1.7px;
	line-height: 22px;
	margin: 36px 0 0;
}

.jt-servicios-indice-hero h1 {
	color: #fff;
	font-size: 64px;
	font-style: italic;
	font-weight: 500;
	line-height: 68px;
	margin: 13px 0 0;
	max-width: 780px;
}

.jt-servicios-indice-hero__texto {
	font-family: var(--jt-fuente-lectura);
	font-size: 21px;
	line-height: 30px;
	margin: 15px 0 0;
	max-width: 760px;
}

.jt-servicios-indice-hero__acciones {
	display: flex;
	gap: 16px;
	margin-top: 24px;
}

.jt-servicios-indice-hero__acciones .jt-boton {
	min-width: 220px;
}

.jt-servicios-indice-hero__confianza {
	bottom: 20px;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	left: 96px;
	position: absolute;
	right: 96px;
}

.jt-servicios-indice-hero__confianza span {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 3px;
	box-sizing: border-box;
	display: flex;
	font-size: 13px;
	font-weight: 600;
	height: 42px;
	justify-content: center;
	letter-spacing: 0.5px;
	text-align: center;
}

.jt-servicios-indice {
	background: #faf7f1;
	box-sizing: border-box;
	padding: 68px 80px 76px;
}

.jt-servicios-indice__cabecera {
	margin: 0 auto;
	max-width: 900px;
	text-align: center;
}

.jt-servicios-indice__cabecera h2 {
	color: #0c1d4d;
	font-size: 46px;
	font-weight: 500;
	line-height: 52px;
	margin: 12px 0 0;
}

.jt-servicios-indice__cabecera > p:last-child {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 18px;
	line-height: 28px;
	margin: 13px auto 0;
	max-width: 760px;
}

.jt-servicios-indice__rejilla {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 38px auto 0;
	max-width: 1280px;
}

.jt-servicios-indice__tarjeta {
	background: #fff;
	border: 1px solid #dcd6c9;
	border-radius: 8px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 520px;
	overflow: hidden;
}

.jt-servicios-indice__imagen {
	background: #0c1d4d;
	display: block;
	height: 170px;
	overflow: hidden;
	position: relative;
}

.jt-servicios-indice__imagen::after {
	background: rgba(12, 29, 77, 0.38);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.jt-servicios-indice__imagen img {
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.jt-servicios-indice__tarjeta:hover .jt-servicios-indice__imagen img {
	transform: scale(1.025);
}

.jt-servicios-indice__contenido {
	box-sizing: border-box;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 26px 26px;
}

.jt-servicios-indice__tipo {
	color: #8a5a32 !important;
	font-family: var(--wp--preset--font-family--titulares) !important;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 1.2px;
	line-height: 17px !important;
	margin: 0 !important;
}

.jt-servicios-indice__contenido h3 {
	font-size: 27px;
	font-weight: 500;
	line-height: 32px;
	margin: 8px 0 0;
	text-transform: none;
}

.jt-servicios-indice__contenido h3 a {
	color: #0c1d4d;
	text-decoration: none;
}

.jt-servicios-indice__contenido > p:not(.jt-servicios-indice__tipo) {
	color: #525f75;
	font-family: var(--jt-fuente-lectura);
	font-size: 16px;
	line-height: 24px;
	margin: 13px 0 0;
}

.jt-servicios-indice__especialidades {
	border-top: 1px solid #e5ded2;
	margin-top: 18px;
	padding-top: 14px;
}

.jt-servicios-indice__especialidades strong {
	color: #8a5a32;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.jt-servicios-indice__especialidades ul {
	display: grid;
	gap: 7px;
	list-style: none;
	margin: 9px 0 0;
	padding: 0;
}

.jt-servicios-indice__especialidades a {
	color: #0c1d4d;
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
}

.jt-servicios-indice__enlace {
	color: #8a5a32;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.35px;
	line-height: 20px;
	margin-top: auto;
	padding-top: 22px;
	text-decoration: none;
}

.jt-servicios-indice > .jt-carrusel-movil__controles {
	display: none;
}

.jt-valoraciones-servicios {
	height: 400px;
	min-height: 400px;
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-servicios-indice-hero {
		background-position: center;
		height: 540px;
	}

	.jt-servicios-indice-hero__interior {
		padding: 30px 48px 28px;
	}

	.jt-servicios-indice-hero .jt-antetitulo {
		margin-top: 24px;
	}

	.jt-servicios-indice-hero h1 {
		font-size: 52px;
		line-height: 56px;
	}

	.jt-servicios-indice-hero__texto {
		font-size: 20px;
		line-height: 28px;
		max-width: 650px;
	}

	.jt-servicios-indice-hero__confianza {
		bottom: 24px;
		left: 48px;
		right: 48px;
	}

	.jt-servicios-indice-hero__confianza span {
		font-size: 11px;
		line-height: 15px;
		padding-inline: 8px;
	}

	.jt-servicios-indice {
		padding: 56px 48px 64px;
	}

	.jt-servicios-indice__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jt-servicios-indice__tarjeta {
		min-height: 500px;
	}

	.jt-valoraciones-servicios {
		height: auto;
		min-height: 439px;
	}
}

@media (max-width: 40rem) {

	.jt-servicios-indice-hero {
		background-position: 58% center;
		height: 650px;
	}

	.jt-servicios-indice-hero__interior {
		padding: 24px;
	}

	.jt-servicios-indice-hero .rank-math-breadcrumb {
		font-size: 12px;
		line-height: 16px;
	}

	.jt-servicios-indice-hero .jt-antetitulo {
		font-size: 13px;
		letter-spacing: 1.3px;
		line-height: 18px;
		margin-top: 20px;
	}

	.jt-servicios-indice-hero h1 {
		font-size: 43px;
		line-height: 46px;
		margin-top: 12px;
	}

	.jt-servicios-indice-hero__texto {
		font-size: 18px;
		line-height: 26px;
		margin-top: 12px;
	}

	.jt-servicios-indice-hero__acciones {
		flex-direction: column;
		gap: 10px;
		margin-top: 18px;
	}

	.jt-servicios-indice-hero__acciones .jt-boton {
		min-width: 0;
		width: 100%;
	}

	.jt-servicios-indice-hero__confianza {
		bottom: 20px;
		gap: 7px;
		grid-template-columns: 1fr;
		left: 24px;
		right: 24px;
	}

	.jt-servicios-indice-hero__confianza span {
		font-size: 11px;
		height: 34px;
		line-height: 14px;
	}

	.jt-servicios-indice {
		overflow: hidden;
		padding: 44px 24px 32px;
	}

	.jt-servicios-indice__cabecera h2 {
		font-size: 36px;
		line-height: 41px;
	}

	.jt-servicios-indice__cabecera > p:last-child {
		font-size: 16px;
		line-height: 24px;
	}

	.jt-servicios-indice__rejilla {
		display: flex;
		gap: 16px;
		margin-top: 28px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		touch-action: pan-x pan-y;
	}

	.jt-servicios-indice__rejilla::-webkit-scrollbar {
		display: none;
	}

	.jt-servicios-indice__tarjeta {
		flex: 0 0 100%;
		min-height: 520px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.jt-servicios-indice__imagen {
		height: 150px;
	}

	.jt-servicios-indice__contenido {
		padding: 21px 20px 23px;
	}

	.jt-servicios-indice__contenido h3 {
		font-size: 25px;
		line-height: 30px;
	}

	.jt-servicios-indice > .jt-carrusel-movil__controles {
		display: flex;
		margin-top: 8px;
	}

	.jt-valoraciones-servicios {
		height: auto;
		min-height: 0;
		overflow: visible;
		padding-bottom: 28px;
	}

	.jt-valoraciones-servicios .jt-valoraciones-home__carrusel {
		overflow-y: visible;
	}

	.jt-valoraciones-servicios .jt-resena-real {
		height: auto;
		min-height: 250px;
	}
}

@media (min-width: 40.0625rem) and (max-width: 61.999rem) {

	.jt-pagina-contacto .jt-valoraciones-contacto,
	.jt-pagina-contacto .jt-blog-home {
		display: block;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto {
		padding: 52px 48px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__intro {
		width: 100%;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__intro h2 {
		font-size: 38px;
		line-height: 50px;
		margin-top: 16px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__estrellas {
		display: none;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-valoraciones-home__carrusel {
		display: grid;
		gap: 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: 183px;
		margin: 22px 0 0;
		overflow: hidden;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-resena-real {
		height: 183px;
		min-height: 183px;
		overflow: hidden;
		padding: 16px;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto .jt-resena-real p {
		line-height: 21px;
		margin-top: 12px;
	}

	.jt-pagina-contacto .jt-blog-home {
		padding: 56px 48px;
	}

	.jt-pagina-contacto .jt-blog-home__intro h2 {
		font-size: 38px;
		line-height: 50px;
		margin-top: 18px;
	}

	.jt-pagina-contacto .jt-blog-home__intro > p:not(.jt-eyebrow) {
		margin-top: 14px;
	}

	.jt-pagina-contacto .jt-blog-home__intro .jt-boton {
		margin-top: 24px;
		min-height: 44px;
		padding-block: 12px;
	}

	.jt-pagina-contacto .jt-blog-home__entradas {
		margin: 24px 0 0;
	}

	.jt-pagina-contacto .jt-blog-home__tarjeta,
	.jt-pagina-contacto .jt-blog-home__vacio article {
		height: 230px;
		min-height: 230px;
		overflow: hidden;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto > .jt-carrusel-movil__controles,
	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		align-items: center;
		display: flex;
		gap: 8px;
		justify-content: center;
		left: 48px;
		margin: 0;
		position: absolute;
		right: 48px;
		width: auto;
	}

	.jt-pagina-contacto .jt-valoraciones-contacto > .jt-carrusel-movil__controles {
		bottom: 30px;
	}

	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		bottom: 32px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles button {
		align-items: center;
		background: transparent;
		border: 0;
		color: currentcolor;
		display: inline-flex;
		font: inherit;
		height: 32px;
		justify-content: center;
		padding: 0;
		width: 32px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles [data-jt-carrusel-puntos] {
		align-items: center;
		display: flex;
		gap: 7px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles i {
		background: #a9b1c0;
		border-radius: 6px;
		display: block;
		height: 7px;
		width: 7px;
	}

	.jt-pagina-contacto .jt-carrusel-movil__controles i.es-activo {
		background: #0c1d4d;
		width: 18px;
	}

	.jt-pagina-contacto .jt-blog-home > .jt-carrusel-movil__controles {
		color: #fff;
	}

	.jt-pagina-contacto .jt-blog-home .jt-carrusel-movil__controles i {
		background: rgba(255, 255, 255, 0.55);
	}

	.jt-pagina-contacto .jt-blog-home .jt-carrusel-movil__controles i.es-activo {
		background: #fff;
	}
}
