.city-shop-intro { max-width: 85ch; }
.city-shop-search { margin: 0 0 18px; }
.city-shop-search label { display:block; margin-bottom:7px; color:#ead2a5; font-weight:600; }
.city-shop-search input { box-sizing:border-box; width:100%; max-width:620px; padding:11px 13px; color:#f4ead8; background:#0b120f; border:1px solid #69553a; border-radius:3px; font:inherit; }
.city-shop-search input:focus { outline:2px solid #c59e65; outline-offset:2px; }
.city-shop-results-info { color:#d3c4aa; margin:10px 0; }
.city-shop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.city-shop-card { min-width:0; padding:15px; border:1px solid #484331; border-radius:3px; background:#0b120f; }
.city-shop-card h3 { display:flex; align-items:center; gap:9px; margin:0 0 7px; font-size:18px; }
.city-shop-card h3 img { width:36px; height:36px; object-fit:contain; }
.city-shop-card p { margin:6px 0; overflow-wrap:anywhere; }
.city-shop-city { color:#c9aa75; font-size:13px; }
.city-shop-card dl { margin:8px 0 0; }
.city-shop-card dl div { margin:5px 0; line-height:1.5; }
.city-shop-card dt { display:inline; color:#d8bc8d; font-weight:600; }
.city-shop-card dd { display:inline; margin:0; }
.city-shop-heading { display:flex; align-items:center; gap:10px; }
.city-emblem { flex:0 0 auto; object-fit:contain; vertical-align:middle; }
.reference-tabs .city-emblem { margin-right:7px; }
.city-shop-products { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.city-shop-product { display:flex; align-items:center; gap:8px; flex:1 1 190px; min-width:0; padding:7px; border:1px solid #413c2c; background:#111a14; }
.city-shop-product img { flex:0 0 48px; width:48px; height:48px; object-fit:contain; }
.city-shop-product span { min-width:0; line-height:1.35; }
.city-shop-product strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.city-shop-product small { display:block; margin-top:3px; color:#d2b98e; font-size:12px; }
.city-shop-more { margin-top:9px; }
.city-shop-more summary { color:#e1c392; cursor:pointer; font-size:14px; font-weight:600; }
.city-shop-empty { margin:0; color:#d4c5ad; }
.city-shop-scroll-hint { display:none; }
@media(max-width:700px) { .city-shop-grid { grid-template-columns:minmax(0,1fr); } .city-shop-scroll-hint { display:block; margin:0 0 6px; color:#cbb58d; font-size:12px; } }
