body { margin: 0; font-family: 'Source Sans 3', sans-serif; background: #fff; color: #1b2a4a; }
.oe-city-wrap { max-width: 880px; margin: 0 auto; padding: 26px 22px 44px; }
.oe-city-crumb { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: #888; margin-bottom: 14px; }
.oe-city-crumb a { color: #888; }
.oe-city-wrap h1 { font-family: 'DM Sans', sans-serif; font-size: 26px; margin: 0 0 6px; }
.oe-city-intro { font-size: 14px; color: #666; margin: 0 0 22px; }
.oe-city-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.oe-city-list li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid #f0f0f0; }
.oe-city-list a { color: #1b2a4a; text-decoration: none; font-size: 15px; }
.oe-city-list a:hover { text-decoration: underline; }
.oe-city-desc { font-size: 12px; color: #777; line-height: 1.45; margin-top: 1px; }
@media (max-width: 640px) { .oe-city-list { columns: 1; } }

/* Cuisine hub: reuses the city list layout. A city/count tag sits inline after
   the name; the cuisine index is a denser multi-column grid of cuisine links. */
.oe-city-tag { font-size: 11px; color: #999; letter-spacing: .02em; }
.oe-city-list a + .oe-city-tag { margin-left: 6px; }
.oe-cuisine-list { columns: 3; }
@media (max-width: 640px) { .oe-cuisine-list { columns: 2; } }


/* Cuisine hub: "About <cuisine>" SEO copy below the listing. */
.oe-cuisine-about { max-width: 760px; margin: 36px 0 0; padding-top: 26px; border-top: 1px solid #eee; }
.oe-cuisine-about h2 { font-family: 'DM Sans', sans-serif; font-size: 19px; margin: 0 0 12px; color: #1b2a4a; }
.oe-cuisine-about p { font-size: 14px; line-height: 1.7; color: #555; margin: 0 0 14px; }


/* City page: "About <city>" SEO copy below the listing (mirrors .oe-cuisine-about). */
.oe-city-about { max-width: 760px; margin: 36px 0 0; padding-top: 26px; border-top: 1px solid #eee; }
.oe-city-about h2 { font-family: 'DM Sans', sans-serif; font-size: 19px; margin: 0 0 12px; color: #1b2a4a; }
.oe-city-about p { font-size: 14px; line-height: 1.7; color: #555; margin: 0 0 14px; }


/* "Best of" cuisine pages + city cross-links. */
.oe-best-intro { max-width: 760px; margin: 0 0 22px; }
.oe-best-intro p { font-size: 15px; line-height: 1.65; color: #444; margin: 0 0 12px; }
.oe-best-jump { font-size: 13px; color: #777; margin: 0 0 22px; line-height: 1.8; }
.oe-best-jump a { color: #1b2a4a; }
.oe-best-city { margin: 0 0 22px; }
.oe-best-city h2 { font-family: 'DM Sans', sans-serif; font-size: 18px; margin: 0 0 8px; color: #1b2a4a; scroll-margin-top: 80px; }
.oe-best-all { font-size: 14px; margin: 26px 0 0; }
.oe-best-cta { font-size: 14px; font-weight: 600; margin: 0 0 18px; }
.oe-best-cta a { color: #b2801f; }
.oe-city-best { max-width: 760px; margin: 30px 0 0; }
.oe-city-best h2 { font-family: 'DM Sans', sans-serif; font-size: 18px; margin: 0 0 10px; color: #1b2a4a; }
.oe-city-best-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.oe-city-best-list li { break-inside: avoid; padding: 5px 0; }
.oe-city-best-list a { color: #1b2a4a; text-decoration: none; font-size: 14px; }
.oe-city-best-list a:hover { text-decoration: underline; }
@media (max-width: 640px) { .oe-city-best-list { columns: 1; } }


/* "Watch the <name> review video" links on the hub lists (city / cuisine / best-of). */
.oe-watch-line { margin-top: 2px; }
.oe-watch-link { font-size: 12px; color: #b2801f; text-decoration: none; font-weight: 600; }
.oe-watch-link:hover { text-decoration: underline; }
