/* Candelaria Psicología — v0.10.0 */

:root {
	--cp-ink: #1f272b;
	--cp-muted: #667176;
	--cp-line: #e6e9e8;
	--cp-soft: #f5f7f6;
	--cp-soft-2: #eef3f1;
	--cp-accent: #315365;
	--cp-accent-dark: #203b49;
	--cp-dark: #1f2a2f;
	--cp-radius: 24px;
	--cp-shadow: 0 22px 60px rgba(29, 45, 51, .08);
	--cp-shell: 1180px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	color: var(--cp-ink);
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

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

a { color: var(--cp-accent); text-underline-offset: .18em; }

.site-shell {
	width: min(calc(100% - 40px), var(--cp-shell));
	margin-inline: auto;
}

.content-shell { max-width: 820px; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	z-index: 9999;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 10px 14px;
	clip: auto;
	background: #fff;
	color: #111;
}

.site-header {
	position: sticky;
	z-index: 50;
	top: 0;
	border-bottom: 1px solid rgba(230, 233, 232, .92);
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(14px);
}

.site-header__inner {
	min-height: 96px;
	display: flex;
	align-items: center;
	gap: 26px;
}

.site-branding { margin-right: auto; }

.site-title {
	display: flex;
	flex-direction: column;
	color: var(--cp-ink);
	line-height: 1.1;
	text-decoration: none;
}

.site-title__name { font-size: 22px; font-weight: 780; }
.site-title__role { margin-top: 4px; color: var(--cp-muted); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.primary-navigation ul,
.site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}

.primary-navigation a,
.site-footer a { color: inherit; text-decoration: none; }

.primary-navigation a { font-size: 15px; font-weight: 600; }

.header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 17px;
	border-radius: 999px;
	background: var(--cp-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.menu-toggle {
	display: none;
	border: 1px solid var(--cp-line);
	border-radius: 999px;
	padding: 9px 14px;
	background: #fff;
	font: inherit;
}

.eyebrow {
	margin: 0 0 12px;
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.eyebrow--light { color: rgba(255,255,255,.65); }

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

.section-heading h2,
.entry-header h1,
.archive-header h1,
.about-grid h2,
.cta-box h2 {
	margin: 0;
	font-size: clamp(34px, 4.8vw, 58px);
	line-height: 1.08;
	letter-spacing: -.038em;
}

.section-heading > p:not(.eyebrow) {
	max-width: 760px;
	color: var(--cp-muted);
	font-size: 18px;
}

.section-heading--split {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 60px;
	align-items: end;
}

.section-heading--split > p,
.section-heading--split > a {
	margin: 0;
	justify-self: end;
	max-width: 520px;
}

.hero-home {
	padding: clamp(72px, 9vw, 132px) 0 76px;
	background:
		radial-gradient(circle at 90% 10%, rgba(231,240,237,.9), transparent 36%),
		linear-gradient(135deg, #f8faf9, #fff);
	border-bottom: 1px solid var(--cp-line);
}

.hero-home__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
	gap: clamp(34px, 6vw, 78px);
	align-items: center;
}

.hero-home h1 {
	margin: 0;
	max-width: 720px;
	font-size: clamp(46px, 7vw, 80px);
	line-height: .98;
	letter-spacing: -.052em;
}

.hero-home__lead {
	margin: 24px 0 0;
	max-width: 660px;
	color: #44525a;
	font-size: clamp(20px, 2.25vw, 26px);
	line-height: 1.47;
}

.hero-home__actions {
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.hero-home__trust {
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	color: var(--cp-muted);
	font-size: 14px;
}

.hero-home__trust li::before {
	content: "✓";
	margin-right: 7px;
	color: var(--cp-accent);
	font-weight: 800;
}

.trust-badges {
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.trust-badge {
	padding: 16px 18px;
	border: 1px solid var(--cp-line);
	border-radius: 18px;
	background: rgba(255,255,255,.86);
}

.trust-badge span {
	display:block;
	font-weight: 700;
	line-height:1.3;
}

.trust-badge small {
	display:block;
	margin-top: 5px;
	color: var(--cp-muted);
	font-size: 13px;
}

.hero-photo-wrap {
	position: relative;
}

.hero-photo {
	position: relative;
	overflow: hidden;
	border-radius: 34px;
	background: #e8efec;
	box-shadow: var(--cp-shadow);
	aspect-ratio: 4 / 4.85;
}



.hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.button:hover { transform: translateY(-1px); }

.button--primary { background: var(--cp-accent); color: #fff; }
.button--primary:hover { background: var(--cp-accent-dark); }

.button--ghost {
	border-color: var(--cp-line);
	background: rgba(255,255,255,.7);
	color: var(--cp-ink);
}

.button--light { background: #fff; color: var(--cp-dark); }
.button--large { min-width: 170px; min-height: 54px; }

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 700;
	text-decoration: none;
}

.section { padding: clamp(76px, 9vw, 124px) 0; }
.section--soft { background: var(--cp-soft); }
.section--dark { background: var(--cp-dark); color: #fff; }

.mode-grid {
	margin-top: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

.mode-card {
	min-height: 310px;
	padding: 34px;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: #fff;
}

.mode-card--accent { background: var(--cp-soft-2); }

.mode-card__number {
	color: var(--cp-muted);
	font-size: 13px;
	font-weight: 750;
}

.mode-card h3 {
	margin: auto 0 14px;
	max-width: 440px;
	font-size: clamp(26px, 3vw, 38px);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.mode-card p { color: var(--cp-muted); }
.mode-card .text-link { margin-top: 10px; }

.areas-grid {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.area-card {
	min-height: 230px;
	padding: 27px;
	border: 1px solid var(--cp-line);
	border-radius: 20px;
	background: #fff;
	transition: transform .18s ease, box-shadow .18s ease;
}

.area-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--cp-shadow);
}

.area-card span {
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
}

.area-card h3 {
	margin: 50px 0 12px;
	font-size: 23px;
	line-height: 1.15;
}

.area-card p {
	margin: 0;
	color: var(--cp-muted);
	font-size: 15px;
}

.about-grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(46px, 8vw, 110px);
	align-items: start;
}

.about-copy {
	padding-top: 30px;
	color: rgba(255,255,255,.78);
	font-size: 19px;
}

.about-copy .button { margin-top: 18px; }

.posts-home-grid {
	margin-top: 46px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.post-home-card {
	padding: 28px;
	border: 1px solid var(--cp-line);
	border-radius: 20px;
	background: #fff;
}

.post-home-card--empty {
	grid-column: span 2;
	background: var(--cp-soft);
}

.post-home-card__date {
	margin: 0 0 32px;
	color: var(--cp-muted);
	font-size: 13px;
}

.post-home-card h2,
.post-home-card h3 {
	margin: 0 0 14px;
	font-size: 23px;
	line-height: 1.2;
}

.post-home-card h2 a,
.post-home-card h3 a { color: inherit; text-decoration: none; }

.post-home-card p { color: var(--cp-muted); }

.cta-section { padding-top: 30px; }

.cta-box {
	padding: clamp(34px, 6vw, 68px);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	align-items: center;
	border-radius: 30px;
	background: var(--cp-soft-2);
}

.cta-box h2 { font-size: clamp(34px, 4.6vw, 54px); }
.cta-box p:not(.eyebrow) { margin-bottom: 0; color: var(--cp-muted); }

.entry-content,
.page-editor-content { margin-top: 44px; }

.entry-content > * { max-width: 760px; }
.entry-content > .alignwide { max-width: 1180px; }

.entry-featured { margin: 36px 0; }

.site-footer {
	margin-top: 70px;
	padding: 58px 0 28px;
	border-top: 1px solid var(--cp-line);
	background: #f7f8f8;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 46px;
	align-items: start;
}

.site-footer__brand p {
	max-width: 360px;
	color: var(--cp-muted);
}

.site-footer__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.site-footer__bottom {
	margin-top: 42px;
	padding-top: 22px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid var(--cp-line);
	color: var(--cp-muted);
	font-size: 13px;
}


.credentials-strip {
	margin-top: 46px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--cp-line);
	border-bottom: 1px solid var(--cp-line);
	background: rgba(255,255,255,.72);
}

.credential {
	min-height: 108px;
	padding: 22px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-right: 1px solid var(--cp-line);
}

.credential:last-child { border-right: 0; }

.credential strong {
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.credential span {
	margin-top: 6px;
	color: var(--cp-muted);
	font-size: 14px;
}

.reviews-section {
	background: #fbfcfc;
}

.reviews-placeholder {
	margin-top: 44px;
	padding: clamp(28px, 5vw, 54px);
	border: 1px dashed #cfd8d5;
	border-radius: 24px;
	background: #fff;
}

.reviews-placeholder strong {
	font-size: 20px;
}

.reviews-placeholder p {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--cp-muted);
}

.online-feature {
	padding-top: 40px;
}

.online-feature__grid {
	padding: clamp(38px, 6vw, 72px);
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(42px, 7vw, 90px);
	align-items: start;
	border-radius: 30px;
	background: var(--cp-soft-2);
}

.online-feature__grid h2 {
	margin: 0;
	font-size: clamp(34px, 4.8vw, 58px);
	line-height: 1.08;
	letter-spacing: -.038em;
}

.online-feature__grid p {
	margin-top: 0;
	color: #4c5a60;
	font-size: 18px;
}

.online-feature__grid .button {
	margin-top: 12px;
}

@media (max-width: 1080px) {
	.trust-badges { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
	.credentials-strip,
	.online-feature__grid {
		grid-template-columns: 1fr;
	}

	.credential {
		border-right: 0;
		border-bottom: 1px solid var(--cp-line);
	}

	.credential:last-child {
		border-bottom: 0;
	}

	.header-cta { display: none; }

	.hero-home__grid,
	.about-grid,
	.section-heading--split {
		grid-template-columns: 1fr;
	}

	.section-heading--split > p,
	.section-heading--split > a { justify-self: start; }

	.hero-photo { aspect-ratio: 4 / 4.2; max-width: 640px; }

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

	.posts-home-grid { grid-template-columns: 1fr 1fr; }

	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
	.menu-toggle { display: inline-flex; }

	.primary-navigation {
		display: none;
		position: absolute;
		left: 20px;
		right: 20px;
		top: 72px;
		padding: 20px;
		border: 1px solid var(--cp-line);
		border-radius: 18px;
		background: #fff;
		box-shadow: var(--cp-shadow);
	}

	.primary-navigation.is-open { display: block; }

	.primary-navigation ul {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	.primary-navigation a {
		display: block;
		padding: 10px 6px;
		font-size: 16px;
	}

	.mode-grid { grid-template-columns: 1fr; }

	.cta-box { grid-template-columns: 1fr; }
	.cta-box .button { justify-self: start; }

	.site-footer__grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.site-shell { width: min(calc(100% - 28px), var(--cp-shell)); }

	.hero-home { padding-top: 56px; }

	.hero-home h1 { font-size: clamp(42px, 13vw, 62px); }

	.hero-home__lead { font-size: 19px; }

	.hero-home__actions .button { width: 100%; }

	.hero-photo {
		aspect-ratio: 4 / 4.55;
		border-radius: 28px;
	}

	.areas-grid,
	.posts-home-grid,
	.trust-badges { grid-template-columns: 1fr; }

	.post-home-card--empty { grid-column: auto; }

	.mode-card { min-height: 270px; }

	.site-footer__bottom { flex-direction: column; }
}


/* Psicología online */
.online-hero {
	padding: clamp(76px, 9vw, 128px) 0;
	background:
		radial-gradient(circle at 78% 12%, rgba(225,236,232,.92), transparent 34%),
		linear-gradient(135deg, #f8faf9, #fff);
	border-bottom: 1px solid var(--cp-line);
}

.online-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: clamp(42px, 7vw, 90px);
	align-items: center;
}

.online-hero h1 {
	margin: 0;
	max-width: 790px;
	font-size: clamp(46px, 6.5vw, 76px);
	line-height: 1;
	letter-spacing: -.05em;
}

.online-hero__lead {
	margin: 26px 0 0;
	max-width: 720px;
	color: #45535a;
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.48;
}

.online-hero__points {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
	color: var(--cp-muted);
}

.online-hero__points li::before {
	content: "✓";
	margin-right: 9px;
	color: var(--cp-accent);
	font-weight: 800;
}

.online-device-card {
	padding: 22px;
	border: 1px solid var(--cp-line);
	border-radius: 32px;
	background: #fff;
	box-shadow: var(--cp-shadow);
}

.online-device-card__screen {
	overflow: hidden;
	aspect-ratio: 4 / 4.2;
	border-radius: 22px;
	background: var(--cp-soft-2);
}

.online-device-card__screen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 16%;
}

.online-device-card__meta {
	padding: 22px 4px 4px;
}

.online-device-card__meta span {
	display: block;
	margin-bottom: 6px;
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.online-device-card__meta strong {
	display: block;
	font-size: 22px;
	line-height: 1.2;
}

.steps-grid {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.step-card {
	min-height: 270px;
	padding: 30px;
	border: 1px solid var(--cp-line);
	border-radius: 22px;
	background: #fff;
}

.step-card > span {
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
}

.step-card h3 {
	margin: 70px 0 12px;
	font-size: 26px;
	line-height: 1.12;
	letter-spacing: -.025em;
}

.step-card p {
	margin-bottom: 0;
	color: var(--cp-muted);
}

.online-two-col {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(44px, 8vw, 110px);
	align-items: start;
}

.online-two-col h2,
.online-authority h2 {
	margin: 0;
	font-size: clamp(34px, 4.8vw, 58px);
	line-height: 1.08;
	letter-spacing: -.038em;
}

.check-list {
	display: grid;
	gap: 14px;
}

.check-list > div {
	padding: 22px 24px;
	border: 1px solid var(--cp-line);
	border-radius: 18px;
	background: #fff;
}

.check-list strong {
	font-size: 19px;
}

.check-list p {
	margin: 6px 0 0;
	color: var(--cp-muted);
}

.online-authority {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(46px, 8vw, 110px);
	align-items: start;
}

.online-authority > div:last-child {
	color: rgba(255,255,255,.8);
	font-size: 19px;
}

.online-authority .button {
	margin-top: 18px;
}

.faq-list {
	margin-top: 44px;
	border-top: 1px solid var(--cp-line);
}

.faq-list details {
	border-bottom: 1px solid var(--cp-line);
}

.faq-list summary {
	cursor: pointer;
	padding: 24px 0;
	font-size: 20px;
	font-weight: 700;
	list-style: none;
}

.faq-list summary::-webkit-details-marker {
	display: none;
}

.faq-list summary::after {
	content: "+";
	float: right;
	color: var(--cp-muted);
	font-size: 24px;
	font-weight: 400;
}

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

.faq-list details p {
	max-width: 800px;
	margin: 0 0 24px;
	color: var(--cp-muted);
}

@media (max-width: 980px) {
	.online-hero__grid,
	.online-two-col,
	.online-authority {
		grid-template-columns: 1fr;
	}

	.online-device-card {
		max-width: 650px;
	}

	.steps-grid {
		grid-template-columns: 1fr;
	}

	.step-card {
		min-height: auto;
	}

	.step-card h3 {
		margin-top: 38px;
	}
}

@media (max-width: 620px) {
	.online-hero {
		padding-top: 58px;
	}

	.online-hero h1 {
		font-size: clamp(42px, 13vw, 62px);
	}

	.online-hero__lead {
		font-size: 19px;
	}

	.online-device-card {
		padding: 14px;
		border-radius: 24px;
	}
}


/* v0.6.0 refinements */
@media (min-width: 981px) {
	.site-header__inner {
		gap: 32px;
	}
}

.areas-media-grid {
	margin-top: 42px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.area-media-card {
	overflow: hidden;
	border: 1px solid var(--cp-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(29, 45, 51, .04);
}

.area-media-card__image {
	aspect-ratio: 16 / 10;
	background: var(--cp-soft-2);
	overflow: hidden;
}

.area-media-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.area-media-card__body {
	padding: 20px 22px 24px;
}

.area-media-card__body > span {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .08em;
}

.area-media-card__body h3 {
	margin: 0 0 10px;
	font-size: 30px;
	line-height: 1.08;
	letter-spacing: -.03em;
}

.area-media-card__body p {
	margin: 0;
	color: var(--cp-muted);
	font-size: 16px;
	line-height: 1.55;
}

@media (max-width: 1080px) {
	.areas-media-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.site-title__name { font-size: 20px; }
	.site-title__role { font-size: 12px; }

	.areas-media-grid {
		grid-template-columns: 1fr;
	}

	.area-media-card__body h3 {
		font-size: 24px;
	}
}


/* v0.7.0 — tarjetas dinámicas y efectos hover */
.area-media-card {
    position: relative;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.area-media-card__link { display:block; height:100%; color:inherit; text-decoration:none; }
.area-media-card__image { position:relative; isolation:isolate; }
.area-media-card__image img { transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.area-media-card__overlay {
    position:absolute; z-index:2; inset:0;
    display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
    padding:22px; color:#fff;
    background:linear-gradient(180deg,rgba(20,31,36,0) 28%,rgba(20,31,36,.25) 58%,rgba(20,31,36,.82) 100%);
    opacity:0; transition:opacity .28s ease;
}
.area-media-card__overlay span { font-size:15px; font-weight:750; }
.area-media-card__overlay b {
    width:42px; height:42px; display:grid; place-items:center; border-radius:999px;
    background:rgba(255,255,255,.92); color:var(--cp-dark); font-size:20px; font-weight:500;
    transform:translateY(8px) scale(.92); transition:transform .28s ease;
}
.area-media-card__more {
    margin-top:18px; color:var(--cp-accent); font-size:14px; font-weight:750;
    opacity:.78; transition:opacity .25s ease, transform .25s ease;
}
@media (hover:hover) and (pointer:fine) {
    .area-media-card:hover,.area-media-card:focus-within {
        transform:translateY(-7px); border-color:#d2dcda; box-shadow:0 24px 55px rgba(29,45,51,.12);
    }
    .area-media-card:hover .area-media-card__image img,.area-media-card:focus-within .area-media-card__image img {
        transform:scale(1.065); filter:saturate(.92) contrast(1.03);
    }
    .area-media-card:hover .area-media-card__overlay,.area-media-card:focus-within .area-media-card__overlay { opacity:1; }
    .area-media-card:hover .area-media-card__overlay b,.area-media-card:focus-within .area-media-card__overlay b { transform:translateY(0) scale(1); }
    .area-media-card:hover .area-media-card__more,.area-media-card:focus-within .area-media-card__more { opacity:1; transform:translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
    .area-media-card,.area-media-card__image img,.area-media-card__overlay,.area-media-card__overlay b,.area-media-card__more { transition:none!important; }
}
@media (hover:none) {
    .area-media-card__overlay { display:none; }
    .area-media-card__more { opacity:1; }
}


/* v0.8.0 — páginas reales de tratamiento */
.treatment-hero,
.treatments-index-hero {
	padding: clamp(72px, 8vw, 122px) 0;
	background:
		radial-gradient(circle at 86% 10%, rgba(231,240,237,.9), transparent 34%),
		linear-gradient(135deg, #f8faf9, #fff);
	border-bottom: 1px solid var(--cp-line);
}

.treatment-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: clamp(40px, 7vw, 86px);
	align-items: center;
}

.treatment-hero h1,
.treatments-index-hero h1 {
	margin: 0;
	max-width: 780px;
	font-size: clamp(46px, 6.5vw, 76px);
	line-height: 1;
	letter-spacing: -.05em;
}

.treatment-hero__lead,
.treatments-index-intro {
	margin-top: 25px;
	max-width: 720px;
	color: #45535a;
	font-size: clamp(20px, 2.1vw, 25px);
	line-height: 1.48;
}

.treatment-hero__facts {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 9px 20px;
	color: var(--cp-muted);
	font-size: 14px;
}

.treatment-hero__facts li::before {
	content: "✓";
	margin-right: 7px;
	color: var(--cp-accent);
	font-weight: 800;
}

.treatment-hero__image {
	overflow: hidden;
	border-radius: 30px;
	aspect-ratio: 4 / 3.7;
	background: var(--cp-soft-2);
	box-shadow: var(--cp-shadow);
}

.treatment-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.treatment-body__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: clamp(42px, 7vw, 90px);
	align-items: start;
}

.treatment-content {
	margin-top: 0;
	font-size: 18px;
}

.treatment-content h2 {
	margin: 60px 0 16px;
	font-size: clamp(30px, 3.8vw, 46px);
	line-height: 1.1;
	letter-spacing: -.035em;
}

.treatment-content h2:first-child {
	margin-top: 0;
}

.treatment-content h3 {
	margin: 34px 0 12px;
	font-size: 24px;
	line-height: 1.2;
}

.treatment-content p,
.treatment-content li {
	color: #47545a;
}

.treatment-content ul {
	padding-left: 1.25em;
}

.treatment-content details {
	margin: 0;
	border-bottom: 1px solid var(--cp-line);
}

.treatment-content details:first-of-type {
	border-top: 1px solid var(--cp-line);
}

.treatment-content summary {
	cursor: pointer;
	padding: 20px 0;
	color: var(--cp-ink);
	font-weight: 750;
}

.treatment-content details p {
	margin-top: 0;
	padding-bottom: 18px;
}

.treatment-side {
	position: sticky;
	top: 116px;
}

.treatment-side__box {
	padding: 28px;
	border: 1px solid var(--cp-line);
	border-radius: 22px;
	background: var(--cp-soft);
}

.treatment-side__box h2 {
	margin: 0 0 14px;
	font-size: 30px;
	line-height: 1.1;
}

.treatment-side__box p {
	color: var(--cp-muted);
}

.treatments-index-intro p {
	margin-bottom: 0;
}

.treatments-index-hero .content-shell {
	max-width: 900px;
}

@media (max-width: 980px) {
	.treatment-hero__grid,
	.treatment-body__grid {
		grid-template-columns: 1fr;
	}

	.treatment-hero__image {
		max-width: 700px;
	}

	.treatment-side {
		position: static;
	}
}

@media (max-width: 620px) {
	.treatment-hero,
	.treatments-index-hero {
		padding-top: 56px;
	}

	.treatment-hero h1,
	.treatments-index-hero h1 {
		font-size: clamp(42px, 13vw, 62px);
	}

	.treatment-hero__lead,
	.treatments-index-intro {
		font-size: 19px;
	}

	.treatment-content {
		font-size: 17px;
	}
}

/* v0.9.0 — refinamientos globales */
.site-header__inner{min-height:100px}.site-title__name{font-size:26px!important;font-weight:800!important;letter-spacing:-.025em}.site-title__role{margin-top:5px;font-size:13px!important;font-weight:750!important;letter-spacing:.1em!important}.primary-navigation a{font-size:15px}
@media(min-width:981px){.hero-home__grid{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)}.hero-photo-wrap{width:min(100%,430px);justify-self:end}.hero-photo{aspect-ratio:4/4.8}}
.treatment-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr)}.treatment-hero__copy{max-width:760px}.treatment-hero__lead{font-size:clamp(21px,2.15vw,27px)}.treatment-body__grid{grid-template-columns:minmax(0,1fr) 350px}.treatment-content{font-size:19px;line-height:1.72}.treatment-content h2{margin-top:68px;font-size:clamp(34px,4vw,50px)}.treatment-content h3{font-size:26px}.treatment-content details{margin:12px 0;border:1px solid var(--cp-line);border-radius:16px;background:#fff;overflow:hidden}.treatment-content details:first-of-type{border-top:1px solid var(--cp-line)}.treatment-content summary{padding:20px 22px;list-style:none}.treatment-content summary::-webkit-details-marker{display:none}.treatment-content summary::after{content:'+';float:right;color:var(--cp-muted);font-size:25px;font-weight:400}.treatment-content details[open] summary::after{content:'−'}.treatment-content details p{padding:0 22px 20px;margin:0}.treatment-side__box{padding:30px}.treatment-side__box h2{font-size:32px}
.related-treatments{padding-top:32px}.related-treatments__header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.related-treatments__header h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.035em}.related-treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-treatment-card{padding:26px;border:1px solid var(--cp-line);border-radius:20px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.related-treatment-card a{color:inherit;text-decoration:none}.related-treatment-card span{color:var(--cp-muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}.related-treatment-card h3{margin:32px 0 10px;font-size:25px;line-height:1.12}.related-treatment-card p{margin:0;color:var(--cp-muted);font-size:15px}@media(hover:hover) and (pointer:fine){.related-treatment-card:hover{transform:translateY(-4px);box-shadow:var(--cp-shadow)}}
.experience-hero{padding:clamp(72px,8vw,122px) 0;background:radial-gradient(circle at 86% 10%,rgba(231,240,237,.9),transparent 34%),linear-gradient(135deg,#f8faf9,#fff);border-bottom:1px solid var(--cp-line)}.experience-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(42px,7vw,90px);align-items:center}.experience-hero h1{margin:0;max-width:780px;font-size:clamp(48px,6.8vw,78px);line-height:.98;letter-spacing:-.052em}.experience-hero__lead{margin:26px 0 0;max-width:760px;color:#45535a;font-size:clamp(20px,2.15vw,26px);line-height:1.5}.experience-hero__image{overflow:hidden;max-width:430px;justify-self:end;border-radius:30px;background:var(--cp-soft-2);box-shadow:var(--cp-shadow);aspect-ratio:4/4.8}.experience-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center top}.experience-stats{margin-top:46px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}.experience-stat{padding:24px 28px;border-right:1px solid var(--cp-line)}.experience-stat:last-child{border-right:0}.experience-stat strong{display:block;font-size:clamp(24px,2.5vw,34px);line-height:1.1}.experience-stat span{display:block;margin-top:6px;color:var(--cp-muted);font-size:14px}.experience-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(46px,7vw,90px);align-items:start}.experience-nav{position:sticky;top:126px;padding:24px;border:1px solid var(--cp-line);border-radius:20px;background:var(--cp-soft)}.experience-nav strong{display:block;margin-bottom:15px}.experience-nav a{display:block;padding:7px 0;color:var(--cp-muted);text-decoration:none;font-size:14px}.experience-content{margin-top:0;font-size:18px;line-height:1.72}.experience-content h2{scroll-margin-top:130px;margin:70px 0 18px;font-size:clamp(34px,4.2vw,52px);line-height:1.08;letter-spacing:-.038em}.experience-content h2:first-child{margin-top:0}.experience-content p,.experience-content li{color:#47545a}.experience-content ul{padding-left:1.2em}.experience-highlight{margin:36px 0;padding:28px 30px;border-left:4px solid var(--cp-accent);border-radius:0 18px 18px 0;background:var(--cp-soft-2)}.experience-highlight p{margin:0;color:var(--cp-ink);font-size:20px;line-height:1.55}
@media(max-width:980px){.experience-hero__grid,.experience-layout{grid-template-columns:1fr}.experience-hero__image{justify-self:start}.experience-nav{position:static}.related-treatment-grid{grid-template-columns:1fr}}@media(max-width:700px){.experience-stats{grid-template-columns:1fr}.experience-stat{border-right:0;border-bottom:1px solid var(--cp-line)}.experience-stat:last-child{border-bottom:0}.site-title__name{font-size:21px!important}.site-title__role{font-size:11px!important}}


/* ==========================================================
   v0.10.0 — Citas y Contacto
   ========================================================== */

.booking-hero,
.contact-hero {
	padding: clamp(72px, 8vw, 118px) 0;
	background:
		radial-gradient(circle at 86% 10%, rgba(231,240,237,.9), transparent 34%),
		linear-gradient(135deg, #f8faf9, #fff);
	border-bottom: 1px solid var(--cp-line);
}

.booking-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	gap: clamp(44px, 7vw, 88px);
	align-items: center;
}

.booking-hero h1,
.contact-hero h1 {
	margin: 0;
	max-width: 820px;
	font-size: clamp(48px, 6.8vw, 78px);
	line-height: .98;
	letter-spacing: -.052em;
}

.booking-hero__lead,
.contact-hero__lead {
	margin: 26px 0 0;
	max-width: 760px;
	color: #45535a;
	font-size: clamp(20px, 2.15vw, 26px);
	line-height: 1.5;
}

.booking-hero__panel {
	padding: 34px;
	border: 1px solid var(--cp-line);
	border-radius: 26px;
	background: #fff;
	box-shadow: var(--cp-shadow);
}

.booking-hero__panel > span,
.contact-card > span {
	display: block;
	margin-bottom: 10px;
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.booking-hero__panel strong {
	display: block;
	font-size: 30px;
	line-height: 1.12;
}

.booking-hero__panel p {
	margin-bottom: 0;
	color: var(--cp-muted);
}

.booking-mode-grid {
	margin-top: 46px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.booking-mode-card {
	padding: 34px;
	border: 1px solid var(--cp-line);
	border-radius: 24px;
	background: #fff;
}

.booking-mode-card--online {
	background: var(--cp-soft-2);
}

.booking-mode-card__number {
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
}

.booking-mode-card h3 {
	margin: 46px 0 14px;
	font-size: clamp(28px, 3vw, 39px);
	line-height: 1.08;
	letter-spacing: -.03em;
}

.booking-mode-card p,
.booking-mode-card li {
	color: var(--cp-muted);
}

.booking-mode-card ul {
	padding-left: 1.2em;
	margin-bottom: 28px;
}

.booking-steps {
	margin-top: 44px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.booking-steps article {
	padding: 28px;
	border: 1px solid var(--cp-line);
	border-radius: 20px;
	background: #fff;
}

.booking-steps span {
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 750;
}

.booking-steps h3 {
	margin: 45px 0 10px;
	font-size: 25px;
	line-height: 1.12;
}

.booking-steps p {
	margin-bottom: 0;
	color: var(--cp-muted);
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
	gap: clamp(44px, 7vw, 88px);
	align-items: start;
}

.contact-methods {
	display: grid;
	gap: 18px;
}

.contact-card {
	padding: 30px;
	border: 1px solid var(--cp-line);
	border-radius: 22px;
	background: #fff;
}

.contact-card h2 {
	margin: 0 0 12px;
	font-size: clamp(26px, 3.2vw, 38px);
	line-height: 1.08;
}

.contact-card__email {
	overflow-wrap: anywhere;
}

.contact-card p {
	color: var(--cp-muted);
}

.contact-location {
	position: sticky;
	top: 126px;
	padding: 32px;
	border: 1px solid var(--cp-line);
	border-radius: 24px;
	background: var(--cp-soft);
}

.contact-location h2 {
	margin: 0;
	font-size: 44px;
	line-height: 1;
}

.contact-location__address {
	margin: 18px 0 26px;
	color: #45535a;
	font-size: 18px;
}

.contact-map-placeholder {
	min-height: 270px;
	padding: 28px;
	display: flex;
	align-items: end;
	border-radius: 20px;
	background:
		linear-gradient(135deg, rgba(49,83,101,.1), rgba(238,243,241,.94)),
		repeating-linear-gradient(45deg, transparent 0 30px, rgba(49,83,101,.05) 30px 31px);
}

.contact-map-placeholder p {
	color: var(--cp-muted);
}

.contact-online-note {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--cp-line);
}

.contact-online-note p {
	margin: 6px 0 10px;
	color: var(--cp-muted);
}

.clinical-note {
	margin-top: 34px;
	margin-bottom: 50px;
	padding: 18px 20px;
	border-radius: 15px;
	background: #f7f8f8;
	color: var(--cp-muted);
	font-size: 13px;
	line-height: 1.5;
}

@media (max-width: 980px) {
	.booking-hero__grid,
	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-location {
		position: static;
	}
}

@media (max-width: 760px) {
	.booking-mode-grid,
	.booking-steps {
		grid-template-columns: 1fr;
	}
}


/* v0.10.1 — Mapa real bajo demanda en Contactos */
.contact-map {
	position: relative;
	min-height: 310px;
	overflow: hidden;
	border-radius: 20px;
	background:
		linear-gradient(135deg, rgba(49,83,101,.08), rgba(238,243,241,.96)),
		repeating-linear-gradient(45deg, transparent 0 34px, rgba(49,83,101,.045) 34px 35px);
}

.contact-map__consent {
	min-height: 310px;
	padding: 30px;
	display: flex;
	align-items: flex-end;
}

.contact-map__consent p {
	max-width: 390px;
	color: var(--cp-muted);
}

.contact-map__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.contact-map iframe {
	display: block;
	width: 100%;
	height: 360px;
	border: 0;
}

@media (max-width: 560px) {
	.contact-map__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.contact-map__actions .button {
		text-align: center;
	}
}


/* v0.10.2 — Ajustes finales de Contactos */
.contact-map iframe {
	height: 330px;
}

.contact-map__loaded {
	background: #fff;
}

.contact-map__loaded-footer {
	padding: 14px 16px 16px;
	border-top: 1px solid var(--cp-line);
	background: #fff;
}

.contact-map__loaded-footer .text-link {
	font-weight: 700;
}

.contact-grid + .clinical-note {
	margin-top: 32px;
}


/* v0.10.3 — Mapa visible por defecto en Contactos */
.contact-map--visible {
	min-height: 0;
	background: #fff;
	border: 1px solid var(--cp-line);
}

.contact-map--visible iframe {
	display: block;
	width: 100%;
	height: 350px;
	border: 0;
}

.contact-map--visible .contact-map__loaded-footer {
	padding: 15px 17px 17px;
	background: #fff;
	border-top: 1px solid var(--cp-line);
}

@media (max-width: 760px) {
	.contact-map--visible iframe {
		height: 300px;
	}
}


/* ==========================================================
   v0.11.0 — Novedades / Blog
   ========================================================== */

.journal-hero {
	padding: clamp(78px, 9vw, 126px) 0;
	border-bottom: 1px solid var(--cp-line);
	background:
		radial-gradient(circle at 84% 18%, rgba(230,239,236,.92), transparent 31%),
		linear-gradient(135deg, #f8faf9, #fff);
}

.journal-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	gap: clamp(46px, 8vw, 100px);
	align-items: end;
}

.journal-hero h1 {
	margin: 0;
	max-width: 850px;
	font-size: clamp(48px, 6.4vw, 76px);
	line-height: .99;
	letter-spacing: -.052em;
}

.journal-hero__lead {
	margin: 0;
	max-width: 650px;
	color: #45535a;
	font-size: clamp(19px, 2vw, 25px);
	line-height: 1.55;
}

.journal-listing {
	background: #fff;
}

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

.journal-card {
	overflow: hidden;
	border: 1px solid var(--cp-line);
	border-radius: 24px;
	background: #fff;
	transition: transform .22s ease, box-shadow .22s ease;
}

.journal-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--cp-shadow);
}

.journal-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--cp-soft);
}

.journal-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.journal-card:hover .journal-card__media img {
	transform: scale(1.025);
}

.journal-card__fallback {
	display: block;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 20% 20%, rgba(49,83,101,.18), transparent 22%),
		linear-gradient(135deg, #eef3f1, #f8faf9);
}

.journal-card__body {
	padding: clamp(26px, 3vw, 36px);
}

.journal-card__meta,
.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	color: var(--cp-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.journal-card__meta span + span::before,
.article-meta > * + *::before {
	content: "·";
	margin-right: 18px;
	color: #9ba8ad;
}

.article-meta a {
	color: inherit;
	text-decoration: none;
}

.journal-card h2 {
	margin: 17px 0 12px;
	font-size: clamp(28px, 3.1vw, 39px);
	line-height: 1.08;
	letter-spacing: -.033em;
}

.journal-card h2 a {
	color: inherit;
	text-decoration: none;
}

.journal-card__body > p {
	color: var(--cp-muted);
	font-size: 17px;
	line-height: 1.6;
}

.journal-card__footer {
	margin-top: 25px;
	padding-top: 18px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	border-top: 1px solid var(--cp-line);
	color: var(--cp-muted);
	font-size: 13px;
}

.journal-empty {
	padding: 54px;
	border-radius: 24px;
	background: var(--cp-soft);
}

.journal-cta {
	padding-top: 0;
}

.article-hero {
	padding: clamp(70px, 8vw, 112px) 0 clamp(54px, 7vw, 88px);
	border-bottom: 1px solid var(--cp-line);
	background: linear-gradient(180deg, #fbfcfc, #fff);
}

.article-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
	gap: clamp(44px, 7vw, 90px);
	align-items: center;
}

.article-hero__copy h1 {
	margin: 18px 0 22px;
	font-size: clamp(46px, 6vw, 72px);
	line-height: 1;
	letter-spacing: -.052em;
}

.article-hero__lead {
	max-width: 760px;
	margin: 0;
	color: #45535a;
	font-size: clamp(19px, 2vw, 24px);
	line-height: 1.55;
}

.article-hero__media {
	margin: 0;
	overflow: hidden;
	border-radius: 28px;
	background: var(--cp-soft);
	box-shadow: var(--cp-shadow);
}

.article-hero__media img {
	display: block;
	width: 100%;
	max-height: 580px;
	object-fit: cover;
}

.article-layout {
	padding-top: clamp(60px, 8vw, 104px);
	padding-bottom: clamp(70px, 9vw, 118px);
	display: grid;
	grid-template-columns: minmax(210px, .33fr) minmax(0, .67fr);
	gap: clamp(44px, 7vw, 96px);
	align-items: start;
}

.article-aside {
	position: sticky;
	top: 110px;
}

.article-aside__box {
	padding: 26px;
	border: 1px solid var(--cp-line);
	border-radius: 19px;
	background: var(--cp-soft);
}

.article-aside__box strong {
	display: block;
	margin: 6px 0 10px;
	font-size: 20px;
}

.article-aside__box p:not(.eyebrow) {
	color: var(--cp-muted);
	font-size: 14px;
	line-height: 1.6;
}

.article-content {
	max-width: 800px;
	font-size: 18px;
	line-height: 1.78;
}

.article-content > p:first-child {
	font-size: 21px;
	line-height: 1.68;
}

.article-content h2 {
	margin: 54px 0 16px;
	font-size: clamp(32px, 4vw, 44px);
	line-height: 1.08;
	letter-spacing: -.035em;
}

.article-content h3 {
	margin: 38px 0 12px;
	font-size: 26px;
	line-height: 1.15;
}

.article-content ul,
.article-content ol {
	padding-left: 1.35em;
}

.article-content a {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.article-content blockquote {
	margin: 36px 0;
	padding: 8px 0 8px 26px;
	border-left: 3px solid var(--cp-accent);
	color: #34454d;
	font-size: 20px;
}

.article-source {
	margin-top: 42px;
	padding: 20px 22px;
	border: 1px solid var(--cp-line);
	border-radius: 16px;
	background: #f8faf9;
	font-size: 14px;
	line-height: 1.6;
}

.article-related {
	margin-top: 58px;
	padding-top: 34px;
	border-top: 1px solid var(--cp-line);
}

.article-related__links {
	display: grid;
	gap: 10px;
}

.article-related__links a {
	padding: 18px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid var(--cp-line);
	border-radius: 14px;
	color: var(--cp-ink);
	font-weight: 700;
	text-decoration: none;
}

.article-related__links a:hover {
	background: var(--cp-soft);
}

.article-cta {
	padding-top: 0;
}

@media (max-width: 980px) {
	.journal-hero__inner,
	.article-hero__inner,
	.article-layout {
		grid-template-columns: 1fr;
	}

	.article-aside {
		position: static;
		order: 2;
	}

	.article-content {
		max-width: none;
	}
}

@media (max-width: 760px) {
	.journal-grid {
		grid-template-columns: 1fr;
	}

	.journal-card__footer {
		flex-direction: column;
	}

	.article-hero__copy h1 {
		font-size: clamp(42px, 12vw, 58px);
	}
}


/* v0.11.1 — enlaces legales del pie */
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	justify-content: flex-end;
}

.site-footer__legal a {
	color: inherit;
	font-size: 13px;
	text-decoration: none;
}

.site-footer__legal a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.legal-page {
	padding: clamp(68px, 8vw, 108px) 0;
}

.legal-page__header {
	max-width: 850px;
	margin-bottom: 44px;
}

.legal-page__header h1 {
	margin: 0 0 16px;
	font-size: clamp(44px, 6vw, 68px);
	line-height: 1;
	letter-spacing: -.045em;
}

.legal-page__content {
	max-width: 900px;
	font-size: 17px;
	line-height: 1.72;
}

.legal-page__content h2 {
	margin: 48px 0 14px;
	font-size: 31px;
	line-height: 1.12;
	letter-spacing: -.025em;
}

.legal-page__content h3 {
	margin: 32px 0 10px;
	font-size: 22px;
}

.legal-page__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 22px 0 34px;
}

.legal-page__content th,
.legal-page__content td {
	padding: 12px 14px;
	border: 1px solid var(--cp-line);
	text-align: left;
	vertical-align: top;
}

.legal-warning {
	margin: 0 0 28px;
	padding: 18px 20px;
	border: 1px solid #d7b26a;
	border-radius: 14px;
	background: #fff8e8;
}

@media (max-width: 760px) {
	.site-footer__legal {
		justify-content: flex-start;
	}
	.legal-page__content table {
		display: block;
		overflow-x: auto;
	}
}


/* v0.11.5 — La foto principal se muestra limpia, sin capa decorativa superpuesta */
.hero-photo::after {
	content: none !important;
	display: none !important;
}


/* ==========================================================
   v0.11.6 — Tarjetas de tratamientos: foto 1:1 + panel glass
   ========================================================== */

.areas-media-grid {
	gap: 24px;
}

.area-media-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(42, 66, 75, .14);
	border-radius: 25px;
	background: var(--cp-soft-2);
	box-shadow: 0 12px 32px rgba(29, 45, 51, .055);
	transition:
		transform .28s cubic-bezier(.2,.7,.2,1),
		box-shadow .28s ease,
		border-color .28s ease;
}

.area-media-card__link {
	position: relative;
	display: block;
	height: auto;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.area-media-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	overflow: hidden;
	background: var(--cp-soft-2);
	isolation: auto;
}

.area-media-card__image::after {
	content: "";
	position: absolute;
	inset: 38% 0 0;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(247,250,249,0) 0%,
		rgba(247,250,249,.08) 35%,
		rgba(247,250,249,.30) 100%
	);
}

.area-media-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.001);
	transition:
		transform .55s cubic-bezier(.2,.7,.2,1),
		filter .35s ease;
}

.area-media-card__overlay {
	display: none !important;
}

/* Panel blanco translúcido, separado ligeramente de los bordes */
.area-media-card__body {
	position: absolute;
	z-index: 3;
	left: 13px;
	right: 13px;
	bottom: 13px;
	padding: 17px 18px 16px;
	border: 1px solid rgba(255,255,255,.70);
	border-radius: 19px;
	background: rgba(255,255,255,.88);
	-webkit-backdrop-filter: blur(14px) saturate(115%);
	backdrop-filter: blur(14px) saturate(115%);
	box-shadow: 0 12px 28px rgba(20, 37, 45, .09);
	transition:
		transform .28s cubic-bezier(.2,.7,.2,1),
		background-color .28s ease,
		box-shadow .28s ease;
}

.area-media-card__body > span {
	display: inline-block;
	margin-bottom: 6px;
	color: #48606a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .10em;
}

.area-media-card__body h3 {
	margin: 0 0 7px;
	color: var(--cp-dark);
	font-size: clamp(23px, 2.15vw, 29px);
	line-height: 1.05;
	letter-spacing: -.032em;
}

.area-media-card__body p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #455760;
	font-size: 14px;
	line-height: 1.43;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.area-media-card__more {
	margin-top: 10px;
	color: var(--cp-accent);
	font-size: 12px;
	font-weight: 800;
	opacity: .88;
	transition: transform .25s ease, opacity .25s ease;
}

/* Teclado: foco claro sin depender del hover */
.area-media-card__link:focus-visible {
	outline: 3px solid rgba(49,83,101,.36);
	outline-offset: -4px;
	border-radius: 24px;
}

@media (hover:hover) and (pointer:fine) {
	.area-media-card:hover,
	.area-media-card:focus-within {
		transform: translateY(-6px);
		border-color: rgba(49,83,101,.22);
		box-shadow: 0 24px 54px rgba(29,45,51,.13);
	}

	.area-media-card:hover .area-media-card__image img,
	.area-media-card:focus-within .area-media-card__image img {
		transform: scale(1.035);
		filter: saturate(.96) contrast(1.02);
	}

	.area-media-card:hover .area-media-card__body,
	.area-media-card:focus-within .area-media-card__body {
		transform: translateY(-6px);
		background: rgba(255,255,255,.93);
		box-shadow: 0 16px 34px rgba(20,37,45,.13);
	}

	.area-media-card:hover .area-media-card__more,
	.area-media-card:focus-within .area-media-card__more {
		opacity: 1;
		transform: translateX(3px);
	}
}

@media (max-width: 1080px) {
	.area-media-card__body h3 {
		font-size: 25px;
	}
}

@media (max-width: 640px) {
	.areas-media-grid {
		gap: 18px;
	}

	.area-media-card__body {
		left: 12px;
		right: 12px;
		bottom: 12px;
		padding: 17px 18px 16px;
	}

	.area-media-card__body h3 {
		font-size: 26px;
	}

	.area-media-card__body p {
		font-size: 14px;
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.area-media-card,
	.area-media-card__image img,
	.area-media-card__body,
	.area-media-card__more {
		transition: none !important;
	}
}


/* ==========================================================
   v0.11.7 — Glass más transparente en tratamientos
   ========================================================== */

/* Más foto visible: panel claramente translúcido */
.area-media-card__body {
	padding: 14px 16px 13px;
	border-color: rgba(255,255,255,.52);
	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.24) 0%,
			rgba(255,255,255,.42) 48%,
			rgba(255,255,255,.58) 100%
		);
	-webkit-backdrop-filter: blur(5px) saturate(108%);
	backdrop-filter: blur(5px) saturate(108%);
	box-shadow: 0 9px 22px rgba(20,37,45,.065);
}

.area-media-card__body > span {
	margin-bottom: 4px;
	color: #314a55;
}

.area-media-card__body h3 {
	margin-bottom: 5px;
	text-shadow: 0 1px 0 rgba(255,255,255,.38);
}

.area-media-card__body p {
	font-size: 13.5px;
	line-height: 1.38;
	color: #314750;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	text-shadow: 0 1px 0 rgba(255,255,255,.28);
}

.area-media-card__more {
	margin-top: 7px;
}

/* Reducimos también el velo inferior aplicado sobre la fotografía */
.area-media-card__image::after {
	inset: 52% 0 0;
	background: linear-gradient(
		180deg,
		rgba(247,250,249,0) 0%,
		rgba(247,250,249,.035) 55%,
		rgba(247,250,249,.12) 100%
	);
}

@media (hover:hover) and (pointer:fine) {
	.area-media-card:hover .area-media-card__body,
	.area-media-card:focus-within .area-media-card__body {
		background:
			linear-gradient(
				180deg,
				rgba(255,255,255,.30) 0%,
				rgba(255,255,255,.48) 48%,
				rgba(255,255,255,.64) 100%
			);
		box-shadow: 0 13px 27px rgba(20,37,45,.095);
	}
}

@media (max-width: 640px) {
	.area-media-card__body {
		padding: 14px 16px 13px;
	}

	.area-media-card__body p {
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
}


/* ==========================================================
   v0.11.8 — Glass aún más transparente en tratamientos
   ========================================================== */
.area-media-card__body {
    padding: 13px 15px 12px;
    border-color: rgba(255,255,255,.42);
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.10) 0%,
        rgba(255,255,255,.18) 42%,
        rgba(255,255,255,.28) 100%
    );
    -webkit-backdrop-filter: blur(2px) saturate(104%);
    backdrop-filter: blur(2px) saturate(104%);
    box-shadow: 0 6px 16px rgba(20,37,45,.045);
}

.area-media-card__body > span {
    color: #35505b;
}

.area-media-card__body h3 {
    text-shadow: 0 1px 0 rgba(255,255,255,.20);
}

.area-media-card__body p {
    color: #36505a;
    text-shadow: 0 1px 0 rgba(255,255,255,.14);
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.area-media-card__image::after {
    inset: 60% 0 0;
    background: linear-gradient(
        180deg,
        rgba(247,250,249,0) 0%,
        rgba(247,250,249,.02) 62%,
        rgba(247,250,249,.07) 100%
    );
}

@media (hover:hover) and (pointer:fine) {
    .area-media-card:hover .area-media-card__body,
    .area-media-card:focus-within .area-media-card__body {
        background: linear-gradient(
            180deg,
            rgba(255,255,255,.13) 0%,
            rgba(255,255,255,.22) 42%,
            rgba(255,255,255,.33) 100%
        );
        box-shadow: 0 8px 19px rgba(20,37,45,.06);
    }
}

@media (max-width: 640px) {
    .area-media-card__body {
        padding: 13px 14px 12px;
    }
}


/* ==========================================================
   v0.11.9 — Mayor legibilidad del panel al hacer hover
   ========================================================== */
@media (hover:hover) and (pointer:fine) {
    .area-media-card:hover .area-media-card__body,
    .area-media-card:focus-within .area-media-card__body {
        background: linear-gradient(
            180deg,
            rgba(255,255,255,.48) 0%,
            rgba(255,255,255,.67) 46%,
            rgba(255,255,255,.82) 100%
        );
        -webkit-backdrop-filter: blur(7px) saturate(110%);
        backdrop-filter: blur(7px) saturate(110%);
        box-shadow: 0 12px 26px rgba(20,37,45,.10);
    }

    .area-media-card:hover .area-media-card__body p,
    .area-media-card:focus-within .area-media-card__body p {
        color: #263c45;
        text-shadow: none;
    }

    .area-media-card:hover .area-media-card__body h3,
    .area-media-card:focus-within .area-media-card__body h3 {
        color: #172a32;
        text-shadow: none;
    }

    .area-media-card:hover .area-media-card__body > span,
    .area-media-card:focus-within .area-media-card__body > span,
    .area-media-card:hover .area-media-card__more,
    .area-media-card:focus-within .area-media-card__more {
        opacity: 1;
    }
}


/* ==========================================================
   v0.12.0 — Revisión de la página Citas
   Más compacta y con mejor contraste/legibilidad
   ========================================================== */

.booking-hero {
    padding: clamp(56px, 6.5vw, 86px) 0;
}

.booking-hero__grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    gap: clamp(34px, 5vw, 62px);
}

.booking-hero h1 {
    max-width: 720px;
    font-size: clamp(45px, 5.7vw, 68px);
    line-height: .99;
}

.booking-hero__lead {
    margin-top: 20px;
    max-width: 690px;
    color: #314650;
    font-size: clamp(18px, 1.75vw, 22px);
    line-height: 1.52;
}

.booking-hero .hero-home__actions {
    margin-top: 25px;
}

.booking-hero__panel {
    padding: 27px 29px;
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(29,45,51,.08);
}

.booking-hero__panel > span {
    margin-bottom: 7px;
    color: #53666e;
}

.booking-hero__panel strong {
    font-size: clamp(24px, 2.5vw, 30px);
}

.booking-hero__panel p {
    margin-top: 11px;
    color: #3d515a;
    font-size: 16px;
    line-height: 1.55;
}

.booking-section {
    padding: clamp(54px, 6.3vw, 82px) 0;
}

.booking-section .section-heading h2 {
    max-width: 780px;
    font-size: clamp(38px, 4.8vw, 58px);
}

.booking-mode-grid {
    margin-top: 32px;
    gap: 18px;
}

.booking-mode-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 27px 29px 29px;
    border-radius: 21px;
}

.booking-mode-card__number {
    color: #4c626c;
    font-size: 12px;
}

.booking-mode-card h3 {
    margin: 19px 0 11px;
    font-size: clamp(27px, 2.7vw, 35px);
}

.booking-mode-card p,
.booking-mode-card li {
    color: #344a54;
    font-size: 16px;
    line-height: 1.55;
}

.booking-mode-card > p {
    margin: 0 0 15px;
}

.booking-mode-card ul {
    margin: 0 0 23px;
    padding-left: 1.15em;
}

.booking-mode-card li + li {
    margin-top: 5px;
}

.booking-mode-card .button {
    margin-top: auto;
    align-self: flex-start;
}

.booking-steps {
    margin-top: 30px;
    gap: 16px;
}

.booking-steps article {
    padding: 24px 25px 26px;
    border-radius: 18px;
    background: #fbfcfc;
}

.booking-steps span {
    color: #4c626c;
}

.booking-steps h3 {
    margin: 18px 0 8px;
    font-size: 24px;
}

.booking-steps p {
    color: #344a54;
    font-size: 15.5px;
    line-height: 1.55;
}

.booking-cta {
    padding-top: 20px;
    padding-bottom: 42px;
}

.booking-cta .cta-box {
    padding: clamp(30px, 4vw, 48px);
    gap: 28px;
    border-radius: 24px;
}

.booking-cta .cta-box h2 {
    font-size: clamp(32px, 4vw, 47px);
}

.booking-cta .cta-box p:not(.eyebrow) {
    color: #3a5059;
    font-size: 16px;
    line-height: 1.55;
}

.booking-cta + .clinical-note {
    margin-top: 0;
}

.booking-hero + .booking-section {
    border-top: 0;
}

@media (max-width: 980px) {
    .booking-hero__grid {
        gap: 28px;
    }

    .booking-hero__panel {
        max-width: 650px;
    }
}

@media (max-width: 760px) {
    .booking-hero {
        padding: 44px 0 52px;
    }

    .booking-section {
        padding: 48px 0;
    }

    .booking-mode-grid,
    .booking-steps {
        margin-top: 25px;
    }

    .booking-mode-card,
    .booking-steps article {
        padding: 23px;
    }

    .booking-mode-card .button {
        width: 100%;
    }

    .booking-cta .cta-box {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   v0.13.0 — Opiniones Google + Doctoralia
   ========================================================== */

.reviews-section {
	background:
		radial-gradient(circle at 92% 8%, rgba(231,240,237,.68), transparent 25%),
		#fbfcfc;
}

.reviews-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 34px;
	align-items: end;
}

.reviews-intro h2 {
	margin: 0;
	max-width: 760px;
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -.04em;
}

.review-platforms {
	display: grid;
	grid-template-columns: repeat(2, minmax(200px, 1fr));
	gap: 12px;
}

.review-platform {
	min-width: 210px;
	padding: 17px 18px;
	border: 1px solid var(--cp-line);
	border-radius: 17px;
	background: rgba(255,255,255,.86);
}

.review-platform__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.review-platform__name {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .02em;
}

.review-platform__rating {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.025em;
}

.review-platform__stars,
.review-card__stars {
	color: #8b6a18;
	letter-spacing: .07em;
	line-height: 1;
}

.review-platform__count {
	margin-top: 5px;
	color: var(--cp-muted);
	font-size: 12px;
}

.reviews-grid {
	margin-top: 34px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.review-card {
	min-height: 250px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--cp-line);
	border-radius: 21px;
	background: rgba(255,255,255,.90);
	box-shadow: 0 10px 28px rgba(29,45,51,.04);
	transition: transform .2s ease, box-shadow .2s ease;
}

.review-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
}

.review-card__source {
	padding: 5px 8px;
	border-radius: 999px;
	background: var(--cp-soft);
	color: #425760;
	font-size: 11px;
	font-weight: 800;
}

.review-card blockquote {
	margin: 25px 0 20px;
	padding: 0;
	border: 0;
	color: #31434b;
	font-size: 16px;
	line-height: 1.62;
}

.review-card__footer {
	margin-top: auto;
	padding-top: 16px;
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 14px;
	border-top: 1px solid var(--cp-line);
}

.review-card__author {
	font-weight: 800;
}

.review-card__date {
	display: block;
	margin-top: 3px;
	color: var(--cp-muted);
	font-size: 12px;
}

.review-card__source-link {
	color: var(--cp-accent);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.reviews-actions {
	margin-top: 25px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.reviews-empty {
	margin-top: 30px;
	padding: 22px;
	border: 1px dashed #cfd8d5;
	border-radius: 16px;
	color: var(--cp-muted);
	background: rgba(255,255,255,.75);
}

@media (hover:hover) and (pointer:fine) {
	.review-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 18px 38px rgba(29,45,51,.08);
	}
}

@media (max-width: 1040px) {
	.reviews-intro {
		grid-template-columns: 1fr;
	}

	.review-platforms {
		max-width: 560px;
	}

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

@media (max-width: 680px) {
	.review-platforms,
	.reviews-grid {
		grid-template-columns: 1fr;
	}

	.review-platform {
		min-width: 0;
	}

	.review-card {
		min-height: 0;
	}
}


/* ==========================================================
   v0.13.1 — Tratamientos: corrección responsive del contenido
   ========================================================== */

@media (max-width: 760px) {

	/* La cabecera de cada tratamiento queda inequívocamente en una columna */
	.treatment-hero__grid,
	.treatment-body__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.treatment-hero__image {
		width: 100%;
		max-width: none;
		margin-top: 4px;
		aspect-ratio: 4 / 3.25;
		border-radius: 22px;
	}

	.treatment-hero__copy,
	.treatment-content,
	.treatment-side {
		min-width: 0;
		width: 100%;
	}

	/* Evita títulos excesivamente grandes o desbordados en teléfonos */
	.treatment-hero h1 {
		font-size: clamp(38px, 11vw, 52px);
		line-height: 1.02;
		overflow-wrap: break-word;
	}

	.treatment-hero__lead {
		font-size: 18px;
		line-height: 1.52;
	}

	.treatment-hero__facts {
		display: grid;
		gap: 8px;
	}

	/* Gutenberg / editor clásico: nunca permitir texto rodeando imágenes */
	.treatment-content .alignleft,
	.treatment-content .alignright,
	.treatment-content figure.alignleft,
	.treatment-content figure.alignright,
	.treatment-content img.alignleft,
	.treatment-content img.alignright {
		float: none !important;
		clear: both !important;
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 24px auto !important;
	}

	/* Si la alineación está aplicada al figure, la imagen ocupa su bloque */
	.treatment-content figure.alignleft,
	.treatment-content figure.alignright,
	.treatment-content .wp-block-image.alignleft,
	.treatment-content .wp-block-image.alignright {
		width: 100% !important;
	}

	.treatment-content figure.alignleft img,
	.treatment-content figure.alignright img,
	.treatment-content .wp-block-image.alignleft img,
	.treatment-content .wp-block-image.alignright img {
		width: 100% !important;
		height: auto !important;
	}

	/* Todas las imágenes de contenido se mantienen dentro de la pantalla */
	.treatment-content .wp-block-image,
	.treatment-content figure.wp-block-image {
		clear: both !important;
		max-width: 100% !important;
		margin: 25px 0 !important;
	}

	.treatment-content .wp-block-image img,
	.treatment-content figure.wp-block-image img,
	.treatment-content img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* El contenido siguiente nunca sube por un float heredado */
	.treatment-content > p,
	.treatment-content > h2,
	.treatment-content > h3,
	.treatment-content > h4,
	.treatment-content > ul,
	.treatment-content > ol,
	.treatment-content > blockquote,
	.treatment-content > details,
	.treatment-content > figure,
	.treatment-content > div {
		clear: both;
	}

	/* Bloque Gutenberg Imagen + Texto: vertical en móvil */
	.treatment-content .wp-block-media-text,
	.treatment-content .wp-block-media-text.has-media-on-the-right {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px;
	}

	.treatment-content .wp-block-media-text__media,
	.treatment-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: 100%;
		margin: 0;
	}

	.treatment-content .wp-block-media-text__media img {
		width: 100%;
		height: auto;
	}

	.treatment-content .wp-block-media-text__content,
	.treatment-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
		padding: 0 !important;
	}

	/* Columnas Gutenberg: una debajo de otra */
	.treatment-content .wp-block-columns {
		flex-direction: column !important;
		gap: 22px !important;
	}

	.treatment-content .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
		min-width: 0;
	}

	/* Texto y espaciado más proporcionados para lectura móvil */
	.treatment-content {
		font-size: 17px;
		line-height: 1.68;
	}

	.treatment-content h2 {
		margin-top: 46px;
		font-size: clamp(29px, 8vw, 38px);
	}

	.treatment-content h3 {
		margin-top: 30px;
		font-size: 23px;
	}

	.treatment-content p {
		overflow-wrap: break-word;
	}

	/* El recuadro lateral pasa a bloque normal y no queda pegado al contenido */
	.treatment-side {
		position: static !important;
		margin-top: 8px;
	}

	.treatment-side__box {
		padding: 23px;
		border-radius: 18px;
	}

	.treatment-side__box h2 {
		font-size: 28px;
	}

	/* CTA inferior también apilada */
	.treatment-body + .related-treatments,
	.related-treatments {
		padding-top: 20px;
	}

	.related-treatment-card {
		padding: 22px;
	}

	.related-treatment-card h3 {
		margin-top: 24px;
	}
}

@media (max-width: 430px) {
	.treatment-hero {
		padding-top: 46px;
		padding-bottom: 54px;
	}

	.treatment-hero h1 {
		font-size: clamp(36px, 10.5vw, 46px);
	}

	.treatment-content {
		font-size: 16.5px;
	}

	.treatment-content h2 {
		font-size: 30px;
	}

	.treatment-content details summary {
		padding: 17px 18px;
	}

	.treatment-content details p {
		padding: 0 18px 18px;
	}
}


/* ==========================================================
   v0.13.2 — Citas: responsive completo para móvil
   ========================================================== */

@media (max-width: 760px) {

	/* Evitar cualquier desbordamiento horizontal dentro de Citas */
	.booking-hero,
	.booking-section,
	.booking-cta,
	.booking-hero *,
	.booking-section *,
	.booking-cta * {
		box-sizing: border-box;
	}

	.booking-hero .site-shell,
	.booking-section .site-shell,
	.booking-cta .site-shell,
	.clinical-note.site-shell {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	/* HERO */
	.booking-hero {
		padding: 38px 0 44px;
		overflow: hidden;
	}

	.booking-hero__grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
		width: 100%;
		min-width: 0;
	}

	.booking-hero__grid > div,
	.booking-hero__panel {
		width: 100%;
		max-width: 100% !important;
		min-width: 0;
	}

	.booking-hero h1 {
		max-width: 100%;
		font-size: clamp(38px, 11vw, 50px);
		line-height: 1.02;
		letter-spacing: -.04em;
		overflow-wrap: anywhere;
	}

	.booking-hero__lead {
		margin-top: 18px;
		font-size: 17px;
		line-height: 1.52;
	}

	/* WhatsApp + teléfono: uno debajo de otro */
	.booking-hero .hero-home__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		width: 100%;
		margin-top: 22px;
	}

	.booking-hero .hero-home__actions .button {
		display: flex;
		width: 100%;
		max-width: 100%;
		min-height: 48px;
		padding: 13px 16px;
		align-items: center;
		justify-content: center;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.booking-hero__panel {
		padding: 22px 20px;
		border-radius: 19px;
	}

	.booking-hero__panel strong {
		font-size: 24px;
		line-height: 1.16;
		overflow-wrap: anywhere;
	}

	.booking-hero__panel p {
		margin-top: 9px;
		font-size: 15.5px;
		line-height: 1.5;
	}

	/* SECCIONES */
	.booking-section {
		padding: 40px 0;
		overflow: hidden;
	}

	.booking-section .section-heading {
		width: 100%;
		max-width: 100%;
	}

	.booking-section .section-heading h2 {
		max-width: 100%;
		font-size: clamp(31px, 9vw, 40px);
		line-height: 1.08;
		letter-spacing: -.035em;
		overflow-wrap: anywhere;
	}

	.booking-mode-grid,
	.booking-steps {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px;
		width: 100%;
		margin-top: 22px;
	}

	.booking-mode-card,
	.booking-steps article {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 20px;
		border-radius: 17px;
	}

	.booking-mode-card h3 {
		margin: 15px 0 10px;
		font-size: 27px;
		line-height: 1.1;
		overflow-wrap: anywhere;
	}

	.booking-mode-card p,
	.booking-mode-card li {
		font-size: 15.5px;
		line-height: 1.52;
		overflow-wrap: anywhere;
	}

	.booking-mode-card ul {
		margin: 0 0 20px;
		padding-left: 20px;
	}

	.booking-mode-card li {
		padding-left: 2px;
	}

	.booking-mode-card .button {
		display: flex;
		width: 100%;
		max-width: 100%;
		min-height: 48px;
		padding: 13px 15px;
		align-items: center;
		justify-content: center;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	/* Tres pasos */
	.booking-steps article {
		padding: 19px 20px 20px;
	}

	.booking-steps h3 {
		margin: 14px 0 7px;
		font-size: 23px;
	}

	.booking-steps p {
		font-size: 15px;
		line-height: 1.5;
		overflow-wrap: anywhere;
	}

	/* CTA final */
	.booking-cta {
		padding: 12px 0 28px;
		overflow: hidden;
	}

	.booking-cta .cta-box {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 19px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 23px 20px;
		border-radius: 19px;
	}

	.booking-cta .cta-box > * {
		min-width: 0;
	}

	.booking-cta .cta-box h2 {
		max-width: 100%;
		font-size: 31px;
		line-height: 1.08;
		overflow-wrap: anywhere;
	}

	.booking-cta .cta-box p:not(.eyebrow) {
		font-size: 15.5px;
		line-height: 1.5;
	}

	.booking-cta .button {
		display: flex;
		width: 100%;
		max-width: 100%;
		min-height: 49px;
		padding: 13px 16px;
		align-items: center;
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	/* Nota clínica */
	.booking-cta + .clinical-note,
	.clinical-note {
		width: auto;
		margin: 0 18px 34px;
		padding: 15px 16px;
		font-size: 12.5px;
		line-height: 1.48;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 430px) {
	.booking-hero {
		padding-top: 32px;
	}

	.booking-hero h1 {
		font-size: clamp(35px, 10.7vw, 44px);
	}

	.booking-hero__panel {
		padding: 19px 18px;
	}

	.booking-section {
		padding: 35px 0;
	}

	.booking-section .section-heading h2 {
		font-size: 30px;
	}

	.booking-mode-card,
	.booking-steps article {
		padding: 18px;
	}

	.booking-mode-card h3 {
		font-size: 25px;
	}

	.booking-cta .cta-box {
		padding: 21px 18px;
	}

	.booking-cta .cta-box h2 {
		font-size: 28px;
	}
}


/* ==========================================================
   v0.14.0 — HOME: reveal + microparallax + fondo parallax
   ========================================================== */

.home-areas-parallax {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #f8faf9;
}

.home-areas-parallax__bg {
	--bg-parallax-y: 0px;
	position: absolute;
	z-index: -2;
	inset: -90px -30px;
	background-position: center;
	background-size: cover;
	transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.07);
	opacity: .17;
	filter: saturate(.75) contrast(.92);
	will-change: transform;
	pointer-events: none;
}

.home-areas-parallax::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(
			180deg,
			rgba(250,252,251,.96) 0%,
			rgba(250,252,251,.78) 21%,
			rgba(250,252,251,.68) 54%,
			rgba(250,252,251,.80) 82%,
			rgba(250,252,251,.98) 100%
		);
	pointer-events: none;
}

.home-areas-parallax__content {
	position: relative;
	z-index: 1;
}

/* Revelado solo cuando JS está disponible. */
.has-home-scroll-effects .home-areas-parallax .area-media-card {
	opacity: 0;
	transform: translate3d(0, 24px, 0) scale(.985);
	transition:
		opacity .58s ease var(--reveal-delay, 0ms),
		transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms),
		box-shadow .28s ease,
		border-color .28s ease;
}

.has-home-scroll-effects .home-areas-parallax .area-media-card.is-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

/* El movimiento de scroll se suma al zoom ya existente. */
.home-areas-parallax .area-media-card__image img {
	--scroll-parallax-y: 0px;
	transform: translate3d(0, var(--scroll-parallax-y), 0) scale(1.045);
	will-change: transform;
}

/* Mantener el hover de v0.11.9 pero con el desplazamiento del scroll. */
@media (hover:hover) and (pointer:fine) and (min-width:761px) {
	.home-areas-parallax .area-media-card:hover .area-media-card__image img,
	.home-areas-parallax .area-media-card:focus-within .area-media-card__image img {
		transform: translate3d(0, var(--scroll-parallax-y), 0) scale(1.075);
	}

	.has-home-scroll-effects .home-areas-parallax .area-media-card.is-revealed:hover,
	.has-home-scroll-effects .home-areas-parallax .area-media-card.is-revealed:focus-within {
		transform: translate3d(0, -6px, 0) scale(1);
	}
}

@media (max-width: 760px) {
	/* En móvil: fondo estático + reveal, sin parallax continuo. */
	.home-areas-parallax__bg {
		inset: -20px;
		transform: scale(1.04);
		opacity: .12;
		will-change: auto;
	}

	.home-areas-parallax::after {
		background: rgba(250,252,251,.86);
	}

	.home-areas-parallax .area-media-card__image img {
		transform: scale(1.02);
		will-change: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-areas-parallax__bg,
	.home-areas-parallax .area-media-card,
	.home-areas-parallax .area-media-card__image img {
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
	}

	.home-areas-parallax .area-media-card {
		opacity: 1 !important;
	}
}


/* ==========================================================
   v0.14.1 — Parallax de fondo más visible y con mayor recorrido
   ========================================================== */

.home-areas-parallax {
	/* Algo más de profundidad visual sin perder legibilidad */
	background: #f4f7f6;
}

/* La imagen ocupa una superficie mucho mayor que la sección visible.
   Esto permite un desplazamiento vertical amplio sin enseñar bordes. */
.home-areas-parallax__bg {
	--bg-parallax-y: 170px;
	inset: -260px -90px;
	background-position: center 42%;
	background-size: cover;
	transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.16);
	opacity: .38;
	filter: saturate(.88) contrast(.96);
}

/* Reducimos bastante el velo blanco para que la fotografía sea reconocible */
.home-areas-parallax::after {
	background:
		linear-gradient(
			180deg,
			rgba(248,250,249,.80) 0%,
			rgba(248,250,249,.52) 16%,
			rgba(248,250,249,.43) 44%,
			rgba(248,250,249,.47) 70%,
			rgba(248,250,249,.72) 100%
		);
}

/* Tarjetas ligeramente más separadas del fondo */
.home-areas-parallax .area-media-card {
	backdrop-filter: saturate(105%);
}

/* En pantallas grandes ampliamos todavía más la zona de movimiento */
@media (min-width: 1180px) {
	.home-areas-parallax__bg {
		inset: -320px -120px;
		transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.20);
		opacity: .40;
	}
}

/* Tablet: mantiene un pequeño recorrido visual pero sin forzar la GPU */
@media (min-width: 761px) and (max-width: 980px) {
	.home-areas-parallax__bg {
		inset: -220px -70px;
		transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.15);
		opacity: .34;
	}
}

/* Móvil: imagen bastante más visible, pero sin parallax continuo */
@media (max-width: 760px) {
	.home-areas-parallax__bg {
		inset: -50px -30px;
		transform: scale(1.08);
		opacity: .25;
		background-position: center;
	}

	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.80) 0%,
				rgba(248,250,249,.66) 50%,
				rgba(248,250,249,.82) 100%
			);
	}
}


