/* Shared marketplace filter panel. Only the panel and its overlay are styled. */
.pf-panel{color:var(--ink,#252729);background:var(--surface,#fff);border:1px solid var(--line,#e2e5e3);border-radius:20px;min-width:0}
.pf-panel *{box-sizing:border-box}.pf-panel [hidden]{display:none!important}.pf-panel fieldset{min-width:0;border:0;padding:0;margin:0}.pf-panel input,.pf-panel select,.pf-panel button{font:inherit}.pf-panel button{cursor:pointer}.pf-panel select,.pf-panel input:not([type=checkbox]):not([type=hidden]){width:100%;min-width:0;min-height:48px;font-size:16px;border:1px solid var(--line,#e2e5e3);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#252729);padding:11px 13px}.pf-panel label,.pf-panel legend{display:block;font-size:13px;font-weight:700;line-height:1.5;margin-bottom:8px}.pf-panel button:focus-visible,.pf-panel summary:focus-visible{outline:3px solid #f56a4f;outline-offset:3px}
.pf-head{display:flex;gap:12px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid var(--line,#e2e5e3);flex-shrink:0}.pf-head>div{flex:1}.pf-eyebrow{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted,#747474);margin:0 0 5px}.pf-head h2{font:800 24px/1.2 Montserrat,sans-serif;margin:0}.pf-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-2,#f5f7f5);color:inherit;font-size:25px!important}.pf-text{background:none;border:0;color:var(--ink);font-size:12px!important;font-weight:700!important;min-height:44px;padding:8px 0}.pf-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;font:700 12px/1 'Open Sans',sans-serif;background:#fcebe6;color:#a84631;border-radius:8px;vertical-align:middle}
.pf-scroll{padding:0 24px 20px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}.pf-group{padding:20px 0!important;border-bottom:1px solid var(--line,#e2e5e3)!important;margin:0!important}.pf-help{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0}.pf-city-chips{display:flex;gap:8px;overflow:auto;padding:10px 0 4px;scrollbar-width:none}.pf-chip{white-space:nowrap;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:inherit;min-height:38px;padding:8px 11px;font-size:11px!important;font-weight:600!important}.pf-chip span{color:var(--muted);margin-left:3px}
.pf-map-preview{position:relative;width:100%;height:174px;display:block;overflow:hidden;border:1px solid var(--line);border-radius:16px;margin-top:12px;padding:0;background:#e8eee4;isolation:isolate;color:#21352b;text-align:left}.pf-map-preview:focus-visible{outline-offset:3px}.pf-map-preview #pfMiniMap{display:block;position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(28deg,transparent 0 48px,#d6e1d4 49px 52px,transparent 53px 90px),#e8eee4}.pf-map-caption{position:absolute;inset:auto 8px 8px;z-index:450;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#ffffffed;border:1px solid #dce4dc;border-radius:11px;padding:10px 12px;box-shadow:0 4px 12px #273d2910}.pf-map-caption strong{display:block;font-size:13px}.pf-map-caption small{display:block;font-size:10px;margin-top:3px;color:#526058}.pf-map-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#ebf2e9;font-size:20px}.pf-map-preview .leaflet-control-attribution{font-size:7px!important;transform:translateY(-64px);background:#ffffffc9!important}.pf-panel .leaflet-container{font-family:'Open Sans',sans-serif}.pf-columns,.pf-salary-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.pf-salary-meta label,.pf-small-label{font-size:11px!important;font-weight:600!important;color:var(--muted)}.pf-salary-meta .pc-trigger{font-size:13px}.pf-panel label.pf-small-label{margin-top:12px}.pf-options{display:flex;gap:8px;flex-wrap:wrap}.pf-panel label.pf-option{position:relative;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;min-height:44px;font-size:12px;font-weight:600;margin:0;cursor:pointer}.pf-option input{accent-color:#e76d52;width:16px;height:16px;flex-shrink:0;margin:0}.pf-option:has(input:checked){background:#fbede7;border-color:#d66b50;color:#933a28}.pf-option:has(input:focus-visible){outline:3px solid #e76d52;outline-offset:2px}.pf-more{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:inherit;min-height:50px;margin:18px 0 5px;padding:12px 15px;font-size:13px!important;font-weight:700!important}.pf-detail{border-bottom:1px solid var(--line);margin:0}.pf-detail summary{cursor:pointer;font-size:13px;font-weight:700;line-height:1.5;min-height:56px;padding:18px 0;list-style-position:inside}.pf-detail-body{display:grid;gap:10px;padding:0 0 20px}.pf-detail-body label{margin:0}.pf-detail-body fieldset+fieldset{margin-top:15px}.pf-detail-body .pf-help{margin:0}.pf-detail-body fieldset legend{margin-bottom:10px}
.pf-foot{padding:12px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);flex-shrink:0}.pf-foot>div{display:flex;gap:14px;align-items:center}.pf-foot .button{min-height:50px;font-size:13px;flex:1;width:100%;border:0}.pf-foot>p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 8px}.pf-foot>p:empty{display:none}.pf-reset{border:0;padding:8px 0;background:none;color:var(--muted);font-size:12px!important;min-height:44px}.pf-panel [aria-invalid=true]{border-color:#b9422c!important}.pf-selected{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.pf-selected:empty{display:none}.pf-selected button{border:1px solid var(--line);border-radius:9px;color:inherit;background:var(--surface-2);font-size:11px;min-height:34px;padding:6px 8px;max-width:100%;overflow-wrap:anywhere}.pf-selected button span{margin-left:7px;color:#a65140}
.pf-ready .listing-layout,.pf-ready .refined-catalog .listing-layout{grid-template-columns:minmax(0,1fr)}dialog.pf-dialog{border:0;background:transparent;padding:0;margin:auto;max-width:none;width:min(560px,calc(100vw - 36px));max-height:calc(var(--pf-height,100dvh) - 40px);overflow:visible;color:var(--ink);box-shadow:0 20px 80px #0f231d35}dialog.pf-dialog::backdrop{background:#17241c88;backdrop-filter:blur(3px)}.pf-dialog .pf-panel{display:flex;flex-direction:column;max-height:calc(var(--pf-height,100dvh) - 40px);overflow:hidden}.pf-dialog #pfForm{display:flex;flex-direction:column;overflow:hidden;min-height:0}.pf-dialog .pf-scroll{flex:1}.pf-dialog .pf-head .pf-text{display:block}.pf-dialog .pf-panel.map-active>.pf-head{display:none}.pf-map-view{display:flex;flex-direction:column;min-height:0;height:min(820px,calc(var(--pf-height,100dvh) - 40px))}.pf-map-head{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.pf-map-head strong{font-size:12px;margin-left:auto}.pf-full-map{position:relative;min-height:180px;flex:1;background:#e8eee4}.pf-map-info{padding:12px 20px;max-height:210px;overflow:auto;flex-shrink:0;border-top:1px solid var(--line)}.pf-map-info>p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 10px}.pf-map-info label{font-size:11px}.pf-map-jobs{display:grid;gap:5px;margin-top:8px}.pf-map-jobs a{font-size:11px;line-height:1.6;padding:6px 0;border-bottom:1px solid var(--line)}.pf-city-pin{border:2px solid white;border-radius:50%;background:#ce674d;color:white;box-shadow:0 2px 8px #18332335;display:grid;place-items:center;font:700 14px/1 'Open Sans',sans-serif}.pf-city-pin-small{font-size:10px}.pf-ready .pf-panel .pc-trigger{font-size:14px}.pf-panel .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.pf-panel .leaflet-control-attribution{font-size:9px}.pf-panel .leaflet-control-attribution a{color:#36533f}
html[data-theme=dark] .pf-option:has(input:checked){background:#453027;color:#ffd2c4;border-color:#bc7058}html[data-theme=dark] .pf-badge{background:#453027;color:#ffd2c4}
@media(max-width:599px){dialog.pf-dialog{position:fixed;inset:calc(var(--pf-top,0px) + max(8px,env(safe-area-inset-top))) 0 auto;margin:0;width:100%;height:calc(var(--pf-height,100dvh) - max(8px,env(safe-area-inset-top)));max-height:calc(var(--pf-height,100dvh) - max(8px,env(safe-area-inset-top)))}.pf-dialog .pf-panel{height:100%;max-height:100%;border-radius:24px 24px 0 0;border-bottom:0}.pf-dialog #pfForm{flex:1}.pf-head{padding:20px 20px 16px;gap:10px}.pf-head h2{font-size:23px}.pf-head .pf-text{font-size:11px!important}.pf-scroll{padding:0 20px 18px}.pf-foot{padding:12px 20px max(14px,env(safe-area-inset-bottom))}.pf-map-view{height:auto;flex:1;overflow:hidden}.pf-full-map{min-height:0}.pf-panel .pf-eyebrow{font-size:9px}.pf-map-info{max-height:min(190px,calc(var(--pf-height,100dvh) * .3));min-height:0;flex-shrink:1}.pf-map-jobs{display:none}}
@media(max-width:359px){.pf-head{padding:17px 16px 14px}.pf-head h2{font-size:21px}.pf-eyebrow{display:none}.pf-scroll{padding-left:16px;padding-right:16px}.pf-foot{padding-left:16px;padding-right:16px}.pf-map-preview{height:150px}.pf-salary-meta .pc-trigger{font-size:12px}.pf-option{font-size:11px!important}.pf-head .pf-text{max-width:72px}}
@media(max-height:480px) and (min-width:600px){dialog.pf-dialog{max-height:calc(var(--pf-height,100dvh) - 20px);width:min(820px,calc(100vw - 24px))}.pf-dialog .pf-panel{max-height:calc(var(--pf-height,100dvh) - 20px)}.pf-head{padding:10px 20px}.pf-eyebrow{display:none}.pf-head h2{font-size:21px}.pf-map-view{height:calc(var(--pf-height,100dvh) - 20px);display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:55px minmax(0,1fr) 68px}.pf-map-head{grid-column:1/-1}.pf-full-map{grid-row:2/4;min-height:0}.pf-map-info{max-height:none;padding:10px 14px;border-left:1px solid var(--line)}.pf-map-view .pf-foot{grid-column:2;padding:8px 14px}.pf-map-info .pf-help{font-size:10px}.pf-foot{padding-top:8px;padding-bottom:8px}.pf-group{padding:15px 0!important}}
@media(prefers-reduced-motion:reduce){.pf-panel *{scroll-behavior:auto!important}}

.pf-foot .button{background:#bf513b;color:#fff;font-weight:700}.pf-panel input:disabled{opacity:.55}html[data-theme=dark] .pf-foot .button{background:#ef846d;color:#201c18}
.pf-ready .search-filter-row{display:flex}

/* Keyboard height does not change layout-viewport media queries on Android. */
@media(max-width:599px){.pf-dialog.pf-compact .pf-head{padding:10px 16px;gap:8px}.pf-dialog.pf-compact .pf-eyebrow{display:none}.pf-dialog.pf-compact .pf-head h2{font-size:20px}.pf-dialog.pf-compact .pf-foot{padding:8px 16px max(8px,env(safe-area-inset-bottom))}.pf-dialog.pf-compact .pf-foot>p{max-height:3em;overflow:auto}.pf-dialog.pf-compact .pf-map-head{padding:8px 16px}}
