/* ==========================================================================
   Ovoclone · estilos de componentes
   Complementa a theme.json. Sin dependencias externas.
   ========================================================================== */

:root {
	--ovc-radius: 16px;
	--ovc-radius-sm: 10px;
	--ovc-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23183B35' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 10.5 4 4 8-9'/%3E%3C/svg%3E");
	--ovc-mas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23183B35' stroke-width='1.4' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='M10 6.5v7M6.5 10h7'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--verde);
	outline-offset: 3px;
	border-radius: 4px;
}

.ovc-main > .wp-block-post-content > *:first-child { margin-block-start: 0; }
.ovc-main > .wp-block-post-content > .alignfull { margin-block: 0; }

/* ---------- Antetítulo ---------- */
.is-style-antetitulo,
.ovc-antetitulo,
.ovc-antetitulo a {
	font-size: 0.72rem !important;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: currentColor;
	text-decoration: none;
	margin-bottom: 0.6rem;
}

/* ---------- Manuscrita ---------- */
.ovc-script { font-family: var(--wp--preset--font-family--script); font-size: 2.3rem; line-height: 1.05; }

/* ---------- Botones ---------- */
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.ovc-flecha .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: 0.7em;
	transition: transform .2s ease;
}
.ovc-flecha .wp-block-button__link:hover::after { transform: translateX(3px); }

.wp-block-button.is-style-contorno .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--verde);
	border: 1px solid var(--wp--preset--color--verde);
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover {
	background: var(--wp--preset--color--verde);
	color: var(--wp--preset--color--blanco);
}
.wp-block-button.is-style-claro .wp-block-button__link {
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--verde);
}
.wp-block-button.is-style-claro .wp-block-button__link:hover { background: var(--wp--preset--color--crema); }

.ovc-enlace-flecha a { font-weight: 600; text-underline-offset: 4px; }
.ovc-enlace-flecha a::after { content: "\2192"; margin-left: .45em; display: inline-block; text-decoration: none; }

/* ---------- Listas ---------- */
.is-style-checks, .is-style-mas { list-style: none; padding-left: 0; }
.is-style-checks li, .is-style-mas li {
	position: relative;
	padding-left: 1.85rem;
	margin-bottom: 0.65rem;
	line-height: 1.45;
}
.is-style-checks li::before, .is-style-mas li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.08em;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--ovc-check) no-repeat center / contain;
}
.is-style-mas li::before { background-image: var(--ovc-mas); }

/* ---------- Tarjeta genérica ---------- */
.wp-block-group.is-style-tarjeta {
	background: var(--wp--preset--color--blanco-roto);
	border-radius: var(--ovc-radius);
	overflow: hidden;
	height: 100%;
	padding-bottom: 1.25rem;
}
.wp-block-group.is-style-tarjeta > *:not(.wp-block-post-featured-image) { padding-inline: 1.25rem; }

/* ==========================================================================
   Cabecera
   ========================================================================== */
.ovc-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .ovc-site-header { top: 32px; }
.ovc-header { border-bottom: 1px solid rgba(24, 59, 53, 0.08); }
.ovc-nav .wp-block-navigation__container { flex-wrap: nowrap; gap: 1.3rem !important; }
.ovc-header__acciones { gap: 0.9rem !important; }
.ovc-nav .wp-block-navigation-item__content, .ovc-header__cta .wp-block-button__link { white-space: nowrap; }
.ovc-marca .wp-block-site-title a { text-decoration: none; }
.ovc-marca__lema { margin: 0; white-space: nowrap; }
.ovc-nav .wp-block-navigation-item__content { text-decoration: none; color: var(--wp--preset--color--tinta); }
.ovc-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--verde); text-decoration: underline; text-underline-offset: 6px; }
.ovc-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--blanco-roto) !important;
	border: 1px solid var(--wp--preset--color--linea) !important;
	border-radius: var(--ovc-radius-sm);
	padding: 0.5rem 0;
	min-width: 280px !important;
	box-shadow: var(--wp--preset--shadow--suave);
}
.ovc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 1.1rem !important; }
.ovc-idiomas { margin: 0; white-space: nowrap; }
.ovc-idiomas a { color: inherit; text-decoration: none; }
.ovc-idiomas a:hover { color: var(--wp--preset--color--verde); }
.ovc-buscar .wp-block-search__button { background: transparent; color: var(--wp--preset--color--tinta); padding: 0.35rem; border: 0; }