/* ==========================================================
   v0.14.2 — Parallax vertical: empieza arriba y recorre la foto
   ========================================================== */

/* El fondo ya NO sobresale por arriba.
   Toda la reserva de imagen se concentra hacia abajo para poder
   recorrer una fotografía alargada sin cortar su parte superior. */
.home-areas-parallax__bg {
	--bg-parallax-y: 0px;
	top: 0;
	right: -70px;
	bottom: -430px;
	left: -70px;
	inset: 0 -70px -430px -70px;
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	transform-origin: center top;
	transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.08);
	opacity: .48;
	filter: saturate(.92) contrast(.98);
}

/* Menos velo: la imagen pasa a tener mayor protagonismo. */
.home-areas-parallax::after {
	background:
		linear-gradient(
			180deg,
			rgba(248,250,249,.63) 0%,
			rgba(248,250,249,.40) 14%,
			rgba(248,250,249,.34) 42%,
			rgba(248,250,249,.38) 70%,
			rgba(248,250,249,.63) 100%
		);
}

/* En pantallas grandes damos todavía más espacio inferior para recorrerla. */
@media (min-width: 1180px) {
	.home-areas-parallax__bg {
		inset: 0 -100px -520px -100px;
		background-position: center top;
		transform-origin: center top;
		transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.10);
		opacity: .50;
	}
}

