:root{--blue:#6497d8;--dark:#092f60;--yellow:#ffdb50;--sky:#eaf5ff;--white:#fff;--text:#315274}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Nunito,Arial,sans-serif;color:var(--dark);background:#fff}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 44px));margin:auto}.site-header{position:relative;z-index:30;background:var(--blue);color:white}.header-inner{min-height:98px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;background:white;border-radius:16px;padding:5px 14px}.brand img{width:216px;height:auto}.nav{display:flex;align-items:center;gap:26px;font-weight:900}.nav a:hover,.nav a:focus-visible{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:8px}.nav-drop{position:relative}.nav-drop>button{background:transparent;border:0;color:white;font-weight:900;cursor:pointer;padding:12px}.dropdown{display:none;position:absolute;top:100%;left:-20px;background:white;color:var(--dark);box-shadow:0 20px 55px #001e4a33;border-radius:16px;min-width:270px;padding:10px;z-index:50}.nav-drop:hover .dropdown,.nav-drop:focus-within .dropdown,.nav-drop.open .dropdown{display:grid}.dropdown a{padding:10px 13px;border-radius:10px;font-size:14px}.dropdown a:hover{background:var(--sky)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:15px 26px;font-weight:900;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #092f6033}.btn-yellow{background:var(--yellow);color:var(--dark)}.btn-outline{color:white;border:2px solid white}.btn-blue{background:var(--dark);color:white}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px;cursor:pointer}.hero{background:var(--blue);color:white;overflow:hidden;position:relative;min-height:625px}.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px;padding:48px 0 100px}.hero h1{font-family:'Lilita One',Nunito,sans-serif;font-size:clamp(49px,5.2vw,82px);font-weight:400;line-height:1.03;margin:24px 0;letter-spacing:.1px}.hero p{font-size:20px;font-weight:800;max-width:545px;line-height:1.65}.eyebrow{font-weight:900;letter-spacing:.13em;text-transform:uppercase;font-size:13px}.hero .eyebrow{color:#fef8e1}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:34px}.hero-dog{height:530px;position:relative;display:grid;place-items:center}.hero-dog img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:42% 58% 35% 65% / 38% 42% 58% 62%;box-shadow:0 30px 80px #104c9170}.hero-dog:after{content:'✦';position:absolute;top:12%;right:-4%;color:var(--yellow);font-size:65px}.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:76px}.hero-wave svg{display:block;width:100%;height:100%}section{padding:85px 0}.section-top{text-align:center;max-width:740px;margin:0 auto 44px}.section-top h2,section h2,.page-title{font-family:'Lilita One',Nunito,sans-serif;font-weight:400;line-height:1.1;font-size:clamp(33px,4vw,52px);margin:12px 0 20px}.lead{color:var(--text);font-size:18px;line-height:1.75}.eyebrow-blue{color:#147ecb}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.card{border:1px solid #e5eff9;border-radius:25px;background:white;padding:28px;box-shadow:0 10px 32px #1d5a9d0d;display:flex;flex-direction:column;transition:transform .2s}.card:hover{transform:translateY(-4px)}.icon-bubble{background:#edf6ff;color:#127fc9;border-radius:20px;width:62px;height:62px;display:grid;place-items:center;font-size:30px}.card h3{font-size:25px;margin:19px 0 7px}.card p{color:var(--text);line-height:1.65;flex:1;margin:0 0 23px}.link-arrow{color:#1079c8;font-weight:900}.soft{background:#f3f9ff}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.visual-panel{border-radius:42px;background:#fff;min-height:385px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.visual-panel img{width:74%;max-width:360px;mix-blend-mode:normal;border-radius:50%}.visual-panel .bubble{position:absolute;background:white;padding:13px 18px;border-radius:40px;font-weight:900;box-shadow:0 12px 30px #0002}.visual-panel .b1{top:12%;left:5%}.visual-panel .b2{bottom:10%;right:5%}.trust-grid,.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mini{background:white;border:1px solid #e6eef8;border-radius:20px;padding:25px}.mini strong{display:block;margin:10px 0;font-size:18px}.mini p{color:var(--text);line-height:1.6}.step-number{color:#168bd6;font-family:'Lilita One';font-size:38px}.cta-band{background:var(--blue);color:white;border-radius:35px;padding:54px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-band h2{margin:0 0 10px}.faq{max-width:830px;margin:auto}.faq details{border-bottom:1px solid #dbe7f2;padding:20px 5px}.faq summary{font-weight:900;cursor:pointer;font-size:18px}.faq p{color:var(--text);line-height:1.7}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-box{border-radius:25px;background:var(--sky);padding:30px}.contact-box p{line-height:1.7}.site-footer{background:#082d57;color:white;padding:52px 0 28px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-inner img{width:245px;background:white;border-radius:16px;padding:8px}.footer-inner a{display:block;margin:12px 0}.copyright{border-top:1px solid #ffffff33;margin-top:30px;padding-top:23px;font-size:12px;color:#d7e8ff}.wa-float{position:fixed;right:22px;bottom:22px;z-index:100;background:transparent;border-radius:50%;height:61px;width:61px;display:grid;place-items:center;box-shadow:0 8px 22px #002a3b55}.subhero{background:var(--blue);color:white;padding:65px 0 95px;position:relative;overflow:hidden}.subhero .split{gap:55px}.subhero h1{font-family:'Lilita One';font-weight:400;font-size:clamp(40px,5vw,65px);line-height:1.1}.subhero p{font-size:20px;line-height:1.65}.subhero .visual-panel{min-height:330px;background:#fff}.breadcrumb{font-weight:900;font-size:14px;color:#f9ecb8}.pill-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.pill{padding:18px;background:var(--sky);border-radius:15px;font-weight:800}.info-note{font-size:14px;color:#61778d;margin-top:24px}.small-map{border-radius:22px;border:1px solid #cadfee;padding:25px;background:white}.small-map a{color:#0076c8;text-decoration:underline}.center{text-align:center}.mt{margin-top:35px}section.anchor{scroll-margin-top:25px}
@media(max-width:1000px){.nav{gap:11px;font-size:14px}.brand img{width:165px}.header-inner>.btn{font-size:12px;padding:12px}.cards{grid-template-columns:repeat(2,1fr)}.trust-grid,.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-inner{min-height:82px}.brand img{width:185px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#568dcc;padding:20px 22px 30px;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav-drop>button{padding:8px 0}.dropdown{position:static;box-shadow:none}.header-inner>.btn{display:none}.hero-inner,.split,.contact-layout,.footer-inner{grid-template-columns:1fr}.hero-inner{padding:35px 0 100px;gap:15px}.hero h1{font-size:52px}.hero p{font-size:17px}.hero-dog{height:355px}.hero-actions{gap:12px}.hero-actions .btn{font-size:14px}.cards{grid-template-columns:1fr}.trust-grid,.steps{grid-template-columns:1fr 1fr}.cta-band{padding:30px;display:block}.cta-band .btn{margin-top:15px}.subhero{padding:40px 0 70px}.subhero .visual-panel{min-height:260px}.pill-list{grid-template-columns:1fr}section{padding:62px 0}.footer-inner{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card{transition:none}}

/* Ajuste V3: hero de inicio más compacto sin modificar páginas internas */
@media (min-width:761px) {
  .hero { min-height: 0; }
  .hero-inner { gap: 36px; padding: 30px 0 76px; }
  .hero h1 { font-size: clamp(40px, 4.1vw, 63px); line-height: 1.06; margin: 16px 0; }
  .hero p { font-size: 18px; line-height: 1.5; margin: 0; }
  .hero-actions { margin-top: 24px; }
  .hero-dog { height: clamp(340px, 35vw, 445px); }
}
@media (max-width:760px) {
  .hero { min-height: 0; }
  .hero-inner { padding: 25px 0 70px; gap: 18px; }
  .hero h1 { font-size: clamp(35px, 9vw, 44px); line-height: 1.08; margin: 14px 0; }
  .hero p { font-size: 16px; line-height: 1.5; margin: 0; }
  .hero-actions { margin-top: 20px; }
  .hero-dog { height: clamp(240px, 67vw, 310px); }
}

/* V6: Animación de entrada del perro, independiente del botón de WhatsApp. */
.hero-dog img {
  transform-origin: center 65%;
  transform: scale(.12) translateY(50px);
  opacity: 0;
  will-change: transform, opacity;
}
.hero-dog.dog-animate img {
  animation: dog-grow-in 1.9s cubic-bezier(.18,.75,.22,1) .08s both;
}
@keyframes dog-grow-in {
  0% { transform: scale(.12) translateY(50px); opacity: 0; }
  28% { opacity: 1; }
  76% { transform: scale(1.08) translateY(-4px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-dog img { transform: none; opacity: 1; will-change: auto; }
  .hero-dog.dog-animate img { animation: none; }
}

.wa-float img{width:100%;height:100%;object-fit:contain;display:block;border-radius:50%}

/* V7: hero principal compacto, conservando el crecimiento del perro */
@media (min-width:761px) {
  #inicio.hero { min-height:0; }
  #inicio .hero-inner { gap:clamp(20px,3vw,36px); padding:clamp(18px,3vh,30px) 0 58px; }
  #inicio h1 { font-size:clamp(37px,3.85vw,58px); line-height:1.04; margin:12px 0 14px; }
  #inicio p { font-size:clamp(15px,1.3vw,17px); line-height:1.45; }
  #inicio .hero-actions { margin-top:18px; gap:12px; }
  #inicio .hero-actions .btn { padding:12px 20px; font-size:14px; }
  #inicio .hero-dog { height:clamp(300px,31vw,410px); }
}
@media (min-width:761px) and (max-height:740px) {
  #inicio .hero-inner { padding-top:14px; padding-bottom:44px; }
  #inicio h1 { font-size:clamp(35px,3.55vw,52px); margin:9px 0 10px; }
  #inicio .hero-dog { height:clamp(270px,29vw,360px); }
  #inicio .hero-actions { margin-top:14px; }
}
@media (max-width:760px) {
  #inicio .hero-inner { padding:22px 0 58px; gap:14px; }
  #inicio h1 { font-size:clamp(33px,8.3vw,42px); line-height:1.06; margin:11px 0; }
  #inicio p { font-size:15px; line-height:1.43; }
  #inicio .hero-actions { margin-top:16px; }
  #inicio .hero-dog { height:clamp(210px,60vw,285px); }
}

/* V8: ajuste exclusivo de tipografía y espaciado del hero de inicio.
   No cambia su estructura, imagen, animación ni las páginas internas. */
@media (min-width: 761px) {
  #inicio h1 { font-size: clamp(32px, 3.1vw, 46px); line-height: 1.06; margin: 9px 0 10px; }
  #inicio p { font-size: clamp(14px, 1.12vw, 16px); line-height: 1.4; }
  #inicio .hero-actions { margin-top: 14px; }
  #inicio .hero-inner { padding-top: 16px; padding-bottom: 54px; }
  #inicio .eyebrow { font-size: 12px; letter-spacing: .09em; }
}
@media (min-width: 761px) and (max-height: 740px) {
  #inicio h1 { font-size: clamp(30px, 2.8vw, 42px); margin: 7px 0 8px; }
  #inicio .hero-inner { padding-top: 10px; padding-bottom: 44px; }
  #inicio .hero-actions { margin-top: 12px; }
}
@media (max-width: 760px) {
  #inicio h1 { font-size: clamp(29px, 7.2vw, 36px); line-height: 1.08; margin: 8px 0; }
  #inicio p { font-size: 14px; line-height: 1.38; }
  #inicio .eyebrow { font-size: 11px; letter-spacing: .08em; }
  #inicio .hero-inner { padding-top: 16px; padding-bottom: 52px; }
  #inicio .hero-actions { margin-top: 12px; }
}

/* V9: quitar tinte/velo azul de las imágenes en paneles visuales y tarjetas; preservar fondo azul de marca del hero. */
.visual-panel, .subhero .visual-panel { background: #fff; }
.visual-panel img, .subhero .visual-panel img { mix-blend-mode: normal; filter: none; opacity: 1; }

/* V12: restaurar el hero azul completo, con imagen por encima de la onda.
   Mantiene exactamente la tipografía V8, animación V6 y visuales sin velo V9. */
@media (min-width: 761px) {
  #inicio.hero { min-height: 0; }
  #inicio .hero-inner { padding-top: 25px; padding-bottom: 95px; }
  #inicio .hero-dog { height: clamp(340px, 31vw, 410px); }
  #inicio .hero-wave { height: 76px; }
}
@media (min-width: 761px) and (max-height: 740px) {
  #inicio .hero-inner { padding-top: 18px; padding-bottom: 88px; }
  #inicio .hero-dog { height: clamp(300px, 29vw, 360px); }
}
@media (max-width: 760px) {
  #inicio .hero-inner { padding-top: 22px; padding-bottom: 92px; gap: 14px; }
  #inicio .hero-dog { height: clamp(210px, 60vw, 285px); }
  #inicio .hero-wave { height: 76px; }
}

/* V13: prolongar únicamente el fondo azul del hero 80px hacia abajo.
   La onda acompaña el borde inferior; se preservan texto, perro y animación. */
@media (min-width: 761px) {
  #inicio .hero-inner { padding-bottom: 175px; }
}
@media (min-width: 761px) and (max-height: 740px) {
  #inicio .hero-inner { padding-bottom: 168px; }
}
@media (max-width: 760px) {
  #inicio .hero-inner { padding-bottom: 132px; }
}

/* V14: prolongar 60 px adicionales el hero y equilibrar su contenido, sin alterar la tipografía. */
@media (min-width: 761px) {
  #inicio .hero-inner { padding-bottom: 235px; }
  #inicio .hero-inner > div:first-child { transform: translateY(-12px); }
  #inicio h1 { margin-bottom: 12px; }
  #inicio .hero-actions { margin-top: 20px; gap: 14px; align-items: center; }
}
@media (min-width: 761px) and (max-height: 740px) {
  #inicio .hero-inner { padding-bottom: 228px; }
}
@media (max-width: 760px) {
  #inicio .hero-inner { padding-bottom: 152px; }
  #inicio .hero-actions { gap: 12px; }
}

/* V15: corrección EXCLUSIVA móvil: el perro se ve inmediatamente debajo del título.
   No modifica escritorio, ni animación, ni estilos de páginas internas. */
@media (max-width: 760px) {
  #inicio .hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 18px 0 64px;
    align-items: start;
  }
  #inicio .hero-inner > div:first-child { display: contents; }
  #inicio .hero-inner .eyebrow { order: 1; margin-bottom: 7px; }
  #inicio .hero-inner h1 { order: 2; margin: 0 0 14px; }
  #inicio .hero-dog {
    order: 3;
    width: min(100%, 390px);
    height: clamp(225px, 65vw, 305px);
    margin: 0 auto 19px;
    min-width: 0;
  }
  #inicio .hero-dog img { object-position: center 38%; }
  #inicio .hero-inner p { order: 4; margin: 0; }
  #inicio .hero-actions { order: 5; margin-top: 18px; gap: 10px; }
  #inicio .hero-actions .btn { padding: 12px 17px; font-size: 13px; }
  #inicio .hero-wave { height: 52px; }
}

/* V16: Garantizar perro visible y animado en móvil sin depender de JavaScript.
   Exclusivo de la portada y pantallas pequeñas. */
@media (max-width: 760px) {
  #inicio .hero-inner { overflow: visible; }
  #inicio .hero-dog {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 240px;
    height: clamp(240px, 68vw, 315px);
    width: min(100%, 360px);
    position: relative;
    z-index: 2;
    overflow: visible;
  }
  #inicio .hero-dog img {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transform: scale(1);
    animation: dog-grow-in-mobile 1.6s cubic-bezier(.18,.75,.22,1) .12s both !important;
  }
  @keyframes dog-grow-in-mobile {
    0% { opacity: 0; transform: translateY(18px) scale(.32); }
    30% { opacity: 1; }
    78% { opacity: 1; transform: translateY(-3px) scale(1.055); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  #inicio .hero-dog img { animation: none !important; opacity: 1; transform: none; }
}


/* ACTUALIZACIÓN 2026-10-20 | Identidad, jerarquía, accesibilidad y SEO visual.
   Heredamos íntegros los ajustes anteriores del hero y animaciones V16. */
:root { --blue:#0468D1; --dark:#022754; --yellow:#FEC019; --sky:#DCEAF8; --text:#1D4A7E; }
body { font-family:'Nunito Sans',Nunito,Arial,sans-serif; }
h1,h2,h3,.eyebrow,.nav,.btn { font-family:Nunito,'Nunito Sans',sans-serif; }
.hero h1,.subhero h1,.section-top h2,section h2,.page-title { font-family:Nunito,Arial,sans-serif; font-weight:900; letter-spacing:-.025em; }
.hero h1 { text-wrap:balance; }
.hero p { font-weight:500; color:#fff; max-width:560px; }
.hero .eyebrow { font-weight:800; letter-spacing:.09em; color:#fff; }
.site-header { background:var(--blue); }
.site-footer { background:#022754; }
.nav a,.nav-drop>button { font-weight:800; }
.eyebrow-blue { color:#0468D1; }
.link-arrow { color:#075aaf; text-decoration-thickness:2px; text-underline-offset:3px; }
.soft { background:#f5faff; }
.btn-yellow { color:#022754; }
.btn-blue { background:#022754; color:#fff; }
.copyright { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.copyright a { display:inline; color:#fff; text-decoration:underline; text-underline-offset:3px; font-weight:800; }
.copyright a:hover { color:#FEC019; }
.skip-link { position:absolute; left:12px; top:-90px; z-index:9999; background:#FEC019; color:#022754; padding:12px 20px; border-radius:8px; font-weight:900; }
.skip-link:focus { top:12px; }
:where(a,button,summary):focus-visible { outline:3px solid #FEC019; outline-offset:4px; border-radius:4px; }
.contact-box .map-container { margin-top:20px; overflow:hidden; border-radius:15px; background:#fff; }
.map-container iframe { width:100%; height:300px; display:block; border:0; }
.contact-box .link-arrow { display:inline-block; margin-top:10px; }
.contact-box small { color:#022754; }
/* Conservar estructura hero escritorio, optimizar escala/lectura sin recortar el perro. */
@media (min-width:761px) {
 #inicio h1 { font-size:clamp(36px,3.35vw,50px); line-height:1.12; margin:10px 0 15px; }
 #inicio p { font-size:clamp(16px,1.2vw,18px); line-height:1.55; }
 #inicio .hero-actions { margin-top:20px; }
}
@media (max-width:760px) {
 .nav { background:#022754; }
 #inicio h1 { font-size:clamp(31px,8vw,40px); line-height:1.14; letter-spacing:-.02em; margin:0 0 14px; }
 #inicio p { font-size:16px; line-height:1.55; }
 #inicio .eyebrow { font-size:11px; line-height:1.5; }
 #inicio .hero-dog { margin-bottom:42px; }
 #inicio .hero-actions { align-items:stretch; }
 #inicio .hero-actions .btn { min-height:46px; }
 .contact-box { padding:22px; }
 .copyright { flex-direction:column; align-items:flex-start; }
}
@media (max-width:390px) {
 #inicio .hero-actions { display:grid; grid-template-columns:1fr; }
 .container { width:min(1180px,calc(100% - 32px)); }
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 #inicio .hero-dog img { animation:none!important; transform:none!important; opacity:1!important; }
}


/* 2026-10-20 | Footer V2 y reseñas. Cambios focalizados; hero sin modificaciones. */
.site-footer{
  background:#022754;
  color:#fff;
  padding:54px 0 26px;
}
.site-footer .footer-inner{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(116px,.65fr) minmax(210px,1.05fr) minmax(135px,.75fr);
  align-items:start;
  gap:clamp(22px,3vw,46px);
}
.site-footer .footer-brand-link{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border-radius:13px;
  padding:10px 13px;
  margin:0;
  max-width:100%;
  box-shadow:0 5px 20px #001d3b25;
}
.site-footer .footer-brand-link .footer-brand-logo{
  display:block;
  width:min(245px,100%);
  height:auto !important;
  max-height:none;
  aspect-ratio:3 / 1;
  object-fit:contain;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
}
.site-footer .footer-brand-description{
  max-width:270px;
  color:#dceaf8;
  font-size:14px;
  line-height:1.65;
  margin:16px 0 0;
}
.site-footer .footer-column-title{
  display:block;
  margin:8px 0 16px;
  font-size:16px;
  font-family:Nunito,'Nunito Sans',Arial,sans-serif;
  font-weight:900;
  color:#fff;
}
.site-footer .footer-nav,.site-footer .footer-contact-links,.site-footer .footer-social-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.site-footer .footer-nav a,.site-footer .footer-contact-links a,.site-footer .footer-social-links a{
  display:inline-flex;
  margin:0;
  font-size:15px;
  font-weight:650;
  line-height:1.45;
  color:#dceaf8;
  text-decoration:none;
  text-underline-offset:4px;
}
.site-footer .footer-nav a:hover,.site-footer .footer-contact-links a:hover,.site-footer .footer-social-links a:hover{
  color:#fff;
  text-decoration:underline;
}
.site-footer .footer-contact-address{
  font-size:14px;
  line-height:1.65;
  color:#dceaf8;
  margin:13px 0 0;
}
.site-footer .footer-social-links a{
  border:1px solid #7ca4ca;
  border-radius:10px;
  padding:10px 14px;
  min-width:125px;
  background:#143f71;
  justify-content:space-between;
  gap:12px;
}
.site-footer .footer-social-links a::after{content:'↗';font-weight:800;}
.site-footer .footer-social-links a:hover{background:#21518a;}
.site-footer .footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  margin-top:37px;
  padding-top:23px;
  border-top:1px solid #6385aa;
}
.site-footer .footer-copyright{
  margin:0;
  color:#dceaf8;
  font-size:13px;
  line-height:1.6;
}
.site-footer .footer-credit{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  gap:9px;
  margin:0;
  padding:12px 16px;
  border:1px solid #78a6d0;
  border-radius:11px;
  background:#174477;
  font-size:15px;
  font-weight:700;
  color:#dceaf8;
  line-height:1.4;
  text-decoration:none;
  transition:background-color .2s ease;
}
.site-footer .footer-credit strong{
  color:#fff;
  font-family:Nunito,'Nunito Sans',sans-serif;
  font-size:18px;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-footer .footer-credit:hover{background:#235a91;color:#fff;}
.site-footer .footer-credit:focus-visible{outline:3px solid #FEC019;outline-offset:4px;}
/* Reseñas: acceso a Google sin fabricar testimonios ni puntuaciones. */
#contacto .reviews-wrap{margin-top:36px;}
#contacto .reviews-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
  border:1px solid #c7dff5;
  border-radius:22px;
  background:#fff;
  padding:clamp(24px,3.6vw,39px);
  box-shadow:0 12px 32px #0227540a;
}
#contacto .reviews-panel h3{
  margin:9px 0 9px;
  font-family:Nunito,'Nunito Sans',sans-serif;
  font-weight:900;
  font-size:clamp(23px,2.6vw,30px);
  line-height:1.2;
  color:#022754;
}
#contacto .reviews-panel p{
  margin:0;
  color:#1D4A7E;
  font-size:16px;
  line-height:1.65;
  max-width:650px;
}
#contacto .reviews-actions{display:flex; flex-direction:column; align-items:stretch; gap:9px;}
#contacto .reviews-actions .btn{padding:13px 18px; white-space:normal; text-align:center;}
@media(max-width:1050px){
  .site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:46px;row-gap:28px;}
}
@media(max-width:760px){
  .site-footer{padding:39px 0 24px;}
  .site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 22px;}
  .site-footer .footer-brand-column{grid-column:1/-1;}
  .site-footer .footer-bottom{flex-direction:column;align-items:flex-start;margin-top:26px;gap:17px;}
  #contacto .reviews-panel{grid-template-columns:1fr;gap:19px;}
  #contacto .reviews-actions{align-items:flex-start;}
}
@media(max-width:430px){
  .site-footer .footer-inner{grid-template-columns:1fr;gap:24px;}
  .site-footer .footer-brand-column{grid-column:auto;}
  .site-footer .footer-column-title{margin-bottom:11px;}
  .site-footer .footer-credit{width:100%;justify-content:center;}
  #contacto .reviews-actions .btn{width:100%;}
}

/* Garantía adicional contra el estiramiento del logo en hosting y móvil. */
.site-footer .footer-brand-column{display:flex;flex-direction:column;align-items:flex-start;}
.site-footer .footer-brand-link{width:fit-content;max-width:100%;flex-shrink:0;}
.site-footer .footer-brand-link .footer-brand-logo{width:240px;max-width:100%;height:auto!important;}

/* Actualización contactos y redes — 20 oct 2026. Alcance: contacto y footer; hero intacto. */
.site-footer .footer-inner{
 grid-template-columns:minmax(220px,1.18fr) minmax(110px,.62fr) minmax(252px,1.28fr) minmax(206px,.98fr);
 gap:clamp(24px,2.7vw,36px);
}
.site-footer .footer-contact-links a{overflow-wrap:anywhere;word-break:normal;}
.site-footer .footer-contact-links .footer-email{font-size:14px;}
.site-footer .footer-social-links{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;align-items:stretch;width:100%;
}
.site-footer .footer-social-links .footer-social-item{
 display:flex; flex-direction:column; align-items:center;justify-content:center;
 gap:7px; margin:0; min-width:0; width:100%; min-height:90px;
 padding:10px 5px; background:#143f71; border:1px solid #7ca4ca;
 border-radius:13px; text-decoration:none;
}
.site-footer .footer-social-links .footer-social-item::after{content:none;}
.site-footer .footer-social-links .footer-social-item:hover,.site-footer .footer-social-links .footer-social-item:focus-visible{background:#21518a;}
.site-footer .footer-social-links .footer-social-item:focus-visible{outline:3px solid #FEC019;outline-offset:3px;}
.site-footer .footer-social-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:white;border-radius:11px;padding:6px;}
.site-footer .footer-social-icon img{width:31px;height:31px;object-fit:contain;border:0;background:transparent;padding:0;border-radius:0;}
.site-footer .footer-social-label{font-size:12px;line-height:1.25;font-weight:800;color:#fff;text-align:center;}
#contacto .contact-details{display:grid;gap:12px;margin:22px 0;}
#contacto .contact-detail{display:flex;flex-direction:column;gap:2px;}
#contacto .contact-detail-label{font-size:13px;font-weight:900;color:#1D4A7E;}
#contacto .contact-detail a{font-size:17px;line-height:1.45;font-weight:800;color:#022754;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
#contacto .contact-detail a:hover{color:#0468D1;}
#contacto .contact-channel-actions{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 15px;}
#contacto .contact-channel-link{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 13px;border-radius:11px;background:#fff;border:1px solid #a2c4e6;color:#022754;font-weight:900;font-size:13px;line-height:1.3;min-height:44px;}
#contacto .contact-channel-link img{width:24px;height:24px;object-fit:contain;}
#contacto .contact-channel-link:hover{background:#eef6ff;border-color:#0468D1;}
#contacto .contact-social-mini{font-size:14px;}
#contacto .contact-social-mini a{color:#022754;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
#contacto .reviews-google-icon{width:25px;height:25px;object-fit:contain;background:#fff;border-radius:5px;padding:3px;display:inline-block;flex:none;}
@media(max-width:1110px){.site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.site-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:430px){.site-footer .footer-inner{grid-template-columns:minmax(0,1fr);} .site-footer .footer-social-links{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:345px){.site-footer .footer-social-links{grid-template-columns:repeat(2,minmax(0,1fr));}#contacto .contact-detail a{font-size:15px;}}

/* Ajustes de legibilidad para teléfonos estrechos; sin alterar el hero. */
#contacto .contact-detail a[href^="mailto:"]{font-size:14px;overflow-wrap:anywhere;}
@media(max-width:360px){.trust-grid,.steps{grid-template-columns:minmax(0,1fr);}}


/* === Real photography integration === */
.real-photo-panel,
.subhero-photo-panel {
  background: #fff;
  padding: 0;
  min-height: 385px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(9,47,96,.08);
}
.real-photo-panel img,
.subhero-photo-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  max-width: none;
}
.real-photo-panel.portrait img,
.subhero-photo-panel.portrait img { object-position: center center; }
.photo-collage {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 10px;
  width: 100%;
  height: 100%;
  padding: 10px;
  background: linear-gradient(135deg,#dceaf8,#ffffff);
}
.photo-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
}
.photo-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  background: rgba(255,255,255,.92);
  color: var(--dark);
  font-weight: 900;
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: 0 10px 24px rgba(9,47,96,.12);
}
.subhero-photo-panel { min-height: 360px; }
.subhero-photo-panel img { object-position:center; }
@media (max-width:760px){
  .real-photo-panel,
  .subhero-photo-panel { min-height: 290px; }
  .photo-collage { gap: 8px; padding: 8px; }
  .photo-collage img { border-radius: 18px; }
  .photo-label { left: 12px; right: 12px; bottom: 12px; text-align: center; }
}


/* PREPARACIÓN 2026-10-20 | sliders automáticos listos para nuevas fotos */
.media-slider{position:relative;overflow:hidden}
.media-slider .slider-track{display:flex;height:100%;width:100%;transition:transform .7s ease}
.media-slider .slider-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.media-slider .slider-slide img{width:100%;height:100%;display:block}
.media-slider.slider-cover .slider-slide img{object-fit:cover;object-position:center}
.media-slider.slider-contain .slider-slide{padding:14px;background:linear-gradient(180deg,#eef7ff 0%, #ffffff 100%)}
.media-slider.slider-contain .slider-slide img{object-fit:contain;border-radius:26px;box-shadow:0 14px 30px rgba(2,39,84,.10)}
.media-slider .slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#022754;font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(2,39,84,.16)}
.media-slider .slider-prev{left:12px}.media-slider .slider-next{right:12px}
.media-slider .slider-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.media-slider .slider-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.58);cursor:pointer;padding:0}
.media-slider .slider-dot.is-active{background:#FEC019;box-shadow:0 0 0 2px rgba(2,39,84,.18)}
.media-slider .slider-nav[hidden], .media-slider .slider-dots[hidden]{display:none!important}
.real-photo-panel.media-slider .photo-label{z-index:3}
.subhero-photo-panel.media-slider{min-height:360px}
.subhero-photo-panel.media-slider .slider-slide{padding:18px}
.subhero-photo-panel.media-slider .slider-slide img{max-width:100%;max-height:100%}
@media (max-width:760px){
  .media-slider .slider-nav{width:38px;height:38px;font-size:22px}
  .subhero-photo-panel.media-slider{min-height:295px}
  .subhero-photo-panel.media-slider .slider-slide{padding:12px}
  .real-photo-panel.media-slider .photo-label{left:10px;right:10px;bottom:10px;text-align:center}
}


/* 2026-10-24 — Reparación focalizada de carruseles de fotografías reales.
   Se elimina el margen nativo de figure (origen de los vacíos) y se estabiliza
   el alto/ancho del marco sin modificar hero, navegación, footer ni SEO. */
#instalaciones .split,
#nosotros .split,
.subhero .split { grid-template-columns:repeat(2,minmax(0,1fr)); }
#instalaciones .split > *,
#nosotros .split > *,
.subhero .split > * { min-width:0; }
.media-slider.visual-panel {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:0;
  height:clamp(310px,30vw,415px);
  overflow:hidden;
  isolation:isolate;
  border-radius:32px;
  background:#DCEAF8;
}
.subhero .media-slider.visual-panel {height:clamp(320px,33vw,435px);min-height:0;}
.media-slider .slider-track {
  display:flex;
  align-items:stretch;
  height:100%;
  width:100%;
  max-width:100%;
  min-width:0;
  gap:0;
  transition:transform .65s ease-in-out;
  will-change:transform;
}
.media-slider .slider-slide,
.media-slider.slider-contain .slider-slide,
.subhero .media-slider .slider-slide,
.subhero-photo-panel.media-slider .slider-slide {
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 100%;
  width:100%;
  min-width:0;
  max-width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  overflow:hidden;
  background:#DCEAF8;
  box-sizing:border-box;
}
/* Llenar los laterales con una versión suavizada de la misma foto. */
.media-slider .slider-slide::before {
  content:"";
  position:absolute;
  inset:-18px;
  z-index:0;
  background-image:var(--slide-photo);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  filter:blur(22px) brightness(.79);
  transform:scale(1.06);
}
.media-slider .slider-slide::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,rgba(2,39,84,.10),transparent 30%,transparent 70%,rgba(2,39,84,.10));
  pointer-events:none;
}
.media-slider .slider-slide > img,
.media-slider.slider-cover .slider-slide > img,
.media-slider.slider-contain .slider-slide > img,
.subhero .media-slider .slider-slide > img {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  max-width:100%;
  max-height:100%;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:center;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.media-slider .slider-nav { z-index:4; }
.media-slider .slider-dots { z-index:4; bottom:14px; }
.media-slider .bubble { z-index:3; }
.media-slider .photo-label { z-index:3; max-width:calc(100% - 36px); }
.media-slider .slider-pause {
  position:absolute;
  z-index:4;
  right:14px;
  top:14px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:#022754;
  box-shadow:0 7px 15px rgba(2,39,84,.14);
  font:800 18px Nunito,sans-serif;
  cursor:pointer;
}
.media-slider .slider-pause:focus-visible {outline:3px solid #FEC019;outline-offset:3px;}
@media(max-width:760px){
  #instalaciones .split,
  #nosotros .split,
  .subhero .split{grid-template-columns:minmax(0,1fr);}
  .media-slider.visual-panel {height:clamp(260px,82vw,365px);border-radius:24px;}
  .subhero .media-slider.visual-panel {height:clamp(275px,85vw,375px);}
  .media-slider .slider-nav {width:38px;height:38px;}
  .media-slider .slider-pause {width:34px;height:34px;right:9px;top:9px;}
}
@media(prefers-reduced-motion:reduce){
  .media-slider .slider-track{transition:none;will-change:auto;}
}

/* El elemento reemplazado no participa en el cálculo de tamaño del grid.
   Esto evita que un WebP cuadrado fuerce 560px de alto dentro de un marco de 415px. */
.media-slider .slider-slide,
.media-slider.slider-contain .slider-slide,
.subhero .media-slider .slider-slide {
  display:block;
}
.media-slider .slider-slide > img,
.media-slider.slider-cover .slider-slide > img,
.media-slider.slider-contain .slider-slide > img,
.subhero .media-slider .slider-slide > img {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  max-height:100%;
  object-fit:contain;
}
#instalaciones .media-slider .photo-label {
  top:13px;
  bottom:auto;
  left:13px;
  right:auto;
  width:auto;
  padding:8px 12px;
  font-size:12px;
  line-height:1.3;
  max-width:calc(100% - 75px);
  text-align:left;
}

/* Contraste legible para la etiqueta del servicio sobre fotos */
.media-slider .bubble {color:#022754; font-size:14px;}


/* CANINOS | Ajuste final del marco fotográfico, octubre 2026.
   El contenedor acompaña el formato vertical de las fotos. No se usan
   bandas duplicadas/desenfocadas. Mantiene las secciones y el hero intactos. */
#instalaciones .media-slider.visual-panel,
#nosotros .media-slider.visual-panel,
.subhero .media-slider.visual-panel {
  box-sizing:border-box;
  width:min(100%, 410px);
  aspect-ratio:3 / 4;
  height:auto;
  max-height:none;
  min-height:0;
  margin-inline:auto;
  display:block;
  overflow:hidden;
  border-radius:26px;
  background:transparent;
  box-shadow:0 18px 40px rgba(2,39,84,.13);
}
/* Originalmente el desenfoque trataba de rellenar una base horizontal;
   ahora el propio marco contiene la fotografía. */
.media-slider .slider-slide::before,
.media-slider .slider-slide::after { content:none; display:none; }
.media-slider .slider-track {
  display:flex;
  gap:0;
  align-items:stretch;
  height:100%;
  transition:transform .95s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.media-slider .slider-slide,
.media-slider.slider-contain .slider-slide,
.media-slider.slider-cover .slider-slide,
.subhero .media-slider .slider-slide {
  flex:0 0 100%;
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  max-width:100%;
  padding:0;
  margin:0;
  background:transparent;
}
.media-slider .slider-slide > img,
.media-slider.slider-contain .slider-slide > img,
.media-slider.slider-cover .slider-slide > img,
.subhero .media-slider .slider-slide > img {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  object-fit:cover;
  object-position:center center;
  border:0;
  border-radius:0;
  box-shadow:none;
}
/* Evitar etiquetas sobre rostros, patas y elementos esenciales. */
#instalaciones .media-slider .photo-label {
  top:12px;
  bottom:auto;
  left:12px;
  right:auto;
  max-width:calc(100% - 64px);
  font-size:11px;
  padding:8px 10px;
  border-radius:999px;
  line-height:1.25;
}
.media-slider .slider-dots { bottom:13px; }
.media-slider .slider-nav{width:38px;height:38px;}
.media-slider .slider-prev{left:10px;}
.media-slider .slider-next{right:10px;}
/* Galerías de servicio: etiquetas encima, sin estirar fotos. */
.subhero .media-slider .bubble {max-width:calc(100% - 28px);}
@media(max-width:760px){
  #instalaciones .media-slider.visual-panel,
  #nosotros .media-slider.visual-panel,
  .subhero .media-slider.visual-panel {
    width:min(100%, 350px);
    aspect-ratio:3 / 4;
    height:auto;
    min-height:0;
    max-height:none;
    border-radius:22px;
  }
  .media-slider .slider-nav{width:38px;height:38px;}
  #instalaciones .media-slider .photo-label{max-width:calc(100% - 60px);font-size:10px;}
}
@media(prefers-reduced-motion:reduce){
  .media-slider .slider-track{transition:none;will-change:auto;}
}

/* 2026-11-08: galerías visibles y accesibles, sin slider ni recorte de fotografías */
.caninos-gallery.visual-panel{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:12px!important;background:#DCEAF8;display:grid!important;align-content:start;gap:12px;border-radius:24px;box-shadow:none}
.caninos-gallery-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.caninos-gallery .caninos-gallery-item{margin:0!important;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 2px 9px rgba(2,39,84,.08)}
.caninos-gallery .caninos-gallery-item img{display:block!important;position:static!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;border-radius:0!important;transform:none!important}
.caninos-hotel-cover{overflow:hidden;position:relative;min-height:300px}
.caninos-hotel-cover>img{display:block;width:100%;height:100%;object-fit:contain;background:#DCEAF8}
.caninos-hotel-gallery-section{padding:64px 0 48px;background:#fff}
.caninos-gallery-wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.caninos-gallery-wide .caninos-gallery-item{border:1px solid #DCEAF8;border-radius:18px}
@media(max-width:760px){.caninos-gallery-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.caninos-gallery-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.caninos-hotel-gallery-section{padding:40px 0}.caninos-gallery.visual-panel{padding:8px!important;gap:8px}.caninos-hotel-cover{min-height:230px}}
@media(max-width:420px){.caninos-gallery-compact{grid-template-columns:1fr}.caninos-gallery-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Ajuste de galerías para pantallas de escritorio, 2026-11-08.
   Las reglas móviles originales permanecen intactas. */
@media (min-width: 761px) {
  .caninos-gallery.caninos-gallery-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .caninos-hotel-gallery-section .caninos-gallery-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 900px;
    margin-inline: auto;
    gap: 14px;
  }
  .caninos-gallery .caninos-gallery-item img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* CANINOS | 2026-11-08 | Contenido sobre la galería en todas las secciones interiores.
   Los hero y subhero permanecen sin modificaciones. */
.caninos-photo-section-content {display:flex;flex-direction:column;align-items:stretch;gap:32px;}
.caninos-photo-section-heading {text-align:center;max-width:760px;margin-inline:auto;width:100%;}
.caninos-photo-section-heading .lead {max-width:740px;margin-left:auto;margin-right:auto;}
.caninos-photo-section-heading .btn {margin-top:8px;}
.caninos-gallery.caninos-gallery-unified {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;max-width:900px;width:100%;margin-inline:auto;padding:0;background:transparent;}
.caninos-gallery.caninos-gallery-unified .caninos-gallery-item {border:1px solid #DCEAF8;border-radius:18px;}
.caninos-hotel-gallery-section .caninos-gallery-wide {max-width:900px;}
@media(max-width:760px){
  .caninos-photo-section-content {gap:24px;}
  .caninos-gallery.caninos-gallery-unified {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
}
@media(max-width:420px){
  .caninos-gallery.caninos-gallery-unified {grid-template-columns:1fr;}
}


/* CANINOS 2026-11-08 FINAL - Galerias de todas las secciones de contenido.
   Los heroes (.hero, .subhero) y sus carruseles no se modifican. */
@media (min-width: 761px) {
  main section:not(.hero):not(.subhero) .caninos-gallery,
  main section:not(.hero):not(.subhero) .caninos-gallery.caninos-gallery-compact,
  main section:not(.hero):not(.subhero) .caninos-gallery.caninos-gallery-wide,
  #nosotros .caninos-gallery,
  #instalaciones .caninos-gallery,
  .caninos-hotel-gallery-section .caninos-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    max-width: 900px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 14px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  #nosotros > .container,
  #instalaciones > .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 30px !important;
  }
}
#nosotros .caninos-photo-section-heading,
#instalaciones .caninos-photo-section-heading,
.caninos-hotel-gallery-section .section-top {
  width: 100%;
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}
main section .caninos-gallery > .caninos-gallery-item {
  position: relative !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
}
main section .caninos-gallery > .caninos-gallery-item > img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
  transform: none !important;
}
@media (max-width: 760px) {
  #nosotros .caninos-gallery,
  #instalaciones .caninos-gallery,
  .caninos-hotel-gallery-section .caninos-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    gap: 8px !important;
  }
}
@media (max-width: 420px) {
  #nosotros .caninos-gallery,
  #instalaciones .caninos-gallery {grid-template-columns: 1fr !important;}
}

/* 2026-11-08: Formato consistente para todas las galerías interiores.
   No afecta los héroes ni sus imágenes originales. */
main .caninos-gallery > .caninos-gallery-item {aspect-ratio:1 / 1 !important;}
main .caninos-gallery > .caninos-gallery-item > img {
  width:100% !important;height:100% !important;
  aspect-ratio:1 / 1 !important;object-fit:cover !important;
}

/* Instagram Caninos – sección de inicio; independiente de galerías y héroes */
.caninos-instagram-section{padding:72px 0 68px;background:#fff;border-top:1px solid #DCEAF8;}
.caninos-instagram-section .section-top{text-align:center;max-width:740px;margin:0 auto 28px;}
.caninos-instagram-handle{display:inline-block;margin-top:12px;font-weight:800;color:#0468D1;text-decoration:none;}
.caninos-instagram-handle:hover{text-decoration:underline;}
.caninos-instagram-grid{width:100%;max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.caninos-instagram-tile{display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#DCEAF8;border:1px solid #DCEAF8;box-shadow:0 3px 12px rgba(2,39,84,.07);transition:transform .2s ease,box-shadow .2s ease;}
.caninos-instagram-tile:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(2,39,84,.13);}
.caninos-instagram-tile img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;}
.caninos-instagram-footer{text-align:center;margin:23px auto 0;display:flex;flex-direction:column;align-items:center;gap:14px;}
.caninos-instagram-footer p{font-size:.93rem;color:#1D4A7E;margin:0;}
.caninos-instagram-btn{background:#FEC019!important;color:#022754!important;border:2px solid #022754!important;border-radius:12px!important;display:inline-flex!important;align-items:center;justify-content:center;font-weight:900;text-decoration:none;}
.caninos-instagram-btn:hover{background:#f3b70f!important;}
.caninos-instagram-embed-area{max-width:540px;margin:28px auto 0;}
@media(max-width:760px){.caninos-instagram-section{padding:48px 0}.caninos-instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.caninos-instagram-tile{border-radius:12px;}}
@media(max-width:420px){.caninos-instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.caninos-instagram-section .section-top{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.caninos-instagram-tile{transition:none;}}

/* Instagram: solo perfil integrado, sin galería de fotografías locales */
.caninos-instagram-embed-area{max-width:540px;margin:28px auto 18px;}
.caninos-instagram-footer{margin:12px auto 0;}
