/* Print / PDF styles.
   Loaded with media="print", so it never affects the screen view.

   Two jobs: make the page readable on paper (drop the sticky nav, the floating
   WhatsApp button, hover affordances), and keep the brand colours, which
   browsers strip from printed output by default. */

@media print {
  :root { --shadow: none; --shadow-sm: none; }

  /* Browsers drop background colours when printing. The navy hero and gold
     stat bar are the brand — without this the first page prints white. */
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html { scroll-behavior: auto; }
  body { background: #fff; font-size: 10.5pt; line-height: 1.5; }

  /* Interactive furniture has no meaning on paper. */
  .site-header,
  .nav-toggle,
  .whatsapp-float,
  .lead-card,
  .lead-flash-wrap,
  .calc-updating,
  .gallery-link::after { display: none !important; }

  /* The top strip carries CIN/GSTIN — worth keeping, but compact. */
  .topbar { position: static; font-size: 8pt; padding: 4pt 0; }

  .container { max-width: 100%; padding-left: 12mm; padding-right: 12mm; }
  .section { padding: 10mm 0; }

  /* Keep related content together rather than orphaning headings. */
  h1, h2, h3 { break-after: avoid-page; page-break-after: avoid; }
  .service-card,
  .hub-card,
  .svc-card,
  .gallery-item,
  .cal-month,
  tr { break-inside: avoid-page; page-break-inside: avoid; }

  /* Grids collapse to two columns so nothing is squeezed unreadably. */
  .services-grid,
  .hub-grid,
  .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 6mm; }
  .svc-grid { grid-template-columns: 1fr !important; }
  .svc-side { position: static; }

  /* Accordions are closed by default on screen; on paper show everything. */
  .svc-faqs details { border: 1px solid #ccc; }
  .svc-faqs details > p { display: block !important; }
  .svc-faqs summary::after { content: ""; }

  /* Tables must not be cut mid-row or scroll off the page. */
  .scroller, .cal-table-scroll { overflow: visible !important; }
  table { width: 100% !important; min-width: 0 !important; font-size: 9.5pt; }

  a { text-decoration: none; color: inherit; }

  /* Deliberately do NOT print link destinations.
     The obvious rule — a[href^="http"]::after { content: attr(href) } — dumps
     the full wa.me deep link, query string and URL-encoded message text after
     every service chip. That is two lines of noise per link and makes the
     printed page unreadable. Anyone holding a paper copy will type the domain
     or scan the phone number, not transcribe an encoded URL. */

  img { max-width: 100% !important; }
  .lightbox { display: none !important; }
}