/* Tablet: mismo principio, algo menos intenso. */
@media (min-width: 761px) and (max-width: 980px) {
	.home-areas-parallax__bg {
		inset: 0 -55px -390px -55px;
		background-position: center top;
		transform-origin: center top;
		transform: translate3d(0, var(--bg-parallax-y), 0) scale(1.07);
		opacity: .43;
	}
}

/* Móvil: sin movimiento continuo, pero también empieza desde arriba. */
@media (max-width: 760px) {
	.home-areas-parallax__bg {
		inset: 0 -22px -80px -22px;
		background-position: center top;
		transform-origin: center top;
		transform: scale(1.03);
		opacity: .31;
	}

	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.69) 0%,
				rgba(248,250,249,.56) 50%,
				rgba(248,250,249,.72) 100%
			);
	}
}


/* ==========================================================
   v0.14.3 — Parallax hasta el final real de la fotografía
   ========================================================== */

.home-areas-parallax__bg {
	position: absolute;
	z-index: -2;
	inset: 0;
	overflow: hidden;
	opacity: 1;
	filter: none;
	transform: none;
	pointer-events: none;
}

.home-areas-parallax__bg-image {
	--bg-image-y: 0px;
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	max-width: none;
	max-height: none;
	transform: translate3d(-50%, var(--bg-image-y), 0);
	transform-origin: center top;
	opacity: .55;
	filter: saturate(.94) contrast(.99);
	will-change: transform;
}

