/* Página de catálogo — dirección A "Vitrina" (ver .workspace/features/catalogo-ecommerce/DESIGN.md) */
.cat-section{padding-top:64px;padding-bottom:100px}
.cat-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:40px;margin-bottom:36px}
.cat-head h2{font-size:clamp(36px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;margin:14px 0 0;font-weight:600}
.cat-head>p{color:var(--muted);line-height:1.7;max-width:390px;margin:0}
.cat-eyebrow{font-size:13px}
.nav-current{color:var(--red)!important;font-weight:600}

.cat-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cat-search{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:#ece9e2;border:1px solid var(--line);padding:11px 14px}
.cat-search svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2;flex:0 0 auto}
.cat-search input{border:0;background:none;outline:none;font:400 14px Archivo;width:100%;color:var(--ink)}
.cat-search input::placeholder{color:var(--muted)}
.cat-search:focus-within{border-color:var(--ink)}
.cat-sort{display:flex;align-items:center;gap:8px;font:700 10px "Space Mono";color:var(--muted);letter-spacing:.06em}
.cat-sort select{border:1px solid var(--line);background:#ece9e2;font:700 10px "Space Mono";padding:11px 8px;color:var(--ink);cursor:pointer}

.cat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 24px}
.cat-chip{font:700 10px "Space Mono";letter-spacing:.06em;border:1px solid var(--line);background:transparent;padding:9px 12px;color:var(--muted);cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}
.cat-chip b{color:var(--red);font-weight:700;margin-left:5px}
.cat-chip:hover{color:var(--red);transform:translateY(-1px)}
.cat-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-count{font:400 11px "Space Mono";color:var(--muted);margin:0 0 16px}

.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-card{background:#e9e6df;display:flex;flex-direction:column}
.cat-img{display:block;aspect-ratio:1/1;background:#151719;position:relative;overflow:hidden}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cat-card:hover .cat-img img{transform:scale(1.045)}
.cat-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--red);color:#fff;font:700 9px "Space Mono";letter-spacing:.08em;padding:4px 7px}
.cat-photos{position:absolute;top:12px;right:12px;z-index:2;color:#888;font:400 9px "Space Mono"}
.cat-body{padding:16px 16px 14px;display:flex;flex-direction:column;flex:1}
.cat-body small{font:700 9px "Space Mono";color:var(--red);letter-spacing:.08em}
.cat-body h3{font-size:15px;line-height:1.3;letter-spacing:-.02em;margin:8px 0 8px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat-meta{font:400 10px "Space Mono";color:var(--muted);margin-bottom:12px}
.cat-foot{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cat-price{font:700 16px "Space Mono";letter-spacing:-.02em;white-space:nowrap}
.cat-price i{display:inline-block;width:5px;height:5px;background:var(--red);transform:rotate(45deg);margin:0 7px 1px 0}
.cat-price.free{color:var(--red)}
.cat-cta{font:700 9px "Space Mono";letter-spacing:.06em;color:var(--ink);text-decoration:none;white-space:nowrap}
.cat-cta:hover{color:var(--red)}

.cat-empty{padding:70px 20px;text-align:center}
.cat-empty svg{width:44px;height:44px;stroke:var(--red);fill:none;stroke-width:1.6;stroke-linecap:round;margin-bottom:18px}
.cat-empty h3{font-size:26px;letter-spacing:-.03em;margin:0 0 10px;font-weight:600}
.cat-empty p{color:var(--muted);max-width:460px;margin:0 auto 26px;line-height:1.65}
.cat-empty-row{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}
.cat-clear{font-weight:600}
.cat-clear b{color:var(--red)}
.cat-clear:hover{color:var(--red)}

@media(max-width:1000px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){
  .cat-section{padding-top:36px;padding-bottom:70px}
  .cat-head{grid-template-columns:1fr;gap:14px;margin-bottom:22px}
  .cat-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-body{padding:12px 12px 12px}
  .cat-body h3{font-size:13px}
  .cat-foot{flex-direction:column;align-items:flex-start;gap:7px}
}
