/* Layout for pages rendered by render-page.js. Adjust colors and fonts to the site's own; keep the structure. */
.nq-byline { font-size: .9rem; color: #555; margin: .25rem 0 1rem; }
.nq-package-pricing,
.nq-city-package-pricing,
.nq-package-pricing > *,
.nq-city-package-pricing > * { box-sizing: border-box; min-width: 0; max-width: 100%; }
.nq-package-pricing .nq-section.nq-table,
.nq-city-package-pricing .nq-section.nq-table { min-width: 0; }
.nq-package-pricing .nq-glance,
.nq-city-package-pricing .nq-glance { min-width: 0; max-width: 100%; }
.nq-glance { border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin: 1rem 0; }
.nq-glance h2 { font-size: 1.1rem; margin: 0 0 .5rem; }
.nq-glance dl { margin: 0; display: grid; gap: .5rem; }
.nq-glance dt { font-weight: 600; }
.nq-glance dd { margin: 0; }
.nq-glance .nq-note { display: block; }
.nq-package-pricing .nq-table-wrap,
.nq-city-package-pricing .nq-table-wrap { min-width: 0; max-width: 100%; }
.nq-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: .5rem 0; }
.nq-table { border-collapse: collapse; width: 100%; min-width: 420px; }
.nq-table th, .nq-table td { border-bottom: 1px solid #e5e5e5; padding: .5rem .6rem; text-align: left; white-space: nowrap; }
.nq-table thead th { font-weight: 600; background: #f6f6f6; }
.nq-table tbody th { font-weight: 400; white-space: normal; }
.nq-note { font-size: .85rem; color: #475569; line-height: 1.5; margin: .7rem 0 1rem; }
.nq-callout { border-left: 4px solid #999; background: #f7f7f7; padding: .75rem 1rem; margin: 1rem 0; }
.nq-chart { margin: .5rem 0 1.5rem; }
.nq-chart img { width: 100%; height: auto; display: block; }
.nq-crumbs ol { list-style: none; padding: 0; margin: 0 0 .5rem; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .85rem; }
.nq-crumbs li + li::before { content: "›"; margin-right: .25rem; color: #999; }
.nq-photo img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.nq-photo figcaption { font-size: .75rem; color: #777; }
.nq-sources { margin: 2rem 0; }
.nq-sources summary { cursor: pointer; font-weight: 600; }
.nq-sources li { font-size: .85rem; overflow-wrap: anywhere; }
@media (prefers-color-scheme: dark) {
  .nq-byline, .nq-note, .nq-photo figcaption { color: #aaa; }
  .nq-glance { border-color: #444; }
  .nq-table th, .nq-table td { border-color: #333; }
  .nq-table thead th { background: #222; }
  .nq-callout { background: #1d1d1d; border-color: #666; }
}
