.catalog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-top:2px solid var(--black);margin-bottom:26px;font-size:14px}
.catalog-heading>span:first-child{font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:1.5px}
.catalog-heading>span:last-child{color:#626262}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.catalog-card{min-width:0;background:#fff;border:1px solid #e4e4e4;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.catalog-card:hover{border-color:var(--blue);box-shadow:0 10px 25px #0d0d0d09}
.catalog-photo{appearance:none;display:block;width:100%;aspect-ratio:1;border:0;padding:0;position:relative;background:#eee;cursor:zoom-in;overflow:hidden}
.catalog-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.catalog-photo:hover img{transform:scale(1.035)}
.catalog-zoom{position:absolute;right:12px;bottom:12px;border-radius:5px;background:#fffffff2;color:#111;padding:7px 10px;font:500 13px Poppins,Arial,sans-serif}
.catalog-card-body{padding:21px;display:flex;flex:1;flex-direction:column}
.catalog-card h3{font-size:17px;line-height:1.4;letter-spacing:-.4px;margin:0 0 10px}
.catalog-card p{font-size:14px;line-height:1.7;color:#666;margin-bottom:20px}
.catalog-consult{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;color:#205fbe;border-top:1px solid #e5e5e5;padding-top:15px;margin-top:auto}
.catalog-consult:hover{color:#111}
.catalog-bottom{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:36px}
.catalog-more{background:var(--black);color:white;border:1px solid var(--black);border-radius:7px;padding:17px 28px;font:500 14px Poppins,Arial,sans-serif;cursor:pointer;display:flex;gap:28px;align-items:center}
.catalog-more:hover{background:#2e2e2e}
.catalog-progress{font-size:13px;color:#666;margin:0}
#productos .catalog-note{text-align:center;font-size:14px;line-height:1.8;margin-top:25px}
#productos button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
#productos [hidden]{display:none!important}
.catalog-dialog{padding:0;border:0;border-radius:12px;max-width:1050px;width:90vw;max-height:90vh;overflow:auto;color:var(--black);background:#fff}
.catalog-dialog[open]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.catalog-dialog::backdrop{background:#080d18c9}
.catalog-close{position:absolute;right:12px;top:12px;z-index:1;border:1px solid #ddd;border-radius:50%;width:42px;height:42px;background:#fff;color:#111;cursor:pointer;font-size:27px;line-height:1}
.catalog-detail-image{display:flex;align-items:center;justify-content:center;background:#f4f4f4;min-height:0}
.catalog-detail-image img{display:block;width:100%;max-height:82vh;object-fit:contain}
.catalog-detail-body{padding:65px 32px 32px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.catalog-detail-body .eyebrow{font-size:12px;color:#626262}
.catalog-detail-body h3{font-size:26px;line-height:1.25;letter-spacing:-.6px;margin-bottom:16px}
.catalog-detail-description{font-size:16px;line-height:1.75;color:#666}
.catalog-detail-body .catalog-consult{margin-top:30px}
.catalog-gallery-nav{display:flex;align-items:center;gap:20px;margin-top:16px}
.catalog-gallery-nav button{width:44px;height:44px;background:white;border:1px solid #bbb;border-radius:6px;cursor:pointer;font-size:22px}
.catalog-photo-count{font-size:14px;font-variant-numeric:tabular-nums}
body.catalog-open{overflow:hidden}
@media(max-width:1100px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.catalog-card-body{padding:16px}.catalog-card h3{font-size:16px}.catalog-heading{align-items:flex-start;flex-direction:column;gap:8px}.catalog-dialog[open]{display:block}.catalog-detail-image img{max-height:55vh}.catalog-detail-body{padding:24px}.catalog-detail-body h3{font-size:23px}.catalog-detail-body .eyebrow{margin-bottom:12px}}
@media(max-width:440px){.catalog-grid{grid-template-columns:1fr}.catalog-card-body{padding:22px}.catalog-card h3{font-size:19px}.catalog-photo{aspect-ratio:1.1}.catalog-dialog{width:94vw}.catalog-detail-body{padding:22px}}
@media(prefers-reduced-motion:reduce){.catalog-photo img,.catalog-card{transition:none}}
