/* /japan-local-spots/ in the house style (2026-11-05, wave 3): filters, venue cards, Tokyo Bible
   waitlist. conversion.css and signup.css (unchanged) read --yellow/--white/--red and the Display/Mono
   faces; they are mapped to the house tokens and fonts here. */
@font-face{font-family:Display;src:url(/assets/fonts/BarlowCondensed-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Mono;src:url(/assets/fonts/SpaceMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--yellow:var(--lime);--white:#fff;--red:var(--ink)}

.filters{background:var(--paper);border:var(--rule) solid var(--ink);padding:14px;margin:8px 0 12px}
.filter-label{font-size:12px;margin:0 0 8px!important}
.city-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.city-filters button,#reset-filters{min-height:44px;font-family:"Space Mono",monospace;text-transform:uppercase;font-size:12px;background:var(--cream);color:var(--ink);border:var(--rule) solid var(--ink);padding:8px 10px;cursor:pointer}
.city-filters button[aria-pressed=true]{background:var(--ink);color:var(--lime)}
.filter-fields{display:grid;gap:12px}
.filter-fields label{display:block;font-size:12px;margin-bottom:5px}
.filter-fields select,.filter-fields input{width:100%;min-height:44px;font:inherit;font-size:16px;padding:9px 10px;border:var(--rule) solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.category-help{font-size:12px;color:var(--link-grey);margin:5px 0 0}
.price-legend{font-size:13px;color:var(--link-grey)}
.price-legend strong{color:var(--ink);font-family:"Space Mono",monospace;font-weight:400;font-size:12px}
.result-summary{font-family:"Space Mono",monospace;text-transform:uppercase;font-size:12px;margin:14px 0 8px;padding-top:10px;border-top:var(--rule) solid var(--ink)}

.city-section{margin:0 0 24px}
.city-section[hidden],.venue-card[hidden]{display:none}
.city-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 0 10px;border-bottom:var(--rule) solid var(--ink);padding-bottom:8px}
.city-section-head .eyebrow{font-family:"Space Mono",monospace;font-size:12px;color:var(--link-grey)}
.city-section-head h3{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:40px;line-height:1;margin:4px 0 0}
.city-section-head a{display:inline-block;padding:14px 0;font-family:"Space Mono",monospace;font-size:12px;text-decoration:none;color:var(--link-grey)}
.city-card-grid{display:grid;grid-template-columns:1fr;gap:14px}
.venue-card{background:var(--paper);border:var(--rule) solid var(--ink);display:flex;flex-direction:column;min-width:0}
.venue-card .card-top{display:flex;justify-content:space-between;background:var(--lime);border-bottom:var(--rule) solid var(--ink);padding:8px 14px;font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase}
.venue-card .card-body{padding:14px 14px 10px;flex:1}
.venue-card .location{font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase;color:var(--link-grey);margin:0 0 6px}
.venue-card h4{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:28px;line-height:1;margin:0 0 4px}
.venue-card .jp-name{margin:0 0 8px;font-weight:600}
.price-indicator{display:flex;gap:8px;align-items:baseline;margin:0 0 8px}
.price-indicator strong{background:var(--ink);color:var(--lime);padding:1px 6px;font-size:13px}
.price-indicator span{font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase;color:var(--link-grey)}
.venue-card p{margin:0 0 8px}
.venue-card .order strong{font-family:"Space Mono",monospace;font-weight:400;font-size:12px}
.venue-card .note{font-size:13px;color:var(--link-grey)}
details.evidence{border-top:1px solid #d9d4c6;padding-top:8px;font-size:14px}
details.evidence summary{padding:14px 0;cursor:pointer;font-family:"Space Mono",monospace;font-size:12px;text-transform:uppercase}
details.evidence p{margin:6px 0 0}
.card-links{display:flex;flex-wrap:wrap;border-top:var(--rule) solid var(--ink)}
.card-links a{min-height:44px;display:flex;align-items:center;justify-content:center;flex:1 1 auto;text-align:center;padding:10px 8px;font-family:"Space Mono",monospace;text-transform:uppercase;font-size:12px;text-decoration:none;border-right:1px solid var(--ink)}
.card-links a:last-child{border-right:0}
.card-links a:hover{background:var(--lime)}
.empty-state{background:var(--paper);border:var(--rule) dashed var(--ink);padding:16px}
.empty-state[hidden]{display:none}

.inline-waitlist{background:var(--ink);color:var(--on-ink);padding:16px;display:grid;gap:12px;margin:10px 0 0}
.inline-waitlist .eyebrow{color:var(--lime);font-size:12px}
.inline-waitlist p{margin:4px 0;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:28px;line-height:1}
.inline-waitlist small{display:block;font-size:13px;color:#c9c5b8}
.inline-waitlist a{display:block;background:var(--lime);color:var(--ink);padding:12px 14px;text-decoration:none;font-weight:600;margin-bottom:6px}

#before .card h2{font-size:28px}
.features{margin:14px 0;display:grid;gap:0;border-top:var(--rule) solid var(--ink)}
.features div{padding:10px 0;border-bottom:1px solid #d9d4c6}
.features dt{font-size:12px;margin-bottom:3px}
.features dt span{background:var(--lime);padding:0 4px;margin-right:4px}
.features dd{margin:0}
.primary-cta{margin-top:16px}
.cta-support{font-size:13px;color:var(--link-grey)}
/* The forms signup.js adds keep their own layout; inside the reading column they take its width. */
.layout>.signup-top,.signup-top{width:auto;margin:18px var(--pad) 0}
.direct-signup{border-width:var(--rule)}

@media (min-width:700px){
  .filter-label,.filter-fields label,.result-summary,.city-section-head a,.city-section-head .eyebrow,.venue-card .location,.venue-card .card-top,.price-indicator span,.card-links a{font-size:12px}
  .city-filters button,#reset-filters,details.evidence summary{font-size:12px}
  .filter-fields{grid-template-columns:1fr 1fr}
  .city-card-grid{grid-template-columns:1fr 1fr}
  .city-section-head h3{font-size:52px}
  .venue-card h4{font-size:30px}
  .price-legend{font-size:15px}
  .inline-waitlist{grid-template-columns:1.4fr 1fr;align-items:center;padding:22px}
  .inline-waitlist p{font-size:34px}
  .features dt{font-size:12px}
}
@media (min-width:1024px){
  .layout>.signup-top{margin:24px 0 0}
}
