/* ============================================================
   EMERGENCY VISIBILITY FIX
   Alle Texte auf allen Seiten sichtbar machen
   Root Cause 1: [class*="arrow"] in global.css matcht container--narrow
   → display:none !important auf alle --narrow Container auf Mobile
   Root Cause 2: .reveal { opacity: 0 } + IntersectionObserver Timing
   ============================================================ */

/* FIX #1: container--narrow wurde durch [class*="arrow"] auf Mobile versteckt */
.container--narrow {
  display: block !important;
}

/* FIX #2: KILL the reveal opacity trap */
.reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Basis: Alles sichtbar */
body, main, section, article, div { color: #F5F3EF; }

/* Sections */
.section-dark, .section-alt, .section-highlight,
section[class*="section"] { color: #F5F3EF; }

/* Headings */
h1, h2, h3, h4, h5, h6,
section h2, section h3, section h4,
.section-dark h2, .section-alt h2, .section-highlight h2,
.section-dark h3, .section-alt h3, .section-highlight h3 {
  color: #F5F3EF !important;
  font-family: 'Playfair Display', serif !important;
  visibility: visible !important;
  display: block !important;
  opacity: 1 !important;
}

/* Body Text */
p, li, span, td, dd, dt, label,
section p, section li, section td,
.section-dark p, .section-alt p, .section-highlight p {
  color: #B8C4D0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Links */
a:not(.btn):not(.nav-link),
section a:not(.btn) {
  color: #C9A84C !important;
}

/* Table Headers */
th, section th,
.comparison-table th {
  color: #C9A84C !important;
  background: #141A22 !important;
  padding: 12px 16px !important;
  visibility: visible !important;
  display: table-cell !important;
}

/* Table Cells */
td, section td,
.comparison-table td {
  color: #B8C4D0 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  visibility: visible !important;
  display: table-cell !important;
}

/* Tables */
table, .comparison-table {
  width: 100% !important;
  border-collapse: collapse !important;
  visibility: visible !important;
  display: table !important;
}

tr { display: table-row !important; visibility: visible !important; }
thead { display: table-header-group !important; }
tbody { display: table-row-group !important; }

/* Ship Cards */
.ship-card {
  background: #141A22 !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  color: #F5F3EF !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.ship-card h3 { color: #F5F3EF !important; }
.ship-card__badge {
  color: #C9A84C !important;
  background: rgba(201,168,76,0.1) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  padding: 4px 12px !important;
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  visibility: visible !important;
}
.ship-card__facts {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  margin: 16px 0 !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  visibility: visible !important;
}
.ship-card__label {
  display: block !important;
  color: #B8C4D0 !important;
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  visibility: visible !important;
}
.ship-card__fact { display: block !important; visibility: visible !important; }
.ship-card__fact span { display: block !important; visibility: visible !important; }
.ship-card__fact span:last-child {
  color: #F5F3EF !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}
.ship-card__desc {
  color: #B8C4D0 !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  display: block !important;
  visibility: visible !important;
}
.ship-card__desc a { color: #C9A84C !important; }
.ship-card__header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  visibility: visible !important;
}

/* FAQ Akkordeon */
.faq-item, details.faq-item {
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.faq-question, summary.faq-question,
.faq-item__question, summary.faq-item__question {
  padding: 20px 0 !important;
  color: #F5F3EF !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.faq-question::after, summary.faq-question::after {
  content: '+' !important;
  color: #C9A84C !important;
  font-size: 1.4rem !important;
}
.faq-item[open] .faq-question::after,
details.faq-item[open] summary.faq-question::after {
  content: '\2212' !important;
}
summary.faq-question::-webkit-details-marker,
summary.faq-item__question::-webkit-details-marker { display: none !important; }
.faq-answer, .faq-item__answer {
  padding: 0 0 20px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.faq-answer p, .faq-item__answer p {
  color: #B8C4D0 !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  visibility: visible !important;
  display: block !important;
}

/* Inclusive Grid */
.inclusive-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin: 24px 0 !important;
  visibility: visible !important;
}
.inclusive-col {
  background: #0F1418 !important;
  padding: 24px !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
  display: block !important;
  visibility: visible !important;
}
.inclusive-col--yes h4 { color: #4CAF50 !important; display: block !important; visibility: visible !important; }
.inclusive-col--no h4 { color: #ff6b6b !important; display: block !important; visibility: visible !important; }
.inclusive-col ul { list-style: none !important; padding: 0 !important; display: block !important; visibility: visible !important; }
.inclusive-col li { color: #B8C4D0 !important; padding: 8px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; display: list-item !important; visibility: visible !important; }
@media (max-width: 767px) { .inclusive-grid { grid-template-columns: 1fr !important; } }

/* Benedikt Tipp */
.benedikt-tipp {
  background: #141A22 !important;
  border-left: 3px solid #C9A84C !important;
  padding: 24px 24px 24px 28px !important;
  margin: 32px 0 !important;
  display: block !important;
  visibility: visible !important;
}
.benedikt-tipp h4, .benedikt-tipp__label { color: #C9A84C !important; visibility: visible !important; display: block !important; }
.benedikt-tipp p { color: #B8C4D0 !important; visibility: visible !important; display: block !important; }

/* CTA Block */
.cta-block {
  background: #141A22 !important;
  padding: 60px 20px !important;
  text-align: center !important;
  border-top: 1px solid rgba(201,168,76,0.15) !important;
  display: block !important;
  visibility: visible !important;
}
.cta-block h2 { color: #F5F3EF !important; }
.cta-block p { color: #B8C4D0 !important; }

/* Testimonials */
.testimonial { display: block !important; visibility: visible !important; }
.testimonial p { color: #B8C4D0 !important; }
.testimonial cite, .testimonial .author { color: #C9A84C !important; }

/* Summary / Details global */
summary { color: #F5F3EF !important; display: flex !important; visibility: visible !important; }
details { display: block !important; visibility: visible !important; }

/* ============================================================
   REISEDESIGN WIZARD — Visual Upgrade
   ============================================================ */

/* Step Titles */
.rd-step__title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #C9A84C !important;
  font-size: 1.6rem !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}
.rd-step__subtitle {
  color: #B8C4D0 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 0.95rem !important;
}
.rd-step__eyebrow {
  color: rgba(201,168,76,0.6) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 0.75rem !important;
  margin-bottom: 8px !important;
}

/* Chips — elegant cards instead of emoji pills */
.rd-chip {
  border: 1px solid rgba(201,168,76,0.15) !important;
  background: rgba(201,168,76,0.03) !important;
  color: #F5F3EF !important;
  transition: all 0.2s ease !important;
  font-size: 0.85rem !important;
}
.rd-chip:hover {
  border-color: rgba(201,168,76,0.4) !important;
  background: rgba(201,168,76,0.06) !important;
}
.rd-chip[aria-pressed="true"] {
  border-color: #C9A84C !important;
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
}

/* Tiles — refined borders */
.rd-tile {
  border: 1px solid rgba(201,168,76,0.12) !important;
  transition: all 0.25s ease !important;
}
.rd-tile:hover {
  border-color: rgba(201,168,76,0.35) !important;
  transform: translateY(-2px) !important;
}
.rd-tile[aria-pressed="true"] {
  border: 1px solid #C9A84C !important;
  background: rgba(201,168,76,0.05) !important;
}
.rd-tile__title {
  color: #F5F3EF !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}

/* Form fields — gold focus */
.rd-input:focus, .rd-select:focus, .rd-textarea:focus {
  border-color: #C9A84C !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15) !important;
}

/* Progress bar — gold */
.rd-progress__fill {
  background: linear-gradient(90deg, #C9A84C, #D4B85A) !important;
}
.rd-progress__bar {
  background: rgba(201,168,76,0.1) !important;
}

/* Trust block */
.rd-trust {
  border: 1px solid rgba(201,168,76,0.15) !important;
  border-radius: 8px !important;
  background: rgba(201,168,76,0.03) !important;
}

@media (max-width: 767px) {
  .rd-step__title { font-size: 1.3rem !important; }
}
