/* One palette for section rhythm, surfaces and interaction states. */
:root {
  --section-dark: #101b29;
  --section-blue: #1c2d43;
  --paper: var(--section-dark);
  --deep: var(--section-dark);
  --navy: var(--section-blue);
  --surface: #182739;
  --raised: #253950;
  --ink: #f3f4f5;
  --muted: #bdc8d4;
  --text-secondary: var(--muted);
  --line: #3b4c60;
  --gold: #c8ad78;
  --gold-light: #dfc998;
  --focus-ring: var(--gold-light);
  --accent-surface: #283344;
  --control-border: #728399;
}

/* The introduction is one block, followed by alternating full-width sections. */
html, body, .application-page { background: var(--paper); color: var(--ink); }
.site-header, .application-header, .mobile-nav { background: var(--section-dark); }
#main > #die-lounge, #main > #membership, #main > #coaching,
#main > #start, #main > #reisen { background-color: var(--section-dark); }
#main > #preise, #main > #raum-mieten, #main > #kontakt {
  background-color: var(--section-blue);
}
#main > :is(#die-lounge, #preise, #membership, #raum-mieten, #coaching, #kontakt) {
  border-block: 0;
}
body > .site-footer, .application-footer { background: var(--section-dark); }
.site-footer { border-top: 1px solid var(--line); }
.opening-slim.opening-soon {
  background: var(--section-blue);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid #c8ad7859;
}
.opening-soon-copy strong { color: var(--ink); }

/* All cards use the same neutral navy; gold denotes an offer or selection. */
.bay-package, .coaching-offer-card, .application-panel, .contact-form-panel,
.gift-category, .gift-product, .gift-credit-value, .gift-summary,
.membership-plan-row {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: none;
}
.membership-plan-row.membership-plan-featured {
  background: var(--surface);
  border-color: var(--gold);
}
#membership-selection .membership-plan-row:has(input:checked),
.gift-product:has(input:checked), .voucher-radio:has(input:checked),
.amount-option[aria-pressed=true] {
  background: var(--accent-surface);
  border-color: var(--gold);
  box-shadow: none;
}
.coaching-price-panel, .application-benefits, .booking-option,
.amount-option { background: var(--section-dark); border-color: var(--line); }
.room-package-prices .member-column { background: var(--raised); color: var(--ink); }
.room-package-prices thead th.member-column { color: var(--gold-light); }
.room-package-prices .lounge-recommended > th,
.room-package-prices .lounge-recommended > td:not(.member-column) {
  background: transparent;
}
.room-package-prices .lounge-recommended .package-recommendation {
  background: transparent; color: var(--gold-light); border-color: #c8ad7866;
}

/* Consistent text and divider contrast across both section backgrounds. */
.lounge-info-group, .lounge-info-group:last-child { border-color: var(--line); }
.lounge-info-group li + li, .coaching-custom-note,
.gift-products, .gift-delivery-note { border-color: var(--line); }
.lounge-info-group h3 { color: var(--ink); }
.lounge-info-group p, .coaching-custom-note, .coaching-summary,
.coaching-offer-card .coaching-price-caption, .contact-person span,
.gift-facts, .gift-category span, .gift-section-heading p,
.gift-summary #gift-summary-detail, .gift-product-content > small {
  color: var(--muted);
}
.bay-capacity strong, .room-hire-intro .lounge-capacity strong,
.coaching-offer-card .coaching-key-facts > strong,
.coaching-custom-note strong, .membership-benefits-list strong { color: var(--ink); }
.bay-prices-content > .prelaunch-note { color: var(--muted); }
.section-gift-link, .quick-paths span, .subtle-link {
  color: var(--gold-light); border-color: #c8ad7866;
}

/* Shared button, input and modal colours also carry through the other pages. */
.button-gold, .gift-category[aria-pressed=true],
.language-switch button[aria-pressed=true] {
  background: var(--gold); border-color: var(--gold); color: var(--section-dark);
}
.gift-category[aria-pressed=true] span { color: var(--section-dark); }
.button-gold:hover { background: var(--gold-light); border-color: var(--gold-light); color: var(--section-dark); }
.button-on-dark, .button-outline, .button-subtle, .button-secondary,
.coaching-details > summary.button {
  background: transparent; border-color: var(--control-border); color: var(--ink);
}
.button-on-dark:hover, .button-outline:hover, .button-subtle:hover,
.button-secondary:hover, .coaching-details > summary:hover,
.coaching-details[open] > summary.button {
  background: var(--raised); border-color: var(--gold); color: var(--ink);
}
.form-field :is(input, select, textarea),
.contact-form-field :is(input, select, textarea), #news-form input:not([type=checkbox]) {
  background: var(--section-dark); border-color: var(--control-border); color: var(--ink);
}
dialog, #about-dialog, #news-dialog { background: var(--surface); border-color: var(--line); color: var(--ink); }
.language-switch { border-color: var(--control-border); }
.travel-flight-shade {
  background: linear-gradient(90deg,#101b29c4,#101b2926 60%,#101b290d),
    linear-gradient(0deg,var(--section-blue),transparent 30%,transparent 80%,var(--section-dark));
}
@media (hover:hover) {
  .coaching-offer-card:hover { background: var(--surface); border-color: var(--line); }
  .membership-plan-row:hover, .gift-category:hover, .gift-product:hover {
    border-color: var(--gold);
  }
  .room-prices tbody tr:hover { background: #ffffff04; }
}
@media (max-width:600px) {
  .travel-flight-shade {
    background: linear-gradient(180deg,#101b29db,#101b2926 60%,var(--section-blue));
  }
}
