/* ==========================================================================
   Centro INDAT — estilos del theme
   Orden: base · componentes · header · portada · interiores · blog · footer
   · movimiento. Los valores salen de variables.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--indat-bg);
	color: var(--indat-text);
	font-family: var(--indat-font-body);
	font-size: var(--indat-body);
	line-height: 1.6;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4 {
	font-family: var(--indat-font-display);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.5em;
	text-wrap: balance;
}

h1 { font-size: var(--indat-h1-page); }
h2 { font-size: var(--indat-h2); }
h3 { font-size: var(--indat-h3); }

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

a {
	color: var(--indat-accent-700);
	text-underline-offset: 3px;
}

a:hover {
	color: var(--indat-accent-800);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

:focus {
	outline: none;
}

:focus-visible {
	outline: 3px solid var(--indat-accent);
	outline-offset: 3px;
	border-radius: 8px;
}

::selection {
	background: color-mix(in srgb, var(--indat-accent) 28%, transparent);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.indat-skip-link:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 200;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 20px;
	clip: auto;
	background: var(--indat-white);
	color: var(--indat-accent-800);
	border-radius: var(--indat-radius-pill);
	box-shadow: var(--indat-shadow-lg);
	font-weight: 700;
}

.indat-icon {
	display: block;
	flex: none;
}

.indat-wrap {
	width: 100%;
	max-width: calc(var(--indat-page-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding-inline: var(--indat-gutter);
}

.indat-main {
	display: block;
}

.indat-seccion {
	padding-bottom: var(--indat-section-y);
}

.indat-seccion__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 32px;
}

.indat-seccion__cabecera > div {
	max-width: 620px;
}

.indat-seccion__cabecera h2,
.indat-seccion__titulo {
	margin: 0;
}

.indat-seccion__titulo {
	margin-bottom: 32px;
	max-width: 640px;
}

.indat-seccion__cabecera .indat-tag {
	margin-bottom: 14px;
}

.indat-lead {
	font-size: var(--indat-lead);
	line-height: 1.6;
	color: var(--indat-neutral-800);
	max-width: 36em;
}

.indat-vacio {
	padding: 32px;
	border-radius: var(--indat-radius-lg);
	background: var(--indat-white);
	color: var(--indat-neutral-700);
	text-align: center;
}

/* Colores por tono: cada tarjeta se tiñe con is-azul o is-rosa. */
.is-azul {
	--t-bg: var(--indat-accent-100);
	--t-bg-2: var(--indat-accent-200);
	--t-fg: var(--indat-accent-700);
}

.is-rosa {
	--t-bg: var(--indat-accent-2-100);
	--t-bg-2: var(--indat-accent-2-200);
	--t-fg: var(--indat-accent-2-700);
}

.is-wa {
	--t-bg: var(--indat-wa-soft);
	--t-bg-2: var(--indat-wa-soft);
	--t-fg: var(--indat-wa-ink);
}

/* --------------------------------------------------------------------------
   Componentes: botones, etiquetas, chips
   -------------------------------------------------------------------------- */

/* El fondo del boton primario usa accent-600 y no el acento base: con texto
   blanco el acento base da 4.3:1 y el 600 llega a 4.9:1 (AA para texto normal). */
.indat-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 11px 22px;
	border: 2px solid transparent;
	border-radius: var(--indat-radius-pill);
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--indat-dur) var(--indat-ease), color var(--indat-dur) var(--indat-ease), transform var(--indat-dur) var(--indat-ease), box-shadow var(--indat-dur) var(--indat-ease);
}

.indat-btn:active {
	transform: scale(0.97);
}

.indat-btn--primary {
	background: var(--indat-accent-600);
	color: var(--indat-white);
}

.indat-btn--primary:hover {
	background: var(--indat-accent-700);
	color: var(--indat-white);
	transform: translateY(-2px);
	box-shadow: var(--indat-shadow-md);
}

.indat-btn--secondary {
	background: transparent;
	color: var(--indat-accent-800);
	border-color: var(--indat-accent-300);
}

.indat-btn--secondary:hover {
	background: var(--indat-accent-100);
	color: var(--indat-accent-800);
	transform: translateY(-2px);
}

.indat-btn--ghost {
	min-height: 44px;
	padding: 10px 14px;
	color: var(--indat-accent-700);
}

.indat-btn--ghost:hover {
	background: var(--indat-accent-100);
	color: var(--indat-accent-800);
}

.indat-btn--ghost .indat-icon {
	transition: transform var(--indat-dur) var(--indat-ease);
}

.indat-btn--ghost:hover .indat-icon {
	transform: translateX(4px);
}

.indat-btn--blanco {
	background: var(--indat-white);
	color: var(--indat-accent-800);
	box-shadow: var(--indat-shadow-md);
}

.indat-btn--grande {
	min-height: 54px;
	padding: 15px 26px;
	font-size: 1.0625rem;
}

.indat-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 14px;
	border-radius: var(--indat-radius-pill);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.indat-tag--azul { background: var(--indat-accent-100); color: var(--indat-accent-800); }
