/* Compliance layer for EN/DE: private-service notice, readable type, dark-mode contrast. */

.rve-private-banner {
  background: #0e1b3d;
  color: #f4f7fb;
  font-family: Manrope, "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  padding: 7px 16px;
  text-align: center;
}
.rve-private-banner a {
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 700px) {
  .rve-private-banner {
    font-size: 13px;
    line-height: 1.3;
    padding: 5px 10px;
  }
}

.rve-brand-lockup { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.rve-brand-byline {
  display: block;
  margin-top: 3px;
  max-width: 18em;
  color: #243330;
  font-family: Manrope, "Source Sans 3", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}
.rve-return-header .rve-brand-byline { color: #243330; }

.rve-price-split,
.rve-time-note {
  margin: 10px 0 0;
  color: #243330;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}
.rve-design .dp-head { flex-wrap: wrap; }
.rve-design .dp-head > .rve-price-split { flex: 1 0 100%; margin: 8px 0 0; }
.rve-service-facts + .rve-price-split { margin: 14px 0 0; text-align: center; }

.rve-early-start {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 14px 0;
  padding: 12px;
  border: 1px solid #c9d3c8;
  border-radius: 8px;
  background: #fffdf8;
  color: #1b3034;
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
}
.rve-early-start input { margin-top: 3px; flex: 0 0 auto; width: 18px; height: 18px; }

.rve-withdraw-wrap { margin: 0 0 22px; }
.rve-withdraw {
  display: inline-block;
  padding: 10px 16px;
  background: #c8102e;
  color: #ffffff !important;
  border: 2px solid #ffffff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}
.rve-withdraw:hover { background: #9d0c24; }

.rve-design .stat-label { font-size: 12px !important; line-height: 1.35; color: #243330 !important; }
.rve-design .header-phone { max-width: 340px !important; }
.rve-design .header-phone > span { font-size: 12px !important; color: #243330 !important; }
.rve-design .header-phone small { font-size: 12px !important; color: #243330 !important; max-width: none !important; }
.rve-design .rve-reviews-note { font-size: 13px !important; color: #243330 !important; }
.rve-design .text-\[9px\],
.rve-design [class*="text-[9px]"],
.rve-design [class*="text-[10px]"] { font-size: 12px !important; }
.rve-design [class*="text-[11px]"] { font-size: 13px !important; }
.rve-design .prose,
.rve-design .content-card,
.rve-design .footer-note,
.rve-design .faq-answer { font-size: 16px; }
.rve-design .prose p,
.rve-design .content-card p,
.rve-design .faq-answer { font-size: 16px; line-height: 1.6; }
.rve-design .content-card .opacity-40,
.rve-design .prose .opacity-40 { opacity: 1 !important; color: #243330 !important; }

.rve-withdraw-warn {
  margin: 12px 0;
  padding: 12px 14px;
  background: #fff4f4;
  border-left: 4px solid #c8102e;
  color: #1b3034;
  font-size: 16px;
  line-height: 1.55;
}
html[data-theme="dark"] body.rve-design .rve-withdraw-warn { background: #3a1520; color: #f4f7fb; border-left-color: #ff8a98; }
.rve-coming-soon {
  margin: 0;
  color: #243330;
  font-size: 13px;
  font-weight: 700;
}

.rve-rating-asof {
  display: block;
  margin-top: 2px;
  color: #243330;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

/* Dark scheme follows the saved theme, not only the system setting. Paper form stays dark-on-light. */
html[data-theme="dark"] {
  body.rve-design {
    background: #0e1b3d !important;
    color: #f4f7fb !important;
    --bg: #0e1b3d;
    --bg-raised: #15284f;
    --fg: #f4f7fb;
    --fg-muted: #d5deee;
    --ink: #f4f7fb;
    --text-main: #f4f7fb;
    --text-muted: #d5deee;
    --bg-page: #0e1b3d;
    --bg-card: #15284f;
  }
  body.rve-design .nav { background: #0e1b3d !important; color: #f4f7fb !important; border-bottom-color: #2a3d6b !important; }
  body.rve-design .brand .wordmark,
  body.rve-design .wordmark,
  body.rve-design .nav-links a,
  body.rve-design .lang summary,
  body.rve-design .header-phone,
  body.rve-design .header-phone > span,
  body.rve-design .header-phone strong,
  body.rve-design .header-phone small,
  body.rve-design .rve-brand-byline { color: #f4f7fb !important; }
  body.rve-design .wordmark span,
  body.rve-design .wordmark small { color: #e4c56a !important; }
  body.rve-design .header-phone { border-color: #2a3d6b !important; }
  body.rve-design #mobile-menu,
  body.rve-design #mobile-menu a { background: #0e1b3d !important; color: #f4f7fb !important; }
  body.rve-design.passport-site main h2,
  body.rve-design.passport-site .section,
  body.rve-design.passport-site .section p,
  body.rve-design.passport-site .service-strip,
  body.rve-design.passport-site .service-strip h2,
  body.rve-design.passport-site .stat-num,
  body.rve-design.passport-site .stat-label,
  body.rve-design.passport-site .route h3,
  body.rve-design.passport-site .route p,
  body.rve-design.passport-site .rve-reviews,
  body.rve-design.passport-site .rve-reviews-intro h2,
  body.rve-design.passport-site .rve-reviews-intro p,
  body.rve-design.passport-site .rve-review-platform,
  body.rve-design.passport-site .rve-review-platform h3,
  body.rve-design.passport-site .rve-review-summary,
  body.rve-design.passport-site .rve-review figcaption,
  body.rve-design.passport-site .rve-review figcaption strong,
  body.rve-design.passport-site .rve-reviews-note,
  body.rve-design.passport-site .rve-rating-asof,
  body.rve-design.passport-site .rve-review-contact > span { color: #f4f7fb !important; }
  body.rve-design .rve-review-platform { background: #15284f !important; border-color: #2a3d6b !important; }
  body.rve-design.passport-site .datapage,
  body.rve-design.passport-site .datapage h2,
  body.rve-design.passport-site .datapage .dp-head h2,
  body.rve-design.passport-site .datapage p,
  body.rve-design.passport-site .datapage label,
  body.rve-design.passport-site .datapage .label-text,
  body.rve-design.passport-site .datapage .form-intro,
  body.rve-design.passport-site .datapage .dp-kicker,
  body.rve-design.passport-site .datapage .rve-plan-title,
  body.rve-design.passport-site .datapage .rve-plan-price,
  body.rve-design.passport-site .datapage .rve-plan-time,
  body.rve-design.passport-site .datapage .rve-price-split,
  body.rve-design.passport-site .datapage .rve-time-note,
  body.rve-design.passport-site .datapage .rve-early-start,
  body.rve-design.passport-site .datapage .stepper li,
  body.rve-design.passport-site .form-price,
  body.rve-design.passport-site .form-price small { color: #1b3034 !important; }
  body.rve-design.passport-site .datapage { background: #fffdf8 !important; }
  body.rve-design:not(.passport-site) main,
  body.rve-design:not(.passport-site) main h1,
  body.rve-design:not(.passport-site) main h2,
  body.rve-design:not(.passport-site) main h3,
  body.rve-design:not(.passport-site) main p,
  body.rve-design:not(.passport-site) main li,
  body.rve-design:not(.passport-site) .faq-answer { color: #f4f7fb !important; }
  body.rve-design:not(.passport-site) .content-card,
  body.rve-design:not(.passport-site) .faq-item,
  body.rve-design:not(.passport-site) .requirement-box,
  body.rve-design:not(.passport-site) article { background: #15284f !important; color: #f4f7fb !important; border-color: #2a3d6b !important; }
  body.rve-design:not(.passport-site) .text-gray-600,
  body.rve-design:not(.passport-site) .text-gray-500,
  body.rve-design:not(.passport-site) .text-gray-400,
  body.rve-design .text-mandatory-black { color: #d5deee !important; }
  body.rve-design .footer { background: #091330 !important; color: #f4f7fb !important; }
  body.rve-design.rve-return,
  body.rve-design.rve-return .rve-return-card { background: #fffdf8 !important; color: #1b3034 !important; }
  body.rve-design.rve-return { background: #0e1b3d !important; }
  body.rve-design.rve-return .rve-return-card,
  body.rve-design.rve-return .rve-return-card h1,
  body.rve-design.rve-return .rve-return-card p { color: #1b3034 !important; }
}

body.rve-design.dark-mode {
  background: #0e1b3d !important;
  color: #f4f7fb !important;
}
body.rve-design.dark-mode .content-card,
body.rve-design.dark-mode .faq-item,
body.rve-design.dark-mode main h1,
body.rve-design.dark-mode main h2,
body.rve-design.dark-mode main p,
body.rve-design.dark-mode main li { color: #f4f7fb !important; }
body.rve-design.dark-mode .content-card,
body.rve-design.dark-mode .faq-item { background: #15284f !important; }
body.rve-design.dark-mode .text-mandatory-black { color: #d5deee !important; }
body.rve-design.dark-mode .datapage,
body.rve-design.dark-mode .datapage h2,
body.rve-design.dark-mode .datapage p,
body.rve-design.dark-mode .datapage label { background: #fffdf8; color: #1b3034 !important; }
