/* CentralVet (archivo CLIENTE): ajustes entre las landings que venían de Elementor y el tema. Va la última. */

/* Las landings llevan su propio ancho, márgenes y fondo: el contenedor del tema no les añade nada. */
.es-landing-html .principal { padding: 0; }

/* Formulario del tema dentro de la sección "Contacta con CentralVet" y de /contacto/. */
.cv-contact-section .formulario,
.cvc-page .formulario { margin-top: 18px; font-family: var(--fuente); }
.cv-contact-section .formulario__enviar,
.cvc-page .formulario__enviar { width: 100%; justify-content: center; }

/* Enlazado interno al final de cada artículo: servicio relacionado y otros artículos. */
.cv-relacionados { padding: 10px 0 70px; background: #fff; font-family: var(--fuente); }
.cv-relacionados__dentro {
	width: min(calc(100% - 60px), 1200px); margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.cv-relacionados__servicio,
.cv-relacionados__lista {
	padding: 30px 32px; border: 1px solid var(--borde); border-radius: 18px; background: var(--fondo-claro);
}
.cv-relacionados__servicio { background: linear-gradient(135deg, #f5f0fa, #faf8fc); }
.cv-relacionados__etiqueta {
	display: block; margin: 0 0 10px; color: var(--principal);
	font-size: 11px; line-height: 1; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
}
.cv-relacionados__titulo { margin: 0 0 8px; color: #171717; font-size: 20px; line-height: 1.35; font-weight: 700; }
.cv-relacionados p { color: var(--texto-2); font-size: 14px; line-height: 1.8; }
.cv-relacionados__boton {
	display: inline-flex; margin-top: 14px; padding: 12px 20px; border-radius: 999px;
	background: var(--principal); color: #fff !important; font-size: 14px; font-weight: 600; text-decoration: none;
}
.cv-relacionados__boton:hover { background: var(--principal-oscuro); }
.cv-relacionados ul { margin: 0 0 14px; padding: 0; list-style: none; }
.cv-relacionados li { border-bottom: 1px solid var(--borde); }
.cv-relacionados li a {
	display: block; padding: 11px 0; color: #171717; font-size: 15px; line-height: 1.45; font-weight: 600; text-decoration: none;
}
.cv-relacionados li a:hover,
.cv-relacionados__todos { color: var(--principal); }
.cv-relacionados__todos { font-size: 14px; font-weight: 600; text-decoration: none; }
@media (max-width: 760px) {
	.cv-relacionados__dentro { width: calc(100% - 36px); grid-template-columns: 1fr; }
	.cv-relacionados__servicio, .cv-relacionados__lista { padding: 24px 22px; }
}

/* Botones fijos: Llamar (morado), Email (blanco) y Pedir cita (morado oscuro). */
.contacto-rapido__boton--email { background: var(--blanco); color: var(--principal); box-shadow: 0 6px 18px rgba(55, 35, 83, .18); }
.contacto-rapido__boton--email:hover { color: var(--principal); }
@media (max-width: 900px) {
	.contacto-rapido__boton--email { box-shadow: none; border-top: 1px solid var(--borde); }
	.contacto-rapido__boton + .contacto-rapido__boton--email,
	.contacto-rapido__boton--email + .contacto-rapido__boton { border-left-color: var(--borde); }
}

/* Botón principal sobre la cabecera morada de la galería y del mapa del sitio. */
.galeria-hero .boton--primario { background: var(--blanco); color: var(--principal); }
.galeria-hero .boton--primario:hover { background: var(--principal-claro); color: var(--principal-oscuro); }
/* La galería ya lleva al final la sección de contacto con el formulario. */
.galeria-cta { display: none; }

/* Artículos del blog en las landings de servicios y productos. */
.cv-articulos { padding: 70px 0; background: var(--fondo-claro); font-family: var(--fuente); }
.cv-articulos__dentro { width: min(calc(100% - 60px), 1200px); margin: 0 auto; }
.cv-articulos__titulo { margin: 0 0 28px; color: #171717; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; font-weight: 700; }
.cv-articulos__rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; }
.cv-articulos__tarjeta {
	display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--borde); border-radius: 18px;
	background: var(--blanco); color: #171717; text-decoration: none; transition: transform .2s, box-shadow .2s;
}
.cv-articulos__tarjeta:hover { transform: translateY(-3px); box-shadow: var(--sombra); color: #171717; }
.cv-articulos__foto { width: 100%; height: 170px; object-fit: cover; }
.cv-articulos__nombre { padding: 18px 20px 6px; font-size: 16px; line-height: 1.45; font-weight: 600; }
.cv-articulos__leer { margin-top: auto; padding: 0 20px 20px; color: var(--principal); font-size: 14px; font-weight: 600; }
@media (max-width: 760px) {
	.cv-articulos { padding: 50px 0; }
	.cv-articulos__dentro { width: calc(100% - 36px); }
}

/* Salto al formulario: que no quede tapado por la cabecera fija. */
#presupuesto { scroll-margin-top: 110px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Mapas bajo demanda en las landings: ocupan el hueco del mapa y no cargan Google hasta pulsar. */
.cv-mapa-demanda{position:absolute;inset:0;min-height:300px;background:#EEE9F6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23DCD2EC' stroke-width='1'/%3E%3C/svg%3E");}
.cv-mapa-demanda iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.cv-mapa-demanda__boton{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:none;border:0;cursor:pointer;font:inherit;}
.cv-mapa-demanda__boton::before{content:"";width:34px;height:34px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237655AA'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");}
.cv-mapa-demanda__texto{background:#fff;color:var(--principal,#4B2C82);font-weight:700;padding:11px 22px;border-radius:999px;box-shadow:0 6px 16px rgba(60,30,110,.18);}
.cv-mapa-demanda__aviso{font-size:12.5px;color:#4B2C82;background:rgba(255,255,255,.8);padding:2px 8px;border-radius:6px;}
.cv-mapa-demanda__boton:hover .cv-mapa-demanda__texto,.cv-mapa-demanda__boton:focus-visible .cv-mapa-demanda__texto{background:var(--acento,#7655AA);color:#fff;}
.cv-mapa-demanda__boton:focus-visible{outline:3px solid var(--acento,#7655AA);outline-offset:-3px;}
/* Menú "Productos y servicios" (escritorio): puente invisible entre el botón y el panel y cierre con retardo,
   para que el panel no se oculte al bajar el ratón hasta los servicios. */
@media (min-width:1021px){
.cv-header .cv-dropdown::before{top:-44px;height:46px;}
.cv-header .cv-dropdown{transition:opacity .2s ease .25s,visibility 0s linear .45s,transform .2s ease .25s;}
.cv-header .cv-has-dropdown:hover > .cv-dropdown,.cv-header .cv-has-dropdown:focus-within > .cv-dropdown,.cv-header .cv-has-dropdown.cv-submenu-open > .cv-dropdown{transition:opacity .2s ease,visibility 0s,transform .2s ease;}
}
/* Reseñas de Google en la Home. */
.cv-resenas{padding:90px 0;background:#FAF8FC;font-family:'Poppins',Arial,Helvetica,sans-serif;}
.cv-resenas__wrap{width:min(1200px,calc(100% - 40px));margin:0 auto;}
.cv-resenas__cabecera{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:40px;}
.cv-resenas__etiqueta{display:block;margin-bottom:14px;color:#5B3B91;font-size:11px;line-height:1;font-weight:700;letter-spacing:1.25px;text-transform:uppercase;}
.cv-resenas h2{margin:0;color:#171717;font-size:39px;line-height:1.18;font-weight:700;letter-spacing:-1px;}
.cv-resenas h2 span{color:#5B3B91;}
.cv-resenas__cabecera p{max-width:620px;margin:13px 0 0;color:#56515A;font-size:14px;line-height:1.8;}
.cv-resenas__nota{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 30px;border:1px solid #E9E4ED;border-radius:22px;background:#fff;text-align:center;}
.cv-resenas__nota strong{font-size:44px;line-height:1;color:#40266F;}
.cv-resenas__estrellas{display:inline-flex;gap:2px;color:#F5B301;}
.cv-resenas__fuente{font-size:12.5px;color:#56515A;}
.cv-resenas__lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.cv-resena{display:flex;flex-direction:column;gap:14px;margin:0;padding:28px;border:1px solid #E9E4ED;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(31,19,48,.06);}
.cv-resena blockquote{margin:0;padding:0;border:0;flex:1;}
.cv-resena blockquote p{margin:0;color:#3D3842;font-size:14.5px;line-height:1.75;font-style:normal;}
.cv-resena figcaption{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;font-weight:700;color:#171717;font-size:14px;}
.cv-resena figcaption small{grid-column:2;font-weight:400;color:#817B87;font-size:12px;}
.cv-resena__inicial{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#F4F0FA;color:#5B3B91;font-weight:700;}
.cv-resenas__boton{display:table;margin:34px auto 0;padding:14px 26px;border-radius:999px;background:#5B3B91;color:#fff !important;font-size:14px;font-weight:700;text-decoration:none;}
.cv-resenas__boton:hover,.cv-resenas__boton:focus-visible{background:#40266F;}
@media (max-width:900px){.cv-resenas{padding:60px 0;}.cv-resenas__cabecera{grid-template-columns:1fr;gap:24px;}.cv-resenas__nota{align-self:start;flex-direction:row;flex-wrap:wrap;justify-content:center;}.cv-resenas h2{font-size:30px;}.cv-resenas__lista{grid-template-columns:1fr;}}
/* Artículos: el índice queda fijo al bajar (overflow-x:clip en vez de hidden no rompe el sticky) y lleva contacto debajo. */
.cvblog-page{overflow:visible !important;overflow-x:clip !important;}
.cvblog-sidebar{max-height:calc(100vh - 160px);overflow-y:auto;scrollbar-width:thin;}
.cvblog-ayuda{display:flex;flex-direction:column;gap:10px;margin-top:26px;padding:18px;border:1px solid #E9E4ED;border-radius:16px;background:#FAF8FC;}
.cvblog-ayuda__titulo{margin:0 !important;color:#171717;font-size:14px !important;line-height:1.35 !important;font-weight:700;}
.cvblog-ayuda__texto{margin:0 !important;color:#56515A;font-size:12.5px !important;line-height:1.6 !important;font-weight:400 !important;}
.cvblog-ayuda__boton{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;background:#5B3B91;color:#fff !important;font-size:13px;font-weight:700;text-align:center;}
.cvblog-ayuda__boton:hover{background:#40266F;}
.cvblog-ayuda__boton--linea{background:#fff;border:1px solid #5B3B91;color:#5B3B91 !important;}
.cvblog-ayuda__boton--linea:hover{background:#F4F0FA;}
@media (max-width:1050px){.cvblog-sidebar{max-height:none;overflow:visible;}.cvblog-ayuda{display:none;}}
