/* Catálogo por rubro (ventana #catalog + detalle #product).
   Viene del HTML aprobado el 2026-10-08; el orden de las reglas importa
   (las de abajo ajustan a las de arriba). */
#catalog{width:min(1320px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #30425a;border-radius:20px;background:#09172c;color:#f4f1eb;overflow:auto}
#catalog::backdrop,#product::backdrop{background:#020914de;backdrop-filter:blur(6px)}
.cat-head{padding:30px 38px 25px;border-bottom:1px solid #ffffff20}
.cat-logo{width:135px;height:auto;display:block;margin-bottom:28px;background:transparent}
.cat-kicker{color:#88d2d2;font-size:11px;letter-spacing:.18em}
.cat-head h1{font:700 clamp(30px,4vw,48px)/1.12 Archivo,sans-serif;margin:12px 0}
.cat-head p{color:#c4cfdd;font-size:15px;max-width:680px}
.cat-close{position:sticky;float:right;top:17px;margin:17px 17px -55px 0;z-index:4;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;background:#102640;color:white;font-size:20px;cursor:pointer}
.cat-toolbar{padding:24px 38px 10px;display:flex;flex-wrap:wrap;gap:8px}
.cat-filter{padding:9px 15px;border:1px solid #ffffff30;border-radius:30px;background:transparent;color:#d5dfeb;cursor:pointer;font:500 12px Inter,sans-serif}
.cat-filter[aria-pressed=true]{background:#ef633e;color:white;border-color:#ef633e}
.cat-count{padding:0 38px;color:#aabdd2;font-size:12px}
.cat-grid{padding:12px 38px 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cat-card{border:1px solid #ffffff20;border-radius:12px;overflow:hidden;background:#10223c;display:flex;flex-direction:column}
.cat-photo{padding:0;display:block;width:100%;border:0;background:#e7e5e1;cursor:zoom-in}
.cat-photo img{width:100%;aspect-ratio:4/5;object-fit:contain;display:block}
.cat-copy{padding:18px;display:flex;flex-direction:column;flex:1}
.cat-number{font-size:10px;letter-spacing:.12em;color:#85cccc}
.cat-copy h2{font:600 19px/1.25 Archivo,sans-serif;margin:8px 0}
.cat-copy p{font-size:12px;line-height:1.6;color:#bdcbdc;margin:0 0 18px}
.cat-copy a{color:#ff9275;font-size:13px;margin-top:auto;text-decoration:none}
.cat-foot{padding:24px 38px 36px;color:#b7c7d9;font-size:13px;border-top:1px solid #ffffff20}
.cat-foot a{display:inline-block;margin-top:12px;background:#ef633e;color:white;padding:12px 20px;border-radius:8px;text-decoration:none}
#product{width:min(880px,94vw);max-width:94vw;max-height:94dvh;padding:0;border:1px solid #30425a;border-radius:14px;background:#09172c;color:white;overflow:auto}
.product-layout{display:grid;grid-template-columns:1.2fr 1fr}
.product-layout>img{width:100%;height:70vh;object-fit:contain;background:#e7e5e1}
.product-info{padding:55px 25px 30px;align-self:center}
.product-info h2{font:700 26px Archivo,sans-serif}
.product-info p{color:#bdcbdc;font-size:14px;line-height:1.7}
.product-info a{display:inline-block;background:#ef633e;color:white;padding:12px 16px;border-radius:8px;text-decoration:none;font-size:13px}
#catalog button:focus-visible,#product button:focus-visible{outline:3px solid #8bd5d5;outline-offset:3px}
@media(max-width:760px){#catalog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
.cat-head{padding:26px 20px}
.cat-toolbar{padding:20px 20px 8px}
.cat-count{padding:0 20px}
.cat-grid{padding:12px 20px 26px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cat-copy{padding:12px}
.cat-copy h2{font-size:16px}
.cat-foot{padding:24px 20px}
.product-layout{display:block}
.product-layout>img{height:55vh}
.product-info{padding:20px}
.cat-logo{width:120px}
}
@media(max-width:380px){.cat-grid{grid-template-columns:1fr}
}

.cat-head .cat-description{max-width:940px;font-size:14px;line-height:1.75;margin-top:18px;color:#bac9da}
.cat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cat-photo{padding:10px}
.cat-photo img{height:265px;aspect-ratio:auto;object-fit:contain}
.cat-copy{padding:15px}
.cat-copy h2{font-size:17px}
@media(min-width:761px) and (max-width:1050px){.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cat-photo img{height:230px}
}
@media(max-width:760px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cat-photo{padding:7px}
.cat-photo img{height:180px}
.cat-copy{padding:12px}
.cat-copy h2{font-size:15px}
.cat-head .cat-description{font-size:13px;line-height:1.65}
}
@media(max-width:380px){.cat-photo img{height:150px}
.cat-grid{padding-left:14px;padding-right:14px;gap:9px}
.cat-copy{padding:10px}
}

.cat-head{position:relative;padding:24px 38px 20px}
.cat-head .cat-logo{position:absolute;right:80px;top:28px;width:120px;margin:0}
.cat-head h1{margin:0 180px 12px 0;font-size:clamp(30px,3.3vw,43px)}
.cat-head>p{margin-top:0;margin-bottom:0}
.cat-head .cat-description{margin-top:12px}
@media(max-width:760px){.cat-head{padding:24px 20px 18px}
.cat-head .cat-logo{right:65px;top:27px;width:82px}
.cat-head h1{margin-right:130px;font-size:29px;line-height:1.12}
.cat-head>p{font-size:14px}
.cat-head .cat-description{font-size:13px}
}
