/* Town change database: quiet, fast, factual. */
.town-home{border-top:1px solid #cdbb94;padding-top:26px}
.town-home-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.town-home-heading h2{margin:0 0 3px}
.town-home-heading p,.town-policy{margin:0;color:#6b5b42;font-size:14px}
.town-home-all,.town-home-more{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:5px}
.town-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.town-shortcuts a{display:inline-flex;min-height:40px;align-items:center;padding:5px 12px;border:1px solid #d4c4a5;background:#fffdf8;text-decoration:none}
.town-home-list{list-style:none;margin:8px 0 4px;padding:0;border-top:1px solid #dfd2b8}
.town-home-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eadfca}
.town-home-date{font-size:12px;color:#79684c}
.town-home-name{min-width:0}
.town-home-name a{font-weight:600;text-decoration:none}
.town-home-name small{display:block;color:#75654e;font-size:12px;margin-top:2px}
.town-tag{display:inline-flex;align-items:center;min-height:26px;padding:1px 8px;border:1px solid #bba879;font-size:12px;white-space:nowrap;background:#fff}
.town-loading,.town-empty{padding:14px 0;color:#79684c}
.town-page{max-width:900px;margin:0 auto;background:#fcf8ec;color:#36250f;font:16px/1.75 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.town-page *{box-sizing:border-box}
.town-page a{color:inherit}
.town-page nav{display:grid;grid-template-columns:repeat(6,1fr);background:#392206;border-bottom:1px solid #ac8c44}
.town-page nav a{min-height:50px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#f4e8bd;font-size:14px}
.town-main{padding:30px 24px 44px}
.town-home-nav{display:inline-flex;min-height:44px;align-items:center;margin:0 0 14px;text-underline-offset:5px;font-size:14px;color:#5f4d35}
.town-kicker{margin:0 0 6px;color:#7a6747;font-size:13px}
.town-main h1,.town-main h2,.town-main h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
.town-main h1{font-size:28px;line-height:1.4;margin:0 0 8px}
.town-lead{margin:0 0 4px;font-size:17px}
.town-policy-line{margin:0 0 24px;color:#6f5d42;font-size:14px}
.town-search{margin:0 0 18px}
.town-search label{display:block;font-weight:600;margin-bottom:7px}
.town-search input{width:100%;min-height:48px;border:1px solid #b9a57c;background:#fff;padding:10px 12px;font:inherit;color:#36250f;border-radius:0}
.town-filters{display:grid;gap:11px;margin-bottom:18px}
.town-filter-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.town-filter-label{width:44px;font-size:12px;color:#766448}
.town-filter{min-height:38px;border:1px solid #d2c2a2;background:#fffdf8;padding:5px 10px;color:#4b3924;font:inherit;font-size:13px;cursor:pointer}
.town-filter[aria-pressed="true"]{background:#402603;color:#f3e7bc;border-color:#402603}
.town-result-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #cdbb94;border-bottom:1px solid #dfd2b8;color:#6c5b42;font-size:13px}
.town-list{display:grid;gap:0}
.town-card{padding:17px 0;border-bottom:1px solid #dfd2b8}
.town-card-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.town-card h2{font-size:20px;line-height:1.45;margin:0 0 5px}
.town-card h2 a{text-decoration:none}
.town-card-place{margin:0;color:#5f4d35}
.town-card-date{margin:3px 0 0;font-size:13px;color:#79684c}
.town-card-previous{margin:4px 0 0;font-size:13px;color:#6d5b41}
.town-card-summary{margin:8px 0 0}
.town-card-link{display:inline-flex;min-height:40px;align-items:center;margin-top:5px;text-underline-offset:5px}
.town-category{font-size:12px;color:#6f5f46;border-left:2px solid #aa8c4b;padding-left:7px}
.town-cuisine{font-size:12px;color:#503d22;border:1px solid #cdbb94;background:#fffdf8;padding:1px 7px;white-space:nowrap}
.town-hospitality{font-size:12px;color:#503d22;border:1px solid #a99569;background:#faf3e5;padding:1px 7px;white-space:nowrap}
.town-selective{font-size:12px;color:#4b3924;border:1px solid #9c875b;background:#f5ecd7;padding:1px 7px;white-space:nowrap}
.town-footer{background:#392206;color:#e4d5ae;padding:18px 22px;text-align:center;font-size:12px}
.town-detail-head{border-bottom:1px solid #d6c5a4;padding-bottom:18px;margin-bottom:20px}
.town-detail-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0;border-top:1px solid #ded0b4;margin:14px 0 26px}
.town-detail-grid dt,.town-detail-grid dd{margin:0;padding:9px 8px;border-bottom:1px solid #eadfca}
.town-detail-grid dt{color:#6f5d42;font-size:13px}
.town-detail-section{margin-top:26px}
.town-detail-section h2{font-size:20px;margin:0 0 9px}
.town-fact-list,.town-history,.town-source-list{margin:0;padding-left:1.2em}
.town-history li{margin-bottom:6px}
.town-back{display:inline-flex;min-height:44px;align-items:center;margin-top:28px}
.town-detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.town-detail-actions .town-back{margin-top:0}
.town-property-cta{display:inline-flex;min-height:44px;align-items:center;padding:8px 13px;border:1px solid #cdbb94;background:#fffdf8;text-decoration:none;font-weight:600;text-underline-offset:5px}
@media(max-width:600px){
  .town-home-heading{display:block}.town-home-all{margin-top:5px}
  .town-home-item{grid-template-columns:74px minmax(0,1fr);gap:5px 9px}
  .town-home-item .town-tag{grid-column:2;justify-self:start}
  .town-page nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .town-page nav a{min-height:44px;font-size:13px}
  .town-main{padding:24px 18px 36px}
  .town-main h1{font-size:24px}
  .town-filter-label{width:100%}
  .town-detail-grid{grid-template-columns:105px minmax(0,1fr)}
  .town-detail-actions{align-items:stretch}
  .town-detail-actions .town-back,.town-property-cta{width:100%;justify-content:flex-start}
}

/* Counts describe the current filter combination; zero does not mean no such business exists. */
.town-filter-empty:not([aria-pressed="true"]){color:#75654e;border-style:dashed}
.town-reset{justify-self:start;text-decoration:underline;text-underline-offset:3px;min-height:44px}

.town-extra-filters summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;color:#5f4d35}
.town-extra-filters .town-filter-row{margin-top:10px}
