/* content-pages.css – styles for guide/city/price pages (v2, 2026-11-02) */
.content-page .crumbs { padding-block: 14px 0; font-size: .85rem; color: var(--ink-soft, #4b5b66); }
.content-page .crumbs a { color: inherit; }
.content-page .crumbs [aria-current] { font-weight: 700; color: var(--ink, #132d3b); }
.quick-answer { margin-block: 18px; padding: 16px 18px; background: var(--accent-light, #f2e4db); border-inline-start: 4px solid var(--accent, #af4928); border-radius: 3px; line-height: 1.7; }
.prose { max-inline-size: 860px; }
.prose > p, .prose li { line-height: 1.8; color: var(--ink-soft, #33434e); }
.prose > p + p, .prose > * + p { margin-block-start: 14px; }
.prose h2 { margin-block-end: 18px; }
.prose h3 { margin-block: 24px 10px; font-size: 1.15rem; }
.prose ul, .prose ol { padding-inline-start: 22px; margin-block: 14px; }
.prose li + li { margin-block-start: 8px; }
.notice { padding: 14px 16px; background: #fff8e6; border: 1px solid #f0d58a; border-radius: 3px; margin-block: 16px; }
.muted { color: #6b7780; font-size: .88rem; }
.table-wrap { overflow-x: auto; margin-block: 18px; -webkit-overflow-scrolling: touch; }
.table-wrap table { inline-size: 100%; border-collapse: collapse; min-inline-size: 560px; font-size: .93rem; }
.table-wrap th, .table-wrap td { border: 1px solid var(--line, #dde3e7); padding: 10px 12px; text-align: start; vertical-align: top; }
.table-wrap thead th { background: #132d3b; color: #fff; }
.table-wrap tbody tr:nth-child(even) { background: #f7f9fa; }
.tag-market { display: inline-block; margin-inline-start: 6px; padding: 1px 7px; font-size: .72rem; border-radius: 10px; background: #e7eef2; color: #234; white-space: nowrap; }
.steps-list { counter-reset: s; list-style: none; padding-inline-start: 0 !important; }
.steps-list > li { counter-increment: s; position: relative; padding-inline-start: 44px; }
.steps-list > li::before { content: counter(s); position: absolute; inset-inline-start: 0; inset-block-start: 0; inline-size: 30px; block-size: 30px; border-radius: 50%; background: var(--accent, #af4928); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .9rem; }
.checklist { list-style: none; padding-inline-start: 0 !important; }
.checklist > li { position: relative; padding-inline-start: 28px; }
.checklist > li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--accent, #af4928); font-weight: 700; }
.city-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-block: 18px; }
.city-card { display: block; padding: 16px; border: 1px solid var(--line, #dde3e7); border-block-start: 3px solid var(--accent, #af4928); border-radius: 3px; text-decoration: none; color: inherit; background: #fff; }
.city-card:hover { box-shadow: 0 8px 24px #132d3b14; }
.city-card strong { display: block; margin-block-end: 6px; color: #132d3b; }
sup.ref a { text-decoration: none; font-size: .75em; padding-inline: 1px; }
.sources-section .src-list { font-size: .85rem; line-height: 1.7; padding-inline-start: 22px; }
.sources-section .src-list li:target { background: #fff3c4; }
.related-links { margin-block: 18px; padding: 16px 18px; border: 1px dashed var(--line, #c9d2d8); border-radius: 3px; }
.related-links ul { margin-block: 8px 0; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-block: 20px; }
.photo-grid figure { margin: 0; background: #fff; border: 1px solid var(--line, #dde3e7); border-radius: 3px; overflow: hidden; }
.photo-grid img { display: block; inline-size: 100%; block-size: 200px; object-fit: cover; }
.photo-grid figcaption { padding: 8px 12px; font-size: .85rem; color: var(--ink-soft, #4b5b66); line-height: 1.5; }
.project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-block: 18px; }
.project-card-v2 { padding: 16px 18px; background: #fff; border: 1px solid var(--line, #dde3e7); border-block-start: 3px solid #132d3b; border-radius: 3px; }
.project-card-v2 h3 { margin: 0 0 10px; font-size: 1.05rem; color: #132d3b; }
.project-card-v2 p { margin: 6px 0; line-height: 1.7; font-size: .93rem; }
.cta-box { margin-block: 22px; padding: 18px 20px; background: #132d3b; color: #fff; border-radius: 3px; }
.cta-box p { margin: 0 0 12px; color: #fff; line-height: 1.6; }
.cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cta-box .button.cta-form { background: transparent; border-color: #9eadaa; color: #fff; }
.cta-box .button.cta-form:hover { background: #ffffff1a; }
@media (max-width: 700px) { .cta-actions .button { inline-size: 100%; } .photo-grid img { block-size: 180px; } }
@media (max-width: 700px) { .content-page .wrap.prose { inline-size: calc(100% - 32px); } }