/* Un poco menos de velo para poder apreciar mejor el recorrido completo. */
.home-areas-parallax::after {
	background:
		linear-gradient(
			180deg,
			rgba(248,250,249,.56) 0%,
			rgba(248,250,249,.34) 14%,
			rgba(248,250,249,.28) 42%,
			rgba(248,250,249,.32) 70%,
			rgba(248,250,249,.56) 100%
		);
}

@media (min-width: 1180px) {
	.home-areas-parallax__bg-image {
		opacity: .57;
	}
}

/* Móvil:
   - sin parallax continuo;
   - fotografía alineada claramente hacia la izquierda;
   - empezando desde la parte superior. */
@media (max-width: 760px) {
	.home-areas-parallax__bg {
		inset: 0;
	}

	.home-areas-parallax__bg-image {
		top: 0;
		left: 0;
		width: auto !important;
		height: 100% !important;
		min-width: 100%;
		object-fit: cover;
		object-position: left top;
		transform: none !important;
		opacity: .36;
		will-change: auto;
	}

	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.64) 0%,
				rgba(248,250,249,.50) 50%,
				rgba(248,250,249,.68) 100%
			);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-areas-parallax__bg-image {
		transform: translate3d(-50%, 0, 0) !important;
		will-change: auto !important;
	}

	@media (max-width: 760px) {
		.home-areas-parallax__bg-image {
			transform: none !important;
		}
	}
}


