/*
Theme Name: Vetsalud
Description: Tema de bloques de Vetsalud La Finca. Contenido en bloques nativos; cabecera, pie, horario y llamada a cita son partes de plantilla editables.
Version: 1.0.5
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: vetsalud
*/

/* ───────── Base ───────── */
:root {
	--vs-radio: 1.125rem;
	--vs-radio-g: 1.75rem;
	--vs-sombra: 0 1px 2px rgba(20, 36, 61, .06), 0 14px 34px -14px rgba(20, 36, 61, .22);
	--vs-linea: rgba(20, 36, 61, .14);
	--vs-cruz: url("assets/img/cruz.svg");
}
body { --vs-borde: var(--wp--style--root--padding-left, 1.25rem); }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { -webkit-font-smoothing: antialiased; text-wrap: pretty; overflow-wrap: break-word; }
h1, h2, h3 { text-wrap: balance; }
a { text-underline-offset: .2em; text-decoration-thickness: .08em; }
a:hover { text-decoration-thickness: .14em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--azul); outline-offset: 3px; border-radius: 4px; }
img { height: auto; max-width: 100%; }
.wp-site-blocks > * { margin-block-start: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

.vs-revision { margin: 0; padding: .3rem var(--vs-borde); background: #fff3c4; color: #4a3b00; font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-align: center; text-transform: uppercase; }

/* ───────── Cabecera ───────── */
.wp-site-blocks > header { position: sticky; top: -2.5rem; z-index: 50; background: var(--wp--preset--color--crema); border-bottom: 1px solid var(--vs-linea); }
header .vs-franja { min-height: 2.5rem; padding: 0 var(--vs-borde); background: var(--wp--preset--color--azul-noche); color: #fff; font-size: .875rem; gap: 1rem; }
.vs-franja p { margin: 0; }
.vs-franja a { color: #fff; font-weight: 650; }
.vs-franja :focus-visible, .vs-pie :focus-visible, .is-style-fondo-azul :focus-visible, .vs-cta :focus-visible { outline-color: var(--wp--preset--color--cielo); }
.vs-horario > * { margin-block: 0; }
.vs-horario-linea .vs-horario { display: flex; flex-wrap: wrap; gap: 0 .5rem; }
.vs-horario-linea .vs-horario p + p::before { content: "·"; margin-right: .5rem; opacity: .7; }
.vs-horario-linea .vs-horario-titulo::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .5rem; border-radius: 50%; background: var(--wp--preset--color--cielo); vertical-align: .08em; }
header .vs-cabecera { padding: .7rem var(--vs-borde); gap: 1rem; }
.vs-logo { margin: 0; flex: none; }
.vs-logo a { display: block; }
.vs-logo img { display: block; width: 9.75rem; aspect-ratio: 480 / 151; }
header .vs-cabecera-acciones { gap: 1.75rem; margin: 0; }
.vs-cabecera .wp-block-navigation { font-size: 1rem; font-weight: 600; }
.vs-cabecera .wp-block-navigation a { color: var(--wp--preset--color--tinta); text-decoration: none; padding-block: .5rem; }
.vs-cabecera .wp-block-navigation a:hover, .vs-cabecera .wp-block-navigation .current-menu-item > a, .vs-cabecera .wp-block-navigation a[aria-current="page"] { box-shadow: inset 0 -.2rem 0 var(--wp--preset--color--cielo); }
.vs-cabecera .wp-block-navigation__container { gap: 1.6rem; }
.vs-cabecera-cita { margin: 0; flex: none; }
.vs-cabecera-cita .wp-block-button__link { padding: .7rem 1.25rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 2.75rem; min-height: 2.75rem; display: flex; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 1.75rem; height: 1.75rem; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem var(--vs-borde) 2rem; background: var(--wp--preset--color--crema); color: var(--wp--preset--color--tinta); }
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: stretch; width: 100%; }
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; text-align: left; padding: .9rem 0; border-bottom: 1px solid var(--vs-linea); font-family: var(--wp--preset--font-family--titulos); font-size: 1.5rem; font-weight: 650; box-shadow: none; }
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 3.5rem; }
/* El menú desplegable se usa hasta 1023 px (WordPress lo corta en 600 px por defecto). */
@media (max-width: 1023px) {
	header .vs-cabecera .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	header .vs-cabecera .wp-block-navigation .wp-block-navigation__responsive-container-open { display: flex; }
	header .vs-cabecera-acciones { gap: .4rem; }
	header .vs-cabecera-acciones > .wp-block-navigation { order: 3; }
}
@media (max-width: 781px) {
	header .vs-franja { display: none; }
	.wp-site-blocks > header { top: 0; }
	.vs-logo img { width: 8rem; }
	header .vs-cabecera { padding-block: .55rem; }
	.vs-cabecera-cita .wp-block-button__link { padding: .6rem 1rem; font-size: 1rem; }
	html { scroll-padding-top: 4.75rem; }
}

