/* Native modal = one scroll surface, browser focus trap and inert background. */
html.agire-dialog-open {overflow:hidden;scroll-behavior:auto!important}
dialog.agire-filter-dialog {padding:0;border:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;background:#fafaf7;color:#303831;font:400 16px/1.45 Arial,Helvetica,sans-serif;overflow:hidden;box-sizing:border-box}
dialog.agire-filter-dialog[open] {display:flex;flex-direction:column}
.agire-filter-dialog::backdrop {background:#262c2a80}
.agire-filter-dialog *, .agire-filter-dialog *::before, .agire-filter-dialog *::after {box-sizing:border-box}
.agire-dialog-header {display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:max(12px,env(safe-area-inset-top)) 20px 12px;border-bottom:1px solid #dedfd5;background:#fafaf7}
.agire-dialog-header h2 {font:400 25px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:0;color:#303831}
.agire-dialog-header .agire-dialog-close {display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #cbd0c0;border-radius:50%;background:transparent;color:#303831;font:400 30px/1 Arial;cursor:pointer}
.agire-filter-dialog form.agire-filters {display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-height:none;overflow:hidden;margin:0;padding:0;border:0;border-radius:0;background:transparent;gap:0}
.agire-filter-dialog .agire-dialog-body {flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 20px 28px;scroll-padding:20px}
body.agire-catalog-page .agire-filter-dialog .agire-filter-basics {display:contents}
.agire-filter-dialog .agire-filter-heading,.agire-filter-dialog .agire-filter-heading + .agire-filter-help {display:none}
.agire-filter-dialog fieldset {padding:0;border:0;margin:0;min-width:0}
.agire-filter-dialog .agire-category-sort {padding-bottom:22px}
.agire-filter-dialog .agire-category-sort legend {font-size:13px;letter-spacing:.04em;color:#59604f;margin:0 0 10px}
.agire-filter-dialog select {width:100%;min-height:48px;font:inherit;border:1px solid #c7cabf;background:#fff;color:#303831;border-radius:6px;padding:10px 12px}
.agire-filter-dialog .agire-mobile-filter-group {border:0;border-top:1px solid #d9ddcf;border-radius:0;background:transparent;margin:0;padding:0}
.agire-filter-dialog .agire-mobile-filter-group>summary {display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:4px 14px;list-style:none;position:relative;padding:18px 0;cursor:pointer;min-height:76px;font-weight:600}
.agire-filter-dialog .agire-mobile-filter-group>summary::-webkit-details-marker {display:none}
.agire-filter-dialog .agire-mobile-filter-group>summary::after {content:'+';grid-column:2;grid-row:1/3;align-self:center;text-align:center;font-size:24px;font-weight:400;color:#59624b}
.agire-filter-dialog .agire-mobile-filter-group[open]>summary::after {content:'−'}
.agire-filter-dialog .agire-mobile-filter-group>summary small {grid-column:1;font-size:13px;font-weight:400;line-height:1.4;color:#69715f;overflow-wrap:anywhere}
.agire-filter-dialog .agire-mobile-filter-group.has-selection>summary small {color:#465534;font-weight:600}
.agire-filter-dialog .agire-mobile-filter-group>fieldset {padding:0 0 20px}
.agire-filter-dialog .agire-mobile-filter-group>fieldset>legend {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.agire-filter-dialog .agire-filter-options {max-height:none!important;height:auto!important;overflow:visible!important;display:grid;gap:4px}
.agire-filter-dialog .agire-filter-options label {display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:48px;border:1px solid transparent;border-radius:6px;font-size:15px;line-height:1.4;cursor:pointer}
.agire-filter-dialog .agire-filter-options label[hidden] {display:none}
.agire-filter-dialog .agire-filter-options label:has(input:checked) {background:#eceedf;border-color:#d5dac7}
.agire-filter-dialog input[type=radio],.agire-filter-dialog input[type=checkbox] {width:20px;height:20px;flex:none;margin:0;accent-color:#566146}
.agire-filter-dialog .agire-term-count {margin-left:auto;background:#eef0e6;color:#5a6250;border-radius:20px;padding:1px 8px;font-size:12px}
.agire-filter-dialog .agire-term-search {display:block;font-size:13px;color:#59604f;margin-bottom:14px}
.agire-filter-dialog input[type=search],.agire-filter-dialog input[type=number] {display:block;width:100%;min-height:48px;font:400 16px/1.4 Arial;border:1px solid #c7cabf;border-radius:6px;background:white;color:#303831;margin-top:6px;padding:10px}
.agire-filter-dialog .agire-price-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.agire-filter-dialog .agire-price-fields label {font-size:13px;color:#59604f}
.agire-filter-dialog .agire-filter-help {font-size:13px;color:#69715f;margin:0 0 12px}
.agire-filter-dialog .agire-filter-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex:none;position:static;margin:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#f2f3eb;border-top:1px solid #d9ddcf;box-shadow:0 -6px 20px #30352c08}
.agire-filter-dialog .agire-filter-actions .agire-filter-status {flex:0 0 100%;width:100%;margin:0;font-size:12px;line-height:1.3;color:#59604f}
.agire-filter-dialog .agire-filter-status:empty {display:none}
.agire-filter-dialog .agire-filter-actions .agire-filter-apply {flex:1;min-height:48px;padding:12px 16px;border:1px solid #50583f;border-radius:6px;background:#50583f;color:white;font:600 15px/1.3 Arial;cursor:pointer;margin:0}
.agire-filter-dialog .agire-filter-actions a {display:flex;align-items:center;justify-content:center;min-height:48px;min-width:52px;color:#50583f;font-size:14px;text-underline-offset:3px}
.agire-filter-dialog .agire-filter-actions .agire-filter-close {display:none}
.agire-filter-dialog :focus-visible {outline:2px solid #596549;outline-offset:3px}
.agire-filter-dialog button:disabled {opacity:.65;cursor:wait}