.indat-tag--rosa { background: var(--indat-accent-2-100); color: var(--indat-accent-2-800); }
.indat-tag--blanco { background: var(--indat-white); color: var(--indat-accent-800); }
.indat-tag--neutro { background: var(--indat-neutral-100); color: var(--indat-neutral-800); list-style: none; }
.indat-tag--grande { padding: 6px 16px; }

a.indat-tag:hover {
	filter: brightness(0.96);
}

.indat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 26px;
}

.indat-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border: 1.5px solid var(--indat-accent-200);
	border-radius: var(--indat-radius-pill);
	background: var(--indat-white);
	color: var(--indat-accent-800);
	font-family: var(--indat-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--indat-dur), color var(--indat-dur), border-color var(--indat-dur), transform var(--indat-dur);
}

.indat-chip:hover {
	background: var(--indat-accent-100);
	color: var(--indat-accent-800);
}

.indat-chip:active {
	transform: scale(0.96);
}

.indat-chip.is-activo {
	background: var(--indat-accent-600);
	border-color: var(--indat-accent-600);
	color: var(--indat-white);
}

.indat-meta {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	font-size: 0.875rem;
	color: var(--indat-neutral-700);
}

.indat-link-flecha {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--indat-accent-700);
	text-decoration: none;
}

.indat-link-flecha .indat-icon {
	transition: transform var(--indat-dur) var(--indat-ease);
}

.indat-link-flecha:hover .indat-icon {
	transform: translateX(4px);
}

.indat-link-flecha--atras:hover .indat-icon {
	transform: translateX(-4px);
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.indat-header {
	position: sticky;
	top: 0;
	z-index: var(--indat-z-header);
	background: color-mix(in srgb, var(--indat-bg) 88%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: box-shadow var(--indat-dur), background var(--indat-dur);
}

.admin-bar .indat-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .indat-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	/* Debajo de 600px la barra de admin deja de ser fija y se va al scrollear. */
	.admin-bar .indat-header {
		top: 0;
	}
}

.indat-header.is-scrolled {
	background: color-mix(in srgb, var(--indat-bg) 94%, transparent);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--indat-neutral-900) 8%, transparent), 0 8px 24px -16px color-mix(in srgb, var(--indat-neutral-900) 30%, transparent);
}

.indat-header__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: calc(var(--indat-page-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding: 12px var(--indat-gutter);
	transition: padding var(--indat-dur) var(--indat-ease);
}

.indat-header.is-scrolled .indat-header__inner {
	padding-block: 8px;
}

.indat-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-right: auto;
	min-width: 0;
	color: var(--indat-text);
	text-decoration: none;
}

.indat-brand:hover {
	color: var(--indat-text);
}

.indat-brand__logo {
	display: block;
	flex: none;
	width: 52px;
	height: 52px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--indat-white);
	box-shadow: var(--indat-shadow-sm);
	transition: width var(--indat-dur) var(--indat-ease), height var(--indat-dur) var(--indat-ease), transform var(--indat-dur) var(--indat-ease);
}

.indat-brand__logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.indat-brand:hover .indat-brand__logo {
	transform: rotate(-6deg) scale(1.04);
}

.indat-header.is-scrolled .indat-brand__logo {
	width: 44px;
	height: 44px;
}

.indat-brand__logo--grande {
	width: 72px;
	height: 72px;
}

.indat-brand__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.1;
}

.indat-brand__name {
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1.25rem;
	white-space: nowrap;
}

.indat-brand__tag {
	font-size: 0.75rem;
	color: var(--indat-neutral-700);
}

.indat-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.indat-nav a {
	display: block;
	padding: 9px 16px;
	border-radius: var(--indat-radius-pill);
	color: var(--indat-text);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--indat-dur), color var(--indat-dur);
}

.indat-nav a:hover {
	background: var(--indat-accent-100);
	color: var(--indat-accent-800);
}

.indat-nav .current-menu-item > a,
.indat-nav a[aria-current="page"] {
	background: var(--indat-accent-200);
	color: var(--indat-accent-800);
}

.indat-header__cta {
	white-space: nowrap;
	padding: 10px 20px;
}

.indat-header__cta-corto {
	display: none;
}

.indat-menu-toggle {
	display: none;
	position: relative;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 2px solid var(--indat-accent-300);
	border-radius: 50%;
	background: transparent;
	color: var(--indat-accent-800);
	cursor: pointer;
	transition: background var(--indat-dur);
}

.indat-menu-toggle:hover {
	background: var(--indat-accent-100);
}

.indat-menu-toggle__abrir,
.indat-menu-toggle__cerrar {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	transition: opacity var(--indat-dur), transform var(--indat-dur) var(--indat-ease);
}

.indat-menu-toggle__cerrar {
	opacity: 0;
	transform: rotate(-90deg) scale(0.6);
}

.indat-header.is-open .indat-menu-toggle__abrir {
	opacity: 0;
	transform: rotate(90deg) scale(0.6);
}

.indat-header.is-open .indat-menu-toggle__cerrar {
	opacity: 1;
	transform: none;
}

