/* Ladridos Felices — colores del logo: naranja, ciruela y rosa */
:root{
  --naranja:#f5af63; --naranja-2:#fbd4a6; --naranja-osc:#c9772a;
  --ciruela:#5c3247; --ciruela-2:#7a4862; --rosa:#d0538d;
  --crema:#fff8ef; --crema-2:#fdeedd; --blanco:#fff;
  --texto:#2b1b24; --suave:#6d5a63; --linea:#eadccd;
  --radio:18px; --sombra:0 10px 30px -12px rgba(92,50,71,.28);
  --ancho:1180px;
  --fuente:ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fuente);color:var(--texto);background:var(--crema);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ciruela)}
h1,h2,h3{line-height:1.2;color:var(--ciruela);margin:0 0 .6em}
h1{font-size:clamp(2rem,4.2vw,3.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.01em}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.saltar{position:absolute;left:-999px;top:0;background:var(--ciruela);color:#fff;padding:.6rem 1rem;z-index:100}
.saltar:focus{left:1rem}
:focus-visible{outline:3px solid var(--rosa);outline-offset:3px;border-radius:6px}

/* Cabecera */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,248,239,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--linea)}
.cab-in{max-width:var(--ancho);margin:auto;padding:.55rem 1rem;display:flex;align-items:center;gap:1rem}
.marca{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ciruela);font-size:1.25rem;letter-spacing:-.01em}
.marca img{width:46px;height:auto}
.marca b{color:var(--rosa);margin-left:.25rem}
.menu{margin-left:auto;display:flex;align-items:center;gap:.2rem}
.menu a{text-decoration:none;color:var(--texto);padding:.5rem .75rem;border-radius:999px;font-weight:600;font-size:.95rem}
.menu a:hover{background:var(--crema-2)}
.menu a[aria-current=page]{color:var(--ciruela);background:var(--naranja-2)}
.menu .btn{margin-left:.4rem;color:#fff}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:.6rem;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2.5px;background:var(--ciruela);margin:4px 0;border-radius:2px;transition:.2s}
@media (max-width:900px){
  .menu-btn{display:block}
  .menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--crema);border-bottom:1px solid var(--linea);padding:.5rem 1rem 1rem;display:none}
  .menu.abierto{display:flex}
  .menu a{padding:.8rem 1rem}
  .menu .btn{margin:.4rem 0 0;text-align:center}
}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--ciruela);color:#fff;text-decoration:none;font-weight:700;border:0;border-radius:999px;padding:.8rem 1.4rem;font-size:1rem;cursor:pointer;font-family:inherit;transition:transform .15s,background .15s;box-shadow:0 6px 16px -8px rgba(92,50,71,.6)}
.btn:hover{background:var(--ciruela-2);transform:translateY(-1px)}
.btn-sm{padding:.5rem 1rem;font-size:.92rem}
.btn-sec{background:var(--blanco);color:var(--ciruela);border:2px solid var(--ciruela);box-shadow:none}
.btn-sec:hover{background:var(--crema-2)}
.btn-claro{background:var(--blanco);color:var(--ciruela)}
.btn-claro:hover{background:var(--crema-2)}
.acciones{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.acciones.centro{justify-content:center}
.enlace{font-weight:700;text-decoration:none;color:var(--rosa)}
.enlace:hover{text-decoration:underline}

/* Portada */
.hero{position:relative;min-height:min(82vh,720px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ciruela)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(43,27,36,.86) 0%,rgba(43,27,36,.55) 42%,rgba(43,27,36,0) 68%)}
.hero-txt{position:relative;z-index:1;max-width:var(--ancho);width:100%;margin:auto;padding:3rem 1rem 3.5rem;color:#fff;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.hero-txt>*{max-width:520px}
.hero-txt .acciones{justify-content:flex-end}
@media (max-width:760px){
  .hero{align-items:flex-end}
  .hero::after{background:linear-gradient(180deg,rgba(43,27,36,0) 25%,rgba(43,27,36,.85) 75%)}
  .hero-txt{align-items:flex-start;text-align:left}
  .hero-txt .acciones{justify-content:flex-start}
  .hero-img{object-position:30% 30%}
}
.hero-txt h1{color:#fff;max-width:17ch;text-wrap:balance}
.hero-txt p{font-size:1.15rem;max-width:52ch;color:#fbeee3}
.antetitulo{display:inline-block;background:var(--naranja);color:var(--ciruela)!important;font-weight:800;font-size:.85rem!important;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .8rem;border-radius:999px}

.bloque{max-width:var(--ancho);margin:auto;padding:4rem 1rem}
.fondo-suave{max-width:none;background:var(--crema-2)}
.fondo-suave>*{max-width:var(--ancho);margin-left:auto;margin-right:auto}
.centro{text-align:center}
.sub{color:var(--suave);font-size:1.05rem}
.cabecera-bloque{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.dos{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.dos.invertido{grid-template-columns:.9fr 1.1fr}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
@media (max-width:900px){.dos,.dos.invertido,.tres{grid-template-columns:1fr;gap:2rem}.dos.invertido figure{order:2}}
.foto-redonda{margin:0;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;overflow:hidden;box-shadow:var(--sombra);aspect-ratio:1/1;border:8px solid var(--blanco)}
.foto-redonda img{width:100%;height:100%;object-fit:cover}
.prosa{max-width:68ch}
.estrecho{max-width:820px}

/* Cómo ayudar */
.ayudas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2rem}
@media (max-width:900px){.ayudas{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ayudas{grid-template-columns:1fr}}
.ayuda{display:block;background:var(--blanco);border-radius:var(--radio);padding:1.4rem 1.4rem 1.1rem;text-decoration:none;color:var(--texto);box-shadow:var(--sombra);border:1px solid var(--linea);transition:transform .15s}
.ayuda:hover{transform:translateY(-3px)}
.ayuda .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--naranja-2);font-size:1.6rem;margin-bottom:.8rem}
.ayuda h3{margin-bottom:.3rem}
.ayuda p{color:var(--suave);font-size:.97rem;margin:0}

/* Cita */
.cita{background:var(--ciruela);color:#fff;text-align:center;padding:4.5rem 1rem}
.cita blockquote{max-width:760px;margin:0 auto 1.8rem}
.cita p{font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.35;font-weight:700;margin-bottom:.8rem}
.cita footer{color:var(--naranja-2);font-size:1.1rem}
.cita .btn{background:var(--naranja);color:var(--ciruela)}
.cita .btn:hover{background:var(--naranja-2)}

/* Cabecera de páginas interiores */
.cabecera-pagina{text-align:center;padding:4rem 1rem 2.5rem;max-width:900px;margin:auto}
.cabecera-pagina p{color:var(--suave);font-size:1.12rem;max-width:62ch;margin:0 auto}
.cabecera-pagina.con-foto{max-width:none;position:relative;color:#fff;padding:6rem 1rem 4rem;background:var(--ciruela) var(--foto) center/cover no-repeat}
.cabecera-pagina.con-foto::before{content:"";position:absolute;inset:0;background:rgba(43,27,36,.58)}
.cabecera-pagina.con-foto>*{position:relative}
.cabecera-pagina.con-foto h1{color:#fff}
.cabecera-pagina.con-foto p{color:#fbeee3}

/* Animales */
.animales{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.3rem;margin-top:1.5rem}
.animal{background:var(--blanco);border-radius:var(--radio);overflow:hidden;text-decoration:none;color:var(--texto);box-shadow:var(--sombra);border:1px solid var(--linea);display:flex;flex-direction:column;transition:transform .15s}
.animal:hover{transform:translateY(-4px)}
.animal .foto{position:relative;aspect-ratio:4/3.3;background:var(--naranja-2);display:grid;place-items:center;font-size:3rem;font-weight:800;color:var(--ciruela)}
.animal .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.animal .etiqueta{position:absolute;top:.7rem;left:.7rem;background:var(--rosa);color:#fff;font-size:.78rem;font-weight:800;padding:.25rem .65rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.animal .cuerpo{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.animal h3{margin:0;font-size:1.25rem}
.animal .meta{color:var(--suave);font-size:.92rem}
.animal .desc{font-size:.92rem;color:var(--texto);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.animal .estado{align-self:flex-start;background:var(--crema-2);color:var(--ciruela);font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}
.animal .ver{margin-top:auto;color:var(--rosa);font-weight:800;font-size:.95rem}
@media (max-width:560px){.animales{grid-template-columns:repeat(2,1fr);gap:.8rem}.animal .desc{display:none}.animal h3{font-size:1.05rem}.animal .cuerpo{padding:.7rem .8rem .9rem}}
.cargando,.vacio{grid-column:1/-1;color:var(--suave);text-align:center;padding:2rem}

.filtros{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.filtros input,.filtros select{font:inherit;padding:.6rem .9rem;border:1.5px solid var(--linea);border-radius:999px;background:var(--blanco);color:var(--texto);min-width:200px}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font:inherit;font-weight:700;font-size:.93rem;border:1.5px solid var(--linea);background:var(--blanco);color:var(--texto);padding:.45rem .9rem;border-radius:999px;cursor:pointer}
.chip small{font-weight:500;color:var(--suave)}
.chip.on{background:var(--ciruela);border-color:var(--ciruela);color:#fff}
.chip.on small{color:var(--naranja-2)}

.texto-card{background:var(--blanco);border-radius:var(--radio);padding:1.6rem;box-shadow:var(--sombra);border:1px solid var(--linea)}
.foto-card{margin:1rem 0 0;border-radius:14px;overflow:hidden}
.foto-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.check{list-style:none;padding:0;margin:0 0 1.2rem}
.check li{position:relative;padding-left:1.8rem;margin-bottom:.55rem}
.check li::before{content:"🐾";position:absolute;left:0;top:0;font-size:.95rem}
.pasos{counter-reset:p;list-style:none;padding:0;margin:0 0 1rem}
.pasos li{counter-increment:p;position:relative;padding-left:2.6rem;margin-bottom:.9rem}
.pasos li::before{content:counter(p);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--naranja);color:var(--ciruela);font-weight:800;display:grid;place-items:center}

.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.datos .foto-redonda{grid-column:1/-1;margin-top:1rem}
.dato{background:var(--blanco);border-radius:var(--radio);padding:1rem;text-align:center;box-shadow:var(--sombra)}
.dato b{display:block;font-size:1.5rem;color:var(--rosa)}
.dato span{color:var(--suave);font-size:.9rem}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.galeria img{border-radius:var(--radio);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;box-shadow:var(--sombra)}
.galeria img:first-child{grid-column:1/-1}
.pagos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
@media (max-width:600px){.pagos{grid-template-columns:1fr}}
.pago{background:var(--blanco);border-radius:var(--radio);padding:1.3rem;box-shadow:var(--sombra);border:1px solid var(--linea)}
.tareas{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.tareas span{background:var(--blanco);border:1px solid var(--linea);padding:.45rem .9rem;border-radius:999px;font-weight:600;font-size:.95rem}

/* Pie */
.pie{background:#2b1b24;color:#e9dccf;margin-top:0}
.pie-in{max-width:var(--ancho);margin:auto;padding:3rem 1rem 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.pie-in{grid-template-columns:1fr}}
.pie h3{color:var(--naranja);font-size:1rem;text-transform:uppercase;letter-spacing:.06em}
.pie a{display:block;color:#e9dccf;text-decoration:none;padding:.15rem 0}
.pie a:hover{color:#fff;text-decoration:underline}
.pie img{margin-bottom:.8rem}
.copy{text-align:center;font-size:.85rem;color:#a8958c;padding:1rem;border-top:1px solid rgba(255,255,255,.08);margin:0}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
