/* terapys.css — componentes propios de Terapys (usa solo roles de theme.json).
   Reglas de color: el naranja (accent-2) es relleno/acento, nunca texto pequeño;
   el texto en naranja usa orange-text; las letras decorativas grandes sobre naranja
   usan orange-deep (≥3:1) o ink (5.96:1). */

/* Foco: turquesa (5.23:1 sobre blanco, ≥3:1 exigido); sobre naranja, tinta. */
:focus-visible { outline-color: var(--wp--preset--color--accent); }
.on-orange :focus-visible,
.has-accent-2-background-color :focus-visible { outline-color: var(--wp--preset--color--ink); }
.is-style-section-dark :focus-visible { outline-color: var(--wp--preset--color--light); }

/* Botón secundario (contorno turquesa): al pasar el cursor se rellena. */
.wp-block-button.is-style-accent-2 .wp-block-button__link:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--light);
	border-color: var(--wp--preset--color--accent);
}
.is-style-section-dark .wp-block-button.is-style-accent-2 .wp-block-button__link {
	color: var(--wp--preset--color--light);
	border-color: var(--wp--preset--color--light);
}
.is-style-section-dark .wp-block-button.is-style-accent-2 .wp-block-button__link:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--light);
	color: var(--wp--preset--color--dark-darker);
}

/* Acordeón abierto sobre sección oscura: el círculo turquesa no se distingue; va en claro. */
.is-style-section-dark .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--dark-darker);
}

/* Cita del Hero: Playball, "crecer" en naranja de texto con subrayado naranja. */
.hero-quote {
	margin: 0;
	font-family: var(--wp--preset--font-family--script);
	font-size: var(--wp--preset--font-size--quote);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--quote);
	color: var(--wp--preset--color--dark-darker);
}
.hero-quote mark {
	background: none;
	color: var(--wp--preset--color--orange-text);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent-2);
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.18em;
}
.hero-quote__by {
	margin: var(--wp--preset--spacing--20) 0 0;
	font-size: var(--wp--preset--font-size--body);
	color: var(--wp--preset--color--dark);
}

/* Tarjetas de muestra (HTML plano): mismo aspecto que el estilo Tarjeta. */
.sample-card, .review-card {
	background: var(--wp--preset--color--light);
	border: 0.0625rem solid color-mix(in srgb, var(--wp--preset--color--dark) 25%, transparent);
	border-radius: var(--wp--custom--radius--card);
}
.review-card { padding: var(--wp--preset--spacing--50); }

/* Tarjeta de equipo: la foto hace zoom al pasar el cursor. */
.sample-card { overflow: hidden; padding: 0; }
.sample-card > figure { margin: 0; overflow: hidden; aspect-ratio: 3 / 4; }
.sample-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sample-card__body { padding: var(--wp--preset--spacing--50); }
.sample-card__body > * { margin-block: 0; }
.sample-card__body > * + * { margin-block-start: var(--wp--preset--spacing--20); }
@media (prefers-reduced-motion: no-preference) {
	.sample-card img { transition: transform 0.4s ease; }
	.sample-card:is(:hover, :focus-within) img { transform: scale(1.08); }
	.sample-card { transition: box-shadow 0.3s ease; }
}
.sample-card:is(:hover, :focus-within) { box-shadow: var(--wp--preset--shadow--card-hover); }

/* Tarjeta de reseña. */
.review-card { display: grid; gap: var(--wp--preset--spacing--30); align-content: start; }
.review-card > * { margin: 0; }
.review-card__head { display: flex; align-items: center; gap: var(--wp--preset--spacing--30); }
.review-card__head > * { margin: 0; }
.review-card__avatar {
	flex: none; inline-size: 3.5rem; block-size: 3.5rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--light); font-weight: 700; font-size: 1.25rem;
}
.review-card__stars { color: var(--wp--preset--color--orange-text); letter-spacing: 0.1em; font-size: 1.125rem; }
.review-card__date { font-size: var(--wp--preset--font-size--body-small); }

