/* ==========================================================================
   Notaría Orlando Cerda · Dirección «Protocolo»
   Paleta clara: el verde aparece solo en acciones, iconos y detalles.
   ========================================================================== */

:root {
	/* Color */
	--c-fondo: #FFFFFF;
	--c-alterno: #F4F6F3;
	--c-crema: #F2EFE7;
	--c-menta: #E7F0EA;
	--c-tinta: #1B2621;
	--c-pizarra: #55625C;
	--c-linea: #DDE3DD;
	--c-borde-campo: #7D8A83;
	--c-sello: #056233;
	--c-sello-hover: #024D27;
	--c-verde: #123F32;
	--c-aviso-fondo: #F6ECD3;
	--c-aviso-texto: #6E4A00;
	--c-error: #A4262C;
	--c-error-fondo: #FCF1F1;

	/* Tipografía */
	--f-titulos: Newsreader, Georgia, "Times New Roman", serif;
	--f-texto: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, -apple-system, sans-serif;
	--f-datos: "Atkinson Hyperlegible Mono", ui-monospace, Consolas, monospace;
	--t-pequeno: 0.9375rem;
	--t-base: clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);
	--t-destacado: 1.25rem;
	--t-h3: clamp(1.25rem, 1.1rem + 0.5vw, 1.4rem);
	--t-h2: clamp(1.75rem, 1.35rem + 1.4vw, 2.3rem);
	--t-h1: clamp(2.25rem, 1.6rem + 2.2vw, 3.25rem);

	/* Medidas */
	--ancho: 1200px;
	--margen-lateral: clamp(20px, 5vw, 64px);
	--lectura: 68ch;
	--radio: 4px;
	--seccion: clamp(3.25rem, 2rem + 5vw, 6rem);
	--cabecera-alto: 76px;
	--transicion: 150ms ease;
}

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

*, *::before, *::after { box-sizing: border-box; }
/* Lo oculto con el atributo hidden no reaparece aunque su clase defina display. */
[hidden] { display: none !important; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--cabecera-alto) + 16px);
}

body {
	margin: 0;
	background: var(--c-fondo);
	color: var(--c-tinta);
	font-family: var(--f-texto);
	font-size: var(--t-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

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

h1, h2, h3, h4 {
	font-family: var(--f-titulos);
	font-weight: 560;
	line-height: 1.14;
	letter-spacing: -0.005em;
	color: var(--c-tinta);
	text-wrap: balance;
	margin: 0;
}

p { margin: 0; }
ul, ol { margin: 0; padding: 0; }

a {
	color: var(--c-sello);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}
a:hover { color: var(--c-sello-hover); }

:focus-visible {
	outline: 2px solid var(--c-sello);
	outline-offset: 3px;
	border-radius: 2px;
}

.dato {
	font-family: var(--f-datos);
	font-variant-numeric: tabular-nums;
	font-size: 0.94em;
}

.icono { width: 1.25em; height: 1.25em; flex: none; }

.sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.contenedor {
	width: 100%;
	max-width: calc(var(--ancho) + 2 * var(--margen-lateral));
	margin-inline: auto;
	padding-inline: var(--margen-lateral);
}

.saltar {
	position: absolute;
	left: 12px; top: -60px;
	z-index: 100;
	background: var(--c-sello);
	color: #fff;
	padding: 10px 16px;
	border-radius: var(--radio);
	font-weight: 700;
	transition: top var(--transicion);
}
.saltar:focus { top: 12px; color: #fff; }

.contenido-sitio:focus { outline: none; }

/* ---------- Botones y enlaces ---------- */

.boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	min-height: 48px;
	padding: 0.7em 1.35em;
	border: 1.5px solid transparent;
	border-radius: var(--radio);
	font-family: var(--f-texto);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--transicion), color var(--transicion), border-color var(--transicion);
}
.boton .icono { width: 1.15em; height: 1.15em; }

.boton--primario { background: var(--c-sello); color: #fff; }
.boton--primario:hover { background: var(--c-sello-hover); color: #fff; }

.boton--contorno { background: transparent; color: var(--c-sello); border-color: var(--c-sello); }
.boton--contorno:hover { background: var(--c-menta); color: var(--c-sello-hover); }

.boton--texto { background: transparent; color: var(--c-sello); padding-inline: 0.5em; }
.boton--texto:hover { text-decoration: underline; }

.boton--ancho { width: 100%; }

.enlace-flecha {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-weight: 700;
	text-decoration: none;
}
.enlace-flecha:hover { text-decoration: underline; }
.enlace-flecha .icono { width: 1.1em; height: 1.1em; transition: transform var(--transicion); }
.enlace-flecha:hover .icono { transform: translateX(3px); }
.enlace-flecha--volver:hover .icono { transform: translateX(-3px); }

.antetitulo {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--c-sello);
}

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

.cabecera { position: relative; z-index: 50; }

.cabecera-util {
	background: var(--c-alterno);
	border-bottom: 1px solid var(--c-linea);
	font-size: var(--t-pequeno);
	color: var(--c-pizarra);
}
.util-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 44px;
}
.util-datos { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.util-datos li { display: inline-flex; align-items: center; gap: 7px; }
.util-datos .icono { width: 16px; height: 16px; color: var(--c-sello); }
.util-datos a { color: var(--c-tinta); text-decoration: none; }
.util-datos a:hover { color: var(--c-sello); text-decoration: underline; }
.util-clientes {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border: 1.5px solid var(--c-sello);
	border-radius: var(--radio);
	color: var(--c-sello);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--transicion);
}
.util-clientes .icono { width: 16px; height: 16px; }
.util-clientes:hover { background: var(--c-menta); }
button.util-clientes { background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.util-clientes:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 2px; }
.util-acceso-flecha { transition: transform var(--transicion); }
.util-clientes[aria-expanded="true"] { background: var(--c-menta); }
.util-clientes[aria-expanded="true"] .util-acceso-flecha { transform: rotate(180deg); }

/* Desplegable del Área de Clientes */
.util-acceso { position: relative; flex: none; }
.util-acceso-panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 80;
	width: 19rem;
	max-width: calc(100vw - 32px);
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	box-shadow: 0 12px 32px rgba(27, 38, 33, 0.14);
}
.util-acceso-panel li + li, .nav-acceso li + li { border-top: 1px solid var(--c-linea); }
.util-acceso-panel a, .nav-acceso a {
	display: grid;
	gap: 2px;
	padding: 10px 12px;
	border-radius: var(--radio);
	color: var(--c-tinta);
	text-decoration: none;
}
.util-acceso-panel a:hover, .util-acceso-panel a:focus-visible, .nav-acceso a:hover { background: var(--c-menta); }
.util-acceso-panel a:focus-visible { outline: 2px solid var(--c-sello); outline-offset: -2px; }
.util-acceso-titulo { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--c-sello); }
.util-acceso-titulo .icono { width: 14px; height: 14px; }
.util-acceso-detalle { font-size: 0.8125rem; font-weight: 400; color: var(--c-pizarra); }

/* Las mismas opciones dentro del menú del celular */
.nav-acceso-titulo { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-weight: 700; color: var(--c-tinta); }
.nav-acceso-titulo .icono { width: 18px; height: 18px; color: var(--c-sello); }
.nav-acceso { margin: 0 0 1.25rem; padding: 0; list-style: none; border: 1px solid var(--c-linea); border-radius: var(--radio); }

/* Toda la cabecera es fija; la franja superior (45 px) se oculta al desplazarse. */
.cabecera { position: sticky; top: -45px; }
.admin-bar .cabecera { top: calc(var(--wp-admin--admin-bar--height, 0px) - 45px); }
.cabecera-util { height: 45px; }
/* El recorte va en los datos de contacto y no en la franja completa: si no,
   el desplegable del Área de Clientes quedaría cortado. */
.util-datos { flex-wrap: nowrap; overflow: hidden; min-width: 0; }
.util-datos li { white-space: nowrap; }
.util-correo { display: none !important; }
.util-datos li:first-child { display: none; }
@media (min-width: 900px) { .util-datos li:first-child { display: inline-flex; } }
@media (min-width: 1100px) { .util-correo { display: inline-flex !important; } }

.cabecera-principal {
	background: var(--c-fondo);
	border-bottom: 1px solid var(--c-linea);
}

.cabecera-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var(--cabecera-alto);
}

.marca {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--c-tinta);
	flex: none;
}
.marca-isotipo { width: 54px; height: auto; color: var(--c-sello); flex: none; }
.isotipo { display: block; }
.portada-anillo, .cabecera-pagina-anillo { color: var(--c-sello); height: auto; }
.marca-logo { max-height: 52px; width: auto; }
.marca-texto { display: grid; line-height: 1.15; }
.marca-nombre { font-family: var(--f-titulos); font-size: 1.3rem; font-weight: 600; letter-spacing: -0.005em; }
.marca-linea { font-size: 0.875rem; color: var(--c-pizarra); letter-spacing: 0.02em; }
.marca:hover { color: var(--c-tinta); }

/* Navegación de escritorio */
.navegacion { display: flex; align-items: center; }
.nav-lista { list-style: none; display: flex; align-items: center; gap: 4px; }
.nav-item { position: relative; }

.nav-enlace, .nav-boton {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 11px;
	border: 0;
	background: none;
	font-family: var(--f-texto);
	font-size: 1rem;
	font-weight: 600;
	color: var(--c-tinta);
	text-decoration: none;
	cursor: pointer;
	border-radius: var(--radio);
	white-space: nowrap;
	transition: color var(--transicion), background-color var(--transicion);
}
.nav-enlace:hover, .nav-boton:hover { color: var(--c-sello); }
.nav-enlace.es-actual, .contiene-actual > .nav-boton {
	color: var(--c-sello);
	box-shadow: inset 0 -2px 0 var(--c-sello);
	border-radius: 0;
}
.icono--chevron { width: 16px; height: 16px; transition: transform var(--transicion); }
.nav-boton[aria-expanded="true"] { color: var(--c-sello); }
.nav-boton[aria-expanded="true"] .icono--chevron { transform: rotate(180deg); }
.icono--externo { width: 14px; height: 14px; opacity: 0.8; }

/* Panel desplegable: el relleno superior une botón y panel para que el cursor no lo pierda */
.nav-sub {
	list-style: none;
	position: absolute;
	top: 100%;
	left: 50%;
	min-width: 260px;
	padding-top: 10px;
	transform: translateX(-50%);
	display: none;
}
.nav-sub::before {
	content: "";
	position: absolute;
	inset: 10px 0 0 0;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-top: 3px solid var(--c-sello);
	border-radius: var(--radio);
	box-shadow: 0 12px 28px rgba(27, 38, 33, 0.10);
	z-index: -1;
}
.nav-sub li { position: relative; }
.nav-sub li:first-child { padding-top: 6px; }
.nav-sub li:last-child { padding-bottom: 6px; }
.tiene-sub.abierto > .nav-sub { display: block; }
.no-js .tiene-sub:hover > .nav-sub,
.no-js .tiene-sub:focus-within > .nav-sub { display: block; }

.nav-sub-enlace {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 18px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--c-tinta);
	text-decoration: none;
	transition: background-color var(--transicion), color var(--transicion);
}
.nav-sub-enlace:hover, .nav-sub-enlace:focus-visible { background: var(--c-alterno); color: var(--c-sello); }
.nav-sub-enlace:focus-visible { outline-offset: -3px; }
.nav-sub-enlace.es-actual { color: var(--c-sello); }

.menu-boton { display: none; }
.nav-extra { display: none; }

/* ---------- Cabecera de página interior ---------- */

.cabecera-pagina {
	position: relative;
	overflow: hidden;
	background: var(--c-alterno);
	border-bottom: 1px solid var(--c-linea);
	padding-block: clamp(2rem, 1.2rem + 3vw, 3.75rem) clamp(2.25rem, 1.4rem + 3vw, 4rem);
}
.cabecera-pagina-anillo {
	position: absolute;
	right: -120px;
	top: 50%;
	width: 520px;
	transform: translateY(-50%);
	opacity: 0.06;
	pointer-events: none;
}
.cabecera-pagina .contenedor { position: relative; display: grid; gap: 14px; }
.cabecera-pagina-titulo { font-size: var(--t-h1); font-weight: 520; line-height: 1.06; max-width: 20ch; }
.cabecera-pagina-intro { font-size: 1.1875rem; color: var(--c-pizarra); max-width: 60ch; }

.migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.migas li { display: inline-flex; align-items: center; gap: 4px; }
.migas li + li::before { content: "/"; color: var(--c-borde-campo); margin-right: 2px; }
.migas a { color: var(--c-pizarra); }
.migas a:hover { color: var(--c-sello); }

/* ---------- Estructura interior con notas marginales ---------- */

.pagina-cuerpo { padding-block: clamp(2.25rem, 1.5rem + 3vw, 4rem) var(--seccion); }