@media (max-width: 1059.98px) {
	.indat-menu-toggle {
		display: block;
	}

	.indat-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 8px var(--indat-gutter) 22px;
		background: var(--indat-bg);
		border-radius: 0 0 var(--indat-radius-lg) var(--indat-radius-lg);
		box-shadow: 0 24px 40px -24px color-mix(in srgb, var(--indat-neutral-900) 40%, transparent);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity var(--indat-dur) var(--indat-ease), transform var(--indat-dur) var(--indat-ease), visibility 0s linear var(--indat-dur);
	}

	.indat-header.is-open .indat-nav {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition-delay: 0s;
	}

	.indat-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	.indat-nav a {
		padding: 12px 20px;
		border-radius: 24px;
		font-family: var(--indat-font-display);
		font-size: 1.5rem;
		font-weight: 800;
	}
}

@media (max-width: 519.98px) {
	.indat-header__cta-largo {
		display: none;
	}

	.indat-header__cta-corto {
		display: inline;
	}

	.indat-header__cta {
		padding: 10px 16px;
	}

	.indat-brand__name {
		font-size: 1.125rem;
	}
}

@media (max-width: 399.98px) {
	.indat-brand__tag {
		display: none;
	}

	.indat-header__inner {
		gap: 10px;
	}
}

/* --------------------------------------------------------------------------
   Portada: hero
   -------------------------------------------------------------------------- */

.indat-hero {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	align-items: center;
	gap: clamp(32px, 5vw, 64px);
	padding-top: clamp(28px, 6vw, 72px);
	padding-bottom: clamp(48px, 7vw, 96px);
}

.indat-hero__texto {
	position: relative;
	z-index: 1;
}

.indat-hero__texto .indat-tag {
	margin-bottom: 20px;
}

.indat-hero h1 {
	font-size: var(--indat-h1);
	line-height: 1.02;
	margin-bottom: 22px;
}

.indat-hero__acento {
	color: var(--indat-accent);
}

.indat-hero .indat-lead {
	margin-bottom: 30px;
}

.indat-hero__acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.indat-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.indat-hero__visual {
	position: relative;
	width: 100%;
	max-width: 560px;
	aspect-ratio: 1 / 1;
	justify-self: center;
}

.indat-hero__foto {
	position: absolute;
	inset: 6%;
	overflow: hidden;
	border-radius: 46% 54% 50% 50% / 52% 44% 56% 48%;
	background: var(--indat-accent-100);
	box-shadow: var(--indat-shadow-lg);
}

.indat-hero__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Lavado suave: la foto se asienta en el fondo crema en vez de pelearle. */
	filter: saturate(0.88) contrast(0.95) brightness(1.04);
}

.indat-blob {
	position: absolute;
	border-radius: 50%;
	animation: indat-flotar 10s ease-in-out infinite;
}

.indat-blob--a {
	width: 34%;
	height: 34%;
	right: -2%;
	top: -2%;
	background: var(--indat-accent-2-300);
	animation-duration: 9s;
}

.indat-blob--b {
	width: 22%;
	height: 22%;
	left: 2%;
	top: 10%;
	background: var(--indat-accent-300);
	animation-duration: 11s;
}

.indat-blob--aro {
	width: 96%;
	height: 96%;
	left: 2%;
	top: 2%;
	border: 3px dashed var(--indat-accent-300);
	animation-duration: 14s;
}

.indat-hero__badge {
	position: absolute;
	left: -2%;
	bottom: 8%;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 260px;
	padding: 14px 18px;
	border-radius: 28px;
	background: var(--indat-white);
	box-shadow: var(--indat-shadow-md);
	font-size: 0.875rem;
	line-height: 1.35;
	color: var(--indat-neutral-700);
	animation: indat-flotar 8s ease-in-out infinite reverse;
}

.indat-hero__badge strong {
	color: var(--indat-text);
}

.indat-hero__badge-icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--indat-accent-2-200);
	color: var(--indat-accent-2-800);
}

@media (max-width: 599.98px) {
	.indat-hero__badge {
		left: 0;
		bottom: 2%;
		max-width: 220px;
		padding: 10px 14px;
	}
}

/* Entrada escalonada del hero (solo con JS, para no ocultar nada sin el). */
.js .indat-hero__texto > *,
.js .indat-hero__visual {
	animation: indat-entrar 0.7s var(--indat-ease) both;
}

.js .indat-hero__texto > :nth-child(2) { animation-delay: 0.08s; }
.js .indat-hero__texto > :nth-child(3) { animation-delay: 0.16s; }
.js .indat-hero__texto > :nth-child(4) { animation-delay: 0.24s; }
.js .indat-hero__texto > :nth-child(5) { animation-delay: 0.32s; }
.js .indat-hero__visual { animation-delay: 0.2s; }

/* --------------------------------------------------------------------------
   Portada: sobre, especialidades, dias, pasos, equipo
   -------------------------------------------------------------------------- */

.indat-sobre {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: clamp(28px, 4vw, 56px);
	padding: clamp(28px, 5vw, 64px);
	border-radius: var(--indat-radius-xl);
	background: var(--indat-white);
}

.indat-sobre h2 {
	margin-bottom: 16px;
}