/* Nube (SVG ligero en línea, decorativo). */
.cloud { display: block; inline-size: clamp(6rem, 20vw, 12rem); block-size: auto; fill: var(--wp--preset--color--light); }
.cloud--orange { fill: var(--wp--preset--color--accent-2); }
.cloud--turquoise { fill: var(--wp--preset--color--accent); }
.cloud-stage { position: relative; padding: var(--wp--preset--spacing--60); border-radius: var(--wp--custom--radius--card); background: var(--wp--preset--color--accent-2); overflow: hidden; }
.cloud-stage .cloud { position: absolute; opacity: 0.9; }
.cloud-stage .cloud:nth-child(1) { inset-block-start: 10%; inset-inline-start: 6%; }
.cloud-stage .cloud:nth-child(2) { inset-block-end: 8%; inset-inline-end: 8%; inline-size: clamp(5rem, 14vw, 9rem); }

/* Franja de letras animadas (decorativa): letras profundas sobre el naranja. */
.letters-strip {
	overflow: hidden; background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--orange-deep);
	border-radius: var(--wp--custom--radius--card);
	block-size: 4.5rem; display: flex; align-items: center;
}
.letters-strip__track {
	display: flex; gap: 2.5rem; white-space: nowrap; flex: none;
	font-family: var(--wp--preset--font-family--script); font-size: 2.25rem; line-height: 1;
	padding-inline: 1.25rem;
}
.letters-strip--ink { color: var(--wp--preset--color--ink); }
.letters-strip--slate { color: var(--wp--preset--color--dark-darker); }
@media (prefers-reduced-motion: no-preference) {
	.letters-strip__track { animation: letters-run 40s linear infinite; }
}
@keyframes letters-run { to { transform: translateX(-50%); } }

/* Menú (muestra): turquesa; hover y página actual con barra naranja (no texto). */
.menu-sample { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); list-style: none; margin: 0; padding: 0; }
.menu-sample a {
	display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target);
	font-weight: 700; text-decoration: none; color: var(--wp--preset--color--accent);
	border-block-end: 0.25rem solid transparent;
}
.menu-sample a:is(:hover, :focus-visible, [aria-current="page"]) {
	color: var(--wp--preset--color--accent-darker);
	border-block-end-color: var(--wp--preset--color--accent-2);
}

/* Styleguide (solo muestras). */
.sg-pair { padding: var(--wp--preset--spacing--30); border-radius: var(--wp--custom--radius--small); font-weight: 700; margin: 0; }
.sg-table { inline-size: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--body-small); }
.sg-table th, .sg-table td { padding: 0.5rem 0.75rem; text-align: start; border-block-end: 1px solid color-mix(in srgb, var(--wp--preset--color--dark) 25%, transparent); }
.sg-table-wrap { overflow-x: auto; }
.sg-chip { display: inline-block; inline-size: 1.25rem; block-size: 1.25rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--dark); vertical-align: middle; margin-inline-end: 0.5rem; }
.sg-pass { font-weight: 700; color: var(--wp--preset--color--accent-darker); }
.sg-fail { font-weight: 700; color: var(--wp--preset--color--dark-darker); }
.sg-swatch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: var(--wp--custom--grid--gap); }
.sg-swatch-grid > div { border-radius: var(--wp--custom--radius--small); overflow: hidden; border: 1px solid color-mix(in srgb, var(--wp--preset--color--dark) 25%, transparent); background: var(--wp--preset--color--light); }
.sg-swatch-grid .sg-fill { block-size: 4rem; }
.sg-swatch-grid .sg-meta { padding: 0.5rem 0.75rem; font-size: var(--wp--preset--font-size--body-small); line-height: 1.5; }
.sg-swatch-grid .sg-meta p { margin: 0; }

/* Pie: el texto base es gris (dark); sobre el fondo del pie no llega a 4.5:1. Texto claro (ver «Pie» abajo). */
.site-footer__body { color: var(--wp--preset--color--light); }