.con-margen {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
/* En pantallas angostas, las notas marginales van después del contenido. */
@media (max-width: 1023px) {
	.con-margen > .margen { order: 2; padding-top: 8px; }
	.margen { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px 32px; }
	.notas { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
}
.principal { min-width: 0; display: grid; gap: 28px; align-content: start; }

.margen { display: grid; gap: 22px; align-content: start; font-size: var(--t-pequeno); }
.nota-margen { display: grid; gap: 10px; padding-top: 14px; border-top: 2px solid var(--c-sello); }
.nota-margen-titulo {
	font-family: var(--f-texto);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-pizarra);
}
.notas { display: grid; gap: 14px; margin: 0; padding-top: 14px; border-top: 2px solid var(--c-sello); }
.notas dt { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-pizarra); }
.notas dd { margin: 2px 0 0; font-size: 1rem; }

/* ---------- Portada ---------- */

.portada {
	position: relative;
	overflow: hidden;
	background: var(--c-alterno);
	padding-block: clamp(2.5rem, 1.5rem + 4vw, 4.75rem) clamp(4.5rem, 3rem + 5vw, 7.5rem);
}
.portada-anillo {
	position: absolute;
	left: -210px;
	bottom: -230px;
	width: 720px;
	opacity: 0.06;
	pointer-events: none;
}
.portada-in {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	align-items: center;
}
.portada-texto { display: grid; gap: 20px; justify-items: start; }
.portada-titulo { font-size: var(--t-h1); font-weight: 520; line-height: 1.05; max-width: 12em; padding-bottom: 0.04em; }
.portada-bajada { font-size: clamp(1.125rem, 1rem + 0.4vw, 1.3rem); color: var(--c-pizarra); max-width: 40ch; }
.portada-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }

.foto { margin: 0; display: grid; gap: 8px; }
.foto img { width: 100%; border-radius: var(--radio); object-fit: cover; }
.foto-ref { font-size: 0.8125rem; color: var(--c-pizarra); }
.foto--vacia {
	min-height: 260px;
	border-radius: var(--radio);
	background:
		repeating-linear-gradient(180deg, transparent 0 31px, rgba(3, 97, 50, 0.06) 31px 32px),
		var(--c-menta);
}
.portada-foto img { aspect-ratio: 5 / 4; }

/* Accesos rápidos: una sola pieza de tres celdas */
.accesos {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	margin-top: -3rem;
}
.accesos::before {
	content: "";
	position: absolute;
	inset: 0 var(--margen-lateral);
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	z-index: -1;
}
.acceso {
	display: grid;
	grid-template-columns: auto 1fr auto;
	column-gap: 16px;
	row-gap: 2px;
	padding: 22px 22px 24px;
	color: var(--c-tinta);
	text-decoration: none;
	border-top: 1px solid var(--c-linea);
	transition: background-color var(--transicion);
}
.acceso:first-child { border-top: 0; border-radius: var(--radio) var(--radio) 0 0; }
.acceso:last-child { border-radius: 0 0 var(--radio) var(--radio); }
.acceso:hover { background: var(--c-crema); color: var(--c-tinta); }
.acceso:focus-visible { background: var(--c-crema); outline: 2px solid var(--c-sello); outline-offset: -4px; }
.acceso-icono { grid-row: 1 / span 3; width: 32px; height: 32px; color: var(--c-sello); margin-top: 2px; }
.acceso-etiqueta { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-pizarra); }
.acceso-titulo { font-family: var(--f-titulos); font-size: 1.375rem; font-weight: 600; line-height: 1.2; }
.acceso-texto { font-size: 1rem; color: var(--c-pizarra); }
.acceso-flecha { grid-column: 3; grid-row: 1 / span 3; align-self: center; width: 22px; height: 22px; color: var(--c-sello); }

/* Secciones */
.seccion { padding-block: var(--seccion); }
.seccion-cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 1.5rem;
}
.seccion-titulo { font-size: var(--t-h2); }

/* Ficha de icono (cuadrado menta con icono verde) */
.ficha-icono {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: var(--radio);
	background: var(--c-menta);
	color: var(--c-sello);
}
.ficha-icono .icono { width: 24px; height: 24px; }
.ficha-icono--grande { width: 56px; height: 56px; }
.ficha-icono--grande .icono { width: 28px; height: 28px; }

/* Lista de trámites */
.lista-tramites {
	list-style: none;
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 3rem;
	border-bottom: 1px solid var(--c-linea);
}
.tramite-fila, .fila-servicio {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 20px 4px;
	border-top: 1px solid var(--c-linea);
	color: var(--c-tinta);
	text-decoration: none;
	transition: background-color var(--transicion);
}
.tramite-fila:hover, .fila-servicio:hover { background: var(--c-alterno); color: var(--c-tinta); }
.tramite-fila:focus-visible, .fila-servicio:focus-visible { outline-offset: -2px; }
.tramite-fila-texto, .fila-servicio-texto { display: grid; gap: 3px; min-width: 0; }
.tramite-fila-titulo, .fila-servicio-titulo { font-family: var(--f-titulos); font-size: 1.3rem; font-weight: 600; line-height: 1.22; }
.tramite-fila:hover .tramite-fila-titulo, .fila-servicio:hover .fila-servicio-titulo { color: var(--c-sello); }
.tramite-fila-resumen, .fila-servicio-texto > span:last-child { font-size: 1rem; color: var(--c-pizarra); }
.fila-flecha { width: 22px; height: 22px; color: var(--c-sello); transition: transform var(--transicion); }
.tramite-fila:hover .fila-flecha, .fila-servicio:hover .fila-flecha { transform: translateX(3px); }

.etiqueta-demo {
	justify-self: start;
	font-family: var(--f-texto);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--c-aviso-texto);
	background: var(--c-aviso-fondo);
	padding: 2px 8px;
	border-radius: 3px;
}

/* Etiquetas de forma del documento y minuta */
.etiquetas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.etiqueta {
	display: inline-flex;
	align-items: center;
	font-family: var(--f-texto);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	padding: 1px 8px;
	border: 1px solid var(--c-linea);
	border-radius: 3px;
	background: var(--c-fondo);
	color: var(--c-pizarra);
}
.etiqueta--escritura-publica { background: var(--c-menta); border-color: #C3D9CB; color: var(--c-verde); }
.etiqueta--instrumento-privado { background: var(--c-alterno); border-color: #D3DAD4; color: var(--c-tinta); }
.etiqueta--certificacion { background: var(--c-crema); border-color: #E0D9C6; color: #57472A; }
.etiqueta--minuta { background: var(--c-aviso-fondo); border-color: #E6D3A4; color: var(--c-aviso-texto); }

/* Presentación */
.presentacion { background: var(--c-alterno); padding-block: var(--seccion); }
.presentacion-in { display: grid; grid-template-columns: 1fr; gap: 0; }
.presentacion-foto img { aspect-ratio: 4 / 3; }
.presentacion-panel {
	position: relative;
	display: grid;
	gap: 18px;
	justify-items: start;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-top: 3px solid var(--c-sello);
	border-radius: var(--radio);
	padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
	margin-top: -1.5rem;
	margin-inline: 12px;
}
.presentacion-panel p { font-size: 1.125rem; color: var(--c-pizarra); max-width: 48ch; }
.valores { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.valores li { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.valores .icono { width: 20px; height: 20px; color: var(--c-sello); }

/* Preparación y servicios */
.dos-columnas { display: grid; grid-template-columns: 1fr; gap: 3rem; }
.preparacion, .servicios { display: grid; gap: 18px; align-content: start; }
.preparacion > p:not(.distintivo) { font-size: 1.125rem; color: var(--c-pizarra); max-width: 52ch; }
.distintivo {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--c-menta);
	color: var(--c-verde);
	font-weight: 700;
	font-size: 1rem;
	padding: 8px 14px;
	border-radius: var(--radio);
}
.distintivo .icono { width: 20px; height: 20px; color: var(--c-sello); }
.enlaces-lista { list-style: none; display: grid; gap: 10px; }
.filas-servicio { list-style: none; border-bottom: 1px solid var(--c-linea); }

/* Contacto y mapa */
.contacto { background: var(--c-alterno); padding-block: var(--seccion); border-top: 1px solid var(--c-linea); }
.contacto-in { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
.contacto-datos { display: grid; gap: 1.5rem; }

.datos { list-style: none; display: grid; gap: 18px; }
.datos li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; }
.datos li > .icono { width: 22px; height: 22px; color: var(--c-sello); margin-top: 2px; }
.datos li > span { display: grid; gap: 2px; min-width: 0; }
.datos-etiqueta { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-pizarra); }
.datos a { overflow-wrap: anywhere; }
.datos .enlace-flecha { margin-top: 4px; }
.datos-nota { font-size: var(--t-pequeno); color: var(--c-pizarra); margin-top: 4px; }
.horario { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 6px 16px; }
.horario .dato { line-height: 1.45; }
.datos .datos-etiqueta.datos-etiqueta--siempre { display: block; }
.datos--sin-icono li { grid-template-columns: 1fr; }
.datos--sin-icono li > .icono { display: none; }
.datos--margen { gap: 12px; }
.datos--margen .datos-etiqueta { display: none; }
.datos--margen li { grid-template-columns: 18px 1fr; gap: 10px; }
.datos--margen li > .icono { width: 18px; height: 18px; }
.datos--margen.datos--sin-icono li { grid-template-columns: 1fr; }

.mapa {
	position: relative;
	min-height: 340px;
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(3, 97, 50, 0.05) 1px, transparent 1px) 0 0 / 56px 56px,
		linear-gradient(0deg, rgba(3, 97, 50, 0.05) 1px, transparent 1px) 0 0 / 56px 56px,
		var(--c-fondo);
	display: grid;
}
.mapa-reposo { display: grid; place-content: center; justify-items: center; gap: 14px; padding: 28px; text-align: center; }
.mapa-direccion { font-family: var(--f-titulos); font-size: 1.35rem; font-weight: 600; line-height: 1.25; }
.mapa-acciones { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.mapa-nota { font-size: 0.875rem; color: var(--c-pizarra); }
.mapa iframe { width: 100%; height: 100%; min-height: 340px; border: 0; display: block; }
.mapa--insertado { grid-template-rows: 1fr auto; background: var(--c-alterno); }
.mapa--insertado iframe { min-height: 360px; }
.mapa-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 14px; background: var(--c-fondo); border-top: 1px solid var(--c-linea); font-size: var(--t-pequeno); }
.mapa-barra > span { display: inline-flex; align-items: center; gap: 8px; }
.mapa-barra > span .icono { width: 18px; height: 18px; color: var(--c-sello); }
.mapa.cargado { grid-template-rows: 1fr auto; }
.mapa.cargado .mapa-reposo { place-content: initial; justify-items: start; padding: 12px 14px; background: var(--c-fondo); border-top: 1px solid var(--c-linea); }
.mapa.cargado .mapa-reposo > :not(.mapa-acciones),
.mapa.cargado .mapa-cargar { display: none; }

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

.pie {
	background: var(--c-alterno);
	border-top: 3px solid var(--c-sello);
	color: var(--c-tinta);
	font-size: 1rem;
}
.pie-in {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.25rem;
	padding-block: clamp(2.5rem, 2rem + 2vw, 4rem);
}
.pie-marca { display: grid; gap: 14px; justify-items: start; align-content: start; }
.pie-modalidad { color: var(--c-pizarra); max-width: 32ch; }
.pie-red { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; }
.pie-red:hover { text-decoration: underline; }
.pie-red .icono { width: 22px; height: 22px; }
.pie-titulo {
	font-family: var(--f-texto);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-pizarra);
	margin-bottom: 14px;
}
.datos--pie .datos-etiqueta { display: none; }
.datos--pie { gap: 14px; }
.pie-base { border-top: 1px solid var(--c-linea); font-size: var(--t-pequeno); color: var(--c-pizarra); }
.pie-base-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-block: 18px 22px; }
.pie-base ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.pie-base a { color: var(--c-pizarra); }
.pie-base a:hover { color: var(--c-sello); }

/* ---------- Contenido editable (Gutenberg) ---------- */

.contenido { display: grid; gap: 1.1em; }
.lectura { max-width: var(--lectura); }
.contenido > * { margin: 0; }
.contenido h2 { font-size: 1.85rem; margin-top: 0.6em; }
.contenido h3 { font-size: var(--t-h3); margin-top: 0.4em; }
.contenido p, .contenido li { font-size: var(--t-base); }
.contenido ul, .contenido ol { padding-left: 1.3em; display: grid; gap: 0.4em; }
.contenido li::marker { color: var(--c-sello); }
.contenido blockquote { border-left: 3px solid var(--c-sello); padding-left: 1.2em; color: var(--c-pizarra); }
.contenido figure img { border-radius: var(--radio); }
.contenido .is-style-cuadro,
.contenido .is-style-normativa { background: var(--c-fondo); border: 1px solid var(--c-linea); border-left: 3px solid var(--c-sello); border-radius: var(--radio); padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); }
.contenido .is-style-normativa p { text-align: justify; hyphens: auto; }
.contenido .is-style-requisitos { list-style: none; padding-left: 0; }
.contenido .is-style-requisitos li { padding-left: 1.8em; position: relative; }
.contenido .is-style-requisitos li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 1.1em; height: 1.1em; background: var(--c-sello); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Componentes ---------- */

