.catalog-shell{max-width:1280px;margin:auto;padding:140px 24px 72px}.catalog-heading a{color:var(--green)}.catalog-heading span{color:#9cb0b4;font-size:14px}.catalog-heading h1{font-size:44px;margin:20px 0 12px}.demo-note{color:#b7c8ca;font-size:15px;margin-bottom:28px}.category-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.category-tabs button,.filter-title button{cursor:pointer;border:1px solid #285047;background:#0b252d;color:#e4f0ee;padding:12px 20px;border-radius:5px;font:inherit}.category-tabs button[aria-pressed=true]{background:var(--green);color:#021710;border-color:var(--green);font-weight:700}.catalog-layout{display:grid;grid-template-columns:270px 1fr;gap:32px}.filters{background:#071d24;border:1px solid #23433e;border-radius:6px;padding:20px;align-self:start}.filter-title{display:flex;justify-content:space-between;align-items:center}.filter-title h2{font-size:20px;margin:0}.filter-title button{border:0;background:none;color:var(--green);padding:0;font-size:14px}fieldset{border:0;border-bottom:1px solid #23433e;padding:20px 0;margin:0}legend{font-weight:600;font-size:16px;padding-top:18px}fieldset label{display:flex;align-items:center;gap:10px;margin:10px 0;color:#bacbcd;font-size:14px}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}.price-inputs{display:flex;gap:10px}.price-inputs label{display:block;width:50%}input[type=number],input[type=search],select{width:100%;min-width:0;padding:11px;border:1px solid #31504f;background:#031319;color:white;border-radius:4px;font:inherit}.price-inputs input{margin-top:6px}.catalog-toolbar{display:flex;align-items:end;gap:18px}.catalog-toolbar label{display:block;font-size:14px;color:#b8cbcd}.search-label{flex:1}.catalog-toolbar input,.catalog-toolbar select{display:block;margin-top:7px}#result-count{margin:22px 0;font-size:15px;color:#b7c8ca}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{border:1px solid #23433e;border-radius:6px;background:#071d24;overflow:hidden;display:flex;flex-direction:column}.product-image{height:180px;display:grid;place-items:center;background:radial-gradient(ellipse,#163c3c,#031319)}.product-image img{width:130px;height:130px;object-fit:contain}.product-body{padding:20px;display:flex;flex-direction:column;flex:1}.product-category{color:var(--green);font-size:13px}.product h2{font-size:20px;margin:8px 0 12px}.product-specs{font-size:14px;color:#b3c7c9;margin:0 0 18px;line-height:1.7}.product-price{font-size:22px;font-weight:700;margin-top:auto}.product small{color:#98b0b4;display:block;margin:4px 0 15px}.details-button{font:inherit;font-weight:600;color:#032016;background:var(--green);border:0;border-radius:4px;padding:12px;cursor:pointer}.empty-results{grid-column:1/-1;padding:48px;text-align:center;border:1px solid #23433e;border-radius:6px}dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;background:#071d24;color:white;border:1px solid #3b6855;border-radius:8px;padding:32px}dialog::backdrop{background:#000b}#close-dialog{float:right;background:none;border:0;color:white;font-size:30px;cursor:pointer}dialog h2{margin:10px 0}dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:16px}dialog dt{color:#a7bdc0}dialog dd{margin:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:1000px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.catalog-shell{padding:125px 18px 48px}.catalog-heading h1{font-size:34px}.catalog-layout{grid-template-columns:1fr}.filters{padding:18px}.catalog-toolbar{flex-wrap:wrap}.search-label{flex-basis:100%}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product-body{padding:14px}.product h2{font-size:17px}.product-image{height:140px}.product-image img{width:100px;height:100px}.category-tabs button{padding:10px 12px;font-size:14px}}@media(max-width:400px){.products{grid-template-columns:1fr}}
.catalog-shell { max-width: none; }
@media (min-width: 701px) {
  .catalog-shell { padding-left: clamp(24px, 4vw, 80px); padding-right: clamp(24px, 4vw, 80px); }
}