/* ==========================================================================
   Inicio · Hero
   ========================================================================== */
.ovc-hero.wp-block-cover { overflow: hidden; }
.ovc-hero.wp-block-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, var(--wp--preset--color--crema) 0%, rgba(245, 242, 235, .94) 34%, rgba(245, 242, 235, .55) 50%, rgba(245, 242, 235, 0) 64%);
}
.ovc-hero .wp-block-cover__inner-container,
.ovc-cta .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin-inline: auto; }
.ovc-hero h1 { margin-top: 0.4rem; margin-bottom: 1rem; }
.ovc-hero__texto { max-width: 620px; margin-left: 0 !important; margin-right: auto !important; }
.ovc-precio-card { box-shadow: var(--wp--preset--shadow--suave); }
.ovc-precio-card__cifra { border-right: 1px solid var(--wp--preset--color--linea); }
.ovc-precio { margin: 0; display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; line-height: 1; }
.ovc-precio strong {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 400;
	font-size: clamp(3.2rem, 4.4vw, 4.2rem);
	white-space: nowrap;
	color: var(--wp--preset--color--verde);
	letter-spacing: -0.02em;
}
.ovc-precio span { font-size: 0.95rem; white-space: nowrap; }
.ovc-precio-card__cifra { min-width: 0; }
.ovc-precio-card .wp-block-buttons .wp-block-button { flex: 1 1 200px; }
.ovc-precio-card .wp-block-button__link { width: 100%; }
.ovc-hero__nota { margin-top: 0.9rem; color: var(--wp--preset--color--gris); }
.ovc-hero__script {
	position: absolute;
	right: 0;
	top: 42%;
	margin: 0;
	color: #fff;
	font-size: clamp(2rem, 2.6vw, 2.6rem);
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

/* ==========================================================================
   Inicio · Especies
   ========================================================================== */
.ovc-especie {
	background: var(--wp--preset--color--blanco-roto);
	border-radius: 6px;
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}
.ovc-especie:hover { box-shadow: var(--wp--preset--shadow--suave); transform: translateY(-2px); }
.ovc-especie__foto { margin: 0 !important; }
.ovc-especie__foto img { width: 100%; display: block; }
.ovc-especie__cuerpo { padding: 1.1rem 1.1rem 1.25rem; }
.ovc-especie__cuerpo h3 { margin: 0 0 0.25rem; }
.ovc-especie__cuerpo p { margin: 0.25rem 0; }

/* ==========================================================================
   Inicio · Proceso
   ========================================================================== */
.ovc-pasos { position: relative; }
.ovc-paso { position: relative; }
.ovc-paso__icono { margin: 0 0 1rem !important; }
.ovc-paso__icono img {
	background: var(--wp--preset--color--blanco-roto);
	border-radius: 50%;
	padding: 14px;
	box-sizing: border-box;
	width: 72px !important;
	height: 72px !important;
}
.ovc-paso__titulo { font-family: var(--wp--preset--font-family--serif); margin: 0 0 0.4rem; display: flex; gap: 0.6rem; align-items: flex-start; }
.ovc-paso__num {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--verde);
	color: var(--wp--preset--color--blanco);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem;
	font-weight: 600;
	margin-top: 0.15rem;
}
@media (min-width: 782px) {
	.ovc-paso:not(:last-child)::after {
		content: "\2192";
		position: absolute;
		top: 24px;
		right: -1.15rem;
		color: var(--wp--preset--color--verde);
		font-size: 1.2rem;
	}
}

/* ==========================================================================
   Inicio · Laboratorio
   ========================================================================== */