.hero-quote-figure, .hero-quote-block { margin: 0; padding: 0; border: 0; }
.sg-cards { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); align-items: start; }
.sample-card__body h3, .sample-card__body p, .review-card p { margin: 0; }
.cloud-stage__fill { min-height: 6rem; margin: 0; }
.sg-section { padding-block: var(--wp--preset--spacing--70); }
.sg-iconos { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--50); margin-block: var(--wp--preset--spacing--40); }
.sg-icono { margin: 0; inline-size: 9rem; text-align: center; font-size: var(--wp--preset--font-size--body-small); }
.sg-icono svg { display: block; margin: 0 auto 0.5rem; inline-size: 3.125rem; block-size: 3.125rem; color: var(--wp--preset--color--accent-2); }
.sg-cierre { margin-block: 0; }
.sg-box { padding: var(--wp--preset--spacing--50); }
.sg-chip--legacy { background: #7A7A7A; } /* gris antiguo del kit, solo en la muestra prohibida */


/* ------------------------------------------------------------------
   Saltar al contenido (enlace del núcleo, .skip-link.screen-reader-text): oculto hasta recibir el foco.
   Al enfocarlo: turquesa con letra blanca (5.23:1) y anillo turquesa oscuro (≥3:1 contra el fondo blanco).
   ------------------------------------------------------------------ */
a.skip-link.screen-reader-text:focus {
	position: fixed;
	inset-block-start: 0.5rem;
	inset-inline-start: 0.5rem;
	z-index: 100000;
	clip: auto;
	clip-path: none;
	block-size: auto;
	inline-size: auto;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--wp--custom--font-weight--button);
	line-height: 1.5;
	text-decoration: none;
	border-radius: var(--wp--custom--radius--small);
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--accent-darker);
	outline-offset: var(--wp--custom--focus--offset);
	box-shadow: 0 0 0 0.25rem var(--wp--preset--color--light);
}
#wp--skip-link--target:focus { outline: none; }

/* ------------------------------------------------------------------
   Encabezado (parts/header.html). Original: blanco, fijo, ≈103 px de alto,
   logo 160×100, menú Roboto 700 1 rem, Facebook a la derecha.
   Menú: turquesa; hover/foco y página actual en turquesa oscuro con barra
   (naranja = página actual; turquesa oscuro = hover). La barra no es texto.
   ------------------------------------------------------------------ */
.site-logo { margin: 0; padding-block: 0.1rem; }
.site-logo img { inline-size: clamp(8.5rem, 6.5rem + 6vw, 10rem); }
.site-logo a { display: block; }
.site-header__actions { column-gap: var(--wp--preset--spacing--20); }

.site-nav.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent);
	background: transparent;
	border-radius: 0;
	font-weight: 400; /* la página actual va en 700: segunda señal además de la barra */
	box-shadow: inset 0 -4px 0 transparent;
}
.site-nav.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:is(:hover, :focus-visible) {
	background: transparent;
	color: var(--wp--preset--color--accent-darker);
	box-shadow: inset 0 -4px 0 var(--wp--preset--color--accent-darker);
}
.site-nav.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content[aria-current="page"] {
	background: transparent;
	color: var(--wp--preset--color--accent-darker);
	box-shadow: inset 0 -4px 0 var(--wp--preset--color--accent-2);
	font-weight: 700;
}
/* Foco visible ≥3:1: anillo turquesa de 3 px (5.23:1 sobre blanco), separado 2 px. */
.site-nav.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.site-nav .wp-block-navigation__responsive-container-open:focus-visible,
.site-nav .wp-block-navigation__responsive-container-close:focus-visible,
.site-header__social a:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--accent);
	outline-offset: var(--wp--custom--focus--offset);
}
.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close {
	background: transparent;
	color: var(--wp--preset--color--accent-darker);
	border-color: var(--wp--preset--color--accent-darker);
}
.site-nav .wp-block-navigation__responsive-container-close { border: 0; }
.site-nav .wp-block-navigation__responsive-container.is-menu-open { color: var(--wp--preset--color--accent); }

/* Redes: Facebook de 50 px (como el original; área táctil ≥44 px). */
.site-header__social, .site-footer__social { margin: 0; }
.site-header__social .wp-block-social-link, .site-footer__social .wp-block-social-link { font-size: 3.125rem; }
.site-header__social .wp-block-social-link-anchor,
.site-footer__social .wp-block-social-link-anchor {
	display: inline-flex; align-items: center; justify-content: center;
	min-inline-size: var(--wp--custom--touch-target); min-block-size: var(--wp--custom--touch-target);
	padding: 0;
}
.site-header__social svg, .site-footer__social svg { inline-size: 2.25rem; block-size: 2.25rem; }
.site-header__social { flex: none; }
@media (prefers-reduced-motion: no-preference) {
	.site-header__social .wp-block-social-link-anchor, .site-footer__social .wp-block-social-link-anchor { transition: transform 0.2s ease; }
	.site-header__social .wp-block-social-link-anchor:hover, .site-footer__social .wp-block-social-link-anchor:hover { transform: scale(1.1) rotate(8deg); }
}
.site-header__social .wp-block-social-link-anchor:hover { color: var(--wp--preset--color--accent-darker); }