/* ==========================================================
   v0.14.4 — Parallax móvil: persona centrada y más visible
   ========================================================== */

@media (max-width: 760px) {

	/* La fotografía vuelve a centrarse sobre la persona. */
	.home-areas-parallax__bg-image {
		top: 0;
		left: 50%;
		width: 100% !important;
		height: 100% !important;
		min-width: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center top;
		transform: translateX(-50%) !important;
		opacity: .64;
		filter: saturate(.96) contrast(1);
	}

	/* Mucho menos velo blanco para recuperar la fotografía en móvil. */
	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.38) 0%,
				rgba(248,250,249,.26) 35%,
				rgba(248,250,249,.24) 68%,
				rgba(248,250,249,.40) 100%
			);
	}

	/* Las tarjetas conservan suficiente contraste frente al nuevo fondo. */
	.home-areas-parallax .area-media-card {
		box-shadow: 0 14px 34px rgba(29,45,51,.10);
	}
}

@media (max-width: 430px) {
	.home-areas-parallax__bg-image {
		object-position: center top;
		opacity: .68;
	}
}

@media (prefers-reduced-motion: reduce) and (max-width: 760px) {
	.home-areas-parallax__bg-image {
		transform: translateX(-50%) !important;
	}
}


/* ==========================================================
   v0.14.5 — Móvil: fondo más visible y figura humana centrada
   ========================================================== */