.ovc-lab .wp-block-media-text__content { padding: var(--wp--preset--spacing--60) clamp(1.5rem, 6vw, 6rem) !important; }
.ovc-lab .wp-block-media-text__content p { color: #d7dfdb; }
.ovc-lab .wp-block-media-text__content .is-style-antetitulo { color: var(--wp--preset--color--crema); }
.ovc-lab.wp-block-media-text { min-height: 420px; }

/* ==========================================================================
   Tarifa
   ========================================================================== */
.ovc-tarifa__cajas { gap: 0 !important; }
.ovc-tarifa__incluye, .ovc-tarifa__extras { padding: 1.8rem 1.9rem; }
.ovc-tarifa__incluye { border-radius: var(--ovc-radius) 0 0 var(--ovc-radius); box-shadow: var(--wp--preset--shadow--suave); position: relative; z-index: 1; }
.ovc-tarifa__extras { border-radius: 0 var(--ovc-radius) var(--ovc-radius) 0; }
.ovc-tarifa__cajas h3 { margin-top: 0; }

/* ==========================================================================
   Llamada final
   ========================================================================== */
.ovc-cta.wp-block-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(270deg, rgba(245, 242, 235, .96) 0%, rgba(245, 242, 235, .8) 36%, rgba(245, 242, 235, 0) 62%);
}
.ovc-cta__texto { max-width: 470px; margin-left: auto !important; margin-right: 0 !important; }

/* ==========================================================================
   Pie
   ========================================================================== */
.ovc-footer__titulo {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--crema) !important;
	margin-bottom: 1rem;
}
.ovc-footer__lista { list-style: none; padding: 0; font-size: 0.92rem; }
.ovc-footer__lista li { margin-bottom: 0.55rem; }
.ovc-footer a { text-decoration: none; }
.ovc-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ovc-footer__contacto { font-size: 0.92rem; line-height: 1.9; }
.ovc-footer__sep { border-color: rgba(245, 242, 235, 0.18) !important; opacity: 1; }
.ovc-footer .wp-block-site-title a { color: var(--wp--preset--color--crema); }

/* ==========================================================================
   Artículo
   ========================================================================== */
