/* Only used by print and Save as PDF, via media="print". */
@media print {
  @page { size: A4; margin: 14mm; }
  *, *::before, *::after {
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }
  html, body { background: #fff !important; }
  body { font-size: 11pt; line-height: 1.45; }
  .wrap { width: 100%; max-width: none; }
  .header { position: static; border-bottom: 1px solid #bbb; }
  .nav-shell { min-height: 0; padding-bottom: 4mm; }
  .brand img { width: 34mm; }
  .nav, .cart-nav, .menu-toggle, .mobile-contact, .skip,
  .actions, .btn, .quiet, .crumb, .banner-link, .hero-compass,
  .card-arrow, form, .privacy-settings, .consent-banner,
  .consent-dialog, dialog::backdrop { display: none !important; }
  [hidden] { display: none !important; }
  .section, .feature-band, .contact-band, .heritage-hero { padding-block: 6mm; }
  h1 { font-size: 25pt; line-height: 1.12; }
  h2, .feature-band > .wrap > h2 { font-size: 20pt; }
  h3, .card-photo h3 { font-size: 15pt; }
  h1, h2, h3 { break-after: avoid-page; }
  p, li { orphans: 3; widows: 3; }
  .lead { font-size: 12pt; }
  .section-heading, .heritage-caption, .tester-notice,
  .christmas-grid, .detail-hero, .chooser-layout, .contact-inner { display: block; }
  .card-grid, .feature-grid, .skills-grid, .info-grid, .detail-grid, .place-list {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm;
  }
  .adventure-card, .feature-grid li, .skills-grid li, .info-grid li,
  .place-list li, .detail-panel, figure { break-inside: avoid; }
  .heritage-hero { display: block !important; }
  .heritage-hero .hero-mobile-only { display: none !important; }
  .heritage-art { aspect-ratio: auto; overflow: visible; border: 0; padding: 0; margin: 0; transform: none; }
  .heritage-art img { width: 100%; height: auto; }
  .holiday-figure img, .detail-hero img { max-height: 65mm; object-fit: contain; }
  .card-photo { display: block; min-height: 0; aspect-ratio: auto; padding: 4mm; }
  .card-photo img, .card-photo::after, .place-art { display: none; }
  .paper-panel, .result-panel { min-height: 0; padding: 5mm; border: 1px solid #bbb; }
  .tester-notice { margin-block: 5mm; padding: 4mm; }
  .footer { padding-block: 5mm; border-top: 1px solid #bbb; }
  .footer-brand img { filter: none; }
  a { text-decoration: underline; }
}
