/* ═══════════════════════════════════════
   PRINT — Compact A4 handout (1–2 pages)
   ═══════════════════════════════════════ */

/* --- Base --- */
body {
  font-size: 10pt;
  line-height: 1.4;
  color: #000;
  background: white;
}
body::after { display: none; }
a { color: #000; text-decoration: underline; }

/* --- Hide non-printable elements --- */
.nav-glass, .mobile-menu, .scroll-indicator, .scroll-top,
.dot-race-woven, .photo-strip, .photo-strip--dark,
.section-bg-image, .section-bg-overlay, .section-topo::before,
.hero-image-wrap, .hero-overlay,
.photo-credits, [data-credit]::before { display: none !important; }

/* Hide forms (can't type on paper) */
#newsletter-form, #contact-form { display: none; }

/* --- Reset visual effects --- */
.reveal { opacity: 1 !important; transform: none !important; }
.hero-line, .hero-subtitle, .stats-bar {
  opacity: 1 !important; transform: none !important; animation: none !important;
}
.glass-warm {
  background: white;
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: 1px solid #ccc;
  box-shadow: none;
  border-radius: 0;
}
.section-photo-bg { overflow: visible; }

/* Reset grit layer transforms */
.fact-band, .fact-band.reveal.visible,
.fact-band.reveal.visible:nth-child(1),
.fact-band.reveal.visible:nth-child(2),
.fact-band.reveal.visible:nth-child(3),
.fact-band.reveal.visible:nth-child(4),
.leistung-pill { transform: none !important; }

/* --- Hero: compact header --- */
.hero {
  min-height: auto;
  padding: 0.5rem 0 0.75rem;
  border-bottom: 2pt solid #000;
  margin-bottom: 0.5rem;
}
.hero-content { position: static; text-align: left; }
.hero-title-wrap { margin: 0 0 0.25rem; }
.hero-title-crimson { font-size: 24pt; }
.hero-title-forest { font-size: 24pt; }
.hero-subtitle { font-size: 9pt; margin-top: 0.25rem; color: #333; }

.stats-bar { margin-top: 0.5rem; justify-content: flex-start; gap: 1rem; }
.stat-number { font-size: 14pt; }
.stat-label { font-size: 7pt; opacity: 0.7; }
.stat-accent { display: none; }
.stat-divider { height: 1.2rem; }

/* --- Sections: radically reduce spacing --- */
.section-spacer { padding: 0.75rem 0; }
.section-spacer--tight { padding-top: 0.25rem; }
.section-cinema { padding: 0.75rem 0; }

/* --- About: full-width, no offset --- */
.fact-band {
  max-width: 100%;
  padding: 0.5rem 0;
  margin: 0 0 0.25rem;
  border: none;
  border-bottom: 0.5pt solid #ddd;
  background: none !important;
}
.fact-left, .fact-right {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}
.fact-right .fact-body { margin-left: 0; }
.fact-heading { font-size: 14pt; margin: 0 0 0.25rem; }
.fact-body { font-size: 10pt; opacity: 1; max-width: 100%; }
.fact-label { font-size: 6pt; background: none; clip-path: none; }
.fact-stats { margin-top: 0.5rem; }
.fact-stat-number { font-size: 14pt; }
.fact-stat-unit { font-size: 7pt; }

/* --- Newsletter: heading only --- */
.newsletter-wrap {
  max-width: 100%;
  padding: 0.5rem 0;
  text-align: left;
  background: none !important;
  border: none;
}
.newsletter-heading { font-size: 14pt; margin: 0 0 0.25rem; }
.newsletter-text { font-size: 10pt; margin-bottom: 0; }
.newsletter-label { background: none; clip-path: none; }

/* --- Warum --- */
.warum-block {
  max-width: 100%;
  padding: 0.5rem 0;
  text-align: left;
  background: none !important;
  border: none;
}
.warum-heading { font-size: 16pt; margin: 0 0 0.5rem; }
.warum-body { font-size: 10pt; opacity: 1; max-width: 100%; margin: 0 0 0.5rem; }
.pull-quote { font-size: 13pt; margin-top: 0.25rem; }
.warum-closing { font-size: 10pt; margin-top: 0.25rem; }

/* --- Detail cards (Wer / Wie teuer) --- */
.grid-2 {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 0;
  max-width: 100%;
}
.detail-card {
  padding: 0.5rem 0;
  background: none !important;
  border: none;
  border-bottom: 0.5pt solid #ddd;
}
.detail-heading { font-size: 14pt; margin: 0 0 0.25rem; }
.detail-body { font-size: 10pt; opacity: 1; }
.detail-accent { font-size: 11pt; }
.detail-price { font-size: 16pt; }
.birdie-bg::before { display: none; }

/* --- Leistungen pills: compact inline --- */
.leistungen-block {
  max-width: 100%;
  padding: 0.5rem 0;
  text-align: left;
  background: none !important;
  border: none;
}
.leistungen-wrap {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.5rem;
}
.leistung-pill {
  padding: 0.2rem 0.5rem;
  font-size: 8pt;
  border-color: #ccc;
}

/* --- Das Besondere (checkpoints) --- */
.besondere-block {
  max-width: 100%;
  padding: 0.5rem 0;
  text-align: left;
  background: none !important;
  border: none;
}
.besondere-block .detail-body {
  max-width: 100%;
  margin: 0 0 0.5rem;
  text-align: left;
}
.checkpoint-bar {
  flex-direction: row;
  padding: 0.25rem 0;
}
.checkpoint-label { font-size: 6pt; background: none; clip-path: none; }
.checkpoint-city { font-size: 6pt; }
.checkpoint-dot { width: 10px; height: 10px; }

/* --- Regeln timeline --- */
.regeln-block {
  max-width: 100%;
  padding: 0.5rem 0;
  background: none !important;
  border: none;
}
.regeln-block .detail-heading { text-align: left; }
.timeline { margin-top: 0.5rem; }
.timeline-item { padding: 0.4rem 0; }
.timeline-text { font-size: 9pt; opacity: 1; }
.timeline-dot { width: 10px; height: 10px; top: 0.7rem; }

/* --- Contact: info only, no form --- */
.contact-grid {
  grid-template-columns: 1fr;
  gap: 0.5rem;
  padding: 0;
  max-width: 100%;
}
.contact-form-wrap { display: none; }
.contact-info { padding-top: 0; }
.contact-info-label {
  font-size: 7pt;
  background: none;
  clip-path: none;
}

/* --- Footer --- */
.imprint {
  padding: 0.75rem 0;
}
.imprint::before { display: none; }
.imprint-bottom { display: none; }
.grid-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.imprint-logo { font-size: 12pt; }
.imprint-tagline { font-size: 9pt; margin-top: 0.5rem; }

/* --- Legal pages --- */
.legal-nav { display: none; }
.legal-footer { display: none; }
.legal-page {
  max-width: 100%;
  padding: 0;
}
.legal-page h1 { font-size: 16pt; margin-bottom: 0.5rem; }
.legal-page h2 { font-size: 12pt; margin: 1rem 0 0.5rem; break-after: avoid; }
.legal-page h3 { font-size: 11pt; margin: 0.75rem 0 0.25rem; break-after: avoid; }
.legal-page p { font-size: 10pt; opacity: 1; }
.legal-page ul,
.legal-page ol { font-size: 10pt; opacity: 1; }

/* --- Page break control --- */
.fact-band,
.detail-card,
.timeline-item,
.checkpoint-node,
.newsletter-wrap,
.warum-block,
.besondere-block,
.regeln-block,
.leistungen-block {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Prefer break before major sections */
#details {
  break-before: auto;
}
