
body.veterinaria {
--crema: #fafaf6;
--crema-honda: #eff3ee;
--linea: #dbe4dd;
--verde: #0e7c6b;
--verde-texto: #0a5c50;
--verde-suave: #e5f2ee;
--tinta: #1f2a26;
--gris: #546058;
--sol: #f2a65a;
--cielo: #8ecae6;
margin: 0;
background: var(--crema);
color: var(--tinta);
font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
overflow-x: hidden;
}
body.veterinaria .vet-dentro {
width: 100%;
max-width: 1040px;
margin-inline: auto;
padding-inline: 20px;
}
body.veterinaria .saltar {
position: absolute;
left: -9999px;
top: 0;
z-index: 10;
padding: 12px 20px;
background: var(--verde-texto);
color: #fff;
font-weight: 700;
}
body.veterinaria .saltar:focus { left: 0; }
body.veterinaria :focus-visible {
outline: 3px solid var(--verde);
outline-offset: 3px;
}
body.veterinaria .tira-vet {
position: fixed;
top: 22px;
right: 22px;
z-index: 20;
display: flex;
align-items: center;
gap: 10px;
padding: 7px 15px 7px 7px;
border-radius: 999px;
background: rgb(255 255 255 / 0.94);
border: 1px solid var(--linea);
backdrop-filter: blur(8px);
box-shadow: 0 10px 30px -18px rgb(45 58 40 / 0.5);
color: var(--tinta);
max-width: calc(100vw - 44px);
}
body.veterinaria .tira-vet .tira-asesor-foto,
body.veterinaria .tira-vet .tira-asesor-inicial {
width: 38px;
height: 38px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
display: grid;
place-items: center;
background: var(--verde-suave);
color: var(--verde-texto);
font-size: 13px;
font-weight: 700;
}
body.veterinaria .tira-vet strong {
display: block;
font-size: 14px;
font-weight: 700;
line-height: 1.2;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
body.veterinaria .tira-vet .tira-asesor-cargo {
display: block;
margin-top: 2px;
color: var(--verde-texto);
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
body.veterinaria .tira-vet .tira-asesor-frase {
display: block;
margin-top: 1px;
color: var(--gris);
font-size: 11px;
}
@media (max-width: 720px) {
body.veterinaria .tira-vet { top: 14px; right: 14px; padding: 5px 12px 5px 5px; gap: 8px; }
body.veterinaria .tira-vet .tira-asesor-foto,
body.veterinaria .tira-vet .tira-asesor-inicial { width: 30px; height: 30px; font-size: 12px; }
body.veterinaria .tira-vet strong { font-size: 12.5px; }
body.veterinaria .tira-vet .tira-asesor-cargo,
body.veterinaria .tira-vet .tira-asesor-frase { display: none; }
}
body.veterinaria .vet-portada {
position: relative;
overflow: hidden;
padding-block: 120px 88px;
background:
radial-gradient(90% 70% at 85% 0%, rgb(242 193 78 / 0.16) 0%, transparent 60%),
radial-gradient(80% 60% at 5% 100%, rgb(124 179 66 / 0.12) 0%, transparent 55%),
var(--crema);
}
body.veterinaria .vet-motas {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
}
body.veterinaria .vet-motas span {
position: absolute;
bottom: -3vh;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--verde);
opacity: 0;
animation: vet-flota linear infinite;
}
body.veterinaria .vet-motas span:nth-child(1) { left: 7%;  animation-duration: 30s; animation-delay: 0s; }
body.veterinaria .vet-motas span:nth-child(2) { left: 22%; animation-duration: 40s; animation-delay: -12s; background: var(--sol); width: 6px; height: 6px; }
body.veterinaria .vet-motas span:nth-child(3) { left: 45%; animation-duration: 34s; animation-delay: -22s; background: var(--cielo); width: 5px; height: 5px; }
body.veterinaria .vet-motas span:nth-child(4) { left: 66%; animation-duration: 28s; animation-delay: -6s; background: var(--sol); }
body.veterinaria .vet-motas span:nth-child(5) { left: 82%; animation-duration: 38s; animation-delay: -28s; width: 5px; height: 5px; }
body.veterinaria .vet-motas span:nth-child(6) { left: 93%; animation-duration: 32s; animation-delay: -16s; background: var(--cielo); width: 6px; height: 6px; }
@keyframes vet-flota {
0%   { transform: translateY(0); opacity: 0; }
10%  { opacity: 0.5; }
85%  { opacity: 0.25; }
100% { transform: translateY(-106vh); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
body.veterinaria .vet-motas span { animation: none; opacity: 0.25; bottom: auto; top: 30%; }
}
body.veterinaria .vet-portada-dentro {
position: relative;
max-width: 760px;
}
@media (min-width: 1060px) {
body.veterinaria .vet-portada-dentro {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 332px);
gap: 48px;
align-items: center;
max-width: 1040px;
}
}
body.veterinaria .vet-arte { display: none; }
@media (min-width: 1060px) {
body.veterinaria .vet-arte { display: block; justify-self: end; width: 100%; max-width: 332px; }
}
body.veterinaria .vet-arte-suelos { display: block; width: 100%; height: auto; }
body.veterinaria .vet-suelo { fill: var(--linea); }
body.veterinaria .vet-suelo-limpio { fill: var(--verde); opacity: 0.55; }
body.veterinaria .vet-mota {
fill: var(--gris);
opacity: 0.5;
animation: vet-entra 0.4s ease-out backwards;
animation-delay: calc(0.45s + var(--i) * 0.04s);
}
body.veterinaria .vet-olor {
fill: none;
stroke: var(--verde);
stroke-width: 2;
stroke-linecap: round;
opacity: 0.4;
animation: vet-sube 0.6s ease-out backwards;
animation-delay: calc(0.75s + var(--i) * 0.08s);
}
@keyframes vet-entra {
from { opacity: 0; }
to   { opacity: 0.5; }
}
@keyframes vet-sube {
from { opacity: 0; transform: translateY(6px); }
to   { opacity: 0.4; transform: none; }
}
body.veterinaria .vet-arte-leyenda {
display: grid;
gap: 11px;
margin: 24px 0 0;
padding: 0;
list-style: none;
}
body.veterinaria .vet-arte-leyenda li {
display: flex;
align-items: center;
gap: 12px;
margin: 0;
color: var(--gris);
font-size: 13px;
}
body.veterinaria .vet-arte-leyenda li::before {
content: '';
flex: none;
width: 22px;
height: 7px;
border-radius: 4px;
background: var(--linea);
}
body.veterinaria .vet-arte-leyenda li.vet-arte-limpio { color: var(--tinta); font-weight: 600; }
body.veterinaria .vet-arte-leyenda li.vet-arte-limpio::before {
background: var(--verde);
opacity: 0.55;
}
@media (prefers-reduced-motion: reduce) {
body.veterinaria .vet-mota,
body.veterinaria .vet-olor { animation: none; }
}
body.veterinaria .vet-encima {
margin: 0;
font-size: 12.5px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--verde-texto);
}
body.veterinaria .vet-titular {
margin: 18px 0 0;
font-size: clamp(34px, 7vw, 58px);
line-height: 1.06;
font-weight: 800;
letter-spacing: -0.025em;
}
body.veterinaria .vet-resalte {
display: block;
color: var(--verde-texto);
}
body.veterinaria .vet-entrada {
margin: 22px 0 0;
font-size: clamp(16.5px, 2.2vw, 18.5px);
line-height: 1.75;
color: var(--gris);
max-width: 58ch;
}
body.veterinaria .vet-botones {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 32px;
}
body.veterinaria .vet-boton {
display: inline-block;
text-wrap: balance;
text-align: center;
padding: 15px 28px;
border-radius: 999px;
background: var(--verde-texto);
color: #fff;
font-size: 16px;
font-weight: 700;
text-decoration: none;
border: 2px solid var(--verde-texto);
transition: transform 0.15s, box-shadow 0.15s, background-color 0.15s;
}
body.veterinaria .vet-boton:hover {
background: #3d5e20;
border-color: #3d5e20;
transform: translateY(-2px);
box-shadow: 0 12px 28px rgb(74 112 40 / 0.28);
}
body.veterinaria .vet-boton-linea {
background: transparent;
color: var(--verde-texto);
border-color: rgb(74 112 40 / 0.4);
}
body.veterinaria .vet-boton-linea:hover {
background: var(--verde-suave);
box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
body.veterinaria .vet-boton:hover { transform: none; }
}
body.veterinaria .vet-tira {
background: var(--verde-texto);
color: #fff;
padding-block: 26px;
}
body.veterinaria .vet-tira-dentro {
display: grid;
gap: 18px;
grid-template-columns: 1fr;
}
@media (min-width: 720px) {
body.veterinaria .vet-tira-dentro { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
body.veterinaria .vet-tira strong {
display: block;
font-size: 18px;
font-weight: 800;
}
body.veterinaria .vet-tira span {
display: block;
margin-top: 3px;
font-size: 13.5px;
color: rgb(255 255 255 / 0.82);
}
body.veterinaria .vet-seccion { padding-block: 90px; }
body.veterinaria .vet-claro { background: var(--crema-honda); }
body.veterinaria .vet-rotulo {
margin: 0;
font-size: 12.5px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--verde-texto);
}
body.veterinaria .vet-titulo {
margin: 12px 0 0;
font-size: clamp(26px, 4vw, 36px);
line-height: 1.15;
font-weight: 800;
letter-spacing: -0.02em;
}
body.veterinaria .vet-parrafo {
margin: 18px 0 0;
font-size: 16.5px;
line-height: 1.8;
color: var(--gris);
}
body.veterinaria .vet-rejilla {
display: grid;
gap: 16px;
margin-top: 32px;
grid-template-columns: 1fr;
}
@media (min-width: 720px) {
body.veterinaria .vet-rejilla { grid-template-columns: 1fr 1fr; gap: 18px; }
}
body.veterinaria .vet-tarjeta {
padding: 26px;
border-radius: 18px;
background: #fff;
border: 1px solid var(--linea);
border-top: 3px solid var(--verde);
}
body.veterinaria .vet-tarjeta h3 {
margin: 0;
font-size: 18px;
font-weight: 700;
}
body.veterinaria .vet-tarjeta p {
margin: 10px 0 0;
font-size: 15.5px;
line-height: 1.75;
color: var(--gris);
}
body.veterinaria .vet-dos {
display: grid;
gap: 34px;
grid-template-columns: 1fr;
}
@media (min-width: 860px) {
body.veterinaria .vet-dos { grid-template-columns: 1.35fr 1fr; gap: 56px; align-items: start; }
}
body.veterinaria .vet-lista {
margin: 0;
padding: 26px;
list-style: none;
border-radius: 18px;
background: var(--verde-suave);
border: 1px solid rgb(124 179 66 / 0.35);
}
body.veterinaria .vet-lista li {
position: relative;
padding-left: 28px;
font-size: 15.5px;
line-height: 1.6;
}
body.veterinaria .vet-lista li + li { margin-top: 14px; }
body.veterinaria .vet-lista li::before {
content: '';
position: absolute;
left: 4px;
top: 0.5em;
width: 9px;
height: 9px;
border-radius: 50%;
background: var(--verde);
}
body.veterinaria .vet-pasos {
display: grid;
gap: 26px;
margin: 34px 0 0;
padding: 0;
list-style: none;
grid-template-columns: 1fr;
}
@media (min-width: 820px) {
body.veterinaria .vet-pasos { grid-template-columns: repeat(3, 1fr); gap: 30px; }
}
body.veterinaria .vet-pasos li {
padding: 28px 24px;
border-radius: 18px;
background: #fff;
border: 1px solid var(--linea);
}
body.veterinaria .vet-numero {
display: grid;
place-items: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--verde-texto);
color: #fff;
font-size: 17px;
font-weight: 800;
}
body.veterinaria .vet-pasos h3 {
margin: 16px 0 0;
font-size: 18px;
font-weight: 700;
}
body.veterinaria .vet-pasos p {
margin: 10px 0 0;
font-size: 15.5px;
line-height: 1.75;
color: var(--gris);
}
body.veterinaria .lan-dudas {
display: grid;
gap: 12px;
margin-top: 32px;
max-width: 780px;
}
body.veterinaria .lan-duda {
border-radius: 16px;
background: #fff;
border: 1px solid var(--linea);
overflow: hidden;
}
body.veterinaria .lan-duda summary {
padding: 20px 24px;
cursor: pointer;
font-size: 16.5px;
font-weight: 600;
list-style: none;
position: relative;
padding-right: 52px;
}
body.veterinaria .lan-duda summary::-webkit-details-marker { display: none; }
body.veterinaria .lan-duda summary::after {
content: '';
position: absolute;
right: 24px;
top: 50%;
width: 13px;
height: 13px;
margin-top: -6px;
background:
linear-gradient(var(--verde-texto), var(--verde-texto)) center / 100% 2px no-repeat,
linear-gradient(var(--verde-texto), var(--verde-texto)) center / 2px 100% no-repeat;
transition: transform 0.2s;
}
body.veterinaria .lan-duda[open] summary::after {
transform: rotate(45deg);
background: linear-gradient(var(--verde-texto), var(--verde-texto)) center / 100% 2px no-repeat;
}
body.veterinaria .lan-duda p {
margin: 0;
padding: 0 24px 22px;
font-size: 15.5px;
line-height: 1.8;
color: var(--gris);
}
@media (prefers-reduced-motion: reduce) {
body.veterinaria .lan-duda summary::after { transition: none; }
}
body.veterinaria .vet-contacto {
padding-block: 95px;
background: var(--verde-suave);
}
body.veterinaria .vet-contacto-dentro {
display: grid;
gap: 40px;
grid-template-columns: 1fr;
}
@media (min-width: 900px) {
body.veterinaria .vet-contacto-dentro {
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}
}
body.veterinaria .vet-firma {
margin: 22px 0 0;
font-size: 15px;
color: var(--gris);
}
body.veterinaria .vet-firma strong { color: var(--verde-texto); }
body.veterinaria .vet-gracias {
grid-column: 1 / -1;
text-align: center;
padding-block: 20px;
}
body.veterinaria .vet-gracias .vet-parrafo { margin-inline: auto; max-width: 52ch; }
body.veterinaria .lan-formulario {
display: grid;
gap: 16px;
padding: 30px;
border-radius: 20px;
background: #fff;
border: 1px solid var(--linea);
box-shadow: 0 18px 44px -30px rgb(45 58 40 / 0.4);
}
body.veterinaria .lan-error {
margin: 0;
padding: 12px 16px;
border-radius: 12px;
background: #fdecea;
border: 1px solid #f2b8b5;
color: #8c2f28;
font-size: 14.5px;
line-height: 1.6;
}
body.veterinaria .lan-formulario label { display: block; }
body.veterinaria .lan-formulario fieldset { border: 0; padding: 0; margin: 0; }
body.veterinaria .lan-formulario label > span,
body.veterinaria .lan-formulario legend {
display: block;
margin-bottom: 7px;
font-size: 14px;
font-weight: 600;
}
body.veterinaria .lan-formulario label > span em {
font-style: normal;
font-weight: 400;
color: var(--gris);
}
body.veterinaria .lan-formulario input[type="text"],
body.veterinaria .lan-formulario input[type="email"],
body.veterinaria .lan-formulario input[type="tel"],
body.veterinaria .lan-formulario textarea,
body.veterinaria .lan-formulario select {
width: 100%;
box-sizing: border-box;
padding: 13px 15px;
border-radius: 12px;
border: 1px solid var(--linea);
background: var(--crema);
color: var(--tinta);
font-family: inherit;
font-size: 16px;
}
body.veterinaria .lan-formulario textarea { resize: vertical; min-height: 96px; }
body.veterinaria .lan-ancho { grid-column: 1 / -1; }
body.veterinaria .lan-peticiones label {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 13px 15px;
border-radius: 12px;
border: 1px solid var(--linea);
background: var(--crema);
cursor: pointer;
}
body.veterinaria .lan-peticiones label + label { margin-top: 8px; }
body.veterinaria .lan-peticiones input {
width: 18px;
height: 18px;
margin-top: 2px;
flex-shrink: 0;
accent-color: var(--verde-texto);
}
body.veterinaria .lan-peticiones label:has(input:checked) {
border-color: var(--verde-texto);
background: var(--verde-suave);
}
body.veterinaria .lan-peticiones span { font-size: 14.5px; line-height: 1.5; }
body.veterinaria .lan-enviar {
display: grid;
gap: 12px;
margin-top: 4px;
}
body.veterinaria .lan-boton {
justify-self: start;
text-wrap: balance;
text-align: center;
padding: 15px 32px;
border: 0;
border-radius: 999px;
background: var(--verde-texto);
color: #fff;
font-family: inherit;
font-size: 16px;
font-weight: 700;
cursor: pointer;
transition: background-color 0.15s;
}
body.veterinaria .lan-boton:hover { background: #3d5e20; }
body.veterinaria .lan-legal {
margin: 0;
font-size: 13px;
line-height: 1.65;
color: var(--gris);
}
body.veterinaria .lan-legal a { color: var(--verde-texto); }
body.veterinaria .vet-pie {
padding-block: 40px 52px;
background: var(--tinta);
color: rgb(255 255 255 / 0.75);
}
body.veterinaria .vet-pie p { margin: 0; font-size: 14px; }
body.veterinaria .vet-pie-legal {
margin-top: 14px !important;
font-size: 12.5px !important;
line-height: 1.75;
max-width: 78ch;
opacity: 0.85;
}
body.veterinaria {
--flota-fondo: var(--verde);
--flota-tinta: #fff;
--flota-fondo-hover: var(--verde-texto);
--flota-foco: var(--verde);
}
body.veterinaria {
--gracias-acento: var(--verde-texto);
--tes-fondo: #fff;
--tes-borde: var(--linea);
--tes-texto: var(--gris);
--tes-firma: var(--tinta);
--tes-rotulo: var(--verde-texto);
--tes-rotulo-opacidad: 1;
--tes-mas: var(--verde-texto);
}