.indat-sobre__texto > p {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--indat-neutral-800);
}

.indat-sobre__foto {
	margin-top: 28px;
	overflow: hidden;
	border-radius: var(--indat-radius-lg);
	aspect-ratio: 4 / 3;
	background: var(--indat-accent-100);
}

.indat-sobre__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--indat-ease);
}

.indat-sobre__foto:hover img {
	transform: scale(1.04);
}

.indat-valores {
	display: grid;
	align-content: center;
	gap: 22px;
	list-style: none;
}

.indat-valor {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.indat-valor__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--t-bg);
	color: var(--t-fg);
}

.indat-valor h3 {
	margin: 4px 0;
	font-size: 1.25rem;
}

.indat-valor p {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--indat-neutral-700);
}

.indat-grid {
	display: grid;
	gap: 18px;
}

.indat-grid--esp {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.indat-card-esp {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	border-radius: calc(var(--indat-radius-lg) * 1.15);
	background: var(--t-bg);
	color: var(--indat-text);
	text-decoration: none;
	transition: transform 0.25s var(--indat-ease), box-shadow 0.25s var(--indat-ease);
}

.indat-card-esp:hover {
	transform: translateY(-5px);
	box-shadow: var(--indat-shadow-md);
	color: var(--indat-text);
}

.indat-card-esp__icono {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--indat-white);
	color: var(--t-fg);
	transition: transform 0.4s var(--indat-ease);
}

.indat-card-esp:hover .indat-card-esp__icono {
	transform: rotate(-8deg) scale(1.08);
}

.indat-card-esp__titulo {
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1.2;
}

.indat-card-esp__texto {
	flex: 1;
	font-size: 0.9375rem;
	color: var(--indat-neutral-800);
}

.indat-card-esp__mas {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--t-fg);
}

.indat-card-esp__mas .indat-icon {
	transition: transform var(--indat-dur) var(--indat-ease);
}

.indat-card-esp:hover .indat-card-esp__mas .indat-icon {
	transform: translateX(5px);
}

/* Dias de atencion */
.indat-dias {
	margin: 0 clamp(8px, 2vw, 24px) var(--indat-section-y);
	border-radius: clamp(32px, 6vw, 72px);
	background: var(--indat-accent-100);
}

.indat-dias__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
	max-width: calc(var(--indat-page-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding: clamp(40px, 7vw, 88px) var(--indat-gutter);
}

.indat-dias__intro .indat-tag {
	margin-bottom: 14px;
}

.indat-dias__intro h2 {
	margin-bottom: 14px;
}

.indat-dias__intro .indat-lead {
	margin-bottom: 24px;
}

.indat-dias__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.indat-dia-tab {
	min-width: 64px;
	min-height: 48px;
	padding: 10px 18px;
	border: 0;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-white);
	color: var(--indat-accent-800);
	box-shadow: var(--indat-shadow-sm);
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1.0625rem;
	cursor: pointer;
	transition: background var(--indat-dur), color var(--indat-dur), transform var(--indat-dur) var(--indat-ease);
}

.indat-dia-tab:hover {
	transform: translateY(-2px);
}

.indat-dia-tab:active {
	transform: scale(0.96);
}

.indat-dia-tab[aria-selected="true"] {
	background: var(--indat-accent-600);
	color: var(--indat-white);
}

.indat-dias__paneles {
	min-height: 340px;
	padding: clamp(24px, 4vw, 40px);
	border-radius: 36px;
	background: var(--indat-white);
	box-shadow: var(--indat-shadow-md);
}

.indat-dia-panel[hidden] {
	display: none;
}

.indat-dia-panel__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}

.indat-dia-panel__cabecera h3 {
	margin: 0;
	font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
	color: var(--indat-accent-700);
}

.indat-dia-panel__lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 24px;
	list-style: none;
}

.indat-dia-panel__lista li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 18px;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-accent-2-100);
	font-size: 1.0625rem;
	font-weight: 600;
	animation: indat-entrar 0.4s var(--indat-ease) both;
	animation-delay: calc(var(--i, 0) * 60ms);
}

.indat-dia-panel__punto {
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--indat-accent-2-500);
}

.indat-dia-panel__vacio {
	color: var(--indat-neutral-700);
}

/* Primer turno */
.indat-pasos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 18px;
	list-style: none;
}

.indat-paso {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 8px 4px;
}

.indat-paso__numero {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--t-bg-2);
	color: var(--indat-accent-800);
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1.75rem;
}

.indat-paso__numero.is-rosa {
	color: var(--indat-accent-2-800);
}

.indat-paso h3 {
	margin: 6px 0 0;
	font-size: 1.375rem;
}

.indat-paso p {
	margin: 0;
	max-width: 28em;
	color: var(--indat-neutral-700);
}

/* --------------------------------------------------------------------------
   Profesionales
   -------------------------------------------------------------------------- */

.indat-grid--pros {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 22px;
}

.indat-grid--pros-mini {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 22px;
}

.indat-pro-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px;
	border-radius: calc(var(--indat-radius-lg) * 1.15);
	background: var(--indat-white);
	transition: transform 0.3s var(--indat-ease), box-shadow 0.3s var(--indat-ease);
}