@media (max-width: 760px) {

	/* Fotografía de fondo centrada correctamente sobre la figura humana */
	.home-areas-parallax__bg-image {
		top: 0;
		left: 50%;
		width: auto !important;
		height: 100% !important;
		min-width: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center top;
		transform: translateX(-50%) !important;
		opacity: .82;
		filter: saturate(.99) contrast(1.01);
	}

	/* Casi sin velo blanco para que la silueta sea claramente visible */
	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.20) 0%,
				rgba(248,250,249,.12) 34%,
				rgba(248,250,249,.10) 66%,
				rgba(248,250,249,.24) 100%
			);
	}

	/* Retraso ligero de las tarjetas para apreciar el fondo un instante */
	.has-home-scroll-effects .home-areas-parallax .area-media-card {
		transition-delay: calc(var(--reveal-delay, 0ms) + 280ms);
	}

	.home-areas-parallax .area-media-card {
		box-shadow: 0 16px 36px rgba(29,45,51,.12);
	}
}

@media (max-width: 430px) {
	.home-areas-parallax__bg-image {
		opacity: .86;
	}
}

@media (prefers-reduced-motion: reduce) and (max-width: 760px) {
	.home-areas-parallax__bg-image {
		transform: translateX(-50%) !important;
	}
}


/* ==========================================================
   v0.14.6 — Fondo parallax independiente para móvil
   ========================================================== */