/* ------------------------------------------------------------------
   Pie (parts/footer.html). Original: fondo turquesa oscuro #036C7E, texto
   claro. Todo el texto en blanco: 6.09:1 (AA ≥4.5). Foco blanco (10.8:1 aprox.).
   ------------------------------------------------------------------ */
.site-footer__body, .site-footer__body :where(p, li, h2) { color: var(--wp--preset--color--light); }
.site-footer__columns { margin: 0; }
.site-footer__columns > .wp-block-column > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.site-footer__columns p { margin: 0; }
.site-footer__logo { display: inline-block; margin: 0; padding: 0; background: none; }
.site-footer__logo img { display: block; inline-size: 10rem; block-size: auto; aspect-ratio: 160 / 106; }
.site-footer__heading { margin-block-start: 0; font-size: var(--wp--preset--font-size--title-7); }
.site-footer__nav.wp-block-navigation { gap: 0; align-items: flex-start; }
.site-footer__nav .wp-block-navigation-item__content, .site-footer__contact a {
	display: inline-flex; align-items: center; min-block-size: var(--wp--custom--touch-target);
	color: var(--wp--preset--color--light); text-decoration: none;
}
.site-footer__nav .wp-block-navigation-item__content:is(:hover, :focus-visible), .site-footer__contact a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 0.2em; }
.site-footer__contact { list-style: none; margin: 0; padding: 0; }
.site-footer__columns > .wp-block-column > .site-footer__contact { margin-block-start: 0; }
.site-footer__social .wp-block-social-link-anchor { color: var(--wp--preset--color--light); }
.site-footer a:focus-visible, .site-footer__nav .wp-block-navigation-item__content:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--light);
	outline-offset: var(--wp--custom--focus--offset);
}
.site-footer__bottom a { text-decoration: underline; text-underline-offset: 0.2em; }
@media (min-width: 782px) {
	/* 4 columnas como el original: logo y texto 40 %, Terapeutas 20 %, aviso y teléfono 22 %, Facebook el resto. */
	.site-footer__columns > .wp-block-column:nth-child(1) { flex-basis: 40%; }
	.site-footer__columns > .wp-block-column:nth-child(2) { flex-basis: 20%; }
	.site-footer__columns > .wp-block-column:nth-child(3) { flex-basis: 22%; }
	.site-footer__columns > .wp-block-column:nth-child(4) { flex-basis: 8%; }
}

/* Teléfono: solo texto (sin enlace tel:). */
.site-footer__phone { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--touch-target); }
.site-footer__legal > * { margin: 0; }
.site-footer__credit { font-size: var(--wp--preset--font-size--body-small); margin-block-start: 0.25rem; }
.site-footer__credit a { text-decoration: underline; text-underline-offset: 0.2em; }
/* «ZZecomm» del copyright en naranja claro (orange-light 4.51:1 sobre el teal del pie; el naranja de marca da 2.4:1 y fallaría). */
.site-footer__bottom a.site-footer__credit-link, .site-footer__bottom a.site-footer__credit-link:is(:hover, :focus-visible) { color: var(--wp--preset--color--orange-light); }
/* Sin margen entre el contenido y el pie: el espacio de bloque dejaba una franja entre la última sección y el pie. */
.site-footer { margin-block-start: 0; }

/* ------------------------------------------------------------------
   Botón flotante de WhatsApp (en parts/footer.html, todas las páginas).
   Círculo #59CE72 de 64 px abajo a la derecha; ícono tinta #22272A (7.54:1).
   Foco: anillo blanco + anillo tinta (≥3:1 sobre blanco y sobre el pie).
   El pie reserva espacio abajo para que no tape el aviso legal.
   ------------------------------------------------------------------ */