.ovc-articulo .wp-block-post-content { font-size: 1.06rem; line-height: 1.75; }
.ovc-articulo .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--xl); margin-top: 2.4rem; }
.ovc-actualizado::before { content: "· Actualizado: "; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {
	.ovc-idiomas { display: none !important; }
	.ovc-nav { --ovc-gap: 1rem; }
	.ovc-nav .wp-block-navigation__container { gap: 1.1rem !important; }
}
@media (max-width: 1100px) {
	.ovc-header__cta { display: none !important; }
}
@media (max-width: 781px) {
	.ovc-hero.wp-block-cover { min-height: 0 !important; padding-top: 0 !important; align-items: flex-end; }
	.ovc-hero .wp-block-cover__image-background { position: relative !important; height: 300px !important; inset: auto !important; }
	.ovc-hero.wp-block-cover { flex-direction: column; }
	.ovc-hero.wp-block-cover::before { background: linear-gradient(180deg, rgba(245,242,235,0) 0, rgba(245,242,235,0) 240px, var(--wp--preset--color--crema) 300px); }
	.ovc-hero .wp-block-cover__inner-container { padding-top: 1.5rem; }
	.ovc-hero__script { display: none; }
	.ovc-precio-card__cifra { border-right: 0; border-bottom: 1px solid var(--wp--preset--color--linea); padding-bottom: 1rem; }
	.ovc-tarifa__incluye { border-radius: var(--ovc-radius) var(--ovc-radius) 0 0; }
	.ovc-tarifa__extras { border-radius: 0 0 var(--ovc-radius) var(--ovc-radius); }
	.ovc-cta.wp-block-cover::before { background: rgba(245, 242, 235, 0.88); }
	.ovc-especies__tarjetas { gap: 1rem !important; }
	.admin-bar .ovc-site-header { top: 0; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   Páginas interiores · componentes comunes
   ========================================================================== */
.ovc-seccion > .wp-block-columns { margin-bottom: 0; }
.ovc-migas { margin: 0 0 1.75rem; color: var(--wp--preset--color--gris); }
.ovc-migas a { color: inherit; text-decoration: none; }
.ovc-migas a:hover { text-decoration: underline; }
.has-crema-color .ovc-migas, .ovc-hero-int--oscuro .ovc-migas { color: rgba(245, 242, 235, 0.75); }

.ovc-num-grande {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.6rem, 4vw, 3.6rem) !important;
	line-height: 1;
	color: var(--wp--preset--color--linea);
	margin-bottom: 0.4rem;
}
.ovc-num-circulo {
	display: inline-grid; place-items: center;
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	border: 1px solid var(--wp--preset--color--verde);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.1rem; margin-bottom: 0.6rem;
}

/* Chip de precio */
.ovc-chip-precio { margin-top: var(--wp--preset--spacing--40); }
.ovc-chip-precio > * { margin-block: 0 !important; }
.ovc-chip-precio .ovc-precio { margin: 0.2rem 0 0.3rem !important; }
.ovc-chip-precio .ovc-precio strong { font-size: clamp(2.4rem, 3.2vw, 3rem); }
.ovc-chip-precio--linea { padding: 1rem 1.25rem; border: 1px solid var(--wp--preset--color--linea); border-radius: var(--ovc-radius); background: var(--wp--preset--color--blanco); display: inline-block; }
.ovc-chip-precio--flotante {
	position: absolute; right: 0; bottom: -1rem;
	background: var(--wp--preset--color--blanco);
	padding: 1.1rem 1.4rem; border-radius: var(--ovc-radius);
	box-shadow: var(--wp--preset--shadow--suave); min-width: 230px;
}
.ovc-chip-precio--oscuro { padding: 1rem 1.25rem; border: 1px solid rgba(245, 242, 235, 0.25); border-radius: var(--ovc-radius); display: inline-block; }
.ovc-chip-precio--oscuro .ovc-precio strong { color: var(--wp--preset--color--crema); }
.ovc-chip-precio--oscuro .has-gris-color { color: rgba(245, 242, 235, 0.7) !important; }

/* Fotografías con forma */
.ovc-foto-redondeada img { border-radius: var(--ovc-radius); }
.ovc-foto-arco img { border-radius: 999px 999px var(--ovc-radius) var(--ovc-radius); }
.ovc-foto-organica img { border-radius: 46% 54% 38% 62% / 52% 38% 62% 48%; }
.ovc-foto-ola img { border-radius: 60% 40% 18px 18px / 30% 30% 18px 18px; }
.ovc-foto-circulo img { border-radius: 50%; }
.ovc-foto-alta img { border-radius: 200px 200px var(--ovc-radius) var(--ovc-radius); }
.ovc-foto-marco img { border-radius: 4px; outline: 1px solid rgba(245, 242, 235, 0.35); outline-offset: 14px; }
.ovc-foto-sangre img { border-radius: var(--ovc-radius) 0 0 var(--ovc-radius); }

.ovc-script--gatos, .ovc-script--circulo, .ovc-script--contacto { color: var(--wp--preset--color--verde); margin-top: -2.5rem; text-align: right; position: relative; }
.ovc-script--gatos { margin-right: 6%; }

/* Hero interior con imagen de fondo */
.ovc-hero-int.wp-block-cover { overflow: visible; }
.ovc-hero-int.wp-block-cover::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, var(--wp--preset--color--crema) 0%, rgba(245,242,235,.92) 32%, rgba(245,242,235,.4) 52%, rgba(245,242,235,0) 66%);
}
.ovc-hero-int.wp-block-cover::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 70px; z-index: 1;
	background: var(--wp--preset--color--crema);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C 360 0 720 70 1080 30 S 1440 20 1440 20 V70 H0Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C 360 0 720 70 1080 30 S 1440 20 1440 20 V70 H0Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
}
.ovc-hero-int .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; max-width: 1240px; margin-inline: auto; }
.ovc-hero-int__texto { max-width: 560px; margin-left: 0 !important; margin-right: auto !important; }

/* Hero editorial (preservación general) */
.ovc-ph-editorial h1 { font-size: clamp(2.6rem, 4.6vw, 4.2rem) !important; }