/* ───────── Secciones ───────── */
.wp-block-post-content > .alignfull { margin-block: 0; }
.vs-seccion, .wp-block-template-part.vs-cta-banda {
	padding-block: clamp(3rem, 7vw, 5.5rem);
	padding-inline: max(var(--vs-borde), calc((100% - var(--wp--style--global--wide-size)) / 2 + var(--vs-borde)));
}
.editor-styles-wrapper .vs-seccion { padding-inline: max(1.5rem, calc((100% - var(--wp--style--global--wide-size)) / 2)); }
.vs-seccion.vs-compacta { padding-block: clamp(2rem, 4vw, 3rem); }
.vs-seccion > * { max-width: none; }
.vs-seccion > .vs-estrecho, .vs-estrecho { max-width: 46rem; }
.vs-centrado { margin-inline: auto !important; text-align: center; }
.is-style-fondo-arena { background: var(--wp--preset--color--arena); }
.is-style-fondo-cielo { background: var(--wp--preset--color--cielo-claro); }
.is-style-fondo-azul { background: var(--wp--preset--color--azul-noche); color: #e9f0f8; }
.is-style-fondo-azul :is(h1, h2, h3, h4), .is-style-fondo-azul a { color: #fff; }

/* ───────── Texto ───────── */
.is-style-antetitulo { display: flex; align-items: center; gap: .55rem; margin-bottom: .25rem; color: var(--wp--preset--color--azul); font-size: .875rem; font-weight: 750; letter-spacing: .09em; line-height: 1.3; text-transform: uppercase; }
.is-style-antetitulo::before { content: ""; flex: none; width: 1.05em; height: 1.05em; background: var(--vs-cruz) center / contain no-repeat; }
.is-style-antetitulo a { color: inherit; text-decoration: none; }
.is-style-fondo-azul .is-style-antetitulo { color: var(--wp--preset--color--cielo); }
.vs-centrado.is-style-antetitulo { justify-content: center; }
.is-style-entradilla { max-width: 38rem; color: var(--wp--preset--color--gris); font-size: var(--wp--preset--font-size--destacado); line-height: 1.5; }
.is-style-fondo-azul .is-style-entradilla { color: #d5e1ef; }
.vs-nota { color: var(--wp--preset--color--gris); font-size: var(--wp--preset--font-size--pequeno); }
/* La cursiva dentro de un título se muestra como subrayado de marca, no inclinada. */
:is(h1, h2) em { font-style: normal; background: linear-gradient(transparent 64%, rgba(134, 187, 219, .6) 64%, rgba(134, 187, 219, .6) 93%, transparent 93%); -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-inline: .06em; margin-inline: -.06em; }
.vs-seccion h2 { max-width: 22em; }
.vs-seccion h2 + .is-style-entradilla { margin-top: .9rem; }

.vs-titulo-menor { font-size: var(--wp--preset--font-size--subtitulo); }

/* ───────── Botones ───────── */
.wp-block-buttons { gap: .75rem; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; box-sizing: border-box; transition: background-color .15s, color .15s, transform .15s; }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-outline > .wp-block-button__link { padding: calc(.9rem - 2px) calc(1.5rem - 2px); border: 2px solid var(--wp--preset--color--azul); background: transparent; color: var(--wp--preset--color--azul); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--azul); color: #fff; }
.wp-block-button.is-style-enlace > .wp-block-button__link { min-height: 2.75rem; padding: .25rem 0; border-radius: 0; background: none; color: var(--wp--preset--color--azul); text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .3em; }
.wp-block-button.is-style-enlace > .wp-block-button__link::after { content: "→"; margin-left: .45em; transition: transform .15s; }
.wp-block-button.is-style-enlace > .wp-block-button__link:hover::after { transform: translateX(.2em); }
:is(.is-style-fondo-azul, .vs-cta) .wp-block-button:not(.is-style-outline):not(.is-style-enlace) > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--azul-noche); }
:is(.is-style-fondo-azul, .vs-cta) .wp-block-button:not(.is-style-outline):not(.is-style-enlace) > .wp-block-button__link:hover { background: var(--wp--preset--color--cielo-claro); }
:is(.is-style-fondo-azul, .vs-cta) .wp-block-button.is-style-outline > .wp-block-button__link { border-color: rgba(255, 255, 255, .7); color: #fff; }
:is(.is-style-fondo-azul, .vs-cta) .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--azul-noche); }
:is(.is-style-fondo-azul, .vs-cta) .wp-block-button.is-style-enlace > .wp-block-button__link { color: #fff; }

/* ───────── Imágenes ───────── */
.vs-seccion .wp-block-image { margin: 0; }
.vs-seccion .wp-block-image img { display: block; width: 100%; border-radius: var(--vs-radio-g); object-fit: cover; }
.vs-ar-1x1 img { aspect-ratio: 1; }
.vs-ar-4x5 img { aspect-ratio: 4 / 5; }
.vs-ar-4x3 img { aspect-ratio: 4 / 3; }
.vs-ar-3x2 img { aspect-ratio: 3 / 2; }
.vs-ar-16x9 img { aspect-ratio: 16 / 9; }
.vs-seccion .wp-block-image figcaption { margin: .6rem 0 0; text-align: left; }
.vs-seccion .wp-block-image figcaption strong { color: var(--wp--preset--color--tinta); }

/* ───────── Dos columnas (texto + foto) ───────── */
.vs-dos { align-items: center; gap: clamp(1.75rem, 5vw, 4.5rem); margin-block: 0; }
.vs-dos + .vs-dos { margin-top: clamp(3rem, 7vw, 5.5rem); }
.vs-dos > .wp-block-column > :first-child { margin-top: 0; }
@media (max-width: 781px) { .vs-dos.vs-foto-primero > .wp-block-column:has(> .wp-block-image) { order: -1; } }

/* ───────── Portada ───────── */
.vs-portada { overflow-x: clip; padding-block: clamp(1.75rem, 4vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); }
.vs-portada h1 { margin-block: .5rem 1.1rem; }
.vs-portada-texto > :is(h1, p) { max-width: 46rem; }
.vs-indice { margin-top: 1.5rem; }
.vs-portada .wp-block-buttons { margin-top: 1.6rem; }
.vs-portada-foto { position: relative; }
.vs-portada-foto::before { content: ""; position: absolute; z-index: 0; bottom: -1.1rem; left: -1.6rem; width: clamp(4.25rem, 8vw, 6.5rem); aspect-ratio: 1; background: var(--vs-cruz) center / contain no-repeat; transform: rotate(-10deg); }
.vs-portada-foto .wp-block-image { position: relative; z-index: 1; }
.vs-portada-foto .wp-block-image img { border-radius: var(--vs-radio-g) var(--vs-radio-g) var(--vs-radio-g) 5.5rem; }
.vs-portada-horario { position: relative; z-index: 2; margin: -3.25rem 1rem 0 auto !important; width: fit-content; max-width: calc(100% - 2rem); padding: 1rem 1.25rem; border-radius: var(--vs-radio); background: #fff; box-shadow: var(--vs-sombra); font-size: .9375rem; line-height: 1.45; }
.vs-portada-horario > * { margin-block: 0; }
.vs-portada-horario .vs-horario-titulo { display: flex; align-items: center; gap: .5rem; font-size: 1rem; }
.vs-portada-horario .vs-horario-titulo::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: #2f9e6b; box-shadow: 0 0 0 4px rgba(47, 158, 107, .18); }
.vs-portada-horario .wp-block-buttons { margin-top: .25rem; }
@media (max-width: 781px) {
	.vs-portada-foto::before { left: -.75rem; bottom: auto; top: calc(min(75vw, 30rem) - 4.2rem); }
	.vs-portada-horario { margin: .9rem 0 0 !important; width: auto; max-width: none; box-shadow: none; border: 1px solid var(--vs-linea); }
	.vs-portada-foto .wp-block-image img { aspect-ratio: 4 / 3; object-position: center 12%; border-bottom-left-radius: 3.5rem; }
}

/* ───────── Rejillas y tarjetas ───────── */
.vs-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr)); gap: clamp(1rem, 2.4vw, 1.75rem); margin-top: clamp(1.75rem, 4vw, 2.75rem); }
.vs-rejilla.vs-rejilla-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.vs-rejilla.vs-rejilla-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); }
.vs-rejilla > * { margin-block: 0; min-width: 0; }
.is-style-tarjeta { padding: 1.5rem; border-radius: var(--vs-radio); background: #fff; box-shadow: var(--vs-sombra); color: var(--wp--preset--color--tinta); }
.is-style-tarjeta > :first-child { margin-top: 0; }
.is-style-tarjeta > :last-child { margin-bottom: 0; }
.is-style-tarjeta > .wp-block-image:first-child { margin: -1.5rem -1.5rem 1.25rem; }
.vs-seccion .is-style-tarjeta > .wp-block-image:first-child img { border-radius: var(--vs-radio) var(--vs-radio) 0 0; }
.is-style-tarjeta h3 a { color: inherit; text-decoration: none; }
.is-style-tarjeta h3 a:hover { text-decoration: underline; }
.is-style-tarjeta .wp-block-buttons { margin-top: auto; padding-top: .5rem; }
.vs-rejilla > .is-style-tarjeta { display: flex; flex-direction: column; }
.vs-rejilla > .is-style-tarjeta > * { margin-block: 0 .7rem; }
.is-style-aviso { padding: 1rem 1.25rem; border-left: 4px solid var(--wp--preset--color--cielo); border-radius: .25rem .875rem .875rem .25rem; background: var(--wp--preset--color--cielo-claro); color: var(--wp--preset--color--tinta); }
.is-style-fondo-cielo .is-style-aviso { background: #fff; }
.is-style-aviso > * { margin-block: 0; }
.is-style-aviso > * + * { margin-top: .5rem; }

/* Datos prácticos bajo la portada */
.vs-datos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 2rem; margin: 0; }
@media (max-width: 900px) { .vs-datos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .vs-datos { grid-template-columns: 1fr; } }
.vs-datos > * { margin: 0; padding: 1.1rem 0; border-top: 2px solid var(--wp--preset--color--tinta); line-height: 1.45; }
.vs-datos strong { font-family: var(--wp--preset--font-family--titulos); font-size: 1.1875rem; font-weight: 650; }

/* ───────── Listas ───────── */
.wp-block-list.is-style-cruces { padding-left: 0; list-style: none; }
.wp-block-list.is-style-cruces > li { position: relative; padding-left: 1.9rem; margin-block: .55rem; }
.wp-block-list.is-style-cruces > li::before { content: ""; position: absolute; left: 0; top: .28em; width: 1.05em; height: 1.05em; background: var(--vs-cruz) center / contain no-repeat; }
.wp-block-list.is-style-pasos { padding-left: 0; list-style: none; counter-reset: paso; }
.wp-block-list.is-style-pasos > li { position: relative; min-height: 2.5rem; padding: .35rem 0 .35rem 3.4rem; margin-block: .9rem; counter-increment: paso; }
.wp-block-list.is-style-pasos > li::before { content: counter(paso); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--wp--preset--color--azul); color: #fff; font-family: var(--wp--preset--font-family--titulos); font-size: 1.125rem; font-weight: 700; }

/* ───────── Equipo ───────── */
.vs-ficha > * { margin-block: 0 .5rem; }
.vs-ficha .wp-block-image { margin-bottom: 1rem; }
.vs-ficha .is-style-antetitulo { margin-bottom: .2rem; font-size: .8125rem; }
.vs-ficha h3 { margin-bottom: .6rem; }
.vs-ficha p:not(.is-style-antetitulo) { color: var(--wp--preset--color--gris); font-size: 1rem; line-height: 1.5; }
.vs-rejilla.vs-retratos { grid-template-columns: repeat(5, 1fr); gap: clamp(.9rem, 2vw, 1.5rem); }
@media (max-width: 900px) { .vs-rejilla.vs-retratos { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .vs-rejilla.vs-retratos { grid-template-columns: repeat(2, 1fr); } }
.vs-rejilla.vs-rejilla-fichas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 13.5rem), 1fr)); }
.vs-retratos figcaption { font-size: .9375rem; line-height: 1.35; }

