/* One screen theme for all Red Baron DE/EN pages. Photographs stay unfiltered. */
@media screen {
  html { background: #101215; color-scheme: dark; }
  body.site-dark {
    --surface: #101215;
    --surface-deep: #0b0d0f;
    --surface-raised: #191c21;
    --surface-input: #22262c;
    --surface-hover: #30363f;
    --ink: #e6e8ec;
    --muted: #b8bec7;
    --line: #3c424b;
    --control-border: #7b838f;
    --accent: #c7d2dc;
    --red: var(--accent);
    --paper: var(--surface-raised);
    --error: #f1c478;
    background: var(--surface);
    color: var(--ink);
    color-scheme: dark;
  }
  .site-dark ::selection { background: var(--accent); color: #17191b; }
  .site-dark .site-surface,
  .site-dark .paths,
  .site-dark .catalog,
  .site-dark .service,
  .site-dark .reviews,
  .site-dark .ankauf-video,
  .site-dark .selling-intro,
  .site-dark .selling-flow,
  .site-dark .selling-faq,
  .site-dark .legal-page,
  .site-dark .photo-credit {
    background: var(--surface);
    color: var(--ink);
  }
  .site-dark .about,
  .site-dark .contact,
  .site-dark footer,
  .site-dark .hero-location { background: var(--surface-deep); color: var(--ink); }
  .site-dark .about,
  .site-dark .contact,
  .site-dark .service,
  .site-dark .reviews,
  .site-dark .selling-flow,
  .site-dark .selling-intro,
  .site-dark .selling-faq { border-top: 1px solid var(--line); }
  .site-dark :is(h2, h3, legend) { color: var(--ink); }
  .site-dark .eyebrow,
  .site-dark .path .eyebrow,
  .site-dark .path:nth-of-type(2) .eyebrow,
  .site-dark .selling-intro-copy .eyebrow,
  .site-dark .sell-copy .eyebrow,
  .site-dark .number,
  .site-dark .review-card-top > span { color: var(--accent); }
  .site-dark .hero-copy .eyebrow,
  .site-dark .selling-hero .eyebrow { color: #e6e8ec; }
  .site-dark .hero-copy p,
  .site-dark .selling-hero p { color: #e6e8ec; font-size: max(1rem, 16px); }
  .site-dark .path,
  .site-dark .path:nth-of-type(2),
  .site-dark .path:hover,
  .site-dark .path:nth-of-type(2):hover { color: var(--ink); }
  .site-dark .path p,
  .site-dark .path:nth-of-type(2) p,
  .site-dark .about p,
  .site-dark .services p,
  .site-dark .contact p,
  .site-dark .selling-intro-copy p,
  .site-dark .selling-stages p,
  .site-dark .selling-flow .valuation-guide dd,
  .site-dark .selling-contact p,
  .site-dark .faq-list p,
  .site-dark .ankauf-video p,
  .site-dark .video-duration,
  .site-dark .section-title span,
  .site-dark .vehicle-info p,
  .site-dark .review-meta,
  .site-dark .reviews-intro,
  .site-dark .review-disclosure,
  .site-dark .review-invite p,
  .site-dark .photo-credit { color: var(--muted); }
  .site-dark .path p,
  .site-dark .about p { font-size: 1rem; line-height: 1.85; }
  .site-dark .path .eyebrow,
  .site-dark .path:nth-of-type(2) .eyebrow,
  .site-dark .about .eyebrow { font-size: .8125rem; }
  .site-dark .window-caption { font-size: .8125rem; background: linear-gradient(transparent, #000e); }
  .site-dark .photo-window { background: var(--surface-raised); }

  /* The same graphite cards and controls on the homepage, catalogue and reviews. */
  .site-dark .vehicle-card,
  .site-dark #vehicle-status,
  .site-dark .services article,
  .site-dark .review-card,
  .site-dark .review-invite {
    background: var(--surface-raised);
    border: 1px solid var(--line);
    color: var(--ink);
  }
  .site-dark #vehicle-status { color: var(--muted); }
  .site-dark .vehicle-card:hover { border-color: var(--control-border); box-shadow: 0 12px 32px #0005; }
  .site-dark .vehicle-price,
  .site-dark .vehicle-info h3 { color: var(--ink); }
  .site-dark .vehicle-info p { line-height: 1.75; }
  .site-dark .button,
  .site-dark .button.dark,
  .site-dark .button.red,
  .site-dark .button.outline,
  .site-dark .vehicle-info a,
  .site-dark .path .text-link,
  .site-dark .path:nth-of-type(2) .text-link {
    background: var(--surface-input);
    color: var(--ink);
    border: 1px solid var(--control-border);
  }
  .site-dark .button:hover,
  .site-dark .button.dark:hover,
  .site-dark .button.red:hover,
  .site-dark .button.outline:hover,
  .site-dark .vehicle-info a:hover,
  .site-dark .path:hover .text-link { background: var(--surface-hover); color: var(--ink); border-color: #a3acb9; }
  .site-dark .text-link { color: var(--ink); border-color: var(--control-border); }
  .site-dark .text-link:hover { color: var(--accent); border-color: var(--accent); }
  .site-dark .review-tabs { border-color: var(--line); }
  .site-dark .review-tabs button { background: var(--surface-input); color: var(--muted); border-color: var(--control-border); }
  .site-dark .review-tabs button[aria-selected="true"] { background: var(--accent); color: #17191b; border-color: var(--accent); }
  .site-dark .review-disclosure a { color: var(--ink); }
  .site-dark .review-qr-link { background: #fff; }
  .site-dark .contact-mail,
  .site-dark .opening-hours h3 { color: var(--ink); }
  .site-dark footer { border-color: var(--line); color: var(--muted); }
  .site-dark .legal-links a { border-color: var(--control-border); }
  .site-dark .photo-credit a { text-decoration: underline; text-underline-offset: 3px; }

  /* Keep all six enquiry stages, including errors and the final review, readable. */
  .site-dark .sell-layout.section { background: var(--surface-raised); border: 1px solid var(--line); }
  .site-dark .sell-copy { background: var(--surface-deep); color: var(--ink); }
  .site-dark .sell-copy > p,
  .site-dark .sell-contact-link,
  .site-dark .sell-quick a { color: var(--muted); }
  .site-dark .sell-contact-link span { color: var(--ink); }
  .site-dark .sell-layout .form-card { background: var(--surface-raised); color: var(--ink); }
  .site-dark .form-card-heading,
  .site-dark .form-card legend,
  .site-dark .form-card label,
  .site-dark .form-card .form-preparation summary { color: var(--ink); }
  .site-dark .form-card .form-top,
  .site-dark .form-card .form-preparation p,
  .site-dark .form-card .form-preparation li,
  .site-dark .form-card .form-hint,
  .site-dark .form-card .form-foot,
  .site-dark .form-card .form-email,
  .site-dark .form-card .input-hint,
  .site-dark .form-card .photo-guide,
  .site-dark .form-card .upload span,
  .site-dark #photo-status { color: var(--muted); }
  .site-dark .form-card .form-preparation,
  .site-dark .form-card .form-foot { border-color: var(--line); }
  .site-dark .form-card .input-hint { font-size: .875rem; line-height: 1.6; }
  .site-dark .form-card .form-top { font-size: .8125rem; }
  .site-dark .form-card .form-top #step-count { color: var(--accent); }
  .site-dark .form-card .progress i { background: var(--line); }
  .site-dark .form-card .progress i.active { background: var(--accent); }
  .site-dark .form-card .form-steps button { color: var(--ink); background: var(--surface-input); border-color: var(--control-border); }
  .site-dark .form-card .form-steps button:disabled { color: #a2a9b3; background: var(--surface-raised); border-color: var(--line); opacity: 1; cursor: default; }
  .site-dark .form-card .form-steps button.visited:not([aria-current]) { color: var(--ink); border-color: var(--control-border); }
  .site-dark .form-card .form-steps button[aria-current="step"] { background: var(--accent); color: #17191b; border-color: var(--accent); }
  .site-dark .form-card .form-steps button:not(:disabled):hover { border-color: var(--accent); }
  .site-dark .form-card input,
  .site-dark .form-card select,
  .site-dark .form-card textarea { background: var(--surface-input); color: var(--ink); border-color: var(--control-border); accent-color: var(--accent); color-scheme: dark; }
  .site-dark .form-card input::placeholder,
  .site-dark .form-card textarea::placeholder { color: var(--muted); opacity: 1; }
  .site-dark .form-card select option { color: var(--ink); background: var(--surface-input); }
  .site-dark .form-card input:focus,
  .site-dark .form-card select:focus,
  .site-dark .form-card textarea:focus { border-color: var(--accent); outline: 3px solid var(--accent); outline-offset: 3px; }
  .site-dark #car-form [aria-invalid="true"] { border-color: var(--error); }
  .site-dark #car-form .field-error,
  .site-dark #photo-error { color: var(--error); }
  .site-dark #photo-error:not(:empty) { background: #342b1a; border-color: var(--error); }
  .site-dark .form-card .upload { background: var(--surface-input); border-color: var(--control-border); }
  .site-dark .form-card .upload.drag { background: #26313b; border-color: var(--accent); }
  .site-dark .form-card .upload input { background: transparent; border: 0; }
  .site-dark .form-card input::file-selector-button { background: var(--surface-hover); color: var(--ink); border: 1px solid var(--control-border); border-radius: 5px; padding: 8px 12px; margin-right: 12px; }
  .site-dark .form-card .review-section,
  .site-dark .form-card #form-result { background: var(--surface-input); color: var(--ink); border-color: var(--line); }
  .site-dark .form-card #form-result { border-left-color: var(--accent); }
  .site-dark .review-section dt { color: var(--muted); }
  .site-dark .review-section-head button { color: var(--accent); border-color: var(--accent); }
  .site-dark .form-card .form-actions .button { background: var(--surface-input); color: var(--ink); border-color: var(--control-border); }
  .site-dark .form-card .form-actions .button:hover { background: var(--surface-hover); }
  .site-dark .form-card .form-actions > button:not(.button) { color: var(--ink); }
  .site-dark .selling-stages li,
  .site-dark .selling-flow .valuation-guide,
  .site-dark .selling-contact,
  .site-dark .faq-list details { border-color: var(--line); }
  .site-dark .selling-stages .stage-number,
  .site-dark .selling-flow .valuation-guide dt,
  .site-dark .faq-list summary { color: var(--ink); }
  .site-dark .selling-intro .checks li:before,
  .site-dark .faq-list details[open] summary,
  .site-dark .faq-list summary::marker,
  .site-dark .form-preparation summary::marker { color: var(--accent); }
  .site-dark .video-disclosure { border-color: var(--control-border); }
  .site-dark .ankauf-player { background: var(--surface-raised); border-color: var(--line); }

  /* Vehicle details match the catalogue, including contact actions and gallery. */
  .site-dark .vehicle-detail { background: var(--surface); color: var(--ink); }
  .site-dark .vd-stage,
  .site-dark .vd-summary { background: var(--surface-raised); border-color: var(--line); }
  .site-dark .vd-eyebrow,
  .site-dark .vd-photo-error,
  .site-dark .vd-tax,
  .site-dark .vd-specs dt,
  .site-dark .vd-address,
  .site-dark .vd-small,
  .site-dark .vd-description,
  .site-dark .vd-footer a { color: var(--muted); }
  .site-dark .vd-notice,
  .site-dark .vd-equipment li::before { color: var(--accent); border-color: var(--accent); }
  .site-dark .vd-specs > div,
  .site-dark .vd-section,
  .site-dark .vd-footer { border-color: var(--line); }
  .site-dark .vd-secondary { background: var(--surface-input); color: var(--ink); border-color: var(--control-border); }
  .site-dark .vd-secondary:hover { background: var(--surface-hover); border-color: #a3acb9; }
  .site-dark .vd-contacts .vd-primary { background: var(--accent); color: #17191b; border-color: var(--accent); }
  .site-dark .vd-contacts .vd-primary:hover { background: #e3e9ee; border-color: #e3e9ee; }
  .site-dark .vd-thumb[aria-pressed="true"] { border-color: var(--accent); }
  .site-dark .vd-close { border-color: var(--control-border); }

  /* Long legal text uses the same palette with a restrained reading width. */
  .site-dark .legal-page { max-width: 56rem; padding-inline: clamp(1.25rem, 5vw, 3rem); font-size: 1.0625rem; line-height: 1.85; }
  .site-dark .legal-page :is(p, li, td) { color: var(--muted); }
  .site-dark .legal-page > :is(p, ul, ol) { max-width: 72ch; }
  .site-dark .legal-page :is(h1, h2, h3, strong, th) { color: var(--ink); }
  .site-dark .legal-page a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
  .site-dark .legal-page a:hover { color: var(--accent); }
  .site-dark .legal-note { background: var(--surface-raised); color: var(--muted); border-color: var(--accent); }
  .site-dark .legal-page :is(th, td) { border-color: var(--line); }
  .site-dark .legal-page th { background: var(--surface-raised); }
  .site-dark .skip-link { color: #17191b; background: var(--ink); border-color: var(--accent); }
  .site-dark :is(a, button, video, summary, [role="tabpanel"]):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
  .site-dark .path:focus-visible { outline-offset: 8px; }
  @media (max-width: 680px) {
    .site-dark .legal-page { font-size: 1rem; }
    .site-dark .hero-copy p,
    .site-dark .path p,
    .site-dark .about p { font-size: 1rem; }
    .site-dark .hero-actions .button { font-size: 1rem; }
  }
}

/* Let high-contrast OS settings choose the colours. Print retains the base theme. */
@media screen and (forced-colors: active) {
  html, body.site-dark { background: Canvas; color: CanvasText; }
  .site-dark :is(.site-surface, .section, .form-card, .sell-copy, .review-card, .vehicle-detail, footer) { background: Canvas; color: CanvasText; }
  .site-dark :is(input, select, textarea, button, .button) { border-color: ButtonText; }
}