/* Hero asimétrico (gatos) */
.ovc-ph-asimetrica { padding-top: var(--wp--preset--spacing--50) !important; }

/* Hero arquitectónico (caballos) */
.ovc-ph-arquitectonica { position: relative; overflow: hidden;
	background-image: linear-gradient(rgba(245,242,235,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(245,242,235,.05) 1px, transparent 1px);
	background-size: 80px 80px; }
.ovc-ph-arquitectonica .is-style-antetitulo, .ovc-ph-oscura .is-style-antetitulo, .ovc-ph-noche .is-style-antetitulo, .ovc-cta-verde .is-style-antetitulo, .ovc-visita .is-style-antetitulo { color: rgba(245,242,235,.8); }
.ovc-ficha-lateral {
	background: var(--wp--preset--color--blanco-roto); color: var(--wp--preset--color--tinta);
	border-radius: var(--ovc-radius-sm); padding: 1.2rem 1.4rem; max-width: 280px;
	margin: -4rem 0 0 auto !important; position: relative; box-shadow: var(--wp--preset--shadow--suave);
}

/* Hero oscuro (clonación perros) y noche (clonación caballos) */
.ovc-ph-oscura, .ovc-ph-noche { position: relative; overflow: hidden; }
.ovc-ph-oscura p, .ovc-ph-noche p { color: rgba(245, 242, 235, 0.85); }
.ovc-ph-noche { background-image: radial-gradient(circle at 80% 30%, rgba(24,59,53,.9), transparent 55%); }
.ovc-panel-lateral { border-left: 1px solid rgba(245,242,235,.25); padding: 0.5rem 0 0.5rem 1.6rem; }
.wp-block-button.is-style-contorno-claro .wp-block-button__link { background: transparent; color: var(--wp--preset--color--crema); border: 1px solid rgba(245,242,235,.6); }
.wp-block-button.is-style-contorno-claro .wp-block-button__link:hover { background: var(--wp--preset--color--crema); color: var(--wp--preset--color--verde); }
.ovc-checks-claros li::before { filter: invert(1) brightness(2); }
.ovc-iconos--claros { margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--40); border-top: 1px solid rgba(245,242,235,.15); }
.ovc-iconos--claros .ovc-icono img { filter: invert(1) brightness(2); opacity: .9; }

/* Hero minimal (clonación gatos) */
.ovc-ph-minimal h1 { font-size: clamp(2.4rem, 4.2vw, 3.8rem) !important; }

/* Hero laboratorio */
.ovc-ph-lab { padding-right: 0 !important; }

/* Iconos en fila */
.ovc-icono { margin: 0 0 0.75rem !important; }
.ovc-iconos { gap: 1.5rem !important; }
.ovc-icono-item { text-align: center; }
.ovc-icono-item .ovc-icono { display: flex; justify-content: center; }
.ovc-iconos--centrados > .wp-block-column { text-align: center; }
.ovc-iconos--centrados .ovc-icono { display: flex; justify-content: center; }
.ovc-iconos-fila .wp-block-columns > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--linea); }
.ovc-iconos--compactos .ovc-icono { margin-bottom: 0.4rem !important; }

/* Editorial en tres columnas */
.ovc-tres-editorial > .wp-block-column { border-top: 1px solid rgba(24,59,53,.25); padding-top: 1.25rem; }

/* Pasos numerados (lista) */
ol.is-style-pasos { list-style: none; counter-reset: paso; padding: 0; margin-inline: 0; margin-bottom: 0; }
ol.is-style-pasos > li {
	counter-increment: paso; position: relative;
	padding: 0 0 1.6rem 3.4rem; margin: 0;
}
ol.is-style-pasos > li::before {
	content: counter(paso, decimal-leading-zero);
	position: absolute; left: 0; top: -0.1rem;
	width: 2.3rem; height: 2.3rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--wp--preset--color--verde); color: var(--wp--preset--color--blanco);
	font-size: 0.75rem; font-weight: 600;
}
ol.is-style-pasos > li:not(:last-child)::after {
	content: ""; position: absolute; left: calc(1.15rem - 0.5px); top: 2.5rem; bottom: 0.2rem; width: 1px;
	background: var(--wp--preset--color--linea);
}
ol.is-style-pasos--claro > li::before { background: var(--wp--preset--color--crema); color: var(--wp--preset--color--verde); }
ol.is-style-pasos--claro > li:not(:last-child)::after { background: rgba(245,242,235,.25); }

