.tratamientos-editorial {
	--editorial-line: rgba(45, 71, 46, .28);
	--editorial-space: clamp(6rem, 12vw, 12rem);
	--ajuste-serif-titulos: 1.2em;
	--tratamientos-nav-h: 5rem;
	overflow: clip;
}

.cabecera-pagina .titulo-suave {
	font-family: var(--fuente-serif);
	font-size: 1.08em;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.015em;
	color: currentColor;
	opacity: .94;
}

.tratamientos-editorial .contenedor { max-width: 1560px; }
body.post-type-archive-auren_tratamiento .cierre__inner { max-width: 1560px; }
.tratamientos-editorial .seccion { padding-block: var(--editorial-space); }
.tratamientos-editorial .eyebrow {
	margin: 0;
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--verde-700);
}

/* Navegación interna: acompaña el recorrido y marca el grupo activo. */
.tratamientos-nav {
	position: sticky;
	top: var(--header-h, 86px);
	z-index: 40;
	border-block: 1px solid rgba(45, 71, 46, .22);
	background: rgba(254, 240, 215, .93);
	box-shadow: 0 16px 34px -30px rgba(21, 38, 23, .75);
	backdrop-filter: blur(16px);
}
.tratamientos-nav__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 6rem);
	align-items: center;
	min-height: var(--tratamientos-nav-h);
}
.tratamientos-nav__etiqueta {
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--verde-700);
	white-space: nowrap;
}
.tratamientos-nav__lista {
	display: flex;
	gap: .55rem;
	justify-content: flex-end;
	min-width: 0;
}
.tratamientos-nav a {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.8rem;
	padding: .75rem clamp(.9rem, 1.7vw, 1.4rem);
	border: 1px solid rgba(45, 71, 46, .32);
	border-radius: 999px;
	color: var(--verde-900);
	font-size: clamp(.68rem, .8vw, .78rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: .045em;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	transition: color 350ms ease, border-color 350ms ease, transform 350ms ease, box-shadow 350ms ease;
}
.tratamientos-nav a::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: var(--verde-900);
	transform: scale(.72);
	opacity: 0;
	transition: transform 420ms cubic-bezier(.22, .61, .36, 1), opacity 300ms ease;
}
.tratamientos-nav a:hover,
.tratamientos-nav a:focus-visible { border-color: var(--verde-900); transform: translateY(-2px); }
.tratamientos-nav a[aria-current="true"] {
	border-color: var(--verde-900);
	color: var(--crema);
	box-shadow: 0 13px 24px -18px rgba(21, 38, 23, .8);
}
.tratamientos-nav a[aria-current="true"]::before { transform: scale(1); opacity: 1; }

.tratamientos-categoria { scroll-margin-top: calc(var(--header-h, 86px) + var(--tratamientos-nav-h) + 1rem); }