.cuadro {
	display: grid;
	gap: 14px;
	align-content: start;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-left: 3px solid var(--c-sello);
	border-radius: var(--radio);
	padding: clamp(1.25rem, 1rem + 1.6vw, 2.25rem);
}
.cuadro-titulo { font-size: 1.5rem; }
.cuadro-subtitulo {
	font-family: var(--f-texto);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-pizarra);
	margin-top: 6px;
}
.cuadro p { max-width: var(--lectura); }

.normativa { display: grid; gap: 14px; }
.titulo-icono { display: flex; align-items: center; gap: 14px; font-size: var(--t-h2); }
.normativa-ref { font-weight: 700; color: var(--c-verde); }
.cuadro--normativa { gap: 1em; }
.cuadro--normativa p {
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 7 3 3;
	word-spacing: -0.02em;
	max-width: 70ch;
}

.legal { border-top: 1px solid var(--c-linea); padding-top: 14px; }
.legal > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-family: var(--f-texto);
	font-size: var(--t-pequeno);
	font-weight: 700;
	color: var(--c-sello);
	list-style: none;
}
.legal > summary::-webkit-details-marker { display: none; }
.legal > summary::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
}
.legal[open] > summary::before { transform: rotate(45deg); }
.legal > summary:hover { color: var(--c-sello-hover); }
.legal > summary:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 3px; }
.legal-texto { display: grid; gap: 1em; margin-top: 14px; }

.cuadros-instrucciones { display: grid; grid-template-columns: 1fr; gap: 20px; }

.lista-check { list-style: none; display: grid; gap: 10px; }
.lista-check li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; }
.lista-check .icono { width: 20px; height: 20px; color: var(--c-sello); margin-top: 0.2em; }
.lista-simple { list-style: none; display: grid; gap: 8px; }
.lista-simple li { padding-left: 14px; position: relative; }
.lista-simple li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 5px; height: 5px; border-radius: 50%; background: var(--c-sello); }

.ficha { gap: 36px; }
.ficha-bloque { display: grid; gap: 16px; }
.ficha-bloque h2 { font-size: 1.6rem; }
.ficha-volver { padding-top: 8px; border-top: 1px solid var(--c-linea); }
.nota-suave { color: var(--c-pizarra); }
.aviso-demo {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--c-aviso-fondo);
	color: var(--c-aviso-texto);
	padding: 14px 18px;
	border-radius: var(--radio);
}
.aviso-demo .icono { width: 22px; height: 22px; margin-top: 2px; }

/* Ficha de trámite: minuta, forma del documento y normativa */
.aviso-minuta {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 14px;
	align-items: start;
	padding: 16px 20px;
	background: var(--c-aviso-fondo);
	border-left: 3px solid #B98A2B;
	border-radius: var(--radio);
}
.aviso-minuta .icono { width: 22px; height: 22px; margin-top: 3px; color: var(--c-aviso-texto); }
.aviso-minuta > div { display: grid; gap: 4px; max-width: var(--lectura); }
.aviso-minuta-titulo { font-weight: 700; color: var(--c-aviso-texto); }
.forma-documento { display: grid; gap: 12px; padding-top: 22px; border-top: 1px solid var(--c-linea); }
.forma-documento-titulo { font-size: 1.6rem; }
.forma-documento dl { display: grid; gap: 16px; margin: 0; }
.forma-documento dl > div { display: grid; gap: 6px; justify-items: start; }
.forma-documento dd { margin: 0; max-width: var(--lectura); color: var(--c-pizarra); }
.ficha-normativa { display: grid; gap: 12px; }
.ficha-normativa-titulo { font-size: 1.3rem; }
.ficha-normativa .lista-simple { font-size: var(--t-pequeno); }
.ficha-normativa .nota-suave { font-size: 0.875rem; }
.nota-margen--aviso p { color: var(--c-pizarra); }
.ficha-bloque-cabeza { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.boton-imprimir { font-size: 0.9375rem; min-height: 0; padding-block: 4px; }
.ficha-subtitulo { font-size: 1.2rem; margin-top: 10px; }
.doc { display: grid; gap: 2px; min-width: 0; }
.doc-vigencia {
	display: inline-block;
	margin-left: 4px;
	padding: 0 7px;
	border-radius: 3px;
	background: var(--c-alterno);
	border: 1px solid var(--c-linea);
	color: var(--c-pizarra);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.6;
	white-space: nowrap;
	vertical-align: 1px;
}
.doc-detalle { font-size: var(--t-pequeno); color: var(--c-pizarra); }
.doc-enlace { justify-self: start; display: inline-flex; align-items: center; gap: 4px; font-size: var(--t-pequeno); font-weight: 700; }
.doc-enlace .icono { width: 0.95em; height: 0.95em; }
.redaccion-caja { display: grid; gap: 12px; justify-items: start; padding: clamp(1.25rem, 1rem + 1.4vw, 2rem); background: var(--c-alterno); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.redaccion-caja-titulo { font-size: 1.5rem; }
.redaccion-caja > p { max-width: var(--lectura); }
.redaccion-caja-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.redaccion-caja-correo { font-size: var(--t-pequeno); color: var(--c-pizarra); }

/* Ficha de datos en línea */
.ficha-datos { display: grid; gap: 14px; scroll-margin-top: calc(var(--cabecera-alto) + 16px); }
.ficha-datos h2 { font-size: 1.6rem; }
.ficha-datos-intro { max-width: var(--lectura); }
.ficha-datos-membrete { display: none; }
.ficha-datos-form textarea { min-height: 76px; resize: vertical; }
.ficha-personas { display: grid; gap: 16px; }
.ficha-persona { display: grid; gap: 12px; }
.ficha-persona + .ficha-persona { padding-top: 16px; border-top: 1px dashed var(--c-linea); }
.ficha-persona-cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ficha-persona:only-child .ficha-persona-cabeza { display: none; }
.ficha-persona-titulo { font-weight: 700; color: var(--c-pizarra); font-size: var(--t-pequeno); letter-spacing: 0.06em; text-transform: uppercase; }
.ficha-persona-quitar, .ficha-agregar { justify-self: start; min-height: 0; padding-block: 4px; font-size: var(--t-pequeno); }
.ficha-sino { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.ficha-sino .reclamo-check { font-size: 1rem; }
.ficha-sino .reclamo-check input { accent-color: var(--c-sello); }
.ficha-opciones { flex-direction: column; gap: 10px; }
.ficha-rut-error { margin: 6px 0 0; }
.ficha-datos-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 6px; border-top: 1px solid var(--c-linea); }
.ficha-datos-consejo { margin: -6px 0 0; }

/* Redacción de instrumentos: pasos del proceso */
.pasos { list-style: none; counter-reset: paso; display: grid; gap: 0; border-top: 1px solid var(--c-linea); }
.paso { counter-increment: paso; display: grid; grid-template-columns: 44px 1fr; gap: 4px 16px; padding: 20px 0; border-bottom: 1px solid var(--c-linea); }
.paso::before {
	content: counter(paso);
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--c-menta);
	color: var(--c-verde);
	font-family: var(--f-titulos);
	font-size: 1.25rem;
	font-weight: 600;
}
.paso-titulo { font-size: 1.25rem; line-height: 1.3; }
.paso p { color: var(--c-pizarra); max-width: var(--lectura); }
.contenido .wp-block-table { overflow-x: auto; }
.contenido table { width: 100%; border-collapse: collapse; font-size: var(--t-pequeno); }
.contenido th, .contenido td { padding: 10px 12px; border: 1px solid var(--c-linea); text-align: left; vertical-align: top; }
.contenido thead th { background: var(--c-alterno); font-weight: 700; }
.contenido tbody th { font-weight: 700; color: var(--c-pizarra); }

/* Catálogo: guía de formas del documento */
.formas-guia { display: grid; gap: 14px; padding-top: 28px; border-top: 1px solid var(--c-linea); }
.formas-guia-titulo { font-size: 1.6rem; }
.formas-guia > .nota-suave { max-width: var(--lectura); }
.formas-guia-lista { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.formas-guia-item { display: grid; grid-template-rows: auto 1fr auto; gap: 10px; justify-items: start; padding: 18px; background: var(--c-alterno); border-radius: var(--radio); }
.formas-guia-item p { font-size: var(--t-pequeno); color: var(--c-pizarra); }
.formas-guia-item.es-actual { background: var(--c-menta); }
.formas-guia-actual { font-size: 0.875rem; font-weight: 700; color: var(--c-verde); }

/* Estado vacío */
.vacio {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	align-items: start;
	background: var(--c-alterno);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	width: 100%;
}
.vacio-icono { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--c-fondo); color: var(--c-sello); border: 1px solid var(--c-linea); }
.vacio-icono .icono { width: 26px; height: 26px; }
.vacio-texto { display: grid; gap: 10px; max-width: 60ch; }
.vacio-titulo { font-size: 1.5rem; }
.vacio-texto > p { color: var(--c-pizarra); }
.vacio-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.vacio--centrado { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem); background: var(--c-fondo); }
.vacio--centrado .vacio-texto { justify-items: center; }
.vacio--centrado .vacio-icono { width: 60px; height: 60px; }