/* Línea de fases horizontal (cómo funciona) */
ol.ovc-linea-fases { list-style: none; counter-reset: fase; display: flex; justify-content: space-between; padding: 0; margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--50); position: relative; }
ol.ovc-linea-fases::before { content: ""; position: absolute; left: 4%; right: 4%; top: 1.1rem; height: 1px; background: var(--wp--preset--color--linea); }
ol.ovc-linea-fases > li { counter-increment: fase; position: relative; text-align: center; flex: 1; font-family: var(--wp--preset--font-family--serif); font-size: 1.05rem; padding-top: 3rem; }
ol.ovc-linea-fases > li::before {
	content: counter(fase, decimal-leading-zero); position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--crema); border: 1px solid var(--wp--preset--color--verde);
	font-family: var(--wp--preset--font-family--sans); font-size: 0.72rem; font-weight: 600;
}
ol.ovc-linea-fases > li:first-child::before { background: var(--wp--preset--color--verde); color: #fff; }
.ovc-fase { margin-bottom: var(--wp--preset--spacing--50) !important; }

/* Línea de tiempo horizontal (caballos) */
.ovc-linea-tiempo { position: relative; }
.ovc-linea-tiempo > .wp-block-column { border-top: 1px solid var(--wp--preset--color--linea); padding-top: 1.25rem; }

/* Perfiles (caballos) */
.ovc-perfiles > .wp-block-column { background: var(--wp--preset--color--blanco-roto); border-radius: var(--ovc-radius-sm); padding: 1.4rem; border-top: 3px solid var(--wp--preset--color--verde); }

/* Tabla comparativa */
.ovc-tabla table { border-collapse: collapse; width: 100%; font-size: 0.92rem; background: var(--wp--preset--color--blanco); border-radius: var(--ovc-radius); overflow: hidden; }
.ovc-tabla th, .ovc-tabla td { border: 0; border-bottom: 1px solid var(--wp--preset--color--linea); padding: 0.9rem 1rem; text-align: left; vertical-align: top; }
.ovc-tabla thead th { background: var(--wp--preset--color--verde); color: var(--wp--preset--color--crema); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.04em; }
.ovc-tabla tbody td:first-child { font-weight: 600; color: var(--wp--preset--color--verde); width: 18%; }
.ovc-tabla tbody tr:last-child td { border-bottom: 0; }

/* FAQ */
.ovc-faq { border-bottom: 1px solid var(--wp--preset--color--linea); padding: 1rem 0; }
.ovc-faq summary { cursor: pointer; font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.ovc-faq summary::-webkit-details-marker { display: none; }
.ovc-faq summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--wp--preset--color--verde); transition: transform .2s ease; }
.ovc-faq[open] summary::after { transform: rotate(45deg); }
.ovc-faq > p { margin: 0.75rem 0 0; color: var(--wp--preset--color--gris); font-size: 0.95rem; }
.ovc-faqs--claro { background: var(--wp--preset--color--blanco-roto); }

/* Llamada verde */
.ovc-cta-verde p { color: rgba(245,242,235,.85); }
.ovc-cta-verde__boton { margin-bottom: 1.2rem; }

/* Bloques varios */
.ovc-enlaces-especie > .wp-block-column { border-top: 1px solid var(--wp--preset--color--linea); padding-top: 1rem; }
.ovc-enlaces-especie h3 a { text-decoration: none; }
.ovc-enlaces-especie h3 a::after { content: " \2192"; font-family: var(--wp--preset--font-family--sans); font-size: .8em; }
.ovc-aviso { background: var(--wp--preset--color--arena); border-radius: var(--ovc-radius); padding: 1.8rem 2rem; text-align: center; }
.ovc-aviso .ovc-icono { display: flex; justify-content: center; }
.ovc-pilares > .wp-block-column { border-left: 1px solid var(--wp--preset--color--linea); padding-left: 1.25rem; }
.ovc-tarjeta-clara { background: var(--wp--preset--color--blanco-roto); color: var(--wp--preset--color--tinta); border-radius: var(--ovc-radius); padding: 1.6rem; }
.ovc-tarjeta-clara h3 { color: var(--wp--preset--color--verde); margin-top: 0; }
.ovc-tarjeta-clara p { color: var(--wp--preset--color--gris) !important; }
.ovc-visita p { color: rgba(245,242,235,.85); }

