
/* v21 UX + estructura global */
:root{--v21-space-section:clamp(72px,9vw,132px);--v21-shadow:0 18px 50px rgba(15,23,42,.09)}
body{background:#fff}
.grid{gap:32px!important}
.card img,.related-card img{background:#eef1f7}
.card{will-change:transform}
.v21-skeleton{position:relative;min-height:430px;border-radius:5px;background:linear-gradient(100deg,#eef1f7 20%,#f8fafc 40%,#eef1f7 60%);background-size:220% 100%;animation:v21Shimmer 1.2s infinite;overflow:hidden}
.v21-skeleton:after{content:"";position:absolute;left:16px;right:16px;bottom:16px;height:120px;border-radius:18px;background:rgba(255,255,255,.55)}
@keyframes v21Shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
.empty{box-shadow:0 18px 50px rgba(15,23,42,.05)}
.empty a,.empty button{font-weight:700}
.section{margin-top:var(--v21-space-section)!important}
.hero-info{margin-bottom:var(--v21-space-section)!important}.gallery-shell{margin-bottom:clamp(54px,7vw,96px)!important}
.cta,.icon-only,.icon-btn,.page-btn,.filter-button,.clear-button{touch-action:manipulation}
.map-fallback .cta{padding-inline:30px!important;min-height:58px!important}
.feature{border-radius:999px!important;white-space:nowrap}.features-strip{gap:12px!important;padding-bottom:6px}
.related-grid{gap:22px!important}.related-card{box-shadow:0 16px 42px rgba(15,23,42,.075)!important}.mini-card{box-shadow:0 12px 36px rgba(15,23,42,.06)!important}
.v21-mobile-filter{display:none}
@media(max-width:640px){
  .drawer{top:auto!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:min(82vh,720px)!important;border-radius:24px 24px 0 0!important;transform:translateY(105%)!important;box-shadow:0 -24px 70px rgba(15,23,42,.22)!important}
  .drawer.open{transform:translateY(0)!important}
  .drawer-head{padding-top:18px!important}.drawer-head:before{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;border-radius:999px;background:#d0d5dd;transform:translateX(-50%)}
  .drawer-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.checks{grid-template-columns:1fr!important}
  .toolbar{box-shadow:none!important;border-radius:18px!important}.grid{gap:30px!important}.card{min-height:430px!important}
  .mobile-bar{left:10px!important;right:10px!important;bottom:10px!important;border-radius:999px!important;padding:7px!important}.mobile-bar a,.mobile-bar button{font-size:0!important;display:inline-flex;align-items:center;justify-content:center}.mobile-bar a:before,.mobile-bar button:before{font-size:13px!important}.mobile-bar a[href*="maps"]:before{content:"Mapa"}.mobile-bar a[href*="wa.me"]:before{content:"WhatsApp"}.mobile-bar button:before{content:"Compartir"}
}
.v21-toast{position:fixed;left:50%;bottom:24px;z-index:9999;transform:translate(-50%,20px);opacity:0;background:#111827;color:#fff;border-radius:999px;padding:10px 14px;font-size:13px;box-shadow:0 18px 50px rgba(15,23,42,.22);transition:.2s ease;pointer-events:none}.v21-toast.show{opacity:1;transform:translate(-50%,0)}
.v21-fav-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.v21-fav-actions a,.v21-fav-actions button{height:42px;border-radius:999px;padding:0 16px;border:1px solid var(--line,#E7EAF0);background:#fff;color:#111827;font:inherit;font-weight:700;cursor:pointer}.v21-fav-actions .primary{background:var(--primary,#4666FF);color:#fff;border-color:var(--primary,#4666FF)}

/* v22 ajustes UX */
.filter-button,.clear-button,.page-btn{border-radius:999px!important;font-weight:650!important}.clear-button{display:none}.distance{border-radius:999px!important}.badge,.pill{font-weight:500!important;text-transform:none!important;letter-spacing:0!important}.feature-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}.feature{min-width:0!important;white-space:normal!important}.feature strong{white-space:normal!important;overflow-wrap:anywhere!important;min-width:0!important}.mobile-bar a:before,.mobile-bar button:before{content:none!important}.mobile-bar a,.mobile-bar button{font-size:0!important}.map-fallback .cta{padding-inline:34px!important;min-height:62px!important}.geo-notice{margin-bottom:6px}
@media(max-width:640px){.map-fallback{flex-direction:column!important;align-items:stretch!important}.map-fallback .cta{width:100%!important}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