/* Buscador */
.buscador { display: grid; gap: 10px; }
.buscador-etiqueta { font-weight: 700; font-size: 1rem; }
.buscador-fila { display: flex; flex-wrap: wrap; gap: 10px; }
.buscador-campo { position: relative; flex: 1 1 280px; display: flex; }
.buscador-campo .icono { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--c-pizarra); pointer-events: none; }
.buscador input[type="search"], .buscador select {
	width: 100%;
	min-height: 48px;
	border: 1.5px solid var(--c-borde-campo);
	border-radius: var(--radio);
	background: var(--c-fondo);
	color: var(--c-tinta);
	font-family: var(--f-texto);
	font-size: 1rem;
	padding: 10px 14px;
}
.buscador input[type="search"] { padding-left: 44px; }
.buscador input:focus-visible, .buscador select:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 1px; border-color: var(--c-sello); }
.buscador input::placeholder { color: #6B7771; }
.buscador--indice { grid-template-columns: 1fr; align-items: end; gap: 14px; padding: 20px; background: var(--c-alterno); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.buscador-grupo { display: grid; gap: 6px; }

.filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.filtro {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 6px 14px;
	border: 1px solid var(--c-linea);
	border-radius: 999px;
	color: var(--c-tinta);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	background: var(--c-fondo);
	transition: background-color var(--transicion), border-color var(--transicion);
}
.filtro:hover { border-color: var(--c-sello); color: var(--c-sello); }
.filtro.es-actual { background: var(--c-menta); border-color: var(--c-sello); color: var(--c-verde); }
.filtros--vertical { flex-direction: column; align-items: flex-start; }

.conteo { color: var(--c-pizarra); font-size: 1rem; }
.conteo-pagina { margin-left: 6px; }
.indice-aviso { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; font-size: var(--t-pequeno); background: var(--c-menta); border-left: 3px solid var(--c-sello); border-radius: var(--radio); }
.indice-aviso .icono { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--c-sello); }

/* Paginación (catálogo y resultados) */
.pagination .nav-links, .paginacion { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	text-decoration: none;
	font-weight: 700;
	color: var(--c-tinta);
}
.pagination .page-numbers.current { background: var(--c-sello); border-color: var(--c-sello); color: #fff; }
.pagination a.page-numbers:hover { border-color: var(--c-sello); color: var(--c-sello); }

/* ---------- Índice electrónico ---------- */

.buscador--indice .buscador-ayuda { grid-column: 1 / -1; margin: 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.indice-resultados { display: grid; gap: 16px; min-height: 120px; transition: opacity 0.2s ease; }
.indice-resultados[aria-busy="true"] { opacity: 0.5; }

.indice-cabeza { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.indice-conteo { color: var(--c-pizarra); font-size: 1rem; }
.indice-conteo strong { margin-right: 4px; font-family: var(--f-titulos); font-size: 1.6rem; font-weight: 600; line-height: 1; color: var(--c-tinta); font-variant-numeric: lining-nums; }
.indice-conteo-pagina { margin-left: 4px; white-space: nowrap; }
.indice-aprox { font-size: var(--t-pequeno); }
.indice-masiva { flex-basis: 100%; font-size: var(--t-pequeno); color: var(--c-pizarra); }

.tabla-indice-marco { overflow-x: auto; background: var(--c-fondo); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.tabla-indice { width: 100%; border-collapse: collapse; }
.tabla-indice th, .tabla-indice td { padding: 14px 16px; text-align: left; vertical-align: top; }
.tabla-indice thead th { padding-block: 11px; background: var(--c-alterno); border-bottom: 1px solid var(--c-linea); white-space: nowrap; }
.tabla-indice thead a { display: inline-flex; align-items: center; gap: 4px; color: var(--c-pizarra); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
.tabla-indice thead a:hover, .tabla-indice thead a.es-activo { color: var(--c-tinta); }
.orden-marca { display: inline-flex; flex: none; }
.orden-marca .icono { flex: none; width: 14px; height: 14px; opacity: 0.35; }
.orden-marca.es-activo .icono { opacity: 1; color: var(--c-sello); }
.orden-marca.es-asc .icono { transform: rotate(180deg); }
.tabla-indice tbody tr + tr td { border-top: 1px solid var(--c-linea); }
.tabla-indice tbody tr:hover td { background: #FAFBF9; }

.indice-rep, .indice-fecha { width: 1%; white-space: nowrap; }
.indice-rep-n { display: block; font-family: var(--f-datos); font-size: 1.0625rem; font-weight: 700; line-height: 1.3; color: var(--c-tinta); font-variant-numeric: tabular-nums; }
.indice-rep-a { display: block; font-family: var(--f-datos); font-size: 0.8125rem; color: var(--c-pizarra); }
.indice-fecha { padding-top: 16px; font-family: var(--f-datos); font-size: 0.9375rem; color: var(--c-pizarra); font-variant-numeric: tabular-nums; }
.indice-personas ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.indice-personas li { font-size: 0.9375rem; line-height: 1.4; letter-spacing: 0.015em; color: var(--c-tinta); overflow-wrap: anywhere; }
.indice-personas mark { margin-inline: -5px; padding: 1px 5px; border-radius: 3px; background: var(--c-menta); color: var(--c-verde); font-weight: 700; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.indice-materia { width: 22%; padding-top: 16px; font-size: 0.8125rem; font-weight: 600; line-height: 1.45; letter-spacing: 0.04em; color: var(--c-pizarra); }

.indice-copia { width: 17%; padding-top: 14px; font-size: 0.8125rem; line-height: 1.4; }
.indice-oficio { display: inline-block; margin-bottom: 4px; padding: 2px 7px; border-radius: 3px; background: var(--c-crema); color: var(--c-tinta); font-weight: 700; }
.indice-archivero { display: block; color: var(--c-pizarra); }
.indice-copia-boton { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; border: 1.5px solid var(--c-sello); border-radius: var(--radio); color: var(--c-sello); font-weight: 700; white-space: nowrap; text-decoration: none; transition: background-color var(--transicion), color var(--transicion); }
.indice-copia-boton:hover { background: var(--c-sello); color: #fff; }
.indice-copia-boton .icono { width: 16px; height: 16px; }
.tabla-indice thead .col-texto { color: var(--c-pizarra); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.nota-margen--copias p { color: var(--c-pizarra); }

.paginacion--indice { justify-content: space-between; gap: 12px; }
.paginacion-grupo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0; }
.paginacion-texto { font-size: var(--t-pequeno); color: var(--c-pizarra); white-space: nowrap; }
.paginacion-extremo { font-size: var(--t-pequeno); font-weight: 600; }

/* Documentos */
.documentos { list-style: none; border-bottom: 1px solid var(--c-linea); }
.documento { display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; padding: 22px 0; border-top: 1px solid var(--c-linea); align-items: start; }
.documento-texto { display: grid; gap: 6px; min-width: 0; }
.documento-titulo { font-size: 1.3rem; }
.documento-desc { display: grid; gap: 0.6em; color: var(--c-pizarra); max-width: 70ch; }
.documento-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.documento-acciones { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px; }

/* Servicio externo */
.servicio-externo {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 18px;
	align-items: center;
	padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
	background: var(--c-alterno);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
}
.servicio-externo-texto { display: grid; gap: 6px; }
.servicio-externo-titulo { font-size: 1.5rem; }
.servicio-externo-texto p { color: var(--c-pizarra); }
.servicio-externo .boton { grid-column: 1 / -1; justify-self: start; }
.marco-externo { border: 1px solid var(--c-linea); border-radius: var(--radio); overflow: hidden; }
.marco-externo iframe { display: block; width: 100%; height: min(900px, 80vh); border: 0; }

/* La Notaría */
.institucional { display: grid; grid-template-columns: 1fr; gap: 2.25rem; align-items: start; }
.institucional-foto img { aspect-ratio: 4 / 3; }
.equipo { padding-block: var(--seccion); border-top: 1px solid var(--c-linea); }
.equipo .contenedor { display: grid; gap: 2rem; }
.equipo--primero { border-top: 0; }
.equipo-cabeza { display: grid; gap: 1rem; }
.equipo-intro p { font-size: 1.125rem; color: var(--c-pizarra); }
.equipo-grupo { display: grid; gap: 1.25rem; }
.equipo-grupo-titulo {
	font-family: var(--f-texto);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-pizarra);
	padding-top: 14px;
	border-top: 2px solid var(--c-sello);
}
.personas { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 32px 28px; }
.persona { display: grid; gap: 14px; align-content: start; }
.persona-foto img { aspect-ratio: 4 / 5; }
.persona-foto--vacia {
	aspect-ratio: 4 / 5;
	display: grid;
	place-items: center;
	border-radius: var(--radio);
	background: var(--c-alterno);
	border: 1px solid var(--c-linea);
}
.persona-foto--vacia span { font-family: var(--f-titulos); font-size: 2.75rem; color: var(--c-sello); opacity: 0.7; }
.persona-texto { display: grid; gap: 4px; }
.persona-nombre { font-family: var(--f-titulos); font-size: 1.35rem; font-weight: 600; line-height: 1.2; }
.persona-cargo { color: var(--c-sello); font-weight: 700; font-size: 1rem; }
.persona-desc { color: var(--c-pizarra); font-size: 1rem; }
.equipo-grupo--titular .personas { grid-template-columns: 1fr; }
.equipo-grupo--titular .persona { grid-template-columns: minmax(0, 280px); }

/* ---------- Aviso institucional ---------- */

.aviso {
	border: 0;
	padding: 0;
	width: min(560px, calc(100% - 32px));
	max-height: calc(100dvh - 32px);
	border-radius: 6px;
	background: var(--c-fondo);
	color: var(--c-tinta);
	box-shadow: 0 24px 60px rgba(18, 38, 30, 0.28);
}
.aviso::backdrop { background: rgba(27, 38, 33, 0.55); }
.aviso-caja {
	position: relative;
	display: grid;
	gap: 14px;
	padding: 30px clamp(20px, 5vw, 36px) 28px;
	border-top: 4px solid var(--c-sello);
}
.aviso-etiqueta { display: inline-flex; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-sello); }
.aviso-etiqueta .icono { width: 20px; height: 20px; }
.aviso-titulo { font-size: 1.75rem; padding-right: 36px; }
.aviso-texto { display: grid; gap: 0.8em; color: var(--c-tinta); }
.aviso-acciones { display: flex; justify-content: flex-end; margin-top: 6px; }
.aviso-cerrar {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--c-pizarra);
	cursor: pointer;
}
.aviso-cerrar:hover { background: var(--c-alterno); color: var(--c-tinta); }
.aviso-cerrar .icono { width: 22px; height: 22px; }

.aviso-pestana {
	position: fixed;
	left: 0;
	bottom: 20px;
	z-index: 40;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 10px 16px 10px 14px;
	border: 0;
	border-radius: 0 var(--radio) var(--radio) 0;
	background: var(--c-sello);
	color: #fff;
	font-family: var(--f-texto);
	font-size: 0.9375rem;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(18, 38, 30, 0.18);
	transition: background-color var(--transicion);
}
.aviso-pestana:hover { background: var(--c-sello-hover); }
.aviso-pestana .icono { width: 22px; height: 22px; }

/* ---------- Carrusel de fotografías ---------- */

.galeria { padding-block: var(--seccion); overflow: hidden; }
.page-template-default .galeria, .page .galeria { border-top: 1px solid var(--c-linea); }

/* Portada: carrusel más compacto (dos fotos a la vista en escritorio). */
.galeria--portada { padding-block: clamp(2.5rem, 2rem + 2.5vw, 4.5rem); }
.galeria--portada .galeria-cabeza { margin-bottom: 1.25rem; }
.galeria--portada .galeria-foto { flex-basis: min(78%, 420px); }
@media (min-width: 1024px) {
	.galeria--portada .galeria-foto { flex-basis: min(40%, 470px); }
}
.galeria-cabeza {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px 24px;
	margin-bottom: 1.75rem;
}
.galeria-controles { display: flex; align-items: center; gap: 10px; }
.galeria-contador { min-width: 4.5ch; text-align: center; color: var(--c-pizarra); font-size: 1rem; }
.galeria-boton {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1.5px solid var(--c-sello);
	border-radius: 50%;
	background: var(--c-fondo);
	color: var(--c-sello);
	cursor: pointer;
	transition: background-color var(--transicion), color var(--transicion), opacity var(--transicion), transform var(--transicion);
}
.galeria-boton:hover { background: var(--c-sello); color: #fff; }
.galeria-boton:active { transform: scale(0.96); }
.galeria-boton[disabled] { opacity: 0.35; pointer-events: none; }
.galeria-boton .icono { width: 20px; height: 20px; }
.galeria-pausa { border-color: var(--c-linea); color: var(--c-pizarra); }
.galeria-pausa .galeria-pausa-pausar,
.galeria-pausa .galeria-pausa-reanudar { display: inline-grid; place-items: center; }
.galeria-pausa .galeria-pausa-reanudar,
.galeria-pausa[aria-pressed="true"] .galeria-pausa-pausar { display: none; }
.galeria-pausa[aria-pressed="true"] .galeria-pausa-reanudar { display: inline-grid; }

.galeria-pista {
	--borde-pista: max(var(--margen-lateral), calc((100% - var(--ancho)) / 2));
	display: flex;
	gap: clamp(14px, 2vw, 24px);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-inline: var(--borde-pista);
	scroll-padding-inline: var(--borde-pista);
	scrollbar-width: none;
}
.galeria-pista::-webkit-scrollbar { display: none; }
.galeria-pista:focus-visible { outline-offset: -3px; }
.galeria-foto {
	flex: 0 0 min(86%, 900px);
	margin: 0;
	display: grid;
	gap: 10px;
	scroll-snap-align: start;
}
.galeria-marco {
	overflow: hidden;
	border-radius: var(--radio);
	aspect-ratio: 3 / 2;
	background: var(--c-alterno);
}
.galeria-marco img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	filter: saturate(0.85);
	transition: transform 1.4s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.6s ease;
}
.galeria-foto.es-activa .galeria-marco img { transform: scale(1); filter: none; }
.galeria-leyenda { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--t-pequeno); color: var(--c-tinta); }
.galeria-leyenda .foto-ref { color: var(--c-pizarra); }
.galeria-progreso { position: relative; height: 2px; margin-top: 20px; background: var(--c-linea); overflow: hidden; }
.galeria-progreso span { position: absolute; inset: 0; background: var(--c-sello); transform-origin: left; transform: scaleX(var(--progreso, 0)); transition: transform 0.5s ease; }
@media (min-width: 1024px) { .galeria-foto { flex-basis: min(72%, 900px); } }

/* ---------- Página de Contacto: canales, reclamos y mapa ---------- */

/* Reclamos y sugerencias */
.reclamos { background: var(--c-alterno); border-block: 1px solid var(--c-linea); }
.reclamos-in { display: grid; gap: 1.75rem; }
.reclamos-cabeza { display: grid; gap: 1rem; align-content: start; }
.reclamos-intro { font-size: 1.0625rem; color: var(--c-pizarra); max-width: 52ch; }
.reclamos-nota { display: flex; gap: 10px; align-items: flex-start; max-width: 52ch; padding: 12px 14px; font-size: var(--t-pequeno); background: var(--c-fondo); border: 1px solid var(--c-linea); border-left: 3px solid var(--c-sello); border-radius: var(--radio); }
.reclamos-nota .icono { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--c-sello); }
@media (min-width: 1024px) {
	.reclamos-in { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
}
.reclamos-pronto { background: var(--c-fondo); align-items: center; }
.vacio-texto > .reclamos-estado { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-sello); }

.reclamo-form { position: relative; display: grid; gap: 1.5rem; padding: clamp(1.25rem, 0.9rem + 1.6vw, 2.25rem); background: var(--c-fondo); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.reclamo-tipo { min-width: 0; margin: 0; padding: 0; border: 0; }
.reclamo-etiqueta { display: block; margin-bottom: 6px; padding: 0; font-size: 1rem; font-weight: 700; color: var(--c-tinta); }
.reclamo-opcional { font-weight: 400; color: var(--c-pizarra); }
.reclamo-ayuda { margin-bottom: 6px; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.reclamo-ayuda--bajo { margin: 6px 0 0; }
/* Tipo: dos tarjetas; al elegir una se despliega el resto del formulario */
.reclamo-opciones { display: grid; gap: 12px; margin-top: 4px; }
@media (min-width: 560px) { .reclamo-opciones { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.reclamo-opcion { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; background: var(--c-fondo); border: 1.5px solid var(--c-linea); border-radius: var(--radio); cursor: pointer; transition: border-color var(--transicion), background-color var(--transicion); }
.reclamo-opcion input { flex: none; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--c-sello); }
.reclamo-opcion:hover { border-color: var(--c-sello); }
.reclamo-opcion:has(input:checked) { border-color: var(--c-sello); background: var(--c-menta); }
.reclamo-opcion:has(input:focus-visible) { outline: 2px solid var(--c-sello); outline-offset: 2px; }
.reclamo-opcion-texto { display: grid; gap: 2px; }
.reclamo-opcion-titulo { font-size: 1.0625rem; font-weight: 700; color: var(--c-tinta); }
.reclamo-opcion:has(input:checked) .reclamo-opcion-titulo { color: var(--c-verde); }
.reclamo-opcion-desc { font-size: var(--t-pequeno); line-height: 1.45; color: var(--c-pizarra); }
.reclamo-pista { margin: 12px 0 0; }
.reclamo-tipo-caja { position: relative; }
.reclamo-tipo > legend { padding-right: 104px; }
.reclamo-cerrar {
	position: absolute;
	top: -9px;
	right: -10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 8px 10px;
	background: transparent;
	border: 0;
	border-radius: var(--radio);
	color: var(--c-pizarra);
	font: inherit;
	font-size: var(--t-pequeno);
	font-weight: 600;
	cursor: pointer;
	transition: color var(--transicion), background-color var(--transicion);
}
.reclamo-cerrar .icono { width: 18px; height: 18px; }
.reclamo-cerrar:hover { background: var(--c-alterno); color: var(--c-tinta); }
.reclamo-cerrar:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 0; }
.reclamo-cancelar { color: var(--c-pizarra); }
.reclamo-cancelar:hover { color: var(--c-tinta); }
[data-reclamo-cerrar][hidden] { display: none; }
.reclamo-resto { display: grid; gap: 1.5rem; }
.reclamo-resto[hidden], .reclamo-pista[hidden] { display: none; }
.reclamo-resto--abriendo { animation: reclamo-abrir 0.35s ease both; }
@keyframes reclamo-abrir { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.reclamo-campos { display: grid; gap: 1.25rem; }
@media (min-width: 720px) {
	.reclamo-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem 1.5rem; }
	.reclamo-campo--ancho { grid-column: 1 / -1; }
}
.reclamo-campo { display: flex; flex-direction: column; min-width: 0; }
.reclamo-campo input:not([type="checkbox"]):not([type="radio"]),
.reclamo-campo textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	background: var(--c-fondo);
	border: 1.5px solid var(--c-borde-campo);
	border-radius: var(--radio);
	color: var(--c-tinta);
	font: inherit;
	font-size: 1rem;
}
.reclamo-campo textarea { min-height: 180px; line-height: 1.55; resize: vertical; }
.reclamo-campo select { width: 100%; min-height: 48px; padding: 10px 14px; background: var(--c-fondo); border: 1.5px solid var(--c-borde-campo); border-radius: var(--radio); color: var(--c-tinta); font: inherit; font-size: 1rem; }
.reclamo-campo select:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 1px; border-color: var(--c-sello); }

/* Solicitud de copia */
.copia-form textarea { min-height: 110px; }
.copia-seccion { display: grid; gap: 14px; min-width: 0; margin: 0; padding: 0; border: 0; }
.copia-seccion + .copia-seccion { padding-top: 0.75rem; }
/* La línea va bajo el título: en un fieldset, un borde superior atraviesa la leyenda. */
.copia-seccion-titulo { width: 100%; margin-bottom: 4px; padding: 0 0 8px; border-bottom: 1px solid var(--c-linea); font-family: var(--f-titulos); font-size: 1.35rem; font-weight: 600; color: var(--c-tinta); }
.copia-escritura { display: grid; gap: 10px; padding: 16px 18px; background: var(--c-alterno); border: 1px solid var(--c-linea); border-left: 3px solid var(--c-sello); border-radius: var(--radio); }
.copia-escritura-rep { font-family: var(--f-datos); font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.copia-escritura-anio { font-size: 1rem; font-weight: 400; color: var(--c-pizarra); }
.copia-escritura-datos { display: grid; gap: 6px; margin: 0; }
.copia-escritura-datos div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 10px; }
.copia-escritura-datos dt { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-pizarra); padding-top: 0.15em; }
.copia-escritura-datos dd { margin: 0; font-size: 0.9375rem; overflow-wrap: anywhere; }
.copia-escritura-cambiar { justify-self: start; font-size: var(--t-pequeno); }
.copia-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }

/* Cantidad de copias: − [n] + junto al título */
.copia-cantidad { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 14px 16px; background: var(--c-alterno); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.copia-cantidad .reclamo-etiqueta { margin: 0; }
.contador { display: inline-flex; align-items: stretch; background: var(--c-fondo); border: 1.5px solid var(--c-borde-campo); border-radius: var(--radio); overflow: hidden; }
.contador:focus-within { border-color: var(--c-sello); }
.contador-boton { display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; background: var(--c-fondo); border: 0; color: var(--c-sello); font: inherit; font-size: 1.35rem; font-weight: 700; line-height: 1; cursor: pointer; transition: background-color var(--transicion); }
.contador-boton:hover:not([aria-disabled="true"]) { background: var(--c-menta); }
.contador-boton:focus-visible { outline: 2px solid var(--c-sello); outline-offset: -2px; }
.contador-boton[aria-disabled="true"] { color: var(--c-borde-campo); cursor: default; }
.contador-boton[hidden] { display: none; }
.contador input[type="number"] { width: 3.25rem; min-height: 44px; padding: 0; background: var(--c-fondo); border: 0; border-inline: 1px solid var(--c-linea); color: var(--c-tinta); font-family: var(--f-datos); font-size: 1.15rem; font-weight: 700; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.contador input[type="number"]::-webkit-inner-spin-button, .contador input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.contador input[type="number"]:focus-visible { outline: 2px solid var(--c-sello); outline-offset: -2px; }
.copia-vigencia { display: grid; gap: 4px; }
.copia-vigencia-ayuda { margin: 0; padding-left: 34px; }
.nota-margen .boton { justify-self: start; }
@media (max-width: 519px) { .copia-escritura-datos div { grid-template-columns: 1fr; gap: 2px; } }
.reclamo-campo input:focus-visible, .reclamo-campo textarea:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 1px; border-color: var(--c-sello); }
.reclamo-contador { align-self: flex-end; margin-top: 6px; font-size: 0.8125rem; color: var(--c-pizarra); }
.reclamo-check { display: flex; gap: 12px; align-items: flex-start; font-size: var(--t-pequeno); line-height: 1.5; cursor: pointer; }
.reclamo-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--c-sello); }
.reclamo-check input:focus-visible { outline: 2px solid var(--c-sello); outline-offset: 2px; }

/* Errores: borde lateral, texto en rojo y resumen al inicio */
.reclamo-campo--error { padding-left: 14px; border-left: 3px solid var(--c-error); }
.reclamo-campo--error input:not([type="checkbox"]):not([type="radio"]), .reclamo-campo--error textarea { border-color: var(--c-error); }
.reclamo-error { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 6px; font-size: var(--t-pequeno); font-weight: 700; color: var(--c-error); }
.reclamo-error .icono { flex: none; width: 18px; height: 18px; margin-top: 2px; }
.reclamo-errores { padding: 16px 18px; background: var(--c-error-fondo); border: 2px solid var(--c-error); border-radius: var(--radio); }
.reclamo-errores:focus { outline: none; }
.reclamo-errores-titulo { font-weight: 700; }
.reclamo-errores ul { display: grid; gap: 4px; margin-top: 8px; padding-left: 1.2em; }
.reclamo-errores a { font-weight: 700; color: var(--c-error); }

.reclamo-trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.reclamo-enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 1.25rem; border-top: 1px solid var(--c-linea); }
.reclamo-enviar .reclamo-ayuda { margin: 0; }