/* Contacto */
.ovc-form-tarjeta { background: var(--wp--preset--color--blanco); border-radius: 18px; padding: clamp(1.4rem, 3vw, 2.2rem); box-shadow: var(--wp--preset--shadow--suave); }
.ovc-form-tarjeta h2 { margin-top: 0; }
.ovc-dato { padding-left: 2rem; position: relative; font-size: 1.05rem; }
.ovc-dato a { color: var(--wp--preset--color--crema); }
.ovc-dato::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1.2rem; height: 1.2rem; background: no-repeat center / contain; filter: invert(1) brightness(2); }
.ovc-dato--tel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183B35' stroke-width='1.6'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.ovc-dato--mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183B35' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.ovc-dato--dir::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183B35' stroke-width='1.6'%3E%3Cpath d='M12 21s7-6 7-12a7 7 0 0 0-14 0c0 6 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }

@media (max-width: 781px) {
	.ovc-chip-precio--flotante { position: relative; right: auto; bottom: auto; margin-top: 1.5rem; display: inline-block; }
	.ovc-hero-int.wp-block-cover::before { background: rgba(245,242,235,.86); }
	.ovc-iconos-fila .wp-block-columns > .wp-block-column + .wp-block-column { border-left: 0; }
	.ovc-ficha-lateral { margin: 1rem 0 0 !important; max-width: none; }
	ol.ovc-linea-fases { flex-direction: column; gap: 0.5rem; }
	ol.ovc-linea-fases::before { display: none; }
	ol.ovc-linea-fases > li { text-align: left; padding: 0.3rem 0 0.3rem 3rem; }
	ol.ovc-linea-fases > li::before { left: 0; transform: none; top: 0; }
	.ovc-tabla { overflow-x: auto; }
	.ovc-tabla table { min-width: 560px; }
	.ovc-foto-sangre img { border-radius: var(--ovc-radius); }
	.ovc-pilares > .wp-block-column { border-left: 0; border-top: 1px solid var(--wp--preset--color--linea); padding: 1rem 0 0; }
	.ovc-script--gatos, .ovc-script--circulo, .ovc-script--contacto { margin-top: 0.5rem; text-align: left; }
}

/* ---------- Clonación (página paraguas) ---------- */
.ovc-tarjeta-consulta {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--linea);
	border-radius: 20px;
	padding: clamp(1.5rem, 3vw, 2.4rem);
	box-shadow: var(--wp--preset--shadow--suave);
}
.ovc-precio-texto {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--2-xl);
	color: var(--wp--preset--color--verde);
	line-height: 1.1;
	margin: 0.2rem 0 0.6rem;
}
.ovc-tarjetas-especie .wp-block-column { display: flex; flex-direction: column; gap: 0.6rem; }
.ovc-tarjetas-especie h3 a { text-decoration: none; }
.ovc-tarjetas-especie h3 a::after { content: " →"; }
.ovc-tarjetas-especie h3 a:hover { text-decoration: underline; }