/* ───────── Planes ───────── */
.is-style-precio { margin-block: .25rem .1rem !important; color: var(--wp--preset--color--azul-noche); font-family: var(--wp--preset--font-family--titulos); font-size: clamp(2.25rem, 1.8rem + 2vw, 3rem); font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.is-style-precio small, .is-style-precio sub { font-family: var(--wp--preset--font-family--texto); font-size: 1rem; font-weight: 500; letter-spacing: 0; vertical-align: baseline; bottom: 0; }

/* ───────── Preguntas frecuentes ───────── */
.wp-block-details { margin: 0; padding: 0; border-bottom: 1px solid var(--vs-linea); }
.wp-block-details:first-of-type { border-top: 1px solid var(--vs-linea); }
.wp-block-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: .6rem 0; cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--titulos); font-size: 1.1875rem; font-weight: 600; line-height: 1.3; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--wp--preset--color--cielo-claro); color: var(--wp--preset--color--azul); font-family: var(--wp--preset--font-family--texto); font-size: 1.375rem; font-weight: 500; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { max-width: 40rem; margin-block: 0 1.1rem; color: var(--wp--preset--color--gris); }
.vs-seccion > .wp-block-details, .vs-faq { max-width: 50rem; }

/* ───────── Llamada a pedir cita ───────── */
.wp-block-template-part .vs-cta { position: relative; overflow: hidden; align-items: center; gap: 1.5rem 3rem; padding: clamp(1.75rem, 4.5vw, 3.25rem); border-radius: var(--vs-radio-g); background: var(--wp--preset--color--azul-noche); color: #dbe6f3; }
.vs-cta::after { content: ""; position: absolute; right: -2.5rem; bottom: -3.5rem; width: 12rem; aspect-ratio: 1; background: var(--vs-cruz) center / contain no-repeat; opacity: .16; transform: rotate(-12deg); pointer-events: none; }
.vs-cta > * { position: relative; z-index: 1; margin: 0; }
.vs-cta-texto { flex: 1 1 20rem; max-width: 34rem; }
.vs-cta-texto > * { margin-block: 0; }
.vs-cta-texto > * + * { margin-top: .6rem; }
.vs-cta h2 { color: #fff; }
.wp-block-template-part.vs-cta-enmarcada { margin-top: 3rem; }

/* ───────── Páginas de texto, artículos y archivo ───────── */
.vs-main-texto { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 6vw, 5rem); }
.vs-main-texto .wp-block-post-title { font-size: var(--wp--preset--font-size--titulo); margin-bottom: .75rem; }
.vs-main-texto .wp-block-post-content :is(h2) { font-size: var(--wp--preset--font-size--subtitulo); margin-top: 2.25rem; }
.vs-main-texto .wp-block-post-content :is(h3, h4) { font-size: var(--wp--preset--font-size--destacado); margin-top: 1.75rem; }
.vs-main-texto .wp-block-post-date { color: var(--wp--preset--color--gris); font-size: var(--wp--preset--font-size--pequeno); }
.vs-main-texto .wp-block-post-content img { border-radius: var(--vs-radio); }
.vs-archivo { margin: 0; padding: 0; list-style: none; }
.vs-archivo > li { margin: 0; padding: 1.1rem 0; border-top: 1px solid var(--vs-linea); }
.vs-archivo > li > * { margin-block: 0; }
.vs-archivo .wp-block-post-date { color: var(--wp--preset--color--gris); font-size: var(--wp--preset--font-size--pequeno); }
.vs-archivo .wp-block-post-date::first-letter { text-transform: uppercase; }
.vs-archivo .wp-block-post-title { margin-top: .15rem; font-size: var(--wp--preset--font-size--subtitulo); max-width: none; }
.vs-archivo .wp-block-post-title a { color: var(--wp--preset--color--azul-noche); text-decoration: none; }
.vs-archivo .wp-block-post-title a:hover { text-decoration: underline; }

/* ───────── Pie ───────── */
.vs-pie { padding: clamp(2.5rem, 6vw, 4rem) max(var(--vs-borde), calc((100% - var(--wp--style--global--wide-size)) / 2)) 1.5rem; background: var(--wp--preset--color--azul-noche); color: #d5e1ef; font-size: 1rem; }
.vs-pie a { color: #fff; }
.vs-pie h3 { margin-bottom: .75rem; color: var(--wp--preset--color--cielo); font-family: var(--wp--preset--font-family--texto); font-size: .8125rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.vs-pie-columnas { display: grid; grid-template-columns: 1.3fr 1fr 1fr .8fr; gap: 2rem 2.5rem; }
.vs-pie-columnas > * { margin-block: 0; }
.vs-pie-columnas p { margin-block: 0 .75rem; }
.vs-pie .vs-logo img { width: 10.5rem; }
.vs-pie-lema { max-width: 17rem; margin-top: 1.25rem !important; color: #fff; font-family: var(--wp--preset--font-family--titulos); font-size: 1.1875rem; font-weight: 550; line-height: 1.3; }
.vs-pie .vs-horario { margin-bottom: .75rem; }
.vs-pie-lista { margin: 0; padding: 0; list-style: none; }
.vs-pie-lista li { margin: 0; }
.vs-pie-lista a { display: inline-block; padding: .3rem 0; text-decoration: none; }
.vs-pie-lista a:hover { text-decoration: underline; }
.vs-pie .vs-pie-legal { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .18); font-size: .875rem; gap: .5rem 2rem; }
.vs-pie-legal p { margin: 0; }
@media (max-width: 900px) { .vs-pie-columnas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .vs-pie-columnas { grid-template-columns: 1fr; } }

@media print { .wp-site-blocks > header, .vs-revision { display: none; } }

.vs-tarjeta-ancha { padding: clamp(1.5rem, 4vw, 2.75rem); }
.vs-tarjeta-ancha > :is(h2, p) { max-width: 44rem; }
.vs-dos.vs-arriba { align-items: flex-start; }
.vs-perfiles > * { padding-top: 1rem; border-top: 2px solid var(--wp--preset--color--tinta); }
.vs-perfiles > * > * { margin-block: 0 .5rem; }
.vs-promesas .is-style-tarjeta { padding: clamp(1.5rem, 3vw, 2.25rem); }
.vs-promesas .is-style-tarjeta > .wp-block-image:first-child { margin: calc(-1 * clamp(1.5rem, 3vw, 2.25rem)); margin-bottom: 1.5rem; }
.vs-listado .vs-titulo-menor { margin-bottom: 1rem; }
.vs-limites { max-width: 46rem; margin-top: 1.75rem !important; font-size: 1rem; }
.vs-promesas .vs-ar-3x2 img { object-position: center 28%; }
.vs-rejilla > .is-style-tarjeta > .wp-block-buttons { margin-top: auto; }
@media (max-width: 600px) {
	.vs-rejilla-fichas .vs-ficha { display: grid; grid-template-columns: 5.25rem 1fr; column-gap: 1rem; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid var(--vs-linea); }
	.vs-rejilla-fichas .vs-ficha .wp-block-image { grid-row: 1 / span 2; margin-bottom: .75rem; }
	.vs-rejilla-fichas .vs-ficha .wp-block-image img { border-radius: 1rem; }
	.vs-rejilla-fichas .vs-ficha .is-style-antetitulo { align-self: end; }
	.vs-rejilla-fichas .vs-ficha h3 { align-self: start; margin-bottom: 0; }
	.vs-rejilla-fichas .vs-ficha p:not(.is-style-antetitulo) { grid-column: 1 / -1; }
}
.vs-main-texto :is(iframe, table, video) { max-width: 100%; }
@media (max-width: 480px) { .vs-portada .wp-block-buttons .wp-block-button, .vs-portada .wp-block-buttons .wp-block-button__link { flex: 1 1 auto; } }
@media (max-width: 359px) { .vs-logo img { width: 6.25rem; } header .vs-cabecera-cita .wp-block-button__link { padding-inline: .8rem; } }
.vs-ficha p.vs-en-sus-palabras { margin-bottom: .75rem; color: var(--wp--preset--color--azul-noche); font-family: var(--wp--preset--font-family--titulos); font-size: 1.0625rem; font-weight: 500; line-height: 1.35; }
.vs-rejilla.vs-rejilla-fichas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
@media (min-width: 601px) { .vs-rejilla-fichas .vs-ficha .wp-block-image { max-width: 11rem; } }

/* ───────── Agenda de citas incrustada ───────── */
.vs-seccion.vs-seccion-agenda { padding-top: 0; }
.vs-agenda { overflow: hidden; border-radius: var(--vs-radio-g); background: #fff; box-shadow: var(--vs-sombra); }
.vs-agenda iframe { display: block; width: 100%; height: 1150px; border: 0; }
.vs-agenda-nota { margin: 0; padding: .6rem 1rem; background: #fff3c4; color: #4a3b00; font-size: .875rem; }
.vs-seccion-agenda .vs-agenda-salida { margin: 0 0 .9rem; font-size: 1rem; }
/* En móvil ocupa todo el ancho de la pantalla: el calendario de Provet necesita 360 px. */
@media (max-width: 781px) { .vs-agenda { margin-inline: calc(-1 * var(--vs-borde)); border-radius: 0; box-shadow: none; border-block: 1px solid var(--vs-linea); } }

/* ───────── Primera pantalla en móvil ─────────
   Promesa, foto y acción deben verse sin desplazarse. En móvil la foto sube justo debajo del titular
   (las dos columnas se «disuelven» para poder reordenar sus piezas); los botones quedan tras la entradilla.
   «Pedir cita» y WhatsApp están siempre a mano en la cabecera, que se queda fija al desplazarse. */
@media (max-width: 781px) {
	.vs-portada > .vs-dos { flex-direction: column; flex-wrap: nowrap; gap: 0; }
	.vs-portada > .vs-dos > .wp-block-column { display: contents; }
	.vs-portada > .vs-dos > .wp-block-column > * { order: 5; width: 100%; margin-block: 0 1rem; }
	.vs-portada > .vs-dos > .wp-block-column > .is-style-antetitulo { order: 1; margin-bottom: .35rem; }
	.vs-portada > .vs-dos > .wp-block-column > h1 { order: 2; margin-block: 0 .9rem; }
	.vs-portada > .vs-dos > .wp-block-column > .wp-block-image { order: 3; }
	.vs-portada > .vs-dos > .wp-block-column > .is-style-entradilla { order: 4; }
	.vs-portada > .vs-dos > .wp-block-column > .vs-portada-horario { order: 6; margin: 0 0 1rem !important; }
	.vs-portada-foto::before { display: none; }
	.vs-portada { padding-top: 1.1rem; }
	.vs-portada .is-style-antetitulo { font-size: .75rem; letter-spacing: .07em; }
	/* En la portada, el encuadre baja para que se vean la veterinaria y el perro. */
	body.home .vs-portada-foto .wp-block-image img { object-position: center 72%; }
}

/* ───────── WhatsApp en la cabecera ───────── */
.vs-cabecera-whatsapp { margin: 0; flex: none; }
.vs-cabecera-whatsapp .wp-social-link { margin: 0; background: none; color: #128c7e; }
.vs-cabecera-whatsapp .wp-social-link a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 50%; color: inherit; }
.vs-cabecera-whatsapp .wp-social-link a:hover { background: var(--wp--preset--color--cielo-claro); }
.vs-cabecera-whatsapp .wp-social-link svg { width: 1.75rem; height: 1.75rem; }
@media (max-width: 400px) { .vs-logo img { width: 6.9rem; } header .vs-cabecera { gap: .5rem; } header .vs-cabecera-acciones { gap: .25rem; } }
@media (max-width: 359px) { .vs-logo img { width: 5.6rem; } .vs-cabecera-whatsapp .wp-social-link a, .wp-block-navigation__responsive-container-open { width: 2.5rem; min-width: 2.5rem; height: 2.5rem; } header .vs-cabecera-acciones { gap: .1rem; } }