.whatsapp-float {
	position: fixed;
	inset-inline-end: 1rem;
	inset-block-end: 1rem;
	z-index: 50;
	display: grid;
	place-items: center;
	inline-size: 4rem;
	block-size: 4rem;
	border-radius: 50%;
	background: var(--wp--preset--color--whatsapp-green);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.25);
	text-decoration: none;
}
.whatsapp-float svg { display: block; inline-size: 2.5rem; block-size: 2.5rem; fill: currentColor; }
.whatsapp-float:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--ink);
	outline-offset: var(--wp--custom--focus--width);
	box-shadow: 0 0 0 var(--wp--custom--focus--width) var(--wp--preset--color--light);
}
@media (prefers-reduced-motion: no-preference) {
	.whatsapp-float { transition: transform 0.2s ease; }
	.whatsapp-float:hover { transform: translateY(-0.25rem); }
}
.site-footer__body { padding-block-end: calc(4rem + 2rem); }
@media (max-width: 781px) { .site-footer__bottom { padding-inline-end: 4.5rem; } }

/* El pie pinta de blanco todos sus enlaces; el botón flotante lleva ícono tinta (7.54:1 sobre el verde). */
.site-footer a.whatsapp-float:not(.wp-block-button__link),
.site-footer a.whatsapp-float:not(.wp-block-button__link):is(:hover, :focus-visible) { color: var(--wp--preset--color--ink); text-decoration: none; }
.site-footer a.whatsapp-float:focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--ink);
	outline-offset: var(--wp--custom--focus--width);
}

/* ===== Etapa 3: equipo y opiniones ===== */

/* Tarjeta de equipo: foto redondeada con sombra suave; puesto y nombre sobre la foto con degradado oscuro
   (blanco sobre tinta ≥ 4.5:1 sobre cualquier foto: el degradado es casi opaco bajo el texto). */
.team-card { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--card-hover); background: var(--wp--preset--color--ink); margin: 0; }
.team-card .team-card__photo { margin: 0; }
.team-card .team-card__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
.team-card__text { position: absolute; inset: auto 0 0 0; z-index: 1; margin: 0; padding: 4rem var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	background: linear-gradient(to top, rgb(17 20 22 / 0.94) 0%, rgb(17 20 22 / 0.9) 60%, rgb(17 20 22 / 0) 100%); color: var(--wp--preset--color--light); }
.team-card__text > * { margin: 0; }
.team-card__role { font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--wp--preset--color--light); }
.team-card__name, .team-card__name a { font-size: clamp(1.2rem, 1.0926rem + 0.4771vw, 1.5rem); font-weight: 700; line-height: 1.25; color: var(--wp--preset--color--light); text-decoration: none; }
/* Todo el recuadro es el enlace (objetivo táctil enorme) con un solo enlace para lectores de pantalla. */
.team-card__name a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.team-card:has(a:focus-visible) { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--accent); outline-offset: var(--wp--custom--focus--offset); }
.team-card__name a:focus-visible { outline: none; }
@media (prefers-reduced-motion: no-preference) {
	.team-card .team-card__photo img { transition: transform 0.4s ease; }
	.team-card:is(:hover, :focus-within) .team-card__photo img { transform: scale(1.06); }
}
.team-grid .wp-block-post-template { gap: var(--wp--custom--grid--gap); }
.team-grid .wp-block-post-template > li { margin: 0; }

/* Ficha de miembro (Etapa 13): banner con nombre y puesto + foto enmarcada; debajo UNA columna de texto. Banner = .banner de paginas.css.
   Puesto: blanco sobre el teal (#036C7E 6.09:1 en el punto más claro; orange-light #FFD89F daría 4.51:1, justo en el límite) con subrayado naranja accent-2 (decorativo). */