.tratamientos-intro { background: var(--hueso); }
.tratamientos-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .52fr);
	gap: 1.5rem clamp(3rem, 9vw, 10rem);
	align-items: end;
}
.tratamientos-intro__grid > .eyebrow { grid-column: 1 / -1; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.tratamientos-titulo {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 4rem);
	font-weight: 300;
	line-height: .94;
	letter-spacing: -.06em;
	text-wrap: balance;
}
.tratamientos-titulo em {
	display: block;
	font-family: var(--fuente-serif);
	font-size: var(--ajuste-serif-titulos);
	font-weight: 400;
	font-style: italic;
	line-height: .92;
	letter-spacing: -.015em;
	color: var(--verde-700);
}
.tratamientos-intro__texto { padding-bottom: .5rem; }
.tratamientos-intro__texto > p:first-child {
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.4rem);
	line-height: 1.55;
}
.tratamientos-intro__guia {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: clamp(2.5rem, 5vw, 4.5rem) 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(45, 71, 46, .35);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tratamientos-intro__guia span { font-size: 1.35rem; }

.tratamientos-categoria {
	position: relative;
	min-height: auto;
	background: var(--crema);
}
.tratamientos-editorial .tratamientos-categoria.seccion {
	padding-block: var(--editorial-space) clamp(3.5rem, 5vw, 5rem);
}
.tratamientos-categoria--2 { background: #e9dfca; }
.tratamientos-categoria--3 { background: var(--verde-900); color: var(--crema); }
.tratamientos-categoria--4 { background: var(--dorado-claro); }
.tratamientos-categoria__layout {
	display: grid;
	grid-template-columns: minmax(230px, .36fr) minmax(0, 1fr);
	gap: clamp(3.5rem, 8vw, 9rem);
	align-items: start;
}
.tratamientos-categoria__cabecera {
	position: sticky;
	top: calc(var(--header-h, 86px) + var(--tratamientos-nav-h) + 2rem);
}
.tratamientos-categoria__cabecera h2,
.tratamientos-categoria__cabecera p { transition: transform 650ms cubic-bezier(.22, .61, .36, 1), opacity 500ms ease; }
.tratamientos-categoria.is-activa .tratamientos-categoria__cabecera h2 { transform: translateX(.35rem); }
.tratamientos-categoria__cabecera h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 4rem);
	font-weight: 300;
	line-height: .94;
	letter-spacing: -.06em;
	text-wrap: balance;
}
.tratamientos-categoria__cabecera h2 span,
.tratamientos-categoria__cabecera h2 em { display: block; }
.tratamientos-categoria__cabecera h2 em {
	font-family: var(--fuente-serif);
	font-size: var(--ajuste-serif-titulos);
	font-weight: 400;
	font-style: italic;
	line-height: .92;
	letter-spacing: -.015em;
	color: var(--verde-700);
}
.tratamientos-categoria--3 .tratamientos-categoria__cabecera h2 em { color: var(--dorado-claro); }
.tratamientos-categoria__cabecera p {
	max-width: 23rem;
	margin: clamp(2rem, 4vw, 3.5rem) 0 0;
	font-size: clamp(1rem, 1.25vw, 1.2rem);
	line-height: 1.55;
}
.tratamientos-categoria--3 .tratamientos-categoria__cabecera p { color: rgba(254, 240, 215, .78); }

.tratamientos-categoria__tarjetas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}
.tratamiento-caja {
	position: relative;
	min-height: 0;
	aspect-ratio: .8;
	overflow: hidden;
	border-radius: clamp(1.5rem, 2.4vw, 2.5rem) 48% clamp(1.5rem, 2.4vw, 2.5rem) clamp(1.5rem, 2.4vw, 2.5rem);
	background: var(--verde-800);
	color: var(--crema);
	isolation: isolate;
	outline: none;
	text-decoration: none;
}
.tratamiento-caja:nth-child(2) { margin-top: clamp(4rem, 9vw, 9rem); }
.tratamiento-caja img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.01);
	transition: transform 850ms cubic-bezier(.2, .7, .2, 1), filter 650ms ease;
}
.tratamiento-caja__velo {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(18, 34, 20, .08) 18%, rgba(18, 34, 20, .36) 52%, rgba(18, 34, 20, .96) 100%);
	transition: background 550ms ease;
}
.tratamiento-caja__contenido {
	position: absolute;
	inset: auto clamp(1.5rem, 3vw, 3rem) clamp(1.6rem, 3.5vw, 3.2rem);
}
.tratamiento-caja h3 {
	margin: 0;
	font-size: clamp(1.7rem, 2.75vw, 3rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.045em;
}
.tratamiento-caja__detalle {
	max-height: 0;
	margin: 0;
	overflow: hidden;
	opacity: 0;
	font-family: var(--fuente-texto);
	font-size: clamp(1rem, 1.15vw, 1.15rem);
	font-style: normal;
	line-height: 1.5;
	transform: translateY(1.1rem);
	transition: max-height 600ms ease, margin 450ms ease, opacity 400ms ease, transform 500ms ease;
}
.tratamiento-caja__accion {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 1.35rem;
	padding-top: .85rem;
	border-top: 1px solid rgba(254, 240, 215, .45);
	font-size: .67rem;
	font-weight: 600;
	letter-spacing: .11em;
	text-transform: uppercase;
}
.tratamiento-caja__accion span { font-size: 1.25rem; transition: transform 450ms ease; }
.tratamiento-caja:hover img,
.tratamiento-caja:focus-visible img { transform: scale(1.075); filter: saturate(.78); }
.tratamiento-caja:hover .tratamiento-caja__velo,
.tratamiento-caja:focus-visible .tratamiento-caja__velo {
	background: linear-gradient(180deg, rgba(18, 34, 20, .25), rgba(18, 34, 20, .62) 45%, rgba(18, 34, 20, .98));
}
.tratamiento-caja:hover .tratamiento-caja__detalle,
.tratamiento-caja:focus-visible .tratamiento-caja__detalle {
	max-height: 14rem;
	margin-top: 1.4rem;
	opacity: 1;
	transform: translateY(0);
}
.tratamiento-caja:hover .tratamiento-caja__accion span,
.tratamiento-caja:focus-visible .tratamiento-caja__accion span { transform: translateX(.3rem); }
.tratamiento-caja:focus-visible { box-shadow: 0 0 0 4px var(--dorado); }

/* Listado plano: cada tratamiento se presenta como un servicio independiente. */
.tratamientos-listado { background: var(--crema); }
.tratamientos-editorial .tratamientos-listado.seccion { padding-block: clamp(4.5rem, 7vw, 7rem); }
.tratamientos-listado__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}
.tratamientos-listado__grid .tratamiento-caja,
.tratamientos-listado__grid .tratamiento-caja:nth-child(2) { margin-top: 0; }