.indat-pro-card[hidden] {
	display: none;
}

.indat-pro-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--indat-shadow-md);
}

.indat-pro-card.is-entrando {
	animation: indat-entrar 0.45s var(--indat-ease) both;
}

.indat-pro-card__foto {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 4.4;
	overflow: hidden;
	border-radius: 28px;
	background: var(--t-bg);
}

.indat-pro-card__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--indat-ease);
}

.indat-pro-card:hover .indat-pro-card__foto img {
	transform: scale(1.05);
}

.indat-pro-card__ini {
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	letter-spacing: 0.02em;
	color: var(--t-fg);
	opacity: 0.8;
}

.indat-pro-card__cuerpo {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 6px 6px;
}

.indat-pro-card__esp {
	align-self: flex-start;
	margin-bottom: 4px;
	padding: 4px 12px;
	border-radius: var(--indat-radius-pill);
	background: var(--t-bg);
	color: var(--t-fg);
	font-size: 0.75rem;
	font-weight: 700;
}

.indat-pro-card__nombre {
	margin: 0;
	font-size: 1.3125rem;
}

.indat-pro-card__cargo,
.indat-pro-card__bio {
	margin: 0;
	font-size: 0.875rem;
	color: var(--indat-neutral-700);
}

.indat-pro-card__bio {
	margin-top: 6px;
}

/* Variante de la portada: foto circular, sin caja. */
.indat-pro-card.is-mini {
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.indat-pro-card.is-mini .indat-pro-card__foto {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.indat-pro-card.is-mini .indat-pro-card__nombre {
	font-size: 1.25rem;
}

/* --------------------------------------------------------------------------
   Paginas interiores
   -------------------------------------------------------------------------- */

.indat-page-top {
	padding-top: clamp(32px, 6vw, 72px);
	padding-bottom: 32px;
}

.indat-page-header {
	animation: indat-entrar 0.6s var(--indat-ease) both;
}

.indat-page-header .indat-tag {
	margin-bottom: 16px;
}

.indat-page-header h1 {
	max-width: 14em;
	line-height: 1.04;
	margin-bottom: 18px;
}

.indat-page-header .indat-lead {
	margin-bottom: 0;
}

.indat-lista-esp {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding-top: 24px;
	padding-bottom: var(--indat-section-y);
}

.indat-esp {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: clamp(22px, 4vw, 48px);
	align-items: center;
	padding: clamp(22px, 4vw, 44px);
	border-radius: var(--indat-radius-xl);
	background: var(--indat-white);
	scroll-margin-top: 100px;
}

.indat-esp__principal {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.indat-esp__principal h2 {
	margin: 0;
	font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
}

.indat-esp__icono {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--t-bg);
	color: var(--t-fg);
}

.indat-etiquetas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	list-style: none;
}

.indat-esp__lateral {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--indat-radius-lg);
	background: var(--t-bg);
}

.indat-esp__rotulo {
	margin: 0 0 6px;
	font-family: var(--indat-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--indat-neutral-700);
}

.indat-esp__dato {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
}

.indat-esp__dias {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	list-style: none;
}

.indat-esp__dias li {
	padding: 7px 14px;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-white);
	color: var(--t-fg);
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 0.9375rem;
}

.indat-esp__lateral .indat-btn {
	align-self: flex-start;
}

.indat-lista-pros {
	padding-top: 24px;
	padding-bottom: var(--indat-section-y);
}

.indat-pagina {
	padding-top: clamp(32px, 6vw, 72px);
	padding-bottom: var(--indat-section-y);
}

/* Contacto */
.indat-contacto {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(28px, 5vw, 56px);
	align-items: start;
	padding-top: clamp(32px, 6vw, 72px);
	padding-bottom: var(--indat-section-y);
}

.indat-contacto__info {
	display: flex;
	flex-direction: column;
	gap: 18px;
	animation: indat-entrar 0.6s var(--indat-ease) both;
}

.indat-contacto__info h1 {
	margin: 0;
	line-height: 1.04;
}

.indat-contacto__info .indat-tag {
	align-self: flex-start;
}

.indat-contacto__info .indat-lead {
	margin: 0;
	font-size: 1.125rem;
}

.indat-contactos {
	display: grid;
	gap: 10px;
	margin: 6px 0 0;
	list-style: none;
}

.indat-contactos__item {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
	padding: 14px 18px;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-white);
	color: var(--indat-text);
	text-decoration: none;
	transition: transform var(--indat-dur) var(--indat-ease), box-shadow var(--indat-dur) var(--indat-ease);
}

a.indat-contactos__item:hover {
	transform: translateX(4px);
	box-shadow: var(--indat-shadow-sm);
	color: var(--indat-text);
}

.indat-contactos__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--t-bg);
	color: var(--t-fg);
}

.indat-contactos__texto {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.3;
}

.indat-contactos__label {
	font-size: 0.8125rem;
	color: var(--indat-neutral-700);
}

