.catalog-layout{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:0;padding:58px clamp(20px,6vw,90px) 105px;background:linear-gradient(135deg,#f7f6f1 0%,#fbfaf7 60%,#edf2ed 100%)}
.catalog-tools{position:sticky;top:24px;z-index:8;display:flex;min-width:0;max-height:calc(100vh - 48px);flex-direction:column;gap:18px;margin:0;padding:28px 24px 24px;overflow:auto;background:linear-gradient(155deg,#123829 0%,#071a12 100%);border:1px solid #2e5642;color:#fff;box-shadow:18px 22px 0 #e8c52d,0 30px 65px #071a1224}
.catalog-tools:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#f4ca35 0 36%,#65a47f 36% 55%,transparent 55%)}
.catalog-tools__head{display:flex;flex-direction:column;padding:3px 2px 4px;border-bottom:1px solid #ffffff1c}
.catalog-tools__head small{color:#f4ca35;font-size:9px;font-weight:900;letter-spacing:.2em}
.catalog-tools__head strong{margin:9px 0 7px;font:29px/1.02 Georgia,serif;letter-spacing:-.025em}
.catalog-tools__head span{padding-bottom:17px;color:#9fb5a7;font-size:12px;line-height:1.45}
.catalog-tools .catalog-search{width:100%;height:54px;grid-template-columns:42px 1fr 38px;border:1px solid #ffffff32;background:#fff;box-shadow:0 10px 25px #0002}
.catalog-tools .catalog-search input{width:100%;padding:0 4px;color:#13251a;background:transparent;font-size:13px}
.catalog-tools .catalog-search button{width:30px;height:30px;background:#eaf2ed;font-size:18px}
.catalog-tools .catalog-filters{display:grid;grid-template-columns:1fr;gap:7px;overflow:visible}
.catalog-tools .catalog-filters button{position:relative;width:100%;min-height:43px;padding:0 42px 0 15px;overflow:hidden;border:1px solid #ffffff20;background:#ffffff09;color:#d6e2da;text-align:left;font-size:10px;letter-spacing:.055em;transition:transform .2s,background .2s,border-color .2s,color .2s}
.catalog-tools .catalog-filters button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#ffffff20;transition:.2s}
.catalog-tools .catalog-filters button:after{content:"→";position:absolute;right:15px;top:50%;transform:translateY(-50%) translateX(-4px);color:#f4ca35;font-size:16px;opacity:.45;transition:.2s}
.catalog-tools .catalog-filters button:hover{transform:translateX(4px);border-color:#ffffff55;background:#ffffff13;color:#fff}
.catalog-tools .catalog-filters button:hover:after{transform:translateY(-50%) translateX(0);opacity:1}
.catalog-tools .catalog-filters button.active{border-color:#f4ca35;background:#f4ca35;color:#10271d;box-shadow:0 8px 20px #0003}
.catalog-tools .catalog-filters button.active:before{background:#fff}
.catalog-tools .catalog-filters button.active:after{color:#10271d;opacity:1}
.catalog-tools .catalog-sort{display:flex;align-items:stretch;flex-direction:column;gap:8px;padding-top:17px;border-top:1px solid #ffffff1c;color:#9fb5a7;font-size:9px;letter-spacing:.13em}
.catalog-tools .catalog-sort select{width:100%;height:46px;padding:0 36px 0 13px;border:1px solid #ffffff2e;background:#fff;color:#122219;font-size:12px;font-weight:700}
.catalog-layout .catalog-results{min-width:0;padding:4px 0 0 52px}
.catalog-layout .catalog-results>header{margin-bottom:29px}
.catalog-layout .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.catalog-layout{grid-template-columns:270px minmax(0,1fr);padding-inline:30px}.catalog-layout .catalog-results{padding-left:38px}.catalog-layout .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{padding-inline:19px}}
@media(max-width:850px){.catalog-layout{grid-template-columns:1fr;padding:28px 18px 75px}.catalog-tools{position:relative;top:auto;max-height:none;margin:0 0 45px;padding:24px;box-shadow:10px 11px 0 #e8c52d}.catalog-tools__head strong{font-size:25px}.catalog-tools .catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-tools .catalog-filters button{padding-inline:12px;text-align:center}.catalog-tools .catalog-filters button:after,.catalog-tools .catalog-filters button:before{display:none}.catalog-layout .catalog-results{padding:0}.catalog-layout .catalog-results>header{margin-top:4px}}
@media(max-width:560px){.catalog-layout{padding:20px 14px 65px}.catalog-tools{padding:21px 17px;margin-bottom:38px}.catalog-tools .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools .catalog-filters button{min-height:42px;font-size:9px}.catalog-layout .catalog-grid{grid-template-columns:1fr}.catalog-tools__head span{font-size:11px}}