/* Confirmación */
.reclamo-exito { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); background: var(--c-fondo); border: 1px solid var(--c-linea); border-top: 3px solid var(--c-sello); border-radius: var(--radio); }
.reclamo-exito:focus { outline: none; }
.reclamo-exito-icono { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--c-menta); color: var(--c-sello); }
.reclamo-exito-icono .icono { width: 26px; height: 26px; }
.reclamo-exito-texto { display: grid; gap: 10px; }
.reclamo-exito-titulo { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem); }
.reclamo-folio { font-size: 1.1em; color: var(--c-sello); white-space: nowrap; }
@media (max-width: 519px) { .reclamo-exito { grid-template-columns: 1fr; } }

.contacto-mapa { background: var(--c-fondo); border-bottom: 1px solid var(--c-linea); }
.contacto-mapa-cabeza { padding-block: var(--seccion) 1.5rem; }
.contacto-mapa-lienzo { position: relative; background: var(--c-alterno); border-top: 1px solid var(--c-linea); }
/* Mientras Google carga el mapa, se ve un marcador de ubicación en vez de un recuadro vacío. */
.contacto-mapa-marco { display: block; width: 100%; height: clamp(380px, 64vh, 660px); border: 0; background: var(--c-alterno) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%23056233' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / 48px no-repeat; }
.contacto-mapa-marco--vacio { background: repeating-linear-gradient(90deg, rgba(3, 97, 50, 0.05) 0 1px, transparent 1px 56px), repeating-linear-gradient(0deg, rgba(3, 97, 50, 0.05) 0 1px, transparent 1px 56px), var(--c-alterno); }
/* Móvil: el cuadro va bajo el mapa, a todo el ancho, sin tapar nada. */
.contacto-mapa-capa { padding: 16px var(--margen-lateral) 24px; }
.contacto-mapa-ficha {
	display: grid;
	gap: 10px;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-top: 3px solid var(--c-sello);
	border-radius: var(--radio);
	padding: 18px 20px 20px;
}
.contacto-mapa-direccion { font-family: var(--f-titulos); font-size: 1.35rem; font-weight: 600; line-height: 1.25; }
.contacto-mapa-nota { display: flex; align-items: center; gap: 8px; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.contacto-mapa-nota .icono { width: 18px; height: 18px; color: var(--c-sello); }
.contacto-mapa-acciones { display: grid; gap: 8px; margin-top: 4px; }
.contacto-mapa-acciones .boton { width: 100%; justify-content: flex-start; padding-inline: 1em; font-size: 0.9375rem; }
.contacto-mapa-acciones .boton--contorno { background: var(--c-fondo); }
@media (max-width: 899px) {
	.contacto-mapa-marco { height: clamp(300px, 52vh, 420px); }
}
/* Escritorio: cuadro compacto en la esquina inferior izquierda, lejos del pin (centro del mapa). */
@media (min-width: 900px) {
	/* El cuadro se eleva para dejar libre el botón «Satélite» de Google (abajo a la izquierda),
	   y el mapa tiene alto suficiente para no chocar con la ficha de Google (arriba a la izquierda). */
	.contacto-mapa-marco { height: clamp(540px, 68vh, 700px); }
	.contacto-mapa-capa { position: absolute; left: clamp(16px, 2vw, 32px); bottom: 88px; padding: 0; pointer-events: none; }
	.contacto-mapa-ficha { pointer-events: auto; width: 344px; box-shadow: 0 14px 34px rgba(18, 38, 30, 0.16); }
}

.canales-grilla { display: grid; grid-template-columns: 1fr; gap: 16px; }
.canal {
	display: grid;
	gap: 8px;
	align-content: start;
	justify-items: start;
	padding: 26px 26px 28px;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	color: var(--c-tinta);
	text-decoration: none;
	transition: border-color 0.25s ease, background-color 0.25s ease;
}
a.canal:hover { border-color: var(--c-sello); background: var(--c-alterno); color: var(--c-tinta); }
a.canal:hover .ficha-icono { background: var(--c-sello); color: #fff; }
.canal .ficha-icono { margin-bottom: 6px; }
.canal-etiqueta { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-pizarra); }
.canal-valor { font-family: var(--f-titulos); font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem); font-weight: 600; line-height: 1.2; color: var(--c-sello); overflow-wrap: anywhere; }
.canal-valor.dato { font-family: var(--f-datos); font-weight: 600; letter-spacing: -0.01em; }
.canal-nota { font-size: 0.9375rem; color: var(--c-pizarra); }
.canal-horario { gap: 6px 14px; font-size: 1rem; }
.canal-horario .dato { white-space: nowrap; }
.canal-valor--correo { font-size: clamp(1.1rem, 0.95rem + 0.5vw, 1.35rem); overflow-wrap: break-word; word-break: break-word; }
.canales-redes { display: flex; align-items: center; gap: 10px; margin-top: 1.5rem; color: var(--c-pizarra); }
.canales-redes .icono { width: 20px; height: 20px; color: var(--c-sello); }
.canales-contenido { margin-top: 1.5rem; }
@media (min-width: 720px) {
	.canales-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.canal--horario { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
	.canales-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.canal--horario { grid-column: auto; }
}

/* Estacionamiento para clientes (Contacto) */
.estacionamiento { background: var(--c-menta); border-bottom: 1px solid var(--c-linea); padding-block: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem); }
.estacionamiento-in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 22px; align-items: center; }
.estacionamiento-marca { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--radio); background: var(--c-sello); color: #fff; }
.estacionamiento-marca .icono { width: 34px; height: 34px; }
.estacionamiento-texto { display: grid; gap: 6px; }
.estacionamiento-titulo { font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem); }
.estacionamiento-detalle { display: grid; gap: 0.4em; color: var(--c-tinta); max-width: 70ch; }
.estacionamiento-acceso { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--c-verde); }
.estacionamiento-acceso .icono { width: 18px; height: 18px; color: var(--c-sello); }
.estacionamiento-in > .boton { grid-column: 1 / -1; justify-self: start; background: var(--c-fondo); }
@media (min-width: 900px) {
	.estacionamiento-in { grid-template-columns: auto minmax(0, 1fr) auto; }
	.estacionamiento-in > .boton { grid-column: auto; }
}

