/* City editions inherit Boca's compiled design system and editorial templates. */
.edition-page { background: #f7f5ef; }
.edition-page a, .edition-page button, .edition-page summary, .edition-page input, .edition-page select, .edition-page textarea { -webkit-tap-highlight-color: transparent; }
.edition-page :focus-visible { outline: 3px solid #075cba; outline-offset: 3px; }
.edition-header-row { display:flex; min-height:5rem; align-items:center; justify-content:space-between; gap:1rem; }
.edition-logo { width:220px; height:auto; max-height:66px; object-fit:contain; }
.edition-header-tagline { font-size:.8rem; color:#526176; }
.edition-header-actions { display:flex; align-items:center; gap:1rem; }
.edition-share { font-size:.75rem; font-weight:700; color:#075cba; }
.edition-search-toggle { display:grid; place-items:center; width:44px; height:44px; border-radius:.5rem; }
.edition-search-toggle:hover { background:#edf4fc; }
.edition-header-subscribe { background:#075cba; color:white; padding:.7rem .9rem; border-radius:.5rem; font-size:.75rem; font-weight:700; }
.edition-desktop-nav nav { display:flex; justify-content:space-between; gap:1rem; }
.edition-desktop-nav nav>a { padding:.9rem .6rem; font-size:.8rem; font-weight:700; }
.edition-mobile-nav { display:none; }
.edition-city-menu { position:relative; font-size:.75rem; }
.edition-city-menu summary { display:flex; gap:.5rem; align-items:center; min-height:44px; cursor:pointer; font-weight:700; list-style:none; }
.edition-city-menu summary::-webkit-details-marker { display:none; }
.edition-city-menu nav { position:absolute; right:0; top:100%; z-index:60; width:235px; max-height:70dvh; overflow:auto; border:1px solid #dfe5ec; background:white; border-radius:.75rem; padding:.5rem; box-shadow:0 12px 30px #14243b20; }
.edition-city-menu nav a { display:block; padding:.8rem; border-radius:.4rem; }
.edition-city-menu nav a:hover,.edition-city-menu nav a[aria-current] { background:#edf4fc; color:#075cba; }
.edition-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:.8rem; padding:.8rem 1.2rem; border:1px solid transparent; border-radius:.6rem; background:#075cba; color:white; font-size:.8rem; font-weight:800; cursor:pointer; line-height:1.4; text-align:center; }
.edition-button:hover { background:#054d9d; }
.edition-button-secondary { color:#075cba; background:white; border-color:#d8e4f1; }
.edition-button-secondary:hover { background:#edf4fc; }
.home-hero-button.edition-button { background:#f5c66d; color:#14243b; }
.home-hero-button.edition-button:hover { background:#f9d28a; }
.edition-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.edition-shortcuts>a { display:flex; gap:.7rem; align-items:center; min-height:70px; font-size:.8rem; }
.edition-shortcuts>a>span:last-child { margin-left:auto; color:#075cba; }
.edition-photo-credit { margin:-.3rem 0 .8rem; text-align:right; font-size:.6rem; color:#526176; }
.edition-photo-credit a { text-decoration:underline; text-underline-offset:3px; }
.edition-search-form { display:flex; align-items:center; gap:.8rem; border:1px solid #dbe3eb; background:#f8fafc; border-radius:.65rem; padding:.35rem .4rem .35rem .9rem; }
.edition-search-form svg { flex:none; color:#526176; }
.edition-search-form input { width:100%; min-width:0; padding:.7rem 0; border:0; background:transparent; font-size:.875rem; }
.edition-search-form button { flex:none; display:flex; align-items:center; gap:.8rem; background:#075cba; color:white; border-radius:.4rem; min-height:44px; padding:.6rem 1rem; font-size:.8rem; font-weight:700; cursor:pointer; }
.edition-guide-card { display:flex; flex-direction:column; background:white; border:1px solid #e5e7eb; }
.edition-guide-card:hover h3 { color:#075cba; }
.edition-guide-card.home-story-support { display:grid; grid-template-columns:8rem 1fr; }
.edition-guide-card.home-story-support .edition-guide-copy { padding:1.25rem; }
.edition-guide-card.home-story-support .home-story-image { margin:1.25rem 0 0 1.25rem; width:6.75rem; height:6.5rem; }
.edition-guide-card.home-story-support .home-story-excerpt { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.edition-guide-art { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.8rem; aspect-ratio:16/7; padding:1.5rem; color:#1a4362; background:#e4eceb; }
.edition-art-1 { background:#eee8dc; color:#765f3a; }
.edition-art-2 { background:#e8edf5; color:#244571; }
.edition-guide-art-label { font-size:.7rem; font-weight:700; letter-spacing:.04em; text-align:center; }
.edition-guide-card.home-story-support .edition-guide-art-label { display:none; }
.edition-business-card { display:block; overflow:hidden; background:white; border:1px solid #e4e5e2; border-radius:.8rem; }
.edition-business-card:hover h3 { color:#075cba; }
.edition-business-art { display:grid; place-items:center; height:135px; background:linear-gradient(135deg,#e4e8e8,#f0eee7); color:#34495b; font-family:Georgia,serif; font-size:2.5rem; }
.edition-business-card .business-card-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.edition-card-arrow { float:right; color:#075cba; }
.edition-banner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.edition-banner>.edition-button { flex:none; }
.edition-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.edition-category { display:flex; align-items:center; gap:.8rem; min-height:80px; padding:1rem; border:1px solid #e3e7e8; border-radius:.75rem; background:white; font-size:.75rem; }
.edition-category svg { color:#075cba; flex:none; }
.edition-category>span { margin-left:auto; color:#075cba; }
.edition-category:hover { background:#edf4fc; }
.edition-community-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.edition-community-grid svg { color:#075cba; }
.edition-detail-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:2rem; align-items:start; }
.edition-breadcrumb { display:inline-flex; align-items:center; gap:.5rem; font-size:.75rem; font-weight:700; color:#075cba; }
.edition-pill { display:inline-block; border-radius:99px; background:#edf4fc; padding:.5rem .8rem; font-size:.7rem; color:#31516e; }
.edition-note { padding:1.3rem; border:1px solid #dce6f0; border-radius:.75rem; background:#edf4fc; font-size:.875rem; line-height:1.8; }
.edition-text-link { color:#075cba; text-decoration:underline; text-underline-offset:3px; }
.edition-filter-row { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1.25rem; }
.edition-filter-row a { min-height:44px; display:flex; align-items:center; padding:.65rem .9rem; border:1px solid #dfe5ec; background:white; border-radius:99px; font-size:.75rem; font-weight:600; }
.edition-filter-row a:hover,.edition-filter-row a[aria-current] { background:#075cba; color:white; border-color:#075cba; }
.edition-guides-grid,.edition-city-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.edition-prose { max-width:70ch; line-height:1.85; }
.edition-prose>p { margin:1.25rem 0; }
.edition-prose h2 { margin-top:2rem; font-size:1.3rem; font-weight:700; }
.edition-prose h3 { margin-top:1.5rem; font-size:1rem; font-weight:700; }
.edition-prose ul { list-style:disc; padding-left:1.25rem; margin:1rem 0; }
.edition-prose li { margin:.5rem 0; }
.edition-prose img { width:100%; height:auto; }
.edition-form { display:flex; flex-direction:column; gap:1.25rem; }
.edition-field { display:flex; flex-direction:column; gap:.5rem; font-size:.875rem; font-weight:600; }
.edition-field input,.edition-field textarea,.edition-field select { width:100%; min-width:0; min-height:48px; border:1px solid #cbd5e1; border-radius:.5rem; padding:.7rem .9rem; background:white; font-size:1rem; font-weight:400; }
.edition-field textarea { resize:vertical; }
.edition-consent { display:flex; gap:.75rem; align-items:flex-start; font-size:.8rem; line-height:1.7; }
.edition-consent input { flex:none; width:20px; height:20px; margin-top:.15rem; accent-color:#075cba; }
.edition-form .edition-button { align-self:flex-start; }
.edition-form [data-form-status]:not(:empty) { font-size:.875rem; line-height:1.7; border-radius:.5rem; padding:1rem; background:#edf4fc; }
.edition-form [data-form-status][data-error] { background:#fef2f2; color:#991b1b; }
.edition-form button:disabled { opacity:.6; cursor:wait; }
.edition-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.edition-footer-grid { display:grid; grid-template-columns:2fr repeat(4,1fr); gap:2rem; }
.edition-footer-brand { display:inline-block; background:white; padding:.7rem; border-radius:.6rem; }
.edition-footer-brand .edition-logo { width:200px; }
.edition-city-card { overflow:hidden; border:1px solid #dfe5ec; border-radius:1rem; background:#fff; }
.edition-city-card>img { width:100%; height:185px; object-fit:cover; }
.edition-archive-item { display:block; max-width:42rem; }
@media(max-width:1100px) {
  .edition-header-tagline,.edition-share { display:none; }
  .edition-header-actions { gap:.6rem; }
}
@media(max-width:1023px) {
  .edition-header-row { min-height:4rem; gap:.5rem; }
  .edition-logo { width:185px; max-height:54px; }
  .edition-header-subscribe,.edition-desktop-nav { display:none; }
  .edition-mobile-nav { display:block; border-top:1px solid #e2e8f0; }
  .edition-mobile-nav>summary { display:flex; justify-content:space-between; align-items:center; padding:.65rem 1.25rem; min-height:44px; font-size:.75rem; font-weight:700; cursor:pointer; list-style:none; }
  .edition-mobile-nav>nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:.5rem 1rem 1rem; gap:.5rem; max-height:50dvh; overflow:auto; }
  .edition-mobile-nav nav>a { display:flex; align-items:center; min-height:44px; padding:.5rem; border-radius:.5rem; }
  .edition-shortcuts { gap:.5rem; }
  .edition-shortcuts>a { justify-content:center; flex-direction:column; gap:.2rem; font-size:.65rem; min-height:60px; }
  .edition-shortcuts>a>span:last-child { display:none; }
  .edition-photo-credit { display:none; }
  .edition-guide-card.home-story-lead,.edition-guide-card.home-story-support { display:grid; grid-template-columns:88px 1fr; gap:0; }
  .edition-guide-card.home-story-lead .home-story-image,.edition-guide-card.home-story-support .home-story-image { width:88px; height:88px; margin:0; padding:.75rem; aspect-ratio:1; border-radius:.5rem; }
  .edition-guide-art-label { display:none; }
  .edition-guide-card .edition-guide-copy,.edition-guide-card.home-story-support .edition-guide-copy { padding:0 0 0 1rem; }
  .edition-guide-card .home-story-title { font-family:var(--font-display); font-size:1rem; font-weight:700; }
  .edition-guide-card { padding:1rem; }
  .edition-category-grid,.edition-community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .edition-guides-grid { grid-template-columns:1fr; }
  .edition-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .edition-footer-grid>div:first-child { grid-column:1/-1; max-width:30rem; }
}
@media(max-width:639px) {
  .edition-header-row { flex-wrap:wrap; }
  .edition-logo { width:156px; }
  .edition-city-menu summary { font-size:.65rem; }
  .edition-header-actions { gap:.2rem; }
  .edition-search-toggle { width:36px; }
  .edition-search-form { gap:.4rem; padding-left:.6rem; }
  .edition-search-form input { font-size:.8rem; }
  .edition-search-form button { padding:.6rem .75rem; }
  .edition-search-form button span { display:none; }
  .edition-business-card { display:grid; grid-template-columns:64px 1fr; padding:1rem; }
  .edition-business-art { height:64px; border-radius:.5rem; font-size:1.5rem; }
  .edition-business-card>div:last-child { padding:0 0 0 1rem; }
  .edition-business-card h3 { font-size:1rem; }
  .edition-business-card .business-card-description { -webkit-line-clamp:1; font-size:.8rem; margin-top:.4rem; }
  .edition-business-card p:last-child { margin-top:.5rem; }
  .edition-banner { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .edition-detail-grid { grid-template-columns:1fr; gap:1.5rem; }
  .edition-category { font-size:.65rem; padding:.8rem; gap:.5rem; }
  .edition-category>span { display:none; }
  .edition-community-grid { grid-template-columns:1fr; }
  .edition-city-grid { grid-template-columns:1fr; }
  .edition-city-card>img { height:180px; }
  .edition-footer-grid { gap:1.5rem; }
}
@media(max-width:360px) {
  .edition-header-row { flex-wrap:nowrap; gap:.3rem; }
  .edition-logo { width:128px; }
  .edition-header-actions { gap:0; }
  .edition-city-menu summary { font-size:.6rem; gap:.25rem; }
  .edition-search-toggle { width:30px; }
}