/* El pie va pegado a la última sección (sin hueco de blockGap). */
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }
main.wp-block-group { margin-block-end: 0; }
/* Hero de la página paraguas de clonación: claro, con retícula sutil (eco científico). */
.ovc-ph-clon {
	background-image: linear-gradient(rgba(24,59,53,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(24,59,53,.05) 1px, transparent 1px);
	background-size: 64px 64px;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.ovc-tarjeta-consulta .is-style-antetitulo { color: var(--wp--preset--color--gris); }
.ovc-recorrido--clon ol.is-style-pasos { margin-top: var(--wp--preset--spacing--40); }
@media (max-width: 781px) {
	.ovc-iconos--compactos.wp-block-columns { flex-wrap: nowrap !important; gap: 0.75rem; }
	.ovc-iconos--compactos > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
	.ovc-iconos--compactos p { font-size: 0.8rem; }
}

/* ---------- Ajustes móviles (v0.2.0) ---------- */
.ovc-ficha-lateral .is-style-antetitulo { color: var(--wp--preset--color--gris); }
@media (max-width: 781px) {
	/* Fila de iconos: 2 columnas en lugar de una lista larga */
	.ovc-iconos:not(.ovc-iconos--compactos).wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
	.ovc-iconos:not(.ovc-iconos--compactos) > .wp-block-column { border: 0 !important; padding: 0 !important; }

	/* Tabla comparativa apilada: cada fila es una tarjeta */
	.ovc-tabla-comparativa table, .ovc-tabla-comparativa tbody, .ovc-tabla-comparativa tr, .ovc-tabla-comparativa td { display: block; width: 100%; }
	.ovc-tabla-comparativa thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ovc-tabla-comparativa table { min-width: 0 !important; table-layout: auto !important; }
	.ovc-tabla-comparativa tr, .ovc-tabla-comparativa td { box-sizing: border-box; white-space: normal !important; }
	.ovc-tabla-comparativa tr { padding: 1rem 1.1rem; border-bottom: 1px solid var(--wp--preset--color--linea); }
	.ovc-tabla-comparativa td { border: 0 !important; padding: 0.15rem 0 !important; }
	.ovc-tabla-comparativa td:first-child { font-weight: 600; color: var(--wp--preset--color--verde); margin-bottom: 0.35rem; }
	.ovc-tabla-comparativa td:nth-child(2)::before,
	.ovc-tabla-comparativa td:nth-child(3)::before {
		display: block; font-size: 0.7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--gris); margin-top: .35rem;
	}
	.ovc-tabla-comparativa td:nth-child(2)::before { content: "Preservación genética"; }
	.ovc-tabla-comparativa td:nth-child(3)::before { content: "Clonación"; }
	:lang(en) .ovc-tabla-comparativa td:nth-child(2)::before { content: "Genetic preservation"; }
	:lang(en) .ovc-tabla-comparativa td:nth-child(3)::before { content: "Cloning"; }
}

/* ---------- Cabecera en anchos intermedios (portátiles, tablets) ---------- */
@media (min-width: 600px) and (max-width: 1365px) {
	.ovc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ovc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ovc-header > .alignwide { gap: 1rem; }
	.ovc-header .ovc-nav { margin-left: auto; }
}
@media (max-width: 1439px) {
	.ovc-header .ovc-buscar { display: none; }
	.ovc-header .wp-block-navigation { --ovc-gap: 1.1rem; gap: 1.1rem; }
	.ovc-header .wp-block-navigation__container { gap: 1.1rem; }
}
@media (max-width: 1299px) {
	.ovc-idiomas { display: none; }
}

/* ---------- Menú desplegable (icono) ---------- */
.ovc-nav .wp-block-navigation__responsive-container.is-menu-open { padding: clamp(1rem, 4vw, 2.5rem) clamp(1.25rem, 6vw, 4rem); }
.ovc-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 3rem; }
.ovc-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0.9rem !important; justify-content: flex-start !important; }
.ovc-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.ovc-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; font-weight: 400; line-height: 1.2;
}
.ovc-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important;
	padding: 0.35rem 0 0.2rem 1rem !important; gap: 0.5rem !important; min-width: 0 !important;
	border-left: 1px solid var(--wp--preset--color--linea) !important;
}
.ovc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; padding: 0.15rem 0 !important; }
.ovc-site-header:has(.is-menu-open) { z-index: 100000; }
.ovc-nav .is-menu-open .wp-block-navigation__responsive-close,
.ovc-nav .is-menu-open .wp-block-navigation__responsive-dialog,
.ovc-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.ovc-nav .is-menu-open .wp-block-navigation__container { width: 100%; max-width: 760px; margin-inline: auto !important; }
