/* Shubh Bazaar - the server-rendered content / SEO pages (module SRH part 2): listings, vendor profile, collections, real weddings, price guides, muhurat.
   These pages are complete HTML before any script runs, so every class their markup uses must look right from the stylesheet alone (a crawler, a slow phone, JS
   off). Scoped under .bz-page[data-ssr]; tokens only (--bz-*), no hex. The kit's own classes (.bz-vcard, .bz-chip, .bz-btn, .bz-table ...) stay in bazaar-ui.css. */

.bz-page[data-ssr] { overflow-wrap: break-word; }
.bz-page[data-ssr] img { max-width: 100%; height: auto; }

/* a plain card: date cards, package cards, guide boxes */
.bz-page[data-ssr] .bz-card { display: grid; gap: var(--bz-s-2); align-content: start; background: var(--bz-paper-raised); border: 1px solid var(--bz-line); border-radius: var(--bz-r-card); padding: var(--bz-s-4); min-width: 0; }
.bz-page[data-ssr] .bz-card > :is(h2, h3, h4, p, ul) { margin: 0; }
.bz-page[data-ssr] .bz-card .bz-btn { justify-self: start; }
.bz-page[data-ssr] .bz-card:has(> a.bz-vcard-link) { padding: 0; overflow: hidden; }
.bz-page[data-ssr] .bz-card > a.bz-vcard-link { display: grid; gap: var(--bz-s-2); color: inherit; text-decoration: none; }
.bz-page[data-ssr] .bz-card > a.bz-vcard-link > :is(h2, h3) { padding: var(--bz-s-2) var(--bz-s-4) 0; margin: 0; }
.bz-page[data-ssr] .bz-card:has(> a.bz-vcard-link) > p { padding: 0 var(--bz-s-4) var(--bz-s-4); }

/* long prose (intro, story, editorial copy): a readable measure */
.bz-page[data-ssr] .bz-prose { max-width: 68ch; }
.bz-page[data-ssr] .bz-prose p { margin: 0 0 var(--bz-s-3); line-height: var(--bz-lh-body); }
.bz-page[data-ssr] .bz-section > p { max-width: 68ch; line-height: var(--bz-lh-body); }

/* the price table scrolls inside its own box - the page itself never scrolls sideways (390 px) */
.bz-page[data-ssr] .bz-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--bz-line); border-radius: var(--bz-r-card); background: var(--bz-paper-raised); -webkit-overflow-scrolling: touch; }
.bz-page[data-ssr] .bz-table-wrap:focus-visible { outline: 2px solid var(--bz-focus); outline-offset: 2px; }
.bz-page[data-ssr] .bz-table-wrap .bz-table { min-width: 34rem; }
.bz-page[data-ssr] .bz-table :is(th[scope="row"]) { white-space: nowrap; font-weight: 700; }
.bz-page[data-ssr] .bz-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* FAQ: question + answer, visible (the FAQPage markup repeats exactly this text) */
.bz-page[data-ssr] .bz-faq { max-width: 68ch; }
.bz-page[data-ssr] .bz-faq-item { padding: var(--bz-s-3) 0; border-top: 1px solid var(--bz-line); }
.bz-page[data-ssr] .bz-faq-item:last-child { border-bottom: 1px solid var(--bz-line); }
.bz-page[data-ssr] .bz-faq-item h3 { margin: 0 0 var(--bz-s-1); }
.bz-page[data-ssr] .bz-faq-item p { margin: 0; line-height: var(--bz-lh-body); }

/* reviews on a profile */
.bz-page[data-ssr] .bz-review { padding: var(--bz-s-3) var(--bz-s-4); background: var(--bz-paper-raised); border: 1px solid var(--bz-line); border-radius: var(--bz-r-card); list-style: none; }
.bz-page[data-ssr] .bz-review p { margin: 0 0 var(--bz-s-1); line-height: var(--bz-lh-body); }
.bz-page[data-ssr] .bz-review p:last-child { margin-bottom: 0; }

/* callouts and empty states */
.bz-page[data-ssr] .bz-notice { padding: var(--bz-s-3) var(--bz-s-4); background: var(--bz-warning-tint); border: 1px solid var(--bz-line-strong); border-radius: var(--bz-r-card); color: var(--bz-ink); }
.bz-page[data-ssr] .bz-notice p { margin: 0; }
.bz-page[data-ssr] .bz-empty { display: grid; gap: var(--bz-s-2); justify-items: start; padding: var(--bz-s-5); background: var(--bz-paper-sunken); border: 1px dashed var(--bz-line-strong); border-radius: var(--bz-r-card); }
.bz-page[data-ssr] .bz-empty > * { margin: 0; }

/* the profile's hero photo */
.bz-page[data-ssr] .bz-vendor-hero { margin: 0 0 var(--bz-s-4); border-radius: var(--bz-r-card); overflow: hidden; background: var(--bz-paper-sunken); }
.bz-page[data-ssr] .bz-vendor-hero img { display: block; width: 100%; max-height: 28rem; object-fit: cover; }

/* chip rows of links (top localities, related categories, categories free on a muhurat date) */
.bz-page[data-ssr] .bz-chip-row { display: flex; flex-wrap: wrap; gap: var(--bz-s-2); padding: 0; margin: 0 0 var(--bz-s-3); list-style: none; }
.bz-page[data-ssr] .bz-chip-row li { margin: 0; }
.bz-page[data-ssr] .bz-chip-n { margin-inline-start: var(--bz-s-1); color: var(--bz-ink-2); font-variant-numeric: lining-nums; }

/* stacked link lists and the month pager */
.bz-page[data-ssr] .bz-stack { display: grid; gap: var(--bz-s-2); padding: 0; margin: 0; list-style: none; }
.bz-page[data-ssr] .bz-pager { display: flex; flex-wrap: wrap; gap: var(--bz-s-3); align-items: center; justify-content: space-between; margin-top: var(--bz-s-5); }
.bz-page[data-ssr] .bz-pager a { display: inline-flex; align-items: center; min-height: var(--bz-tap); }
.bz-page[data-ssr] address { font-style: normal; }

@media (max-width: 767px) {
  .bz-page[data-ssr] .bz-card { padding: var(--bz-s-3); }
  .bz-page[data-ssr] .bz-empty { padding: var(--bz-s-4); }
}