/* Distintivos (modalidad, estacionamiento) */
.distintivos { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.distintivos .distintivo { justify-self: auto; }

/* Botones del pie */
.pie-acciones { display: grid; gap: 10px; width: 100%; max-width: 280px; margin-top: 8px; }
.pie-acciones .boton { width: 100%; }
.datos-estacionamiento > span > span:last-child { color: var(--c-tinta); }

/* ---------- Funcionarios: fichas compactas por área ---------- */

.equipo-grupo--funcionario { gap: 2rem; }
.equipo-area { display: grid; gap: 1rem; }
.equipo-area-titulo { font-size: 1.35rem; }
.personas--fichas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 12px; }
.persona--ficha {
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
	padding: 16px 18px;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	transition: border-color 0.25s ease, background-color 0.25s ease;
}
.persona--ficha:hover { border-color: var(--c-sello); background: var(--c-alterno); }
.persona-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}
.persona-avatar--vacio {
	display: grid;
	place-items: center;
	background: var(--c-menta);
	color: var(--c-sello);
	font-family: var(--f-titulos);
	font-size: 1.2rem;
	font-weight: 600;
}
.persona--ficha .persona-nombre { font-size: 1.15rem; }
.persona--ficha .persona-cargo { font-size: 0.9375rem; }
.persona--ficha .persona-contacto { margin-top: 4px; }

/* ---------- Tarjetas del equipo: contacto ---------- */

.persona-contacto { list-style: none; display: grid; gap: 6px; margin-top: 6px; font-size: 0.9375rem; }
.persona-contacto li { display: flex; align-items: center; gap: 8px; min-width: 0; }
.persona-contacto .icono { width: 16px; height: 16px; color: var(--c-sello); }
.persona-contacto a { overflow-wrap: anywhere; }

/* ---------- Movimiento: entrada de la portada, apariciones y detalles ---------- */

.cabecera-principal { transition: box-shadow 0.3s ease; }
.cabecera.con-sombra .cabecera-principal { box-shadow: 0 8px 24px rgba(27, 38, 33, 0.07); }

.boton { transition: background-color var(--transicion), color var(--transicion), border-color var(--transicion), transform var(--transicion); }
.boton:active { transform: translateY(1px); }

.acceso-icono, .acceso-flecha { transition: transform 0.25s ease; }
.acceso:hover .acceso-icono { transform: translateY(-2px); }
.acceso:hover .acceso-flecha { transform: translateX(3px); }