.indat-contactos__valor {
	font-size: 1rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

@media (max-width: 419.98px) {
	.indat-contactos__valor {
		font-size: 0.9375rem;
	}

	.indat-contactos__item {
		gap: 12px;
		padding-inline: 14px;
	}
}

.indat-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: clamp(24px, 4vw, 40px);
	border-radius: var(--indat-radius-xl);
	background: var(--indat-white);
	box-shadow: var(--indat-shadow-md);
	animation: indat-entrar 0.6s var(--indat-ease) 0.12s both;
}

.indat-form h2 {
	margin: 0;
	font-size: 1.75rem;
}

.indat-campo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.indat-campo label,
.indat-campo legend {
	padding: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--indat-neutral-800);
}

.indat-campo input[type="text"],
.indat-campo select,
.indat-campo textarea,
.indat-buscar input {
	width: 100%;
	min-height: 48px;
	padding: 10px 18px;
	border: 1.5px solid var(--indat-neutral-300);
	border-radius: var(--indat-radius-pill);
	background: var(--indat-bg);
	color: var(--indat-text);
	font: inherit;
	font-size: 1rem;
	caret-color: var(--indat-accent);
	transition: border-color var(--indat-dur), box-shadow var(--indat-dur), background var(--indat-dur);
}

.indat-campo textarea {
	min-height: 110px;
	padding: 14px 18px;
	border-radius: 24px;
	resize: vertical;
}

.indat-campo input:hover,
.indat-campo select:hover,
.indat-campo textarea:hover {
	border-color: var(--indat-neutral-700);
}

.indat-campo input:focus-visible,
.indat-campo select:focus-visible,
.indat-campo textarea:focus-visible,
.indat-buscar input:focus-visible {
	border-color: var(--indat-accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--indat-accent) 22%, transparent);
	outline: none;
	background: var(--indat-white);
}

.indat-campo.has-error input {
	border-color: var(--indat-accent-2-600);
	animation: indat-sacudir 0.35s;
}

.indat-campo__error {
	font-size: 0.8125rem;
	color: var(--indat-accent-2-800);
}

.indat-campo__error[hidden] {
	display: none;
}

.indat-seg {
	display: flex;
	width: 100%;
	overflow: hidden;
	border: 1.5px solid var(--indat-neutral-300);
	border-radius: var(--indat-radius-pill);
}

.indat-seg__op {
	position: relative;
	display: flex;
	flex: 1;
	cursor: pointer;
}

.indat-seg__op + .indat-seg__op {
	border-left: 1.5px solid var(--indat-neutral-300);
}

.indat-seg__op input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.indat-seg__op span {
	flex: 1;
	padding: 12px 8px;
	text-align: center;
	font-size: 0.9375rem;
	font-weight: 600;
	transition: background var(--indat-dur), color var(--indat-dur);
}

.indat-seg__op:hover span {
	background: var(--indat-accent-100);
}

.indat-seg__op input:checked + span {
	background: var(--indat-accent-600);
	color: var(--indat-white);
}

.indat-seg__op input:focus-visible + span {
	outline: 3px solid var(--indat-accent);
	outline-offset: -3px;
}

.indat-form__nota {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--indat-neutral-700);
}

.indat-mapa {
	position: relative;
	height: clamp(300px, 40vw, 440px);
	overflow: hidden;
	border-radius: var(--indat-radius-xl);
	background: var(--indat-accent-100);
}

.indat-mapa iframe {
	width: 100%;
	height: 100%;
	border: 0;
	filter: saturate(0.75);
}

.indat-mapa__boton {
	position: absolute;
	left: 16px;
	bottom: 16px;
}

/* --------------------------------------------------------------------------
   Blog
   -------------------------------------------------------------------------- */

.indat-blog {
	padding-top: 24px;
	padding-bottom: var(--indat-section-y);
}

.indat-grid--posts,
.indat-grid--posts-3 {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 24px;
}

.indat-card-post {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: calc(var(--indat-radius-lg) * 1.1);
	background: var(--indat-white);
	transition: transform 0.3s var(--indat-ease), box-shadow 0.3s var(--indat-ease);
}

.indat-card-post:hover {
	transform: translateY(-5px);
	box-shadow: var(--indat-shadow-md);
}

.indat-card-post__foto {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--indat-accent-100);
}

.indat-card-post__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--indat-ease);
}

.indat-card-post:hover .indat-card-post__foto img {
	transform: scale(1.05);
}

.indat-card-post__vacia {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--indat-accent-500);
}

.indat-card-post__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 22px 24px 26px;
}

.indat-card-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

.indat-card-post__titulo {
	margin: 0;
	font-size: 1.375rem;
	line-height: 1.2;
}

.indat-card-post__titulo a {
	color: var(--indat-text);
	text-decoration: none;
	background: linear-gradient(var(--indat-accent-2-300), var(--indat-accent-2-300)) 0 100% / 0 3px no-repeat;
	transition: background-size 0.4s var(--indat-ease);
}

.indat-card-post:hover .indat-card-post__titulo a {
	background-size: 100% 3px;
}

.indat-card-post__extracto {
	flex: 1;
	margin: 0;
	font-size: 0.9375rem;
	color: var(--indat-neutral-800);
}

