/* ==========================================================================
   Print. Makes the real pages print well; there is no separate print page.
   Loaded with media="print".
   ========================================================================== */

/* Save ink: no panels, shadows or background photos. Black on white. */
*,
*::before,
*::after {
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #000 !important;
}

html,
body {
  /* Explicit white; transparent shows as black in a dark viewer. */
  background: #fff !important;
}

body {
  font-size: 11pt;
  line-height: 1.45;
}

@page {
  margin: 15mm;
}

/* --- What has no business on paper -------------------------------------- */

/* Nothing to click or fill in on paper. */
.skip-link,
.site-header,
.mobile-nav,
.menu-scrim,
.scroll-menu,
.header-call,
.mobile-menu-btn,
.header-cta,
.enquiry,
.map,
.lightbox,
.back-link,
.hero__actions,
.legal-contact__actions,
.legal-reset,
.notfound__links,
.carousel-dots,
.photo-card__zoom,
.gallery-head .btn,
.cta .btn,
.btn {
  display: none !important;
}

/* The link columns repeat the navigation; the contact details stay. */
.footer-col__links,
.socials {
  display: none !important;
}

/* --- What the page is ---------------------------------------------------- */

/* The .print-header line from base.php says whose page it is, with the
   phone number from settings. */
.print-header {
  display: block !important;
  margin-bottom: 10mm;
  padding-bottom: 3mm;
  border-bottom: 1pt solid #000;
  font-size: 10pt;
  font-weight: 700;
}

/* --- Layout ------------------------------------------------------------- */

/* One column, in reading order. */
.hero,
.section__inner,
.courses,
.gallery-grid,
.instructors,
.kontakt,
.footer-grid,
.reviews,
.legal-card,
.legal-page,
.page-body,
.page-head {
  display: block !important;
  max-width: none !important;
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.section,
.section--alt,
.section--tight,
.section--bordered,
.section__inner,
.hero,
.page-head,
.page-body,
.legal-page,
.legal-card,
.notfound {
  padding: 0 0 6mm !important;
  border: none !important;
}

/* Start at the top of the sheet, under the header line. */
.hero,
.page-head { padding-top: 0 !important; }

/* No photos. */
.gallery-grid,
.hero__photo,
.photo-card__media,
.media-fade,
.instructor__avatar,
.review__avatar {
  display: none !important;
}

/* Paper is narrower than the phone breakpoint, and a swipe row would print
   only what is scrolled into view. */
.courses,
.reviews,
#galeria .gallery-grid {
  overflow: visible !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

img { max-width: 100% !important; }

/* --- Typography --------------------------------------------------------- */

h1, .page-title { font-size: 20pt; margin: 0 0 4mm; }
h2, .section-title { font-size: 14pt; margin: 6mm 0 2mm; }
h3 { font-size: 12pt; margin: 4mm 0 1mm; }

.hero__lead,
.page-lead,
.section-head p { font-size: 11pt; }

.eyebrow,
.hero__badge,
.meta-pill,
.group-pill,
.course-card__tag { font-size: 9pt; }

/* --- Breaks -------------------------------------------------------------- */

/* No headings stranded at the foot of a page, no split cards. */
h1, h2, h3, h4 {
  break-after: avoid;
  page-break-after: avoid;
}

.course-card,
.photo-card,
.instructor,
.review,
.faq__question,
.legal-section,
.legal-table__row,
.identity,
figure,
table,
blockquote {
  break-inside: avoid;
  page-break-inside: avoid;
}

p { orphans: 3; widows: 3; }

/* --- Things the paper has to say out loud -------------------------------- */

/* Every FAQ answer open. */
.faq__panel {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  grid-template-rows: 1fr !important;
}
.faq__panel-inner { visibility: visible !important; }

/* Printed links show their address, except where it would be noise. */
a[href^="http"]::after {
  content: " (" attr(href) ")";
  font-size: 9pt;
  word-break: break-all;
}
.site-footer a[href^="http"]::after,
.footer-bottom a[href^="http"]::after,
.legal-table a[href^="http"]::after,
.kontakt__value[href^="http"]::after {
  content: "";
}

.legal-table,
.legal-table__row,
.identity dt,
.identity dd,
.footer-bottom {
  border-color: #999 !important;
}
