/* ---------- catálogo ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;padding:16px var(--pad);border-bottom:var(--hairline);align-items:center}
.filters input[type=search]{flex:1;min-width:200px;border:var(--hairline);padding:11px 12px;font:400 .95rem var(--body)}
.fbtn{background:none;border:var(--hairline);font:700 .72rem var(--body);letter-spacing:.05em;text-transform:uppercase;padding:8px 12px;cursor:pointer}
.fbtn[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.pcard a.plink{text-decoration:none;display:flex;flex-direction:column;height:100%}
.pcard .pcta{margin-top:auto;border-top:var(--hairline);padding:9px 14px;font:700 .72rem var(--body);letter-spacing:.05em;text-transform:uppercase}
.pcard a.plink:hover .pcta,.pcard a.plink:focus-visible .pcta{background:var(--ink);color:var(--paper)}
.count-note{padding:10px var(--pad);font-size:.76rem;color:var(--meta)}
/* detalle */
.crumb{padding:12px var(--pad);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:var(--hairline)}
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline}
.detail-grid{display:grid;grid-template-columns:2fr 3fr;gap:clamp(16px,3vw,44px);padding:clamp(20px,2.5vw,36px) var(--pad);align-items:start}
.detail-grid > img{width:100%;border:var(--hairline)}
.d-cat{display:inline-block;border:1px solid var(--ink);padding:4px 9px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.detail-grid h1{font-size:clamp(2rem,4.5vw,3.4rem)}
.d-desc{margin:14px 0 20px;font-size:1rem;max-width:34em}
.ph-note{font-size:.76rem;color:var(--meta);margin-top:8px}
.photo-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.5vw,20px);padding:0 var(--pad) clamp(20px,2.5vw,36px)}
.slot{border:2px dashed var(--meta);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:14px;color:var(--meta)}
.slot strong{font:700 .78rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.slot span{font-size:.74rem;max-width:18em}
.slot svg{width:34px;height:34px;stroke:var(--meta);fill:none;stroke-width:1.5}
.info-block{margin:0 var(--pad) clamp(20px,2.5vw,36px);border:var(--hairline);padding:clamp(14px,2vw,24px)}
.info-block h2{font-size:1.1rem;margin-bottom:10px}
.info-block p{font-size:.92rem;max-width:60em}
.info-block .ph-val{color:var(--meta)}
@media (max-width:760px){.detail-grid{grid-template-columns:1fr}.photo-slots{grid-template-columns:1fr}}