@media (min-width: 900px) {
	.indat-card-post.is-destacada {
		grid-column: 1 / -1;
		flex-direction: row;
	}

	.indat-card-post.is-destacada .indat-card-post__foto {
		flex: 1.25;
		aspect-ratio: auto;
		min-height: 380px;
	}

	.indat-card-post.is-destacada .indat-card-post__cuerpo {
		flex: 1;
		justify-content: center;
		padding: clamp(28px, 4vw, 52px);
	}

	.indat-card-post.is-destacada .indat-card-post__titulo {
		font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);
	}

	.indat-card-post.is-destacada .indat-card-post__extracto {
		flex: 0 0 auto;
		font-size: 1.0625rem;
	}
}

.navigation.pagination {
	margin-top: 40px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	min-height: 46px;
	padding: 8px 16px;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-white);
	color: var(--indat-accent-800);
	font-weight: 700;
	text-decoration: none;
	transition: background var(--indat-dur);
}

a.page-numbers:hover {
	background: var(--indat-accent-100);
}

.page-numbers.current {
	background: var(--indat-accent-600);
	color: var(--indat-white);
}

/* Nota individual */
.indat-progreso {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: calc(var(--indat-z-header) + 10);
	height: 4px;
	background: linear-gradient(90deg, var(--indat-accent), var(--indat-accent-2));
	transform: scaleX(var(--p, 0));
	transform-origin: left;
	pointer-events: none;
}

.indat-nota__cabecera {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	max-width: calc(var(--indat-narrow-width) + 2 * var(--indat-gutter));
	padding-top: clamp(28px, 5vw, 56px);
	padding-bottom: 28px;
	animation: indat-entrar 0.6s var(--indat-ease) both;
}

.indat-nota__cabecera h1 {
	margin: 0;
	font-size: clamp(2rem, 1.4rem + 2.6vw, 3.25rem);
	line-height: 1.08;
}

.indat-nota__imagen {
	margin-top: 0;
	margin-bottom: clamp(28px, 5vw, 48px);
}

.indat-nota__imagen img {
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	border-radius: var(--indat-radius-xl);
}

@media (max-width: 599.98px) {
	.indat-nota__imagen img {
		aspect-ratio: 4 / 3;
	}
}