.home-areas-parallax__picture {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

@media (max-width: 760px) {
	/* La imagen móvil ya es una fotografía específica elegida para ese encuadre. */
	.home-areas-parallax__picture {
		inset: 0;
	}

	.home-areas-parallax__bg-image {
		top: 0;
		left: 50%;
		width: 100% !important;
		height: 100% !important;
		min-width: 0;
		max-width: none;
		object-fit: cover;
		object-position: center top;
		transform: translateX(-50%) !important;
		opacity: .88;
		filter: saturate(1) contrast(1.01);
	}

	/* Velo mínimo: la fotografía móvil debe verse claramente. */
	.home-areas-parallax::after {
		background:
			linear-gradient(
				180deg,
				rgba(248,250,249,.14) 0%,
				rgba(248,250,249,.07) 35%,
				rgba(248,250,249,.06) 67%,
				rgba(248,250,249,.18) 100%
			);
	}
}


/* ==========================================================
   v0.14.7 — HOME móvil + controles de encuadre del parallax
   ========================================================== */

/* El ajuste de escritorio desplaza el centro de la fotografía. */
@media (min-width: 761px) {
	.home-areas-parallax__bg-image {
		left: var(--parallax-desktop-x, 50%);
		opacity: var(--parallax-desktop-opacity, .57);
	}
}

@media (max-width: 760px) {

	/* Cabecera: nombre profesional más visible */
	.site-header__inner {
		min-height: 86px;
		gap: 12px;
	}

	.site-branding {
		min-width: 0;
	}

	.site-title__name {
		font-size: 24px !important;
		font-weight: 850 !important;
		letter-spacing: -.035em !important;
		color: #1e3038;
	}

	.site-title__role {
		margin-top: 4px !important;
		font-size: 11.5px !important;
		font-weight: 800 !important;
		color: #50616a;
		letter-spacing: .085em !important;
	}

	/* La sección empieza antes para que el título aparezca más arriba. */
	.home-areas-parallax {
		padding-top: 34px !important;
	}

	/* Cabecera de Áreas: mayor contraste sobre el fondo fotográfico. */
	.home-areas-parallax .section-heading {
		position: relative;
		z-index: 4;
		margin-bottom: 3px;
		padding: 16px 17px 17px;
		border: 1px solid rgba(255,255,255,.46);
		border-radius: 18px;
		background: rgba(255,255,255,.66);
		-webkit-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
		box-shadow: 0 10px 26px rgba(29,45,51,.07);
	}

	.home-areas-parallax .section-heading .eyebrow {
		margin-bottom: 8px;
		color: #40545d;
		font-weight: 850;
	}

	.home-areas-parallax .section-heading h2 {
		color: #1d3038;
		font-size: clamp(36px, 10vw, 43px);
		font-weight: 820;
		line-height: 1.02;
		letter-spacing: -.045em;
		text-shadow: 0 1px 0 rgba(255,255,255,.45);
	}

	.home-areas-parallax .section-heading > p:not(.eyebrow) {
		margin: 12px 0 0;
		color: #344a53;
		font-size: 15.5px;
		line-height: 1.5;
	}

	/* Ajustes de encuadre elegidos desde la edición de Inicio. */
	.home-areas-parallax__bg-image {
		left: 50%;
		opacity: var(--parallax-mobile-opacity, .88);
		object-position:
			var(--parallax-mobile-x, 50%)
			var(--parallax-mobile-y, 0%);
	}
}

@media (max-width: 370px) {
	.site-title__name {
		font-size: 22px !important;
	}

	.site-title__role {
		font-size: 10.5px !important;
	}

	.home-areas-parallax .section-heading h2 {
		font-size: 34px;
	}
}


/* ==========================================================
   v0.14.8 — HOME móvil: credenciales compactas bajo la foto
   ========================================================== */

@media (max-width: 620px) {

	/* Menos separación entre la foto y la franja de autoridad */
	.credentials-strip {
		margin-top: 22px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: hidden;
		border: 1px solid rgba(207,216,213,.9);
		border-radius: 17px;
		background: rgba(255,255,255,.82);
		box-shadow: 0 8px 22px rgba(29,45,51,.035);
	}

	.credential {
		min-height: 0;
		padding: 12px 13px 11px;
		justify-content: center;
		border-right: 1px solid var(--cp-line);
		border-bottom: 1px solid var(--cp-line);
		text-align: left;
	}

	/* Segunda credencial termina la primera fila */
	.credential:nth-child(2) {
		border-right: 0;
	}

	/* Tercera credencial: una franja completa y baja */
	.credential:nth-child(3) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 10px;
		padding-top: 11px;
		padding-bottom: 11px;
		border-right: 0;
		border-bottom: 0;
	}

	.credential strong {
		font-size: 19px;
		line-height: 1.05;
		letter-spacing: -.025em;
		white-space: normal;
	}

	.credential:nth-child(2) strong {
		font-size: 17px;
		letter-spacing: -.015em;
	}

	.credential:nth-child(3) strong {
		font-size: 16px;
		white-space: nowrap;
	}

	.credential span {
		margin-top: 4px;
		color: #52636b;
		font-size: 11.5px;
		line-height: 1.25;
	}

	.credential:nth-child(3) span {
		margin-top: 0;
		font-size: 11px;
		text-align: right;
	}

	/* Reduce un poco el espacio antes de la siguiente sección */
	.credentials-strip + * {
		margin-top: 0;
	}
}

@media (max-width: 360px) {
	.credential {
		padding-inline: 11px;
	}

	.credential strong {
		font-size: 18px;
	}

	.credential:nth-child(2) strong {
		font-size: 16px;
	}

	.credential:nth-child(3) {
		grid-template-columns: 1fr;
		row-gap: 3px;
	}

	.credential:nth-child(3) strong {
		white-space: normal;
	}

	.credential:nth-child(3) span {
		text-align: left;
	}
}


/* ==========================================================
   v0.14.9 — Tratamientos móvil: más legibilidad sin perder transparencia
   ========================================================== */

@media (max-width: 760px) {

	/* Se mantiene el mismo fondo/transparencia del panel.
	   Mejoramos la lectura actuando sobre el desenfoque y el texto. */
	.area-media-card__body {
		-webkit-backdrop-filter: blur(8px) saturate(108%);
		backdrop-filter: blur(8px) saturate(108%);
		border-color: rgba(255,255,255,.48);
	}

	.area-media-card__body > span {
		color: #213a44;
		font-weight: 850;
		text-shadow:
			0 1px 1px rgba(255,255,255,.92),
			0 0 5px rgba(255,255,255,.55);
	}

	.area-media-card__body h3 {
		color: #132d37;
		font-weight: 800;
		text-shadow:
			0 1px 1px rgba(255,255,255,.95),
			0 0 7px rgba(255,255,255,.70);
	}

	.area-media-card__body p {
		color: #1f3a44;
		font-weight: 540;
		text-shadow:
			0 1px 1px rgba(255,255,255,.94),
			0 0 5px rgba(255,255,255,.62);
	}

	.area-media-card__more {
		color: #214f62;
		font-weight: 850;
		text-shadow:
			0 1px 1px rgba(255,255,255,.92),
			0 0 5px rgba(255,255,255,.58);
	}

	/* Una línea superior muy sutil ayuda a separar visualmente el panel
	   de zonas claras de la fotografía sin volverlo más opaco. */
	.area-media-card__body::before {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: inherit;
		pointer-events: none;
		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.72),
			inset 0 -1px 0 rgba(26,49,59,.05);
	}

	/* En el toque, el propio blur aumenta ligeramente.
	   No cambia la transparencia normal de la tarjeta. */
	.area-media-card:active .area-media-card__body {
		-webkit-backdrop-filter: blur(11px) saturate(110%);
		backdrop-filter: blur(11px) saturate(110%);
	}

	.area-media-card:active .area-media-card__body h3,
	.area-media-card:active .area-media-card__body p,
	.area-media-card:active .area-media-card__body > span,
	.area-media-card:active .area-media-card__more {
		text-shadow:
			0 1px 1px rgba(255,255,255,1),
			0 0 8px rgba(255,255,255,.82);
	}
}

@media (max-width: 430px) {
	.area-media-card__body p {
		font-size: 13.7px;
		line-height: 1.4;
	}

	.area-media-card__more {
		font-size: 12.3px;
	}
}


/* ==========================================================
   v0.15.0 — Galería de la consulta en Contactos
   ========================================================== */

.contact-gallery-section {
	padding: clamp(72px, 8vw, 108px) 0;
	border-top: 1px solid var(--cp-line);
	background:
		linear-gradient(180deg, #fbfcfc 0%, #f4f7f6 100%);
}

.contact-gallery-heading,
.contact-map-section__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
	gap: clamp(28px, 6vw, 78px);
	align-items: end;
	margin-bottom: 34px;
}

.contact-gallery-heading h2,
.contact-map-section__heading h2 {
	margin: 0;
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.04;
	letter-spacing: -.04em;
}

.contact-gallery-heading > p,
.contact-map-section__heading > p {
	margin: 0;
	color: var(--cp-muted);
	font-size: 17px;
	line-height: 1.55;
}

.contact-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: clamp(170px, 19vw, 265px);
	gap: 12px;
}

.contact-gallery__item {
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: #e9eeec;
}

.contact-gallery__item--primary {
	grid-column: span 2;
	grid-row: span 2;
}

.contact-gallery__button {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.contact-gallery__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .42s ease, filter .32s ease;
}

.contact-gallery__button:hover .contact-gallery__image,
.contact-gallery__button:focus-visible .contact-gallery__image {
	transform: scale(1.025);
	filter: saturate(1.04);
}

.contact-gallery__zoom {
	position: absolute;
	right: 13px;
	bottom: 13px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.75);
	border-radius: 50%;
	background: rgba(255,255,255,.76);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #213b45;
	font-size: 20px;
	line-height: 1;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .2s ease, transform .2s ease;
}

.contact-gallery__button:hover .contact-gallery__zoom,
.contact-gallery__button:focus-visible .contact-gallery__zoom {
	opacity: 1;
	transform: translateY(0);
}

.contact-gallery__item figcaption {
	position: absolute;
	left: 12px;
	right: 52px;
	bottom: 12px;
	width: max-content;
	max-width: calc(100% - 66px);
	padding: 6px 9px;
	border-radius: 9px;
	background: rgba(20,37,45,.68);
	color: #fff;
	font-size: 12px;
	line-height: 1.25;
	pointer-events: none;
}

.contact-gallery__mobile-hint {
	display: none;
}

.contact-map-section {
	padding: clamp(72px, 8vw, 108px) 0;
	border-top: 1px solid var(--cp-line);
}

.contact-map--wide {
	width: 100%;
}

.contact-map--wide iframe {
	min-height: clamp(360px, 46vw, 540px);
}

/* Lightbox */
.contact-lightbox[hidden] {
	display: none !important;
}

.contact-lightbox {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 26px;
}

.contact-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10,18,22,.88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.contact-lightbox__dialog {
	position: relative;
	z-index: 1;
	width: min(1180px, 100%);
	height: min(88vh, 820px);
	display: grid;
	place-items: center;
}

.contact-lightbox__figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	align-items: center;
	justify-items: center;
}

.contact-lightbox__figure img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 24px 70px rgba(0,0,0,.34);
}

.contact-lightbox__figure figcaption {
	min-height: 25px;
	margin-top: 10px;
	color: rgba(255,255,255,.88);
	font-size: 14px;
	text-align: center;
}

.contact-lightbox__close,
.contact-lightbox__nav {
	position: absolute;
	z-index: 3;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.32);
	border-radius: 50%;
	background: rgba(20,30,35,.54);
	color: #fff;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	cursor: pointer;
}

.contact-lightbox__close {
	top: 0;
	right: 0;
	width: 46px;
	height: 46px;
	font-size: 30px;
}

.contact-lightbox__nav {
	top: 50%;
	width: 48px;
	height: 48px;
	font-size: 38px;
	transform: translateY(-50%);
}

.contact-lightbox__nav--prev { left: 0; }
.contact-lightbox__nav--next { right: 0; }

.contact-lightbox__counter {
	position: absolute;
	right: 12px;
	bottom: 4px;
	color: rgba(255,255,255,.76);
	font-size: 13px;
}

body.contact-lightbox-open {
	overflow: hidden;
}

@media (max-width: 900px) {
	.contact-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 220px;
	}
}