/* Cierre compacto del archivo de tratamientos. */
body.post-type-archive-auren_tratamiento .cierre {
	padding-block: clamp(4rem, 6vw, 6rem);
	background-color: var(--verde-900);
	background-image: linear-gradient(90deg, rgba(15, 30, 17, .88), rgba(15, 30, 17, .52) 55%, rgba(15, 30, 17, .7)), url('../img/banners/separador-tratamientos-ia-v1.webp');
	background-position: center;
	background-size: cover;
	color: var(--crema);
}
body.post-type-archive-auren_tratamiento .cierre__inner {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
}
body.post-type-archive-auren_tratamiento .cierre__inner h2 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: .9;
	color: var(--crema);
}
body.post-type-archive-auren_tratamiento .cierre .titulo-suave {
	display: block;
	font-size: 1.22em;
	color: var(--dorado-claro);
}
body.post-type-archive-auren_tratamiento .cierre p {
	margin-top: 1rem;
}
body.post-type-archive-auren_tratamiento .cierre .acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: flex-end;
}
body.post-type-archive-auren_tratamiento .cierre .btn {
	min-height: 3.75rem;
	padding-inline: 1.7rem;
	background: var(--dorado-claro);
	border-color: var(--dorado-claro);
	color: var(--verde-900);
}

@media (max-width: 1180px) {
	.tratamientos-editorial { --tratamientos-nav-h: 4rem; }
	.tratamientos-nav__inner { display: block; min-height: 0; padding-block: .7rem; }
	.tratamientos-nav__etiqueta { display: none; }
	.tratamientos-nav__lista {
		justify-content: flex-start;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}
	.tratamientos-nav__lista::-webkit-scrollbar { display: none; }
	.tratamientos-nav a { flex: 0 0 auto; min-height: 2.55rem; scroll-snap-align: center; }
}

@media (max-width: 1100px) {
	.tratamientos-listado__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tratamientos-categoria__layout { grid-template-columns: 1fr; }
	.tratamientos-categoria__cabecera { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 4rem; align-items: end; }
	.tratamientos-categoria__cabecera h2 { max-width: 10ch; }
	.tratamientos-categoria__cabecera p { margin: 0; }
}

