/* dim.rest design layer — kept separate from restaurant data. */
:root{--dim-bg:#141715;--dim-panel:#1d221f;--dim-border:#374039;--dim-text:#f5f2ea;--dim-muted:#bcc4ba;--dim-accent:#f5a46b}
body{background:var(--dim-bg);color:var(--dim-text);font-size:16px}
.wrap,.header-inner,.hero{max-width:1200px}
.site-header{background:rgba(20,23,21,.97);border-color:#303831;backdrop-filter:none}
.header-inner{min-height:76px;padding:16px 24px}
.logo img{height:32px;max-height:36px;width:auto}
.site-nav a{font-size:15px;color:#d4d9d0}
.site-nav a:last-child{border:1px solid #566052;border-radius:12px;padding:10px 14px;background:transparent;color:var(--dim-text)!important}
.hero-tool{padding:30px 24px 24px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px 40px;align-items:center}
.hero-copy .eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim-accent);margin:0 0 12px;font-weight:600}
.hero-tool h1{font-size:clamp(30px,3.5vw,46px);line-height:1.12;letter-spacing:-.025em;max-width:650px;margin:0 0 16px}
.hero-tool h1 em{font-style:normal;color:var(--dim-accent)}
.hero-tool .lede{color:#cbd2c7;max-width:520px;font-size:17px;line-height:1.55;margin:0}
.hero-art{margin:0;overflow:hidden;border-radius:24px;background:#242c25;align-self:stretch;max-height:256px}
.hero-art img{width:100%;height:100%;object-fit:cover;display:block;min-height:210px}
.finder-panel{grid-column:1/-1;padding:24px;background:var(--dim-panel);border:1px solid var(--dim-border);border-radius:20px;box-shadow:0 12px 32px #00000016}
.locate-label{font-weight:600;font-size:17px;margin:0 0 10px;color:var(--dim-text)}
.locate-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.locate-block,.matters-block,.home-chips{max-width:none;width:100%}
.location-choices{margin-top:12px;padding:14px;border:1px solid #6b795f;background:#161d16;border-radius:14px}
.location-choices p{margin:0 0 8px;font-weight:600}
.location-choice{display:block;width:100%;padding:12px;text-align:left;font:inherit;color:#edf0e5;background:#263023;border:1px solid #45533c;border-radius:8px;margin:6px 0;min-height:44px;cursor:pointer}
.location-choice:hover{background:#39452f}
.location-choices small{display:block;margin-top:10px;color:#bcc4ba}
.locate-field{flex:1 1 380px;min-width:0}
input[type=search],select{font-size:16px;border:1px solid #566052;background:#151a16;border-radius:12px;color:var(--dim-text);min-height:48px}
.locate-field input{min-height:54px;padding:14px 16px;background:#f3f2e9;color:#20291f;border-color:#f3f2e9}
.locate-field input::placeholder{color:#586052}
.btn{border-radius:12px;border-color:#566052;background:#252d26;min-height:46px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-orange,#find-location{background:var(--dim-accent);border-color:var(--dim-accent);color:#231b12;font-weight:600}
.btn:hover{border-color:var(--dim-accent)}
.btn-orange:hover,#find-location:hover{background:#ffb981;color:#231b12}
.btn:disabled{opacity:.6;cursor:wait}
.matters-block{margin-top:22px}
.home-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0}
[data-tag=tag_gentle_sound]{--feature:#9fc6ff;--feature-bg:#293c50}
[data-tag=tag_friendly_lighting]{--feature:#ffd27c;--feature-bg:#463c24}
[data-tag=tag_fresh_air]{--feature:#9bdbb4;--feature-bg:#294737}
[data-tag=tag_wall_seating]{--feature:#d4b3f7;--feature-bg:#403348}
[data-tag=tag_contactless]{--feature:#ffb3b7;--feature-bg:#4a3037}
[data-tag=tag_easy_menu]{--feature:#8ddcde;--feature-bg:#254246}
.chip{background:#222923;border:1px solid #465043;color:#e8ece3!important;border-radius:14px;min-height:48px;padding:10px 14px;gap:10px;font-size:15px;line-height:1.25;text-align:left}
.home-chips .chip{min-height:106px;flex-direction:column;justify-content:flex-start;align-items:flex-start;position:relative;padding:14px 12px}
.chip .chip-ico,.feature-symbol{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--feature-bg);color:var(--feature)}
.chip .chip-ico svg,.feature-symbol svg{width:23px;height:23px}
.chip[aria-pressed=true]{border-color:var(--feature);background:var(--feature-bg);box-shadow:inset 0 0 0 1px var(--feature);color:#fff!important}
.chip[aria-pressed=true] .chip-ico{color:var(--feature)}
.home-chips .chip[aria-pressed=true]::after{position:absolute;right:10px;top:12px;color:var(--feature)}
.chip:hover{border-color:var(--feature)}
.form-hint,.meta,.count{color:var(--dim-muted);font-size:14px;line-height:1.5}
.finder-panel .form-hint{margin:14px 0 0}
.feature-guide{margin-top:12px;font-size:14px;color:#cbd2c7}
.feature-guide summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:8px 0;min-height:40px}
.feature-guide dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:12px 0}
.feature-guide dt{font-weight:600;color:var(--dim-text)}
.feature-guide dd{margin:3px 0 0;line-height:1.5}
body[data-page=home] #places{padding:0 24px}
.results-toolbar{padding:18px 0;margin:0 0 12px}
.results-head{align-items:center;margin-bottom:16px;gap:10px}
.results-head h2{font-size:24px}
.results-controls{margin-bottom:12px;gap:18px}
.field span{font-size:14px;color:#c3ccbd}
.sort-field{flex:0 1 230px;min-width:190px}
.view-toggle{gap:0;padding:4px;border:1px solid #465043;border-radius:14px;background:#1b211c}
.view-toggle .btn{border:0;background:transparent;min-height:40px;padding:8px 18px}
.view-toggle button[aria-pressed=true]{background:#e5ebdd;color:#1a241a;border-radius:10px}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grid>li{min-width:0}
.card{background:#1d231e;border-color:#374235;border-radius:18px;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:#8b9c7f;box-shadow:0 8px 24px #0003}
.card{position:relative}
.card:has(.thumb-placeholder)::before{content:"Photo unavailable";position:absolute;top:80px;left:0;right:0;text-align:center;color:#bcc4ba;font-size:14px;pointer-events:none}
.thumb{height:184px}.thumb.thumb-placeholder{height:184px}
.card-body{padding:18px;gap:7px}
.card h3{font-size:21px;line-height:1.25}
.card .meta{font-size:14px}
.card-features{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0;font-size:13px}
.feature-pill{display:inline-flex;align-items:center;gap:5px;color:var(--feature);background:var(--feature-bg);padding:6px 9px;border-radius:8px;line-height:1.35}
.feature-pill svg{width:16px;height:16px;flex-shrink:0}
.card-features-count{border-top:1px solid #364032;padding-top:10px;margin-top:auto!important}
.empty.empty-guide{background:#1e261e;border:1px dashed #63705c;border-radius:16px;max-width:none;padding:24px}
.empty.empty-guide h2{font-size:20px}
.browse-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:14px 0 0;font-size:14px}
.browse-links a{color:#e7dbb6;text-underline-offset:4px;padding:6px 0}
.map-view,.mini-map{border-color:#4b5845;border-radius:18px}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#f3f2e9;color:#1c261d}
.leaflet-popup-content a{color:#25492b}
body[data-page=venue] .page{padding:24px}
.venue-grid.venue-grid-single{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;padding:12px 0 32px;align-items:start}
.venue-main,.venue-aside{min-width:0}
.venue-main h1{font-size:clamp(28px,3vw,40px);line-height:1.15}
.venue-main>.meta{font-size:16px}
.venue-summary{font-size:17px;line-height:1.6;max-width:unset;color:#d8dfd1;margin:16px 0}
.venue-actions{margin:20px 0;gap:10px}
.venue-aside .venue-hero{margin:0 0 20px}
.venue-aside .venue-hero img{height:auto;aspect-ratio:4/3;max-height:400px;width:100%;object-fit:cover}
.venue-aside .mini-map{height:260px}
.profile-heading{font-size:20px;margin-top:28px}
.profile li{padding:12px 14px;background:#1d251e;border-color:#394536;align-items:center;min-height:62px;gap:12px}
.feature-name{display:flex;align-items:center;gap:12px;font-size:16px}
.badge.ok{color:#b8e3a7;font-size:14px;white-space:nowrap}
.badge.off{color:#c0c8b9;font-size:13px;text-align:right}
.help-listing{background:#1c221c;border-color:#384332;max-width:none;margin-top:24px}
.help-listing a{color:#f3bc90}
.still-true{max-width:none;background:transparent;padding:14px 0 0;border:0;border-top:1px solid #3e4838;border-radius:0}
.nearby{max-width:none;border-color:#394333;grid-column:1/-1}
.nearby-list li{padding:12px 0;border-color:#394333;align-items:center}
.nearby-list .meta{max-width:55%;text-align:right}
.site-footer{border-color:#394333;margin-top:32px;padding-top:28px}
.signup{background:#1c241d;border-color:#394333}
.back-results a{display:inline-flex;align-items:center;min-height:44px;color:#eedcc1}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffd084;outline-offset:4px}
[hidden]{display:none!important}
@media(min-width:1500px){.hero-art{max-height:280px}}
@media(max-width:1000px){.home-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.home-chips .chip{min-height:76px;flex-direction:row;align-items:center}.hero-tool{gap:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-chips .chip[aria-pressed=true]::after{top:5px;right:7px}.venue-grid.venue-grid-single{gap:24px}}
@media(max-width:700px){.header-inner{padding:12px 18px;min-height:66px;flex-wrap:nowrap}.logo img{height:27px}.site-nav{gap:12px}.site-nav a{font-size:13px}.site-nav a:last-child{padding:8px 10px}.hero-tool{grid-template-columns:1fr;padding:24px 18px 18px;gap:18px}.hero-tool h1{max-width:500px}.hero-tool .lede{font-size:16px}.hero-art{display:none}.finder-panel{padding:18px;border-radius:16px}.locate-field{flex-basis:100%}.locate-row .btn{flex:1}.home-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-chips .chip{min-height:88px;font-size:14px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.chip .chip-ico{width:30px;height:30px}.feature-guide dl{grid-template-columns:1fr}.results-head h2{font-size:21px}.results-head{align-items:flex-start}.results-head .meta{width:100%}.toolbar>.field{flex-basis:100%;min-width:0}.toolbar>.sort-field{flex:1 1 180px}.view-toggle .btn{padding:8px 14px}.grid{grid-template-columns:1fr;gap:16px}.thumb{height:200px}.card-body{padding:18px}.venue-grid.venue-grid-single{grid-template-columns:1fr;gap:20px;padding-top:0}body[data-page=venue] .page{padding:18px}.profile-heading{margin-top:20px}.feature-name{font-size:15px}.feature-name .feature-symbol{width:28px;height:28px}.profile li{padding:10px;gap:8px}.nearby-list li{align-items:flex-start;flex-direction:column;gap:4px}.nearby-list .meta{max-width:none;text-align:left}body[data-page=home] #places{padding:0 18px}.results-controls{gap:12px}.venue-aside .venue-hero img{max-height:300px}.page.wrap:not(body[data-page=venue] .page){padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.hero-art{display:block;max-height:160px;border-radius:16px}.hero-art img{min-height:160px;height:160px;object-position:50% 45%}}