@media (max-width: 760px) {
	.contact-gallery-section {
		padding: 52px 0 46px;
		overflow: hidden;
	}

	.contact-gallery-heading,
	.contact-map-section__heading {
		grid-template-columns: 1fr;
		gap: 13px;
		margin-bottom: 24px;
	}

	.contact-gallery-heading h2,
	.contact-map-section__heading h2 {
		font-size: clamp(34px, 10vw, 43px);
	}

	.contact-gallery-heading > p,
	.contact-map-section__heading > p {
		font-size: 15.5px;
	}

	/* Carrusel manual nativo: sin autoplay y sin librerías */
	.contact-gallery {
		width: calc(100vw - 14px);
		margin-right: calc((100vw - 100%) * -1);
		padding: 0 14px 9px 0;
		display: flex;
		gap: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 0 14px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.contact-gallery::-webkit-scrollbar {
		display: none;
	}

	.contact-gallery__item,
	.contact-gallery__item--primary {
		flex: 0 0 min(82vw, 355px);
		height: min(105vw, 440px);
		grid-column: auto;
		grid-row: auto;
		border-radius: 18px;
		scroll-snap-align: start;
	}

	.contact-gallery__image {
		object-fit: cover;
	}

	.contact-gallery__zoom {
		opacity: .92;
		transform: none;
	}

	.contact-gallery__mobile-hint {
		display: block;
		margin: 8px 0 0;
		color: var(--cp-muted);
		font-size: 12.5px;
		font-weight: 650;
	}

	.contact-map-section {
		padding: 52px 0 58px;
	}

	.contact-map--wide iframe {
		min-height: 390px;
	}

	.contact-lightbox {
		padding: 14px;
	}

	.contact-lightbox__dialog {
		height: 88svh;
	}

	.contact-lightbox__close {
		top: 2px;
		right: 2px;
	}

	.contact-lightbox__nav {
		top: auto;
		bottom: 7px;
		width: 44px;
		height: 44px;
		transform: none;
	}

	.contact-lightbox__nav--prev { left: 6px; }
	.contact-lightbox__nav--next { right: 6px; }

	.contact-lightbox__counter {
		right: 50%;
		bottom: 20px;
		transform: translateX(50%);
	}

	.contact-lightbox__figure {
		padding-bottom: 52px;
	}

	.contact-lightbox__figure figcaption {
		max-width: calc(100% - 100px);
	}
}


/* ==========================================================
   v0.16.0 — Integración de paletas cromáticas globales
   ========================================================== */

/* Superficies que antes eran blancos/grises fijos reciben un matiz
   muy ligero de la paleta seleccionada, conservando legibilidad. */
.section--soft,
.reviews-section,
.contact-gallery-section {
	background: var(--cp-soft);
}

.mode-card--accent,
.online-feature__grid {
	background: var(--cp-soft-2);
}

.site-footer {
	background: color-mix(in srgb, var(--cp-soft) 82%, white 18%);
	border-color: var(--cp-line);
}

.site-header {
	border-color: color-mix(in srgb, var(--cp-line) 90%, transparent 10%);
}

.contact-card,
.mode-card,
.area-card,
.post-home-card,
.review-card,
.treatment-side__box,
.treatment-content details {
	border-color: var(--cp-line);
}

/* Detalles de autoridad e interfaz reciben el color principal. */
.credential strong,
.mode-card__number,
.area-card span,
.step-card > span,
.treatment-kicker,
.review-source {
	color: var(--cp-accent);
}

/* Mantiene contraste suficiente en botones y bloques oscuros. */
.button--primary,
.header-cta {
	background: var(--cp-accent);
}

.button--primary:hover,
.header-cta:hover {
	background: var(--cp-accent-dark);
}

.section--dark,
.experience-hero--dark {
	background: var(--cp-dark);
}


/* ==========================================================
   v0.16.2 — Opiniones: ocultar solo el aviso de lista vacía
   ========================================================== */

/* Candelaria Opiniones muestra este mensaje únicamente a usuarios
   con permisos de edición cuando todavía no hay opiniones manuales.
   Se oculta el aviso, pero se mantienen Google, Doctoralia,
   valoraciones, encabezados y botones de acceso. */
.reviews-empty {
	display: none !important;
}


/* ==========================================================
   v0.16.3 — Experiencia: móvil + galería de medios
   ========================================================== */

.experience-media-section {
	border-top: 1px solid var(--cp-line);
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--cp-soft) 52%, white 48%),
			#fff
		);
}

.experience-media-gallery {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.experience-media-gallery .contact-gallery__item,
.experience-media-gallery .contact-gallery__item--primary {
	grid-column: auto;
	grid-row: auto;
}

.experience-media-gallery__image {
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

@media (max-width: 980px) {
	.experience-media-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	/* Hero de Experiencia más limpio y compacto. */
	.experience-hero {
		padding: 42px 0 34px;
	}

	.experience-hero__grid {
		gap: 26px;
	}

	.experience-hero__image {
		width: 100%;
		max-width: none;
		justify-self: stretch;
		border-radius: 24px;
	}

	/*
	 * Bajo la fotografía:
	 * 30+ años de experiencia y AN02665 comparten la primera fila.
	 * EuroPsy ocupa toda la segunda.
	 */
	.experience-stats {
		margin-top: 18px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
		border: 0;
	}

	.experience-stat,
	.experience-stat:last-child {
		min-width: 0;
		padding: 14px 10px 13px;
		border: 1px solid var(--cp-line);
		border-radius: 16px;
		background: color-mix(in srgb, var(--cp-soft) 58%, white 42%);
		text-align: center;
	}

	.experience-stat:last-child {
		grid-column: 1 / -1;
	}

	.experience-stat strong {
		font-size: clamp(20px, 6vw, 27px);
		line-height: 1.05;
	}

	.experience-stat span {
		margin-top: 5px;
		font-size: 12px;
		line-height: 1.35;
	}

	.experience-layout {
		gap: 28px;
	}

	.experience-nav {
		padding: 18px;
	}

	.experience-content {
		font-size: 17px;
		line-height: 1.68;
	}

	.experience-content h2 {
		margin-top: 48px;
		font-size: clamp(31px, 9vw, 42px);
	}

	/* En móvil reutiliza el carrusel manual ya usado en Contactos. */
	.experience-media-gallery {
		display: flex;
		grid-template-columns: none;
	}

	.experience-media-gallery .contact-gallery__item {
		flex: 0 0 84vw;
		width: 84vw;
		max-width: 430px;
	}

	.experience-media-gallery__image {
		aspect-ratio: 16 / 10;
	}
}


/* ==========================================================
   v0.16.4 — Experiencia: leyendas fuera de las fotografías
   ========================================================== */

.experience-media-gallery .contact-gallery__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	overflow: visible;
	background: transparent;
}

.experience-media-gallery .contact-gallery__button {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 18px;
	background: var(--cp-soft);
}

.experience-media-gallery .contact-gallery__item figcaption {
	position: static !important;
	inset: auto !important;
	width: auto !important;
	margin: 10px 3px 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cp-ink) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	box-shadow: none !important;
	backdrop-filter: none !important;
	transform: none !important;
	opacity: 1 !important;
}

@media (max-width: 700px) {
	.experience-media-gallery .contact-gallery__item figcaption {
		margin-top: 9px;
		padding: 0 2px !important;
		font-size: 13px;
		line-height: 1.42;
	}
}


/* ==========================================================
   v0.16.5 — Aclarar "30+ años de experiencia"
   ========================================================== */

.experience-stat strong,
.authority-item strong,
.hero-stat strong {
	line-height: 1.12;
}

@media (max-width: 700px) {
	.experience-stat strong {
		font-size: clamp(17px, 5.2vw, 23px);
		letter-spacing: -0.02em;
	}
}


/* ==========================================================
   v0.16.6 — Experiencia: formulación inequívoca
   ========================================================== */

.credentials-strip .credential:first-child strong,
.experience-stat--years strong {
	white-space: nowrap;
	letter-spacing: -0.025em;
}

@media (max-width: 700px) {
	.credentials-strip .credential:first-child strong {
		font-size: clamp(18px, 5.4vw, 24px);
		line-height: 1.08;
	}

	.credentials-strip .credential:first-child span {
		margin-top: 6px;
		font-size: 11.5px;
		line-height: 1.3;
	}

	.experience-stat--years strong {
		font-size: clamp(18px, 5.2vw, 24px);
	}
}


/* ==========================================================
   v0.16.7 — Psicología online: imagen destacada editable
   ========================================================== */

.online-device-card__screen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ==========================================================
   v0.16.8 — Experiencia: galería centrada según nº de fotos
   ========================================================== */

.experience-media-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 28px 18px;
}

.experience-media-gallery .contact-gallery__item {
	flex: 0 1 calc((100% - 36px) / 3);
	width: calc((100% - 36px) / 3);
	max-width: 390px;
}

/* 1 foto: centrada y con ancho contenido. */
.experience-media-gallery--count-1 .contact-gallery__item {
	flex-basis: min(100%, 460px);
	width: min(100%, 460px);
	max-width: 460px;
}

/* 2 fotos: dos columnas centradas. */
.experience-media-gallery--count-2 .contact-gallery__item {
	flex-basis: calc((100% - 18px) / 2);
	width: calc((100% - 18px) / 2);
	max-width: 470px;
}

/* 4 fotos: 2 + 2, ambas filas centradas. */
.experience-media-gallery--count-4 .contact-gallery__item {
	flex-basis: calc((100% - 18px) / 2);
	width: calc((100% - 18px) / 2);
	max-width: 470px;
}

/* A partir de 5: 3 por fila y la última se centra sola gracias a flex. */
.experience-media-gallery--count-5 .contact-gallery__item,
.experience-media-gallery--count-6 .contact-gallery__item,
.experience-media-gallery--count-7 .contact-gallery__item {
	flex-basis: calc((100% - 36px) / 3);
	width: calc((100% - 36px) / 3);
	max-width: 390px;
}

@media (max-width: 980px) and (min-width: 701px) {
	.experience-media-gallery .contact-gallery__item,
	.experience-media-gallery--count-5 .contact-gallery__item,
	.experience-media-gallery--count-6 .contact-gallery__item,
	.experience-media-gallery--count-7 .contact-gallery__item {
		flex-basis: calc((100% - 18px) / 2);
		width: calc((100% - 18px) / 2);
		max-width: 470px;
	}
}

@media (max-width: 700px) {
	/* En móvil seguimos usando el carrusel horizontal manual. */
	.experience-media-gallery {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 14px;
	}

	.experience-media-gallery .contact-gallery__item,
	.experience-media-gallery--count-1 .contact-gallery__item,
	.experience-media-gallery--count-2 .contact-gallery__item,
	.experience-media-gallery--count-4 .contact-gallery__item,
	.experience-media-gallery--count-5 .contact-gallery__item,
	.experience-media-gallery--count-6 .contact-gallery__item,
	.experience-media-gallery--count-7 .contact-gallery__item {
		flex: 0 0 84vw;
		width: 84vw;
		max-width: 430px;
	}
}


/* ==========================================================
   v0.16.9 — Novedades: mostrar imagen destacada completa
   ========================================================== */

.journal-card__media--contain {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	background: color-mix(in srgb, var(--cp-soft) 80%, white 20%);
}

/* La propia imagen amplificada rellena el fondo de las zonas sobrantes. */
.journal-card__media-backdrop {
	position: absolute;
	z-index: 0;
	inset: -18px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(20px) saturate(.82);
	opacity: .28;
	transform: scale(1.08);
	pointer-events: none;
}

/* Velo claro para que el fondo desenfocado no compita con la imagen real. */
.journal-card__media--contain::after {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background: rgba(255,255,255,.36);
	pointer-events: none;
}

/* La fotografía real nunca se recorta. */
.journal-card__media--contain img.journal-card__media-image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	padding: 8px;
	object-fit: contain !important;
	object-position: center;
	transform: none;
	transition: transform .35s ease;
}

/* El hover afecta solo a la fotografía principal. */
.journal-card:hover .journal-card__media--contain img.journal-card__media-image {
	transform: scale(1.012);
}

/* Neutraliza la antigua regla cover/zoom para esta variante. */
.journal-card__media--contain > img:not(.journal-card__media-image) {
	object-fit: contain !important;
}

@media (max-width: 700px) {
	.journal-card__media--contain img.journal-card__media-image {
		padding: 6px;
	}

	.journal-card__media-backdrop {
		filter: blur(16px) saturate(.82);
		opacity: .25;
	}
}


/* ==========================================================
   v0.17.0 — Novedades: archivo original completo, sin recorte
   ========================================================== */

.journal-card__media--contain {
	aspect-ratio: 16 / 9;
	padding: 0;
}

/*
 * La imagen original se dimensiona por su lado limitante:
 * nunca se fuerza a cubrir el marco y nunca se recorta.
 */
.journal-card__media--contain img.journal-card__media-image {
	position: relative;
	z-index: 2;
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: calc(100% - 16px) !important;
	max-height: calc(100% - 16px) !important;
	margin: auto;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: 50% 50% !important;
}

/* Fondo decorativo: no interviene en el encuadre de la imagen principal. */
.journal-card__media-backdrop {
	z-index: 0;
	inset: -24px;
	background-size: cover;
	background-position: 50% 50%;
	filter: blur(24px) saturate(.78);
	opacity: .34;
}

.journal-card__media--contain::after {
	z-index: 1;
	background: rgba(255,255,255,.30);
}

.journal-card:hover .journal-card__media--contain img.journal-card__media-image {
	transform: scale(1.01);
}

@media (max-width: 700px) {
	.journal-card__media--contain img.journal-card__media-image {
		max-width: calc(100% - 10px) !important;
		max-height: calc(100% - 10px) !important;
	}

	.journal-card__media-backdrop {
		filter: blur(18px) saturate(.78);
	}
}


/* ==========================================================
   v0.17.1 — Novedades: contener realmente toda la imagen
   ========================================================== */

/*
 * El <img> pasa a ocupar exactamente el rectángulo disponible.
 * object-fit: contain calcula entonces ambas dimensiones a la vez
 * y evita que una imagen vertical continúe fuera del marco.
 */
.journal-card__media--contain img.journal-card__media-image {
	position: absolute !important;
	z-index: 2;
	inset: 8px !important;
	width: calc(100% - 16px) !important;
	height: calc(100% - 16px) !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: 50% 50% !important;
	transform: none;
}

.journal-card:hover .journal-card__media--contain img.journal-card__media-image {
	transform: scale(1.008);
}

@media (max-width: 700px) {
	.journal-card__media--contain img.journal-card__media-image {
		inset: 5px !important;
		width: calc(100% - 10px) !important;
		height: calc(100% - 10px) !important;
	}
}