@media (max-width: 800px) {
	.tratamientos-listado__grid { grid-template-columns: 1fr; }
	body.post-type-archive-auren_tratamiento .cierre__inner { grid-template-columns: 1fr; gap: 2rem; }
	body.post-type-archive-auren_tratamiento .cierre .acciones { justify-content: flex-start; }
	.tratamientos-intro__grid { grid-template-columns: 1fr; }
	.tratamientos-intro__texto { margin-top: 2rem; }
	.tratamientos-categoria { min-height: auto; }
	.tratamientos-categoria__cabecera { display: block; }
	.tratamientos-categoria__cabecera p { margin-top: 1.5rem; }
	.tratamientos-categoria__tarjetas { grid-template-columns: 1fr; }
	.tratamiento-caja,
	.tratamiento-caja:nth-child(2) { width: min(100%, 38rem); min-height: 0; margin: 0; aspect-ratio: .8; }
	.tratamiento-caja:nth-child(2) { margin-left: auto; }
	.tratamiento-caja__detalle {
		max-height: 15rem;
		margin-top: 1.1rem;
		opacity: 1;
		transform: none;
	}
	.tratamiento-caja__accion { display: none; }
}

@media (max-width: 560px) {
	.tratamientos-editorial .tratamientos-listado.seccion { padding-block: 4rem; }
	.tratamientos-editorial .seccion { padding-block: 5rem; }
	.tratamientos-editorial .tratamientos-categoria.seccion { padding-block: 5rem 3.5rem; }
	.tratamientos-titulo { font-size: clamp(2.8rem, 14vw, 4rem); }
	.tratamientos-categoria__cabecera h2 { font-size: clamp(2.8rem, 14vw, 4rem); }
	.tratamientos-categoria__tarjetas { gap: 1rem; }
	.tratamiento-caja { border-radius: 1.3rem 48% 1.3rem 1.3rem; }
	.tratamiento-caja__contenido { inset: auto 1.35rem 1.5rem; }
	.tratamiento-caja h3 { font-size: clamp(1.65rem, 8vw, 2.3rem); }
	.tratamiento-caja__detalle { font-size: 1.08rem; }
}

@media (hover: none) {
	.tratamiento-caja__detalle { max-height: 15rem; margin-top: 1.1rem; opacity: 1; transform: none; }
	.tratamiento-caja__accion { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.tratamientos-nav a,
	.tratamientos-nav a::before,
	.tratamientos-categoria__cabecera h2,
	.tratamientos-categoria__cabecera p,
	.tratamiento-caja img,
	.tratamiento-caja__detalle,
	.tratamiento-caja__accion span { transition: none; }
}

/* Cierre editorial compartido con las fichas de tratamiento. */
.tratamientos-cierre {
	position: relative;
	display: flex;
	min-height: clamp(300px, 32vw, 390px);
	align-items: center;
	padding-block: 3.5rem !important;
	background-color: var(--verde-900);
	background-image: linear-gradient(90deg, rgba(16, 31, 18, .92), rgba(16, 31, 18, .56) 58%, rgba(16, 31, 18, .72)), var(--tratamientos-cierre);
	background-position: center;
	background-size: cover;
	color: var(--crema);
}
.tratamientos-cierre__inner {
	display: flex;
	width: 100%;
	max-width: 1560px !important;
	flex-direction: column;
	gap: 1.75rem;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	padding: 0;
	text-align: center;
}
.tratamientos-cierre h2 {
	max-width: none;
	margin: 0;
	font-size: clamp(2.8rem, 4vw, 4rem);
	font-weight: 300;
}
.tratamientos-cierre h2 span,
.tratamientos-cierre h2 em { display: block; white-space: nowrap; }
.tratamientos-cierre h2 em {
	color: var(--dorado-claro);
	font-family: var(--fuente-serif);
	font-size: var(--ajuste-serif-titulos);
	font-style: italic;
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.015em;
}
.tratamientos-cierre .btn {
	--btn-efecto: var(--crema);
	min-height: 3.6rem;
	padding: 1rem 1.7rem;
	border-color: var(--dorado-claro);
	background: var(--dorado-claro);
	color: var(--verde-900);
}

@media (max-width: 560px) {
	.tratamientos-cierre { min-height: 310px; }
	.tratamientos-cierre__inner { width: calc(100% - (2 * var(--gutter))); }
	.tratamientos-cierre h2 { font-size: clamp(1.8rem, 7.8vw, 2.6rem); }
	.tratamientos-cierre h2 em { font-size: var(--ajuste-serif-titulos); }
}