.indat-nota__cuerpo {
	max-width: calc(var(--indat-narrow-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding-inline: var(--indat-gutter);
}

.indat-nota__cta {
	margin-top: clamp(36px, 6vw, 64px);
	margin-bottom: var(--indat-section-y);
}

.indat-nota__cta-caja {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	padding: clamp(24px, 4vw, 40px);
	border-radius: var(--indat-radius-xl);
	background: var(--indat-accent-100);
}

.indat-nota__cta-caja h2 {
	margin: 0 0 6px;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.indat-nota__cta-caja p {
	margin: 0;
	color: var(--indat-neutral-800);
}

/* Texto largo: notas y paginas */
.indat-prose {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--indat-neutral-900);
}

.indat-prose > *:first-child {
	margin-top: 0;
}

.indat-prose h2 {
	margin: 1.8em 0 0.5em;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
}

.indat-prose h3 {
	margin: 1.6em 0 0.4em;
}

.indat-prose ul,
.indat-prose ol {
	margin: 0 0 1.2em;
	padding-left: 1.4em;
}

.indat-prose li {
	margin-bottom: 0.45em;
}

.indat-prose li::marker {
	color: var(--indat-accent-500);
}

.indat-prose blockquote {
	margin: 1.6em 0;
	padding: 6px 0 6px 22px;
	border-left: 5px solid var(--indat-accent-2-300);
	font-size: 1.1875rem;
	font-weight: 600;
}

.indat-prose img {
	border-radius: var(--indat-radius-lg);
}

.indat-prose figure {
	margin: 1.6em 0;
}

.indat-prose figcaption {
	margin-top: 8px;
	font-size: 0.875rem;
	color: var(--indat-neutral-700);
}

.indat-esp .indat-prose,
.indat-prose--pagina {
	font-size: 1.0625rem;
}

.indat-esp .indat-prose p {
	margin: 0;
	color: var(--indat-neutral-800);
	line-height: 1.65;
}

.indat-prose--pagina {
	max-width: var(--indat-narrow-width);
}

/* Buscador */
.indat-buscar {
	display: flex;
	gap: 8px;
	max-width: 480px;
	margin-top: 24px;
}

/* --------------------------------------------------------------------------
   Banda de contacto, footer y WhatsApp flotante
   -------------------------------------------------------------------------- */

.indat-cta-band {
	padding-bottom: clamp(48px, 7vw, 90px);
}

.indat-cta-band__caja {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(32px, 6vw, 72px);
	overflow: hidden;
	border-radius: 48px;
	background: var(--indat-accent-2-200);
}

.indat-cta-band__aro {
	position: absolute;
	right: -80px;
	top: -80px;
	width: 260px;
	height: 260px;
	border: 28px solid var(--indat-accent-300);
	border-radius: 50%;
	opacity: 0.7;
	animation: indat-flotar 12s ease-in-out infinite;
}

.indat-cta-band__texto {
	position: relative;
	max-width: 560px;
}

.indat-cta-band__texto h2 {
	margin: 0 0 10px;
	font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.625rem);
}

.indat-cta-band__texto p {
	margin: 0;
	font-size: 1.0625rem;
	color: var(--indat-accent-2-900);
}

.indat-cta-band .indat-btn {
	position: relative;
}

.indat-footer {
	border-radius: clamp(32px, 6vw, 64px) clamp(32px, 6vw, 64px) 0 0;
	background: var(--indat-accent-900);
	color: var(--indat-accent-100);
}

.indat-footer__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 32px;
	max-width: calc(var(--indat-page-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding: clamp(40px, 6vw, 72px) var(--indat-gutter) 28px;
}

.indat-footer__marca {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.indat-footer__lema {
	margin: 0;
	font-family: var(--indat-font-display);
	font-weight: 800;
	font-size: 1.5rem;
	color: var(--indat-white);
}

.indat-footer__frase {
	margin: 0;
	font-size: 0.875rem;
	color: var(--indat-accent-300);
}

.indat-footer__titulo {
	margin: 0 0 14px;
	font-family: var(--indat-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--indat-accent-400);
}

.indat-footer__col {
	display: flex;
	flex-direction: column;
}

.indat-footer__lista {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.indat-footer a {
	color: var(--indat-white);
	text-decoration: none;
	transition: color var(--indat-dur);
}

.indat-footer a:hover {
	color: var(--indat-accent-300);
}

.indat-footer__lista a {
	font-size: 1rem;
}

/* Contactos dentro del footer: lista compacta, sin pildoras. */
.indat-contactos.is-footer {
	gap: 10px;
	margin: 0;
}

.indat-contactos.is-footer .indat-contactos__item {
	gap: 10px;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--indat-white);
	font-size: 0.9375rem;
}

.indat-contactos.is-footer a.indat-contactos__item:hover {
	transform: none;
	box-shadow: none;
	color: var(--indat-accent-300);
}

.indat-contactos.is-footer .indat-contactos__icono {
	width: 18px;
	height: 18px;
	background: transparent;
	color: var(--indat-accent-300);
}

.indat-contactos.is-footer .indat-contactos__label {
	display: none;
}

.indat-contactos.is-footer .indat-contactos__valor {
	font-weight: 500;
}

.indat-footer__legal {
	max-width: calc(var(--indat-page-width) + 2 * var(--indat-gutter));
	margin-inline: auto;
	padding: 18px var(--indat-gutter) 28px;
	font-size: 0.8125rem;
	color: var(--indat-accent-400);
}

.indat-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 24px;
}

.indat-footer__legal p {
	margin: 0;
}

.indat-footer__credito a {
	color: var(--indat-white);
	font-weight: 700;
	text-decoration-color: var(--indat-accent-500);
	text-underline-offset: 4px;
}

.indat-footer__credito a:hover {
	color: var(--indat-accent-300);
}

@media (max-width: 599.98px) {
	/* Deja lugar al boton flotante para que no tape el ultimo renglon. */
	.indat-footer__legal {
		padding-bottom: 96px;
	}
}

.indat-wa-flotante {
	position: fixed;
	right: clamp(14px, 3vw, 28px);
	bottom: clamp(14px, 3vw, 28px);
	z-index: var(--indat-z-wa);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 20px 8px 8px;
	border-radius: var(--indat-radius-pill);
	background: var(--indat-wa);
	color: var(--indat-white);
	box-shadow: var(--indat-shadow-lg);
	font-weight: 700;
	font-size: 0.9375rem;
	text-decoration: none;
	transition: transform var(--indat-dur) var(--indat-ease);
}

.indat-wa-flotante:hover {
	transform: translateY(-3px);
	color: var(--indat-white);
}

.indat-wa-flotante__icono {
	position: relative;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--indat-wa-bright);
}

.indat-wa-flotante__pulso {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: var(--indat-wa-bright);
	animation: indat-pulso 2.2s ease-out infinite;
}

.indat-wa-flotante .indat-icon {
	position: relative;
}

@media (max-width: 399.98px) {
	.indat-wa-flotante {
		padding: 6px;
	}

	.indat-wa-flotante__texto {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Movimiento
   -------------------------------------------------------------------------- */

/* El reveal solo oculta lo que main.js ya midio como "debajo del pliegue":
   si el script falla antes de observar, no queda nada escondido. */
[data-reveal] {
	transition: opacity 0.7s var(--indat-ease), transform 0.7s var(--indat-ease);
	transition-delay: var(--reveal-delay, 0ms);
}

[data-reveal].is-pendiente {
	opacity: 0;
	transform: translateY(24px);
}

@keyframes indat-entrar {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes indat-flotar {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(10px, -14px) scale(1.04);
	}
}

@keyframes indat-pulso {
	0% {
		transform: scale(1);
		opacity: 0.55;
	}
	100% {
		transform: scale(1.7);
		opacity: 0;
	}
}

@keyframes indat-sacudir {
	0%,
	100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}

	[data-reveal].is-pendiente {
		opacity: 1;
		transform: none;
	}
}
