:root { --red:#bf0000; --red-dark:#950000; --rose:#fff3f1; --ink:#252525; --muted:#6d6d6d; --line:#dedede; --paper:#fff; --green:#168347; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font:500 15px/1.5 "DM Sans",Arial,sans-serif; } button,input { font:inherit; } button { cursor:pointer; } .shell { max-width:1220px; margin:auto; padding:0 30px 80px; } .topbar { height:76px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); } .brand { color:var(--red); text-decoration:none; font-size:27px; font-weight:700; letter-spacing:-1.5px; } .brand-mark { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:8px; background:var(--red); color:#fff; font-size:17px; margin-right:5px; } nav { display:flex; align-items:center; gap:25px; } nav a { color:var(--ink); text-decoration:none; font-size:13px; font-weight:700; } .saved-button { border:1px solid var(--red); color:var(--red); border-radius:7px; background:#fff; padding:8px 11px; font-size:12px; font-weight:700; }.saved-button span { color:#fff; background:var(--red); border-radius:999px; margin-left:4px; padding:1px 5px; }
.hero { position:relative; overflow:hidden; margin:28px 0 63px; padding:62px 55px 55px; border-radius:18px; background:linear-gradient(115deg,#fff1ef 0%,#fff7f5 52%,#ffe5df 100%); } .hero::after { content:""; width:410px; height:410px; position:absolute; right:-165px; top:-160px; border-radius:50%; background:var(--red); opacity:.08; } .hero-copy { position:relative; z-index:1; max-width:600px; } .eyebrow { margin:0 0 11px; color:var(--red); font-size:11px; letter-spacing:.1em; font-weight:700; } h1,h2,h3,p { margin-top:0; } h1 { margin:0 0 17px; font:54px/.98 "DM Serif Display",Georgia,serif; letter-spacing:-1.6px; } h1 em { color:var(--red); font-style:italic; } .lede { max-width:520px; color:#555; font-size:17px; } .benefits { display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; color:#414141; font-size:12px; font-weight:700; }.benefits span::first-letter { color:var(--red); }
.search-box { position:relative; z-index:1; margin-top:36px; padding:20px; background:#fff; border:1px solid #f0d3cd; border-radius:12px; box-shadow:0 12px 26px rgba(105,31,20,.09); } .search-heading { display:flex; justify-content:space-between; align-items:center; margin:0 1px 16px; } .search-heading strong { font-size:16px; letter-spacing:-.3px; }.search-heading span { border-radius:999px; padding:4px 8px; background:#f7e8e5; color:var(--red); font-size:10px; font-weight:700; } .direct-fields { display:grid; grid-template-columns:1.6fr .8fr 1fr; gap:10px; }.search-box label { display:block; color:#555; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }.search-box input,.search-box select { width:100%; height:39px; margin-top:7px; padding:0 10px; border:1px solid #d3d3d3; border-radius:5px; background:#fff; outline:0; color:var(--ink); font-size:14px; font-weight:600; }.search-box input:focus,.search-box select:focus { border-color:var(--red); box-shadow:0 0 0 2px #fee3de; }.find-button { width:100%; margin-top:16px; padding:12px; border:0; border-radius:7px; background:var(--red); color:#fff; font-size:14px; font-weight:700; }.find-button:hover { background:var(--red-dark); }.find-button span { font-size:18px; margin-left:7px; }.fine-print { position:relative; z-index:1; margin:12px 3px 0; color:#8a7774; font-size:11px; }
.hidden { display:none!important; }.results { padding:0 0 75px; }.results-heading { display:flex; justify-content:space-between; align-items:start; margin-bottom:25px; }.results-heading h2,.how h2 { font:36px/1 "DM Serif Display",Georgia,serif; letter-spacing:-1px; margin:0 0 8px; }.results-heading p:not(.eyebrow) { color:var(--muted); margin:0; }.text-button { border:0; background:#fff; color:var(--red); font-weight:700; font-size:13px; padding:9px 0; }.result-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:25px; }.listing-stack { display:grid; gap:13px; }.listing { padding:16px; display:grid; grid-template-columns:130px 1fr; gap:18px; border:1px solid var(--line); border-radius:10px; background:#fff; transition:box-shadow .15s,transform .15s; }.listing:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.08); }.listing-image { width:130px; min-height:122px; border-radius:6px; object-fit:cover; background:#eee; }.listing-content { min-width:0; }.listing-top { display:flex; justify-content:space-between; gap:14px; align-items:start; }.listing h3 { margin:2px 0 4px; font-size:17px; line-height:1.25; letter-spacing:-.3px; }.listing-location { color:var(--muted); font-size:12px; }.price { text-align:right; font-size:22px; font-weight:700; letter-spacing:-1px; white-space:nowrap; }.under-market { color:var(--green); font-size:10px; font-weight:700; letter-spacing:0; }.signal-row { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }.signal { padding:4px 6px; background:#f4f4f4; color:#555; border-radius:4px; font-size:10px; font-weight:700; }.signal strong { color:var(--ink); }.signal.deal { color:#fff; background:var(--red); }.listing-footer { display:flex; justify-content:space-between; gap:10px; align-items:center; padding-top:11px; border-top:1px solid #eee; }.reason { max-width:76%; color:var(--muted); font-size:11px; }.detail-button { border:0; background:none; color:var(--red); padding:3px 0; font-size:12px; font-weight:700; }.method-card { position:sticky; top:18px; padding:24px; border-radius:10px; background:var(--red); color:#fff; }.method-card .eyebrow { color:#ffd9cc; }.method-card h3 { margin:0 0 14px; font:27px/1.05 "DM Serif Display",Georgia,serif; }.method-card p:not(.eyebrow) { color:#ffe3de; font-size:13px; }.method-card a { color:#fff; font-size:12px; font-weight:700; }.how { padding:55px 0 0; border-top:1px solid var(--line); }.how > h2 { max-width:500px; margin-bottom:30px; }.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.how article { padding:22px; border-radius:10px; background:#f8f8f8; }.how article span { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#fee3de; color:var(--red); font-size:11px; font-weight:700; }.how h3 { margin:15px 0 6px; font-size:16px; }.how p { margin:0; color:var(--muted); font-size:13px; }dialog { border:0; border-radius:14px; padding:0; width:min(650px,calc(100% - 32px)); box-shadow:0 30px 80px rgba(0,0,0,.25); }dialog::backdrop { background:rgba(0,0,0,.45); }#detail-content { padding:36px; }.dialog-close { position:absolute; top:12px; right:16px; border:0; background:none; color:#777; font-size:28px; }.detail-price { color:var(--red); font-size:36px; font-weight:700; }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }.detail-stat { border:1px solid var(--line); border-radius:7px; padding:12px; }.detail-stat span { display:block; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }.detail-stat strong { font-size:20px; }.facts { padding-left:19px; color:var(--muted); font-size:13px; }.facts li { margin-bottom:8px; }.handoff { display:inline-block; padding:10px 13px; border-radius:6px; background:var(--red); color:#fff; text-decoration:none; font-size:12px; font-weight:700; }
@media(max-width:760px) { .shell { padding:0 16px 50px; }.topbar { height:64px; }.brand { font-size:24px; } nav a { display:none; }.hero { margin:16px 0 42px; padding:37px 20px 25px; border-radius:10px; } h1 { font-size:42px; }.lede { font-size:15px; }.benefits { gap:9px; font-size:10px; }.search-box { margin-top:28px; padding:15px; }.direct-fields { grid-template-columns:1fr 1fr; gap:13px 10px; }.result-layout { display:block; }.method-card { position:static; margin-top:17px; }.listing { grid-template-columns:86px 1fr; gap:11px; padding:11px; }.listing-image { width:86px; min-height:110px; }.listing-top { display:block; }.price { text-align:left; margin-top:4px; }.reason { max-width:65%; }.how-grid { grid-template-columns:1fr; }.results-heading h2,.how h2 { font-size:31px; }.detail-grid { grid-template-columns:1fr; } }

/* Deal Score is the primary result signal. */
.signal-row { align-items:center; }
.signal.deal { padding:6px 9px; background:#f36a18; color:#fff; font-size:11px; box-shadow:0 2px 5px rgba(243,106,24,.25); }
.signal.deal strong { color:#fff; font-weight:800; }
.listing[role="button"] { cursor:pointer; }.listing[role="button"]:focus-visible { outline:3px solid #f36a18; outline-offset:2px; }
.photo-gallery { position:relative; height:260px; margin:18px 0; overflow:hidden; border-radius:8px; background:#f3f3f3; }.photo-gallery img { width:100%; height:100%; object-fit:contain; }.photo-counter { position:absolute; right:10px; bottom:10px; padding:4px 8px; border-radius:999px; background:rgba(0,0,0,.72); color:#fff; font-size:11px; font-weight:700; }.gallery-button { position:absolute; top:50%; width:34px; height:34px; border:0; border-radius:50%; transform:translateY(-50%); background:rgba(255,255,255,.92); color:#222; font-size:29px; line-height:1; }.gallery-button:hover { background:#fff; }.gallery-button.previous { left:10px; }.gallery-button.next { right:10px; }
.seller-description { margin:20px 0; padding:0; }.seller-description .eyebrow { margin-bottom:7px; }.seller-description p:last-child { margin:0; color:#000; font-size:15px; line-height:1.6; }
.load-more { width:100%; padding:13px; border:1px solid var(--red); border-radius:7px; background:#fff; color:var(--red); font-size:13px; font-weight:700; }.load-more:hover { background:#fff1ef; }.load-more span { margin-left:5px; font-size:16px; }
.empty-results { display:grid; gap:5px; padding:25px; border:1px solid var(--line); border-radius:8px; background:#fafafa; color:var(--muted); font-size:13px; }.empty-results strong { color:var(--ink); }

.location-field { position:relative; }
.location-suggestions { position:absolute; z-index:10; top:100%; left:0; right:0; margin-top:5px; overflow:hidden; border:1px solid #d3d3d3; border-radius:6px; background:#fff; box-shadow:0 8px 20px rgba(0,0,0,.14); text-transform:none; letter-spacing:0; }
.location-suggestion { display:block; width:100%; padding:9px 10px; border:0; border-bottom:1px solid #eee; background:#fff; color:var(--ink); text-align:left; font-size:12px; font-weight:600; }.location-suggestion:last-child { border-bottom:0; }.location-suggestion:hover,.location-suggestion:focus { background:#fff1ef; color:var(--red); outline:0; }.location-suggestion small { display:block; margin-top:1px; color:var(--muted); font-size:10px; font-weight:500; }
.search-area-note { margin:12px 0 0; padding-left:10px; border-left:3px solid var(--red); color:#555; font-size:12px; line-height:1.5; }
.how .how-intro { max-width:790px; margin:0 0 28px; font-size:16px; line-height:1.7; }
.score-guide { gap:18px; align-items:start; }
.score-guide article { min-width:0; border:1px solid #e9e6e5; padding:24px; }
.score-guide article.deal-guide { border-top:4px solid #f36a18; padding-top:21px; }
.how .score-guide .guide-label { display:inline-block; width:auto; height:auto; border-radius:4px; padding:5px 8px; background:#eee; color:#444; letter-spacing:.05em; }
.how .deal-guide .guide-label { background:#f36a18; color:white; }
.how .score-guide h3 { font-size:19px; line-height:1.3; margin:16px 0 12px; }
.how .score-guide p,.how-explain-grid p,.how-limitations p { line-height:1.75; }
.how details { margin-top:20px; border-top:1px solid #dedede; padding-top:16px; }
.how summary { cursor:pointer; font-size:13px; font-weight:700; color:var(--red); }
.how summary:focus-visible { outline:2px solid var(--red); outline-offset:4px; border-radius:2px; }
.how details p { margin-top:14px; }
.how .score-formula { background:#fff; border-radius:6px; padding:12px; color:var(--ink); font-weight:700; }
.how ul { padding-left:18px; color:#555; font-size:13px; line-height:1.7; }
.how li + li { margin-top:10px; }
.evidence-points { font-size:13px; margin:15px 0; }
.evidence-points div { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #e4e4e4; padding:9px 0; }
.evidence-points dd { margin:0; flex-shrink:0; font-weight:700; }
.how-explain-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:32px 0; }
.how-explain-grid h3,.score-example h3 { margin:0 0 12px; font-size:19px; }
.how-explain-grid p + p,.score-example p + p { margin-top:12px; }
.score-example { background:var(--rose); border-left:4px solid #f36a18; border-radius:8px; padding:24px; }
.score-example p { line-height:1.75; }
.how-limitations { padding-bottom:12px; }
@media(max-width:900px) { .score-guide { grid-template-columns:1fr; } .how-explain-grid { grid-template-columns:1fr; gap:24px; } }
@media(max-width:760px) { .direct-fields .location-field { grid-column:1 / -1; } }
[hidden] { display:none !important; }
#auth-dialog { width:min(440px,calc(100vw - 32px)); padding:36px; border:0; border-radius:18px; }
#auth-dialog h2 { margin-top:0; padding-right:20px; }
#auth-dialog p { line-height:1.6; }
#auth-dialog form { display:grid; gap:14px; }
#auth-dialog label { display:grid; gap:8px; font-weight:600; }
#auth-dialog input { width:100%; box-sizing:border-box; border:1px solid #ccc; border-radius:8px; padding:12px; font:inherit; }
#auth-dialog button:not(.dialog-close) { border:1px solid #ccc; border-radius:8px; padding:12px 16px; font:inherit; cursor:pointer; }
#auth-dialog .auth-primary { width:100%; background:var(--ink); color:white; }
#auth-dialog button:disabled { opacity:.5; cursor:wait; }
.auth-divider { text-align:center; color:#666; }
#auth-message { font-size:14px; margin-bottom:0; }
.topbar nav { flex-wrap:wrap; }
.scan-status { display:flex; align-items:center; gap:16px; margin:0 0 24px; padding:18px 20px; background:#f5f7f6; border:1px solid #d8e3dc; border-radius:12px; }
.scan-status.is-scanning { background:#fff4ef; border-color:#f0b9a6; }
.scan-status-copy { display:grid; gap:6px; flex:1; min-width:0; }
.scan-status-copy strong { font-size:17px; color:var(--ink); }
.scan-status-copy span { font-size:13px; color:var(--muted); }
.scan-status progress { width:100%; height:8px; border:0; border-radius:6px; overflow:hidden; margin-top:5px; accent-color:var(--red); }
.scan-status progress::-webkit-progress-bar { background:#eaded9; border-radius:6px; }
.scan-status progress::-webkit-progress-value { background:var(--red); border-radius:6px; transition:width .25s; }
.scan-spinner { width:24px; height:24px; box-sizing:border-box; border:3px solid #d8e3dc; border-radius:50%; flex-shrink:0; }
.is-scanning .scan-spinner { border-color:#f1c7b8; border-top-color:var(--red); animation:scan-spin 1s linear infinite; }
@keyframes scan-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .is-scanning .scan-spinner { animation:none; } }
.alert-primary { border:0; border-radius:8px; background:var(--red); color:white; font:inherit; font-weight:700; padding:12px 18px; cursor:pointer; margin-bottom:18px; }
#alerts-dialog { width:min(680px,calc(100vw - 32px)); box-sizing:border-box; padding:32px; max-height:85vh; overflow:auto; }
#alerts-dialog h2 { margin:0 32px 14px 0; font:32px/1.1 "DM Serif Display",Georgia,serif; }
.alerts-notice { background:#fff4ef; border-radius:8px; padding:14px; color:#665149; font-size:13px; line-height:1.6; }
#save-alert-form { padding:16px 0; border-bottom:1px solid var(--line); }
#save-alert-form label { display:block; font-size:14px; margin:14px 0; }
#alert-cadence { display:block; width:100%; margin-top:8px; padding:10px; border:1px solid #ccc; border-radius:6px; font:inherit; }
.alert-checkbox input { margin-right:8px; }
.saved-alert { border:2px solid #d9b8b1; border-left:5px solid var(--red); padding:20px; border-radius:14px; margin:20px 0; background:#fff; box-shadow:0 4px 14px rgba(75,35,25,.06); }
.alert-card-label { display:inline-block; margin:0 0 14px; padding:6px 12px; border-radius:7px; background:var(--red); color:#fff; font-size:12px; font-weight:800; letter-spacing:.4px; }
.saved-alert-deleted { border-color:#d8dce0; border-left-color:#89919a; background:#fafafa; box-shadow:none; padding:12px 14px; margin:10px 0; border-radius:10px; }
.saved-alert-deleted .alert-card-label { background:#e9ecef; color:#4b5563; margin-bottom:7px; padding:3px 8px; font-size:11px; }
.saved-alert-deleted h3 { font-size:16px; }
.saved-alert-deleted p { margin:5px 0 9px; font-size:12px; }
.saved-alert-deleted > button { border:1px solid #c7ccd1; border-radius:6px; padding:6px 10px; background:#fff; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.saved-alert-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.saved-alert h3 { margin:0; font-size:18px; }
.saved-alert p { font-size:13px; color:var(--muted); line-height:1.5; }
.alert-status { text-transform:capitalize; font-size:12px; font-weight:700; background:#f1f1f1; padding:5px 9px; border-radius:20px; }
.alert-actions { display:flex; flex-wrap:wrap; gap:8px; }
.alert-actions button { background:#fff; border:1px solid #ccc; border-radius:6px; padding:8px 12px; cursor:pointer; font:inherit; font-size:13px; }
#alerts-message { font-size:14px; color:var(--ink); }
#alerts-message.alert-limit-warning { display:flex; gap:12px; align-items:flex-start; padding:16px; border:2px solid #b45309; border-radius:12px; background:#fff7ed; color:#78350f; line-height:1.5; }
#alerts-message.alert-limit-warning strong { font-size:17px; }
.alert-warning-icon { flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#b45309; color:white; font-weight:800; font-size:19px; }
.alert-price-drop { margin:12px 0; padding:12px 14px; border-left:4px solid #15803d; border-radius:8px; background:#f0fdf4; color:#14532d; }
.alert-price-drop p { margin:4px 0 0; }
.alert-price-tracking-note { font-size:13px; color:var(--muted); }
#alerts-dialog button:disabled { opacity:.5; cursor:wait; }
.usage-dashboard { display:grid; gap:14px; margin:18px 0; }
.usage-meter { padding:14px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.usage-meter-heading { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.usage-meter-heading span { white-space:nowrap; font-weight:700; color:var(--red); }
.usage-meter progress { display:block; width:100%; height:10px; border:0; border-radius:8px; overflow:hidden; margin:12px 0 8px; accent-color:var(--red); }
.usage-meter progress::-webkit-progress-bar { background:#f1e8e5; border-radius:8px; }
.usage-meter progress::-webkit-progress-value { background:var(--red); border-radius:8px; }
.usage-meter p,.usage-reset,.usage-background-note p { margin:0; font-size:12px; line-height:1.6; color:var(--muted); }
.usage-background-note { background:#fff4ef; padding:14px; border-radius:8px; font-size:13px; }
.usage-background-note p { margin-top:8px; }
.alert-timeline { display:grid; gap:9px; margin:14px 0; font-size:13px; }
.alert-timeline div { display:grid; grid-template-columns:100px 1fr; gap:12px; }
.alert-timeline dt { font-weight:700; }
.alert-timeline dd { margin:0; color:var(--muted); }
#auth-dialog { max-height:85vh; overflow:auto; box-sizing:border-box; width:min(520px,calc(100vw - 32px)); }

.alert-saved-matches { border-top:1px solid var(--line); padding-top:12px; margin:14px 0; }
.alert-saved-matches summary { cursor:pointer; font-weight:700; font-size:14px; }
.alert-match { padding:14px 0; border-bottom:1px solid var(--line); }
.alert-match a { color:var(--red); font-size:13px; font-weight:700; }
.alert-match-heading { display:flex; align-items:center; gap:14px; }
.alert-match-heading > div:last-child { min-width:0; }
.alert-match-heading p { margin:6px 0 0; }
.alert-match-thumbnail { position:relative; flex:0 0 80px; width:80px; height:80px; display:grid; place-items:center; overflow:hidden; border:1px solid #e0e0e0; border-radius:9px; background:#f2f2f2; color:#747474; font-size:11px; }
.alert-match-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.alert-match-image[hidden] { display:none; }
.price-assessment { margin:14px 0; padding:13px 15px; border:1px solid #cfe1d5; border-radius:8px; background:#f3faf5; }
.price-assessment strong { display:block; font-size:16px; color:#245438; }
.price-assessment p { margin:6px 0 0; color:#56645b; font-size:12px; line-height:1.6; }
.price-assessment.price-caution { background:#fff6e8; border-color:#ecc98b; }
.price-caution strong { color:#80510a; }
.price-assessment.price-above { background:#fff1f0; border-color:#efc3bf; }
.price-above strong { color:#9b2923; }
.price-above p { color:#795552; }
.price-assessment.price-unknown { background:#f7f7f7; border-color:#ddd; }
.price-unknown strong { color:#555; }
.reason { max-width:100%; }
.match-explanation { margin:12px 0; font-size:13px; line-height:1.5; }
.match-explanation dl { margin:12px 0; }
.match-explanation dt { font-weight:700; margin-top:10px; }
.match-explanation dd { margin:3px 0 0; color:var(--muted); }
.match-explanation ul { padding-left:20px; color:var(--muted); }

.places-attribution { padding:10px 12px; text-align:right; background:#fff; }
.places-attribution img { display:inline-block; }
.search-limit-warning:not([hidden]) { display:flex; gap:12px; align-items:flex-start; margin:18px 0; padding:18px; border:2px solid #b45309; border-radius:12px; background:#fff7ed; color:#78350f; line-height:1.5; }
.search-limit-warning strong { font-size:18px; }
.search-limit-warning p { margin:6px 0 0; }
.alerts-allowances, .deleted-alert-history { margin-top:30px; padding-top:24px; border-top:2px solid #e4d8d4; }
.alerts-section-heading { margin-bottom:18px; padding-left:13px; border-left:4px solid var(--red); }
.alerts-section-heading h3, #alerts-dialog .alerts-section-heading h2 { margin:0 0 6px; font:700 20px/1.3 "DM Sans",Arial,sans-serif; letter-spacing:0; }
.alerts-section-heading p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.alerts-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:5px; margin:22px 0 18px; border:1px solid #e4d8d4; border-radius:12px; background:#f7f3f1; }
.alerts-tabs button { min-height:48px; padding:10px 8px; border:0; border-radius:8px; background:transparent; color:#625a56; font:600 13px/1.35 "DM Sans",Arial,sans-serif; cursor:pointer; }
.alerts-tabs button[aria-selected="true"] { background:var(--red); color:#fff; box-shadow:0 2px 5px rgba(90,20,10,.15); }
.alerts-tabs button:focus-visible { outline:2px solid #252525; outline-offset:2px; }
.alerts-tab-panel[hidden] { display:none; }
.alerts-tab-panel { padding-top:4px; }
@media(max-width:480px) { .alerts-tabs button { font-size:11px; padding:9px 5px; } }
.direct-fields { grid-template-columns:1.6fr 1fr; }
.price-filter { margin:22px 0; padding:8px 20px 8px; border:1px solid #e4d9d6; border-radius:14px; background:#fffaf8; }
.price-filter[hidden] { display:none; }
.price-filter-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.price-filter h3 { margin:0 0 1px; font-size:17px; line-height:1.3; }
.price-filter p { margin:0; color:var(--muted); font-size:13px; }
.text-button { border:0; background:transparent; color:var(--red); font-weight:700; padding:5px 0; cursor:pointer; }
.price-histogram { display:flex; gap:5px; margin:18px 0 2px; }
.price-bin { flex:1; min-width:0; display:flex; flex-direction:column; padding:0; border:0; background:transparent; cursor:pointer; }
.price-bin-plot { height:36px; width:100%; display:flex; align-items:flex-end; border-bottom:1px solid #dec9c3; }
.price-bin-label { min-height:27px; padding-top:5px; width:100%; color:var(--muted); font-size:10px; line-height:1.2; text-align:center; font-variant-numeric:tabular-nums; }
.price-bin-label > span { display:block; }
@media(max-width:480px) { .price-histogram { overflow-x:auto; padding-top:18px; margin-top:0; padding-bottom:4px; }.price-bin { flex:0 0 56px; } }
.price-bin.is-selected .price-bin-bar { background:var(--red); }
.price-bin-bar > span { position:absolute; top:-17px; width:100%; left:0; text-align:center; color:#65534e; font-size:10px; }
.price-axis { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
@media(max-width:760px) { .direct-fields { grid-template-columns:1fr; }.price-filter {padding:12px 14px 8px;}.price-filter-heading {flex-wrap:wrap;} }
.price-range-controls { display:block; margin:8px 0 0; }
.price-range-labels { display:flex; justify-content:space-between; gap:16px; }
.price-range-labels label { display:flex; gap:8px; font-size:12px; line-height:1.4; font-weight:700; }
.price-range-labels output { color:var(--red); }
.price-range-slider { position:relative; height:28px; margin-top:0; }
.price-range-track { position:absolute; left:10px; right:10px; top:11px; height:6px; border-radius:8px; background:linear-gradient(to right,#e4d9d6 0%,#e4d9d6 var(--range-start,0%),var(--red) var(--range-start,0%),var(--red) var(--range-end,100%),#e4d9d6 var(--range-end,100%),#e4d9d6 100%); }
.price-range-slider input { position:absolute; inset:0; width:100%; height:28px; margin:0; padding:0; border:0; border-radius:0; appearance:none; -webkit-appearance:none; background:transparent; pointer-events:none; outline:none; }
.price-range-slider #price-max { z-index:2; }
.price-range-slider input::-webkit-slider-runnable-track { height:6px; background:transparent; border:0; }
.price-range-slider input::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:20px; height:20px; margin-top:-7px; background:var(--red); border:3px solid white; border-radius:50%; box-shadow:0 0 0 1px #c88c83; pointer-events:auto; cursor:ew-resize; }
.price-range-slider input::-moz-range-track { height:6px; background:transparent; border:0; }
.price-range-slider input::-moz-range-thumb { width:14px; height:14px; background:var(--red); border:3px solid white; border-radius:50%; box-shadow:0 0 0 1px #c88c83; pointer-events:auto; cursor:ew-resize; }
.price-range-slider input:focus-visible::-webkit-slider-thumb { outline:3px solid #6b2520; outline-offset:3px; }
.price-range-slider input:focus-visible::-moz-range-thumb { outline:3px solid #6b2520; outline-offset:3px; }
.price-bin-bar { display:block; width:100%; background:#eadbd6; border-radius:4px 4px 0 0; position:relative; }
.price-bin:hover:not(:disabled) .price-bin-bar { background:#9b1008; }
.price-bin:focus-visible { outline:2px solid #6b2520; outline-offset:3px; border-radius:4px; }
.price-bin:disabled { cursor:default; }
.price-filter-heading p { font-size:11px; line-height:1.3; }
