/* catálogo: complementos sem React */
#cat-mobile-panel:not([hidden]){display:flex}
#cat-mobile-overlay:not([hidden]){display:block}
.cat-card[hidden]{display:none}
.cat-card img,.cat-hero img{display:block}
.cat-units{border-collapse:collapse;min-width:32rem}
.cat-units th,.cat-units td{padding:.55rem .65rem;border-bottom:1px solid hsl(var(--border));vertical-align:top}
.cat-units th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));font-weight:600}
.cat-ruler-track{height:.55rem;border-radius:999px;background:hsl(var(--muted));overflow:hidden}
.cat-ruler-fill{height:100%;border-radius:999px}
.cat-ruler-emp{background:hsl(168 45% 32%)}
.cat-ruler-city{background:hsl(var(--muted-foreground)/.45)}
.cat-hero{overflow:hidden;border-radius:1.1rem;border:1px solid hsl(var(--border));background:hsl(var(--card))}
.cat-hero-main{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in}
.cat-hero-main:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.cat-hero-main img{display:block;width:100%;height:auto;object-fit:cover;max-height:28rem}
.cat-gallery{display:flex;gap:.5rem;padding:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cat-gallery::-webkit-scrollbar{display:none}
.cat-gallery-thumb{flex:0 0 6.5rem;scroll-snap-align:start}
@media(min-width:640px){.cat-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));overflow:visible}}
.cat-gallery-thumb{display:block;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;border-radius:.65rem;overflow:hidden}
.cat-gallery-thumb:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.cat-gallery-thumb:hover img,.cat-gallery-thumb:active img{opacity:.92}
.cat-gallery img{width:100%;height:5.5rem;object-fit:cover;border-radius:.65rem;border:1px solid hsl(var(--border));display:block}
.cat-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
@media(min-width:640px){.cat-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.cat-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cat-fact{border:1px solid hsl(var(--border));border-radius:.9rem;background:hsl(var(--card));padding:.75rem .85rem;min-width:0}
.cat-fact-k{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));font-weight:600;margin-bottom:.2rem}
.cat-fact-v{display:block;font-size:.95rem;font-weight:600;color:hsl(var(--foreground));line-height:1.25;overflow-wrap:break-word;hyphens:auto}
.cat-tip-grid{display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:640px){.cat-tip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat-tip-card{border:1px solid hsl(var(--border));border-radius:.9rem;padding:1rem;background:hsl(var(--background))}
.cat-tip-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:600;color:hsl(var(--foreground))}
.cat-tip-meta{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground));display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center}
.cat-tip-sep{opacity:.5}
.cat-tip-price{font-weight:600;color:hsl(var(--foreground))}
.cat-tip-plant{width:100%;height:auto;border-radius:.65rem;margin-bottom:.65rem;border:1px solid hsl(var(--border))}
.cat-pay-flow{list-style:none;display:grid;gap:.75rem}
.cat-pay-step{display:flex;gap:.85rem;align-items:flex-start;border:1px solid hsl(var(--border));border-radius:.9rem;padding:.85rem 1rem;background:hsl(var(--background))}
.cat-pay-num{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;background:hsl(168 45% 32%)}
.cat-pay-kind{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:hsl(var(--muted-foreground))}
.cat-pay-detail{margin:.15rem 0 0;font-size:.95rem;color:hsl(var(--foreground));line-height:1.35}
.cat-wa-bar{display:none}
@media(max-width:767px){
  .cat-main{padding-bottom:5.5rem}
  .cat-wa-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom));background:hsl(var(--background)/.96);border-top:1px solid hsl(var(--border));backdrop-filter:blur(8px)}
  .cat-wa-bar-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;padding:.7rem 1rem;border-radius:999px;font-size:.9rem;font-weight:600;text-align:center;text-decoration:none;color:hsl(var(--primary-foreground));background:hsl(var(--primary));box-shadow:0 6px 16px hsl(168 45% 20% / .22)}
  .cat-wa-bar-btn:hover,.cat-wa-bar-btn:active{filter:brightness(.95)}
  .cat-wa-bar-btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
}
html.cat-lb-open,html.cat-lb-open body{overflow:hidden}
.cat-lb{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(8,16,18,.92);padding:1rem}
.cat-lb[hidden]{display:none!important}
.cat-lb-img{max-width:min(96vw,1200px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:.5rem}
.cat-lb-close,.cat-lb-prev,.cat-lb-next{position:absolute;border:0;cursor:pointer;color:#fff;background:rgba(0,0,0,.45);border-radius:999px;width:2.5rem;height:2.5rem;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.cat-lb-close:hover,.cat-lb-prev:hover,.cat-lb-next:hover,.cat-lb-close:active,.cat-lb-prev:active,.cat-lb-next:active{background:rgba(0,0,0,.7)}
.cat-lb-close:focus-visible,.cat-lb-prev:focus-visible,.cat-lb-next:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cat-lb-close{top:1rem;right:1rem}
.cat-lb-prev{left:.75rem;top:50%;transform:translateY(-50%)}
.cat-lb-next{right:.75rem;top:50%;transform:translateY(-50%)}
