.cmm-catalog-filters{display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(3,minmax(155px,1fr)) auto;gap:18px;align-items:end;padding:24px;background:#f3f3ec;border:1px solid #e5e6dc;border-radius:14px;margin-bottom:28px}
.cmm-catalog-filters>label,.cmm-filter-field{min-width:0;display:flex;flex-direction:column;gap:10px}.cmm-catalog-filters>label,.cmm-filter-caption{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.04em;color:#63705e}
.cmm-catalog-filters input[type=search],.cmm-catalog-filters select{height:50px;min-height:50px;border-radius:8px;padding:12px 15px;background:#fffefa;border:1px solid #d8dcd1;font-size:13px;color:var(--green)}
.cmm-filter-menu{position:relative;min-width:0}.cmm-filter-menu summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;height:50px;padding:12px 15px;border:1px solid #d8dcd1;border-radius:8px;box-sizing:border-box;background:#fffefa;color:var(--green);font:13px/1.4 Arial,sans-serif;cursor:pointer;transition:border-color .15s,box-shadow .15s}.cmm-filter-menu summary::-webkit-details-marker{display:none}.cmm-filter-menu summary>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmm-filter-menu summary:hover{border-color:#81917c}.cmm-filter-menu[open] summary{border-color:var(--green);box-shadow:0 0 0 3px #334b3610}
.cmm-filter-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none;margin:0 2px 4px 0}.cmm-filter-menu[open] .cmm-filter-chevron{transform:rotate(225deg);margin-top:6px}
.cmm-filter-panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:max(100%,235px);box-sizing:border-box;padding:8px;background:#fffefa;border:1px solid #e1e5d9;border-radius:12px;box-shadow:0 14px 40px #23352520}.cmm-filter-field:nth-last-of-type(1) .cmm-filter-panel{left:auto;right:0}.cmm-filter-panel fieldset{border:0;padding:0;margin:0;max-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b1bba8 transparent}
.cmm-catalog-filters .cmm-filter-option{position:relative;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;min-height:42px;margin:0;padding:10px 12px;border-radius:6px;box-sizing:border-box;color:var(--green);font:13px/1.4 Arial,sans-serif;cursor:pointer}.cmm-filter-option:hover{background:#f3f4ed}.cmm-filter-option:has(input:checked){background:#e9eee2;font-weight:600}.cmm-filter-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;border:0}.cmm-filter-option>span{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%}.cmm-filter-option input:checked+span:after{content:'✓';font-size:15px}.cmm-filter-option:has(input:focus-visible){outline:2px solid #977547;outline-offset:-2px}.cmm-filter-option[hidden],.cmm-filter-empty[hidden]{display:none}
.cmm-catalog-filters .cmm-filter-search{height:42px;min-height:42px;margin-bottom:8px;background:#f7f7f0}.cmm-filter-empty{padding:8px;font-size:12px;color:#63705e}.cmm-catalog-filters>button{height:50px;border-radius:8px;font-weight:600;padding:12px 24px;transition:background .15s}.cmm-catalog-filters>button:hover{background:#496046}.cmm-filter-reset{grid-column:1/-1;justify-self:start;padding:0;font-size:12px}.cmm-filter-menu summary:focus-visible{outline:2px solid #977547;outline-offset:3px}
@media(max-width:1100px){.cmm-catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cmm-catalog-filters>label:first-child{grid-column:1/3}.cmm-catalog-filters>button{grid-column:3;grid-row:1}.cmm-filter-panel{width:100%;min-width:210px}.cmm-filter-field:last-of-type .cmm-filter-panel{left:auto;right:0}}
@media(max-width:600px){.cmm-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px 12px;border-radius:12px}.cmm-catalog-filters>label:first-child{grid-column:1/-1}.cmm-catalog-filters>button{grid-column:2;grid-row:3;padding:12px}.cmm-catalog-filters>label{min-width:0}.cmm-filter-caption{font-size:10px}.cmm-filter-menu summary{font-size:12px;padding:12px}.cmm-catalog-filters input[type=search]{font-size:16px}.cmm-filter-panel{min-width:220px;max-width:calc(100vw - 72px)}.cmm-filter-field:nth-of-type(2) .cmm-filter-panel{left:auto;right:0}.cmm-filter-field:nth-of-type(3) .cmm-filter-panel{left:0;right:auto}.cmm-filter-panel fieldset{max-height:260px}}
@media(prefers-reduced-motion:reduce){.cmm-filter-menu summary,.cmm-catalog-filters>button{transition:none}}