.member { padding-block: 0; }
.member__banner .member__banner-in { align-items: end; padding-block: 1.5rem; }
.member__head { align-self: center; }
.member__head > * + * { margin-top: var(--wp--preset--spacing--20); }
.member__role.member__role { margin-block: 0; color: var(--wp--preset--color--light); font-size: var(--wp--preset--font-size--subtitle); font-weight: 700; text-shadow: 0 0.125rem 0.5rem rgb(0 0 0 / 0.45); }
.member__role:empty { display: none; }
.member__role.member__role { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-2); text-decoration-thickness: 0.2em; text-underline-offset: 0.3em; text-decoration-skip-ink: none; }
.member__photo { margin: 0; justify-self: end; inline-size: clamp(7rem, 24vw, 13rem); }
.member__photo img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 4; object-fit: cover; border: 0.25rem solid var(--wp--preset--color--light); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--card-hover); }
.member__body { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); padding-inline: clamp(1rem, 0.77rem + 1.03vw, 1.5rem); }
.member__body > * + * { margin-top: var(--wp--preset--spacing--40); }
.member__bio > * + * { margin-top: var(--wp--preset--spacing--30); }
.member__bio h2 { margin-top: var(--wp--preset--spacing--50); }
.member__bio h3 { margin-top: var(--wp--preset--spacing--40); }
.member__bio ul, .member__bio ol { padding-inline-start: 1.5rem; }
.member__bio li > ul, .member__bio li > ol { margin-top: var(--wp--preset--spacing--10); }
.member__bio { overflow-wrap: break-word; }
.member__cta { margin-top: var(--wp--preset--spacing--60); }

/* Tarjeta de opinión */
.opinion-card { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); height: 100%; box-sizing: border-box; }
.opinion-card > * { margin: 0; }
.opinion-card__head { gap: var(--wp--preset--spacing--30); }
.opinion-card__photo { margin: 0; }
.opinion-card__photo img { border-radius: 50%; display: block; width: 4rem; height: 4rem; object-fit: cover; }
.opinion-card__name { font-size: 1.125rem; font-weight: 700; line-height: 1.3; margin: 0; }
.opinion-card__date { font-size: 0.875rem; margin: 0; color: var(--wp--preset--color--dark); }
.opinion-card__text > * + * { margin-top: var(--wp--preset--spacing--30); }
.opinion-list .wp-block-post-template { gap: var(--wp--custom--grid--gap); }
.opinion-list .wp-block-post-template > li { margin: 0; }
.opinion-stars { display: inline-flex; gap: 0.125rem; line-height: 0; }
.opinion-stars__star { width: 1.5rem; height: 1.5rem; fill: none; stroke: var(--wp--preset--color--orange-text); stroke-width: 1.5; stroke-linejoin: round; }
.opinion-stars__star.is-filled { fill: var(--wp--preset--color--orange-text); }

/* ===== Etapa 4: anclas de la portada ===== */
/* #servicios y #opiniones son ya secciones reales (portada.css). */

/* Etapa 7b · Pie compacto (densidad del pie del original: ≈ 420 px de alto en escritorio, filas de ≈ 30 px). Con puntero fino, enlaces de 2 rem (≥ 24 px de WCAG 2.5.8); con puntero táctil se conservan los 44 px. */
.site-footer__body { padding-block-start: var(--wp--preset--spacing--60); padding-block-end: 4.5rem; }
.site-footer__columns > .wp-block-column > * + * { margin-block-start: var(--wp--preset--spacing--20); }
.site-footer__columns > .wp-block-column p { line-height: 1.6; }
.site-footer__heading { margin-block-end: 0; line-height: 1.25; }
.site-footer__body > .site-footer__bottom { margin-block-start: var(--wp--preset--spacing--40); padding-block-start: var(--wp--preset--spacing--30); }
.site-footer__credit { margin-block-start: 0; }
@media (pointer: fine) {
	.site-footer__nav .wp-block-navigation-item__content, .site-footer__contact a, .site-footer__phone { min-block-size: 2rem; }
}

/* Etapa 9 (A1): pie alineado ABAJO (como el original; revierte el A3 de la Etapa 8). El logo va arriba del párrafo en la primera columna y los textos de las demás
   columnas terminan en el borde inferior del párrafo (las columnas usan verticalAlignment «bottom»). En celular las columnas se apilan. */
@media (min-width: 782px) {
	.site-footer__columns { align-items: flex-end; }
	.site-footer__columns > .wp-block-column > :last-child { margin-block-end: 0; }
	.site-footer__columns > .wp-block-column:nth-child(4) .site-footer__social { transform: translateY(1.35rem); } /* el trazo del ícono termina junto a la última línea de texto */
}