.ficha-icono { transition: background-color 0.25s ease, color 0.25s ease; }
.tramite-fila:hover .ficha-icono, .fila-servicio:hover .ficha-icono { background: var(--c-sello); color: #fff; }

@media (min-width: 1140px) {
	.nav-enlace { position: relative; }
	.nav-enlace:not(.es-actual)::after {
		content: "";
		position: absolute;
		left: 11px;
		right: 11px;
		bottom: 6px;
		height: 2px;
		background: var(--c-sello);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.25s ease;
	}
	.nav-enlace:not(.es-actual):hover::after { transform: scaleX(1); }
}

@keyframes noc-subir {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}
@keyframes noc-foto {
	from { clip-path: inset(12% 0 0 0 round 4px); transform: scale(1.06); opacity: 0.4; }
	to { clip-path: inset(0 0 0 0 round 4px); transform: scale(1); opacity: 1; }
}
@keyframes noc-anillo {
	from { opacity: 0; transform: rotate(-8deg) scale(0.96); }
	to { opacity: 0.06; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
	.js .portada-texto > * { animation: noc-subir 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.js .portada-texto > :nth-child(2) { animation-delay: 0.08s; }
	.js .portada-texto > :nth-child(3) { animation-delay: 0.16s; }
	.js .portada-texto > :nth-child(4) { animation-delay: 0.24s; }
	.js .portada-foto img { animation: noc-foto 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) 0.1s both; }
	.js .portada-anillo { animation: noc-anillo 1.8s ease-out both; }
	.js .accesos { animation: noc-subir 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.32s both; }
	.js .cabecera-pagina .contenedor > * { animation: noc-subir 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
	.js .cabecera-pagina .contenedor > :nth-child(2) { animation-delay: 0.06s; }
	.js .cabecera-pagina .contenedor > :nth-child(3) { animation-delay: 0.12s; }
	.js .cabecera-pagina-anillo { animation: noc-anillo 1.8s ease-out both; }

	/* Apariciones al desplazarse: solo elementos que empiezan fuera de la pantalla. */
	.js .revelar {
		opacity: 0;
		transform: translateY(22px);
		transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
		transition-delay: var(--retraso, 0s);
	}
	.js .revelar.visible { opacity: 1; transform: none; }
}

/* ==========================================================================
   Seguimiento de escrituras
   ========================================================================== */

.seg-form { margin-bottom: 2.5rem; }
/* Las dos etiquetas y los dos recuadros a la misma altura: la ayuda de la OT
   va en su propia fila, debajo, en vez de dentro del campo. */
.seg-campos { align-items: end; }
.seg-ayuda { margin: -0.75rem 0 0; }
@media (min-width: 720px) {
	.seg-campos { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: 1rem 1.25rem; }
	.seg-campo--rep { grid-area: 1 / 1; }
	.seg-campo--ot  { grid-area: 1 / 2; }
	.seg-ayuda      { grid-area: 2 / 2; margin: 0; }
	.seg-enviar     { grid-area: 1 / 3; }
}
.seg-enviar { display: flex; }
.seg-enviar .boton { min-height: 48px; }

.seg-demo {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 1.5rem;
	padding: 12px 16px;
	background: var(--c-aviso-fondo);
	border-radius: var(--radio);
	color: var(--c-aviso-texto);
	font-size: var(--t-pequeno);
}
.seg-demo .icono { flex: none; width: 20px; height: 20px; margin-top: 1px; }

.seg-resultado {
	display: grid;
	gap: 1.75rem;
	padding: clamp(20px, 4vw, 32px);
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
}
.seg-resultado:focus { outline: none; }

.seg-cabecera { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: baseline; padding-bottom: 1.25rem; border-bottom: 1px solid var(--c-linea); }
.seg-rep { margin: 0; font-family: var(--f-datos); font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.seg-rep-anio { font-size: 1rem; font-weight: 400; color: var(--c-pizarra); }
.seg-identificacion { min-width: 0; }
.seg-materia { margin: 0; font-family: var(--f-titulos); font-size: var(--t-h3); font-weight: 600; line-height: 1.25; }
.seg-ot { margin: 2px 0 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }

.seg-estado { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 16px 18px; background: var(--c-alterno); border-left: 3px solid var(--c-pizarra); border-radius: var(--radio); }
.seg-estado-icono { display: flex; flex: none; color: var(--c-pizarra); }
.seg-estado-icono .icono { width: 26px; height: 26px; }
.seg-estado-texto { display: grid; gap: 4px; min-width: 0; }
.seg-estado-texto strong { font-size: var(--t-destacado); font-weight: 700; line-height: 1.3; }
.seg-estado-fecha { font-family: var(--f-datos); font-size: var(--t-pequeno); color: var(--c-pizarra); }
.seg-estado-resumen { font-size: var(--t-pequeno); }
.seg-estado--curso { background: var(--c-menta); border-left-color: var(--c-verde); }
.seg-estado--curso .seg-estado-icono { color: var(--c-verde); }
.seg-estado--lista { background: var(--c-menta); border-left-color: var(--c-sello); }
.seg-estado--lista .seg-estado-icono { color: var(--c-sello); }
.seg-estado--anulada { background: var(--c-error-fondo); border-left-color: var(--c-error); }
.seg-estado--anulada .seg-estado-icono { color: var(--c-error); }

.seg-avisos { display: grid; gap: 10px; margin: 0; padding: 14px 18px 14px 36px; background: var(--c-aviso-fondo); border-radius: var(--radio); color: var(--c-aviso-texto); font-size: var(--t-pequeno); }
.seg-avisos li { margin: 0; }

.seg-datos { display: grid; gap: 10px; margin: 0; }
.seg-datos div { display: grid; gap: 4px; }
@media (min-width: 560px) {
	.seg-datos div { grid-template-columns: 11rem minmax(0, 1fr); gap: 12px; }
}
.seg-datos dt { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-pizarra); padding-top: 0.15em; }
.seg-datos dd { margin: 0; font-size: 0.9375rem; overflow-wrap: anywhere; }

.seg-subtitulo { margin: 0; padding-bottom: 8px; border-bottom: 1px solid var(--c-linea); font-family: var(--f-titulos); font-size: 1.25rem; font-weight: 600; }
.seg-subtitulo-ayuda { margin: 6px 0 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }

.seg-documentos, .seg-historial { display: grid; gap: 14px; }
.seg-documentos-lista { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.seg-documentos-lista li { display: grid; gap: 3px; padding: 12px 16px; background: var(--c-crema); border-radius: var(--radio); }
.seg-documento-nombre { font-weight: 700; }
.seg-documento-glosa { font-size: var(--t-pequeno); }
.seg-documento-fecha { font-family: var(--f-datos); font-size: 0.8125rem; color: var(--c-pizarra); }

.seg-linea { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.seg-etapa { display: grid; gap: 2px 18px; padding: 14px 0 14px 22px; border-left: 2px solid var(--c-linea); position: relative; }
@media (min-width: 640px) {
	.seg-etapa { grid-template-columns: 7.5rem minmax(0, 1fr); }
}
.seg-etapa::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 20px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--c-fondo);
	border: 2px solid var(--c-linea);
}
.seg-etapa--actual { border-left-color: var(--c-sello); }
.seg-etapa--actual::before { background: var(--c-sello); border-color: var(--c-sello); }
.seg-etapa--reparo::before { background: var(--c-error); border-color: var(--c-error); }
.seg-etapa--pendiente::before { border-color: var(--c-aviso-texto); }
.seg-etapa--termino::before { background: var(--c-sello); border-color: var(--c-sello); }
.seg-etapa-fecha { margin: 0; font-family: var(--f-datos); font-size: 0.875rem; color: var(--c-pizarra); }
.seg-etapa-hora { margin-left: 6px; }
.seg-etapa-cuerpo { display: grid; gap: 3px; min-width: 0; }
.seg-etapa-titulo { margin: 0; font-weight: 700; line-height: 1.35; }
.seg-etapa-marca { display: inline-block; margin-left: 6px; padding: 2px 8px; background: var(--c-menta); border-radius: 999px; color: var(--c-verde); font-size: 0.75rem; font-weight: 700; vertical-align: 2px; white-space: nowrap; }
.seg-etapa-detalle { margin: 0; font-size: var(--t-pequeno); }
.seg-etapa--reparo .seg-etapa-detalle { color: var(--c-error); }
.seg-etapa-quien { margin: 0; font-size: 0.8125rem; color: var(--c-pizarra); }

/* Plazo de 60 días */
.seg-plazo { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; align-items: center; margin: 0; padding: 14px 18px; background: var(--c-alterno); border: 1px solid var(--c-linea); border-radius: var(--radio); }
.seg-plazo p { margin: 0; }
.seg-plazo-dias { font-size: 1.5rem; font-weight: 700; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.seg-plazo-texto { font-size: var(--t-pequeno); color: var(--c-pizarra); }
.seg-plazo--pronto { background: var(--c-aviso-fondo); border-color: var(--c-aviso-texto); }
.seg-plazo--pronto .seg-plazo-dias, .seg-plazo--pronto .seg-plazo-texto { color: var(--c-aviso-texto); }
.seg-plazo--vencido { display: block; background: var(--c-error-fondo); border-color: var(--c-error); color: var(--c-error); }
.seg-plazo--vencido p + p { margin-top: 4px; font-size: var(--t-pequeno); }
.seg-plazo-titulo { font-weight: 700; }

/* Ejecutivo a cargo */
.seg-ejecutivo { display: grid; gap: 12px; }
.seg-ejecutivo-ficha { display: flex; gap: 14px; align-items: flex-start; }
.seg-ejecutivo-icono { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-menta); color: var(--c-verde); }
.seg-ejecutivo-icono .icono { width: 22px; height: 22px; }
.seg-ejecutivo-datos { display: grid; gap: 2px; min-width: 0; }
.seg-ejecutivo-nombre { margin: 0; font-weight: 700; }
.seg-ejecutivo-cargo { margin: 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.seg-ejecutivo-contacto { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 6px 0 0; padding: 0; list-style: none; font-size: var(--t-pequeno); }
.seg-ejecutivo-contacto li { display: inline-flex; gap: 6px; align-items: center; overflow-wrap: anywhere; }
.seg-ejecutivo-contacto .icono { flex: none; width: 16px; height: 16px; color: var(--c-sello); }
.seg-ejecutivo-nota { color: var(--c-pizarra); }

.seg-pie { margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--c-linea); font-size: var(--t-pequeno); color: var(--c-pizarra); }

/* ==========================================================================
   Área de clientes institucionales
   ========================================================================== */

/* Aviso de suplantación: tiene que verse siempre, encima de todo. */
.cli-suplanta {
	position: sticky;
	top: 0;
	z-index: 1000;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	justify-content: center;
	padding: 8px var(--margen-lateral);
	background: var(--c-aviso-fondo);
	border-bottom: 2px solid var(--c-aviso-texto);
	color: var(--c-aviso-texto);
	font-size: var(--t-pequeno);
}
.admin-bar .cli-suplanta { top: 32px; }
.cli-suplanta form { margin: 0; }
.cli-suplanta button {
	padding: 4px 12px;
	background: var(--c-aviso-texto);
	border: 0;
	border-radius: var(--radio);
	color: var(--c-aviso-fondo);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.cli-suplanta button:focus-visible { outline: 2px solid var(--c-tinta); outline-offset: 2px; }

.cli-form { max-width: 34rem; }
.cli-campos { grid-template-columns: 1fr !important; }
.cli-titulo { margin: 0 0 4px; font-family: var(--f-titulos); font-size: var(--t-h3); font-weight: 600; }
.cli-acciones { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 1.25rem; }
.cli-aviso {
	display: flex; gap: 10px; align-items: center;
	margin: 0 0 1.25rem; padding: 10px 14px;
	background: var(--c-menta); border-radius: var(--radio);
	color: var(--c-verde); font-size: var(--t-pequeno);
}
.cli-aviso .icono { flex: none; width: 20px; height: 20px; }

.cli-principal { display: grid; gap: 1.5rem; min-width: 0; }
.cli-barra { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; }
.cli-cuenta { margin: 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.cli-salir { margin: 0; }
.cli-volver { display: inline-flex; gap: 6px; align-items: center; }
.cli-volver .icono { width: 18px; height: 18px; }

/* Proyectos: pestañas que se desplazan en pantallas angostas. */
.cli-proyectos {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	border-bottom: 1px solid var(--c-linea);
	scrollbar-width: thin;
}
.cli-proyectos a {
	flex: none;
	padding: 10px 14px;
	border-bottom: 3px solid transparent;
	color: var(--c-pizarra);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.cli-proyectos a:hover { color: var(--c-tinta); }
.cli-proyectos a[aria-current] { border-bottom-color: var(--c-sello); color: var(--c-tinta); }

.cli-filtros { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: end; justify-content: space-between; }
.cli-contadores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; flex: 1 1 28rem; min-width: 0; }
/* Cinco contadores en dos columnas dejan uno solo al final: ese ocupa
   el ancho completo, para que no quede una celda vacía al lado. */
.cli-contadores li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 639px) { .cli-contadores { flex-basis: 100%; } }
@media (min-width: 640px) { .cli-contadores { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .cli-contadores { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.cli-contadores a {
	display: grid;
	gap: 2px;
	padding: 10px 14px;
	background: var(--c-fondo);
	border: 1px solid var(--c-linea);
	border-radius: var(--radio);
	color: var(--c-tinta);
	text-decoration: none;
	transition: border-color var(--transicion), background-color var(--transicion);
}
.cli-contadores a:hover { border-color: var(--c-borde-campo); }
.cli-contadores a[aria-current] { background: var(--c-menta); border-color: var(--c-sello); }
.cli-contador-num { font-size: 1.5rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.cli-contador-txt { font-size: var(--t-pequeno); color: var(--c-pizarra); }
.cli-anio { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 10px 20px; align-items: center; margin: 0; font-size: var(--t-pequeno); }
.cli-campo { display: inline-flex; gap: 8px; align-items: center; min-width: 0; }
.cli-campo label { font-weight: 700; }
#cli-proyecto { max-width: min(26rem, 70vw); }
.cli-anio select { min-height: 40px; padding: 6px 10px; border: 1.5px solid var(--c-borde-campo); border-radius: var(--radio); background: var(--c-fondo); color: var(--c-tinta); font: inherit; }
.cli-anio input[type="search"] { min-height: 40px; padding: 6px 10px; border: 1.5px solid var(--c-borde-campo); border-radius: var(--radio); background: var(--c-fondo); color: var(--c-tinta); font: inherit; }

.cli-tabla-envoltura { overflow-x: auto; border: 1px solid var(--c-linea); border-radius: var(--radio); }
.cli-tabla { width: 100%; min-width: 720px; border-collapse: collapse; font-size: var(--t-pequeno); }
.cli-tabla th, .cli-tabla td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--c-linea); }
.cli-tabla thead th { background: var(--c-alterno); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-pizarra); }
.cli-tabla tbody tr:last-child > * { border-bottom: 0; }
.cli-tabla tbody tr:hover { background: var(--c-alterno); }
.cli-tabla .dato { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* La lupa avisa que el número abre el historial de la escritura. */
.cli-rep { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 1rem; color: var(--c-sello); text-decoration: none; }
.cli-rep span { font-weight: 400; color: var(--c-pizarra); }
.cli-rep:hover { text-decoration: underline; }
.cli-rep-lupa { width: 14px; height: 14px; flex: none; opacity: 0.55; }
.cli-rep--sin { color: var(--c-pizarra); font-weight: 400; font-size: var(--t-pequeno); }
.cli-rep:hover .cli-rep-lupa, .cli-rep:focus-visible .cli-rep-lupa { opacity: 1; }
.cli-materia { display: block; font-weight: 600; }
.cli-partes { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 42ch; color: var(--c-pizarra); }
.cli-estado { display: inline-block; padding: 3px 10px; border-radius: 6px; font-weight: 600; line-height: 1.4; }
/* Ancho suficiente para que los estados habituales quepan en una línea. */
.cli-tabla td:nth-child(4) { min-width: 13rem; }
.cli-estado--curso { background: var(--c-menta); color: var(--c-verde); }
.cli-estado--lista { background: var(--c-sello); color: #fff; }
.cli-estado--anulada { background: var(--c-error-fondo); color: var(--c-error); }
.cli-marca { display: block; margin-top: 4px; font-size: 0.8125rem; color: var(--c-aviso-texto); }
.cli-marca--plazo { font-weight: 700; }
.cli-marca--vencida { font-weight: 700; color: var(--c-error); }
.cli-folio { color: var(--c-pizarra); }

.cli-nota { margin: 0; font-size: var(--t-pequeno); color: var(--c-pizarra); }
.cli-actualizado { display: inline-flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.cli-refrescar { display: inline-flex; align-items: center; gap: 6px; }
.cli-refrescar svg { width: 15px; height: 15px; }
[data-vista][aria-busy="true"] { opacity: 0.55; transition: opacity 120ms ease; }
[data-vista][aria-busy="true"] a, [data-vista][aria-busy="true"] button { pointer-events: none; }

/* Grupo de filtros que en el teléfono se pliega tras «Más filtros». */
.cli-avanzados { display: contents; }
.cli-mas { padding-block: 6px; }
@media (max-width: 699px) {
	.cli-avanzados { display: flex; flex-wrap: wrap; gap: 8px 14px; flex: 1 1 100%; }
	.cli-avanzados[hidden] { display: none; }
	.cli-avanzados .cli-campo { flex: 1 1 100%; }
	.cli-avanzados select { flex: 1 1 auto; min-width: 0; }
}
.cli-campo--buscar { flex: 1 1 15rem; }
.cli-campo--buscar input { width: 100%; }
.cli-anio .cli-buscar { padding-block: 8px; }
@media (max-width: 599px) { .cli-campo--buscar { flex-basis: 100%; } }

/* Hora del dato, «Actualizar» y «Descargar Excel»: su propia fila, alineada
   a la derecha bajo los filtros, para que no compitan con la nota del
   período ni con los contadores. */
.cli-acciones-lista { display: inline-flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-left: auto; }
.cli-periodo { margin: 1rem 0 0; max-width: 44rem; }
.cli-excel { display: inline-flex; align-items: center; gap: 8px; }
.cli-excel svg { width: 18px; height: 18px; flex: none; }
.cli-excel[aria-busy="true"] { opacity: 0.6; pointer-events: none; }
@media (max-width: 599px) { .cli-acciones-lista { flex: 1 1 100%; justify-content: space-between; margin-left: 0; } }
@media (max-width: 419px) { .cli-excel { padding-inline: 12px; } }
@media (max-width: 479px) { .cli-excel-n { display: none; } }
/* En el teléfono la tabla no cabe: cada escritura pasa a ser una ficha, con
   el repertorio y la fecha en la primera línea, y el resto debajo con su
   etiqueta. Antes había que desplazar la tabla de lado y las columnas
   quedaban cortadas. */
@media (max-width: 699px) {
	/* En el teléfono lo que importa es llegar pronto a las escrituras, así que
	   filtros y contadores se aprietan: antes la primera escritura empezaba a
	   769 px de alto, casi una pantalla completa de desplazamiento. */
	.cli-filtros { gap: 10px 16px; }
	.cli-anio { gap: 8px 14px; }
	.cli-contadores { gap: 6px; }
	.cli-contadores a { padding: 8px 10px; gap: 0; }
	.cli-contador-num { font-size: 1.125rem; }
	.cli-contador-txt { font-size: 0.75rem; }
	.cli-acciones-lista { gap: 6px 14px; }
	.cli-periodo { margin-top: 0.8rem; }
	.cli-tabla-envoltura { overflow: visible; border: 0; border-radius: 0; }
	.cli-tabla { min-width: 0; }
	.cli-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.cli-tabla tbody tr {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 6px 12px;
		padding: 14px 16px;
		margin-bottom: 10px;
		border: 1px solid var(--c-linea);
		border-radius: var(--radio);
	}
	.cli-tabla tbody tr:hover { background: transparent; }
	.cli-tabla tbody th, .cli-tabla tbody td { padding: 0; border: 0; }
	.cli-tabla tbody th { grid-column: 1; }
	.cli-tabla tbody td:nth-child(2) { grid-column: 2; grid-row: 1; justify-self: end; color: var(--c-pizarra); }
	.cli-tabla tbody td:nth-child(3),
	.cli-tabla tbody td:nth-child(4),
	.cli-tabla tbody td:nth-child(5) { grid-column: 1 / -1; }
	.cli-tabla td:nth-child(4) { min-width: 0; }
	.cli-partes { -webkit-line-clamp: 3; max-width: none; }
	/* El número interno se entiende con su etiqueta delante. */
	.cli-folio::before { content: attr(data-etiqueta) ": "; }
	.cli-paginas { justify-content: space-between; }
}
.cli-paginas { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; justify-content: center; font-size: var(--t-pequeno); }
.cli-paginas span { color: var(--c-pizarra); }

/* ==========================================================================
   Tamaños de pantalla
   ========================================================================== */

@media (max-width: 719px) {
	.cabecera-util { display: none; }
	.cabecera { top: 0; }
	.admin-bar .cabecera { top: 0; }
	.marca-isotipo { width: 46px; }
	.marca-nombre { font-size: 1.15rem; }
	.aviso-pestana { padding: 12px; }
	.aviso-pestana-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.pie-base-in { padding-bottom: 88px; }
	.vacio { grid-template-columns: 1fr; }
	.documento { grid-template-columns: 1fr; }
	.documento .ficha-icono { display: none; }
	.documento-acciones { grid-column: 1; }

	/* Resultados del índice como fichas */
	.tabla-indice-marco { overflow: visible; background: transparent; border: 0; }
	.tabla-indice thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.tabla-indice, .tabla-indice tbody { display: block; }
	.tabla-indice tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; margin-bottom: 10px; padding: 14px 16px; background: var(--c-fondo); border: 1px solid var(--c-linea); border-radius: var(--radio); }
	.tabla-indice td { display: block; width: auto; padding: 0; border: 0 !important; background: none !important; }
	.indice-rep-n, .indice-rep-a { display: inline; }
	.indice-rep-a::before { content: " / "; content: " / " / ""; }
	.indice-fecha { padding-top: 2px; text-align: right; }
	.indice-personas, .indice-materia, .indice-copia { grid-column: 1 / -1; }
	.indice-copia { width: auto; padding-top: 2px; }
	.indice-materia { width: auto; padding-top: 8px; border-top: 1px solid var(--c-linea) !important; }
	.paginacion--indice { justify-content: center; }
	.paginacion--indice .paginacion-texto { order: -1; flex-basis: 100%; text-align: center; }
}

@media (min-width: 1024px) {
	.accesos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.acceso { border-top: 0; border-left: 1px solid var(--c-linea); }
	.acceso:first-child { border-left: 0; border-radius: var(--radio) 0 0 var(--radio); }
	.acceso:last-child { border-radius: 0 var(--radio) var(--radio) 0; }
}

@media (min-width: 720px) {
	.pie-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cuadros-instrucciones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.buscador--indice { grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr) auto; }
	.servicio-externo { grid-template-columns: auto 1fr auto; }
	.servicio-externo .boton { grid-column: auto; }
	.documento { grid-template-columns: auto 1fr auto; align-items: center; }
	.documento-acciones { grid-column: auto; }
	.equipo-grupo--titular .persona { grid-template-columns: 240px minmax(0, 1fr); align-items: center; gap: 28px; }
	.equipo-grupo--titular .persona-nombre { font-size: 1.75rem; }
}

@media (min-width: 900px) {
	.portada-in { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 5vw, 4.5rem); }
	.lista-tramites { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lista-tramites > li { border-bottom: 0; }
	.presentacion-in { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
	.presentacion-foto { grid-column: 1 / 8; grid-row: 1; }
	.presentacion-panel { grid-column: 7 / 13; grid-row: 1; margin: 0; }
	.dos-columnas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 6vw, 6rem); }
	.contacto-in { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 5vw, 5rem); }
	.mapa { min-height: 440px; }
	.institucional { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2.5rem, 5vw, 5rem); }
	.institucional--sin-foto { grid-template-columns: 1fr; }
}

@media (min-width: 1024px) {
	.con-margen { grid-template-columns: 220px minmax(0, 1fr); gap: 56px; }
	.margen { position: sticky; top: calc(var(--cabecera-alto) + 24px); }
	.admin-bar .margen { top: calc(var(--cabecera-alto) + 24px + var(--wp-admin--admin-bar--height, 0px)); }
	.pie-in { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
	.lista-tramites--catalogo { grid-template-columns: 1fr; }
}

@media (min-width: 1200px) {
	.lista-tramites--catalogo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Navegación móvil y tabletas */
@media (max-width: 1139px) {
	.menu-boton {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 48px;
		padding: 10px 16px;
		border: 1.5px solid var(--c-sello);
		border-radius: var(--radio);
		background: var(--c-fondo);
		color: var(--c-sello);
		font-family: var(--f-texto);
		font-size: 1rem;
		font-weight: 700;
		cursor: pointer;
	}
	.menu-boton .icono { width: 22px; height: 22px; }
	.menu-boton span { display: inline-flex; align-items: center; gap: 8px; }
	.menu-boton-cerrar { display: none !important; }
	.menu-abierto .menu-boton { background: var(--c-sello); color: #fff; }
	.menu-abierto .menu-boton-abrir { display: none !important; }
	.menu-abierto .menu-boton-cerrar { display: inline-flex !important; }

	.navegacion {
		position: fixed;
		left: 0;
		right: 0;
		top: var(--nav-top, var(--cabecera-alto));
		bottom: 0;
		z-index: 60;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		padding: 8px var(--margen-lateral) 32px;
		background: var(--c-fondo);
		border-top: 1px solid var(--c-linea);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.menu-abierto .navegacion { display: flex; }
	.menu-abierto { overflow: hidden; }

	.nav-lista { flex-direction: column; align-items: stretch; gap: 0; }
	.nav-item { border-bottom: 1px solid var(--c-linea); }
	.nav-enlace, .nav-boton {
		width: 100%;
		justify-content: space-between;
		min-height: 56px;
		padding: 0 4px;
		font-size: 1.125rem;
	}
	.nav-enlace.es-actual, .contiene-actual > .nav-boton { box-shadow: inset 3px 0 0 var(--c-sello); padding-left: 14px; }
	.nav-sub { position: static; transform: none; min-width: 0; padding: 0 0 10px 12px; }
	.nav-sub::before { display: none; }
	.nav-sub li:first-child, .nav-sub li:last-child { padding: 0; }
	.nav-sub-enlace { padding: 12px 14px; border-left: 2px solid var(--c-linea); }

	.nav-extra { display: grid; gap: 22px; }
	.datos--menu .datos-etiqueta { display: none; }
}

@media (min-width: 1140px) {
	.nav-lista { gap: 2px; }
}

@media (min-width: 1280px) {
	.nav-enlace, .nav-boton { padding: 0 13px; }
}

/* ---------- Movimiento reducido ---------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ---------- Impresión ---------- */


/* Documentos impresos: solo existen en papel. */
.hoja-requisitos, .membrete, .ficha-datos-blanco { display: none; }

@media print {
	@page { margin: 15mm 16mm 17mm; }
	.cabecera-util, .navegacion, .menu-boton, .aviso-pestana, .accesos, .mapa, .portada-anillo, .cabecera-pagina-anillo { display: none !important; }
	.cabecera, .cabecera-principal { position: static; }
	body { font-size: 12pt; }

	/* Trámite: se imprime la hoja de requisitos y la ficha de datos, no la página. */
	.single-noc_tramite .saltar, .single-noc_tramite .cabecera, .single-noc_tramite .cabecera-pagina,
	.single-noc_tramite .pie, .single-noc_tramite .margen,
	.single-noc_tramite .ficha > :not(.ficha-datos) { display: none !important; }
	.single-noc_tramite .pagina-cuerpo { display: block; max-width: none; margin: 0; padding: 0; }
	.single-noc_tramite .hoja-requisitos { display: block; }
	html[data-imprimiendo="requisitos"] .ficha-datos { display: none !important; }
	html[data-imprimiendo="ficha"] .hoja-requisitos { display: none !important; }
	.ficha-datos { break-before: page; }
	html[data-imprimiendo="ficha"] .ficha-datos { break-before: auto; }
	/* En blanco: solo la copia vacía de la ficha. */
	html[data-imprimiendo="ficha-blanco"] .hoja-requisitos,
	html[data-imprimiendo="ficha-blanco"] .ficha-datos-form:not(.ficha-datos-blanco) { display: none !important; }
	html[data-imprimiendo="ficha-blanco"] .ficha-datos-blanco { display: grid !important; }
	html[data-imprimiendo="ficha-blanco"] .ficha-datos { break-before: auto; }
	.ficha-datos .ficha-datos-blanco textarea { min-height: 42pt !important; }

	/* Membrete común */
	.membrete {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		gap: 12pt;
		margin-bottom: 14pt;
		padding-bottom: 8pt;
		border-bottom: 1.5pt solid #056233;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	.membrete-marca { display: flex; align-items: center; gap: 9pt; }
	.membrete-isotipo { width: 46pt; height: auto; color: #056233; }
	.membrete-nombre { font-family: var(--f-titulos); font-size: 15pt; font-weight: 600; line-height: 1.1; color: #1B2621; }
	.membrete-linea { margin-top: 2pt; font-size: 7.5pt; letter-spacing: 0.08em; text-transform: uppercase; color: #55625C; }
	.membrete-datos { text-align: right; font-size: 8pt; line-height: 1.5; color: #55625C; }

	/* Hoja de requisitos */
	.hoja-requisitos { font-size: 10pt; line-height: 1.45; color: #1B2621; }
	.hoja-cabeza { margin-bottom: 8pt; }
	.hoja-antetitulo { font-size: 7.5pt; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #056233; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.hoja-titulo { margin: 2pt 0 3pt; font-family: var(--f-titulos); font-size: 20pt; font-weight: 600; line-height: 1.15; color: #1B2621; }
	.hoja-resumen { font-size: 10.5pt; color: #333; }
	.hoja-datos { margin-top: 3pt; font-size: 8.5pt; color: #55625C; }
	.hoja-aviso { margin: 8pt 0 2pt; padding: 6pt 9pt; border: 0.75pt solid #B98A2B; border-left-width: 3pt; font-size: 9pt; }
	.hoja-seccion { margin: 13pt 0 6pt; padding-bottom: 2pt; border-bottom: 0.75pt solid #BFC8C2; font-family: var(--f-titulos); font-size: 12.5pt; font-weight: 600; break-after: avoid; }
	.hoja-lista { display: grid; gap: 5pt; margin: 0; padding: 0; list-style: none; }
	.hoja-lista li { display: grid; grid-template-columns: 11pt minmax(0, 1fr); column-gap: 6pt; break-inside: avoid; }
	.hoja-lista li::before { content: ""; width: 8pt; height: 8pt; margin-top: 2.5pt; border: 0.9pt solid #1B2621; border-radius: 1.5pt; }
	.hoja-texto { grid-column: 2; font-weight: 600; }
	.hoja-lista--simple .hoja-texto { font-weight: 400; }
	.hoja-detalle { grid-column: 2; font-size: 8.5pt; color: #444; }
	.hoja-vigencia { padding: 0 3pt; border: 0.6pt solid #888; border-radius: 2pt; font-size: 7.5pt; font-weight: 700; white-space: nowrap; }
	.hoja-parrafos p { margin: 0 0 4pt; font-size: 9.5pt; }
	.hoja-nota { margin: -2pt 0 5pt; font-size: 8.5pt; color: #55625C; }
	.hoja-redaccion { break-inside: avoid; }
	.hoja-redaccion p { font-size: 9.5pt; }
	.hoja-pie { margin-top: 16pt; padding-top: 6pt; border-top: 0.75pt solid #BFC8C2; font-size: 8pt; color: #55625C; break-inside: avoid; }

	/* Ficha de datos impresa: membrete, líneas para escribir y sin botones ni textos de pantalla. */
	.ficha-datos > h2, .ficha-datos-intro, .ficha-datos-acciones, .ficha-datos-consejo,
	.ficha-agregar, .ficha-persona-quitar, .ficha-rut-error { display: none !important; }
	.ficha-datos-membrete { display: block; margin-bottom: 4pt; }
	.ficha-datos-form { padding: 0; border: 0; gap: 10pt; }
	.ficha-datos .copia-seccion { gap: 6pt; break-inside: avoid; }
	.ficha-datos .copia-seccion-titulo { font-size: 12pt; padding-bottom: 3pt; border-bottom-color: #000; }
	.ficha-datos .reclamo-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6pt 18pt; }
	.ficha-datos .reclamo-campo--ancho { grid-column: 1 / -1; }
	.ficha-datos .reclamo-etiqueta { margin-bottom: 1pt; font-size: 8.5pt; font-weight: 700; color: #333; }
	.ficha-datos .reclamo-opcional { font-size: 8pt; }
	.ficha-datos .reclamo-ayuda { font-size: 8pt; margin: 1pt 0 0; }
	.ficha-datos input:not([type="radio"]), .ficha-datos select, .ficha-datos textarea {
		min-height: 0 !important;
		height: auto;
		padding: 2pt 0 !important;
		border: 0 !important;
		border-bottom: 0.75pt solid #000 !important;
		border-radius: 0 !important;
		background: none !important;
		font-size: 10.5pt !important;
		box-shadow: none !important;
		-webkit-appearance: none;
		appearance: none;
	}
	.ficha-datos input::placeholder { color: transparent; }
	.ficha-datos textarea { min-height: 30pt !important; overflow: visible; resize: none; }
	@supports (field-sizing: content) {
		.ficha-datos textarea { height: auto !important; field-sizing: content; }
	}
	.ficha-persona { break-inside: avoid; }
	.ficha-persona-titulo { font-size: 8.5pt; color: #333; }
	.ficha-sino .reclamo-check { font-size: 10pt; }
}
