/* =====================================================================
   retreva Partner – entry pages (landings, sign-in/registration, listing sign-up).
   Same frame as the hotel area (partner.css); content styles follow the design reference.
   ===================================================================== */

/* ---------- Frame ---------- */
.rt-p--entry .rt-p__top { justify-content: flex-end; }
.rt-p__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.rt-p__actions .rt-p__link { font-weight: 700; font-size: 15px; color: var(--c-ink); text-decoration: none; }
.rt-p__actions .rt-p__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.rt-p__actions .rt-p__link:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.rt-p__tips { padding: 14px; border-radius: 14px; background: rgba(255,255,255,.06); color: var(--c-on-navy-2); font-size: 13px; line-height: 1.5; }
.rt-p__tips h2 { margin: 0 0 8px; color: #fff; font-family: var(--ff-body); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.rt-p__tips ol { margin: 0; padding: 0; list-style: none; counter-reset: rt-tip; display: grid; gap: 6px; }
.rt-p__tips li { counter-increment: rt-tip; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; align-items: start; }
.rt-p__tips li::before { content: counter(rt-tip); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 12px; font-weight: 700; }
.rt-p__tips p { margin: 10px 0 0; }
.rt-p__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 20px 32px 28px; border-top: 1px solid var(--c-line); font-size: 13px; color: var(--c-muted); }
.rt-p__legal a { color: var(--c-muted); }
.rt-p__legal a:hover { color: var(--c-ink); }
.rt-p__content--auth, .rt-p__content--signup { padding-top: 40px; }

/* ---------- Sign-in / registration (reference: pages/fuer-hotels.html) ---------- */
.rt-p-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 56px; align-items: start; }
.rt-p-auth__intro { display: flex; flex-direction: column; gap: 16px; padding-top: 8px; }
.rt-p-auth__intro h1 { margin: 0; font-size: 44px; line-height: 1.1; }
.rt-p-auth__lead { margin: 0; max-width: 52ch; font-size: 18px; line-height: 1.6; color: var(--c-text-2); }
.rt-p-auth__points { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.rt-p-auth__points li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: center; font-weight: 600; color: var(--c-ink); }
.rt-p-auth__points li::before { content: ""; width: 24px; height: 24px; border-radius: 50%; background: var(--c-success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
.rt-p-auth__new { display: grid; justify-items: start; gap: 6px; margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--c-line); color: var(--c-muted); }
.rt-p-auth__new b { color: var(--c-ink); }
.rt-p-auth__new .rt-btn { margin-top: 8px; }
.rt-p-auth__card { padding: 24px 28px 28px; box-shadow: var(--sh-2); }
.rt-p-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 22px; border: 1px solid var(--c-line); border-radius: var(--r-md); background: var(--c-surface); }
.rt-p-auth__tabs a { display: flex; align-items: center; justify-content: center; min-height: 40px; border-radius: 9px; font-weight: 700; font-size: 15px; color: var(--c-ink); text-decoration: none; }
.rt-p-auth__tabs a:hover { background: var(--c-surface-2); }
.rt-p-auth__tabs a[aria-current="page"] { background: var(--c-navy); color: #fff; }
.rt-p-auth__tabs a:focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.rt-p-auth__form { display: grid; gap: 18px; }
.rt-p-auth__form .rt-btn { width: 100%; }
.rt-p-auth__form .rt-hint { margin: 0; }
.rt-p-auth__forgot { justify-self: center; font-size: 14px; color: var(--c-link); }
.rt-p-auth__rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; margin-top: 8px; font-size: 13px; color: var(--c-muted); }
.rt-p-auth__rules span::before { content: "○"; display: inline-block; width: 1.2em; }
.rt-p-auth__rules span.is-valid { color: var(--c-success-text); }
.rt-p-auth__rules span.is-valid::before { content: "✓"; }
.rt-p-auth__notice { margin: 0 0 18px; padding: 12px 14px; border-radius: var(--r-md); font-size: 15px; }
.rt-p-auth__notice ul { margin: 0; padding-left: 18px; }
.rt-p-auth__notice--success { background: var(--c-success-bg); color: var(--c-success-text); }
.rt-p-auth__notice--error { background: var(--c-error-bg); color: var(--c-error-text); }
.rt-p-auth__done { display: grid; gap: 6px; padding: 18px; border-radius: var(--r-md); background: var(--c-success-bg); color: var(--c-success-text); }
.rt-p-auth__done p { margin: 0; }

/* ---------- Listing sign-up (Portal Mode markup; styles only, logic untouched) ---------- */
.rt-partner-entry--signup .cusu-pm-signup {
  --retreva-primary: var(--c-navy);
  --cusu-pm-text: var(--c-text-2);
  --cusu-pm-border: var(--c-line-field);
  --cusu-pm-soft: var(--c-surface-2);
  --cusu-pm-muted: var(--c-muted);
  max-width: 1040px; margin: 0; font-family: var(--ff-body);
}
.rt-partner-entry--signup .cusu-pm-signup__hero { background: var(--c-navy); border-radius: var(--r-lg); padding: 32px; }
.rt-partner-entry--signup .cusu-pm-signup__hero::before { display: none; }
.rt-partner-entry--signup .cusu-pm-signup__hero :is(h1, h2) { font-family: var(--ff-head); font-size: 40px; font-weight: 600; line-height: 1.12; letter-spacing: 0; }
.rt-partner-entry--signup .cusu-pm-signup__eyebrow { color: var(--c-on-navy-2); }
.rt-partner-entry--signup .cusu-pm-signup__kicker { color: var(--c-link); letter-spacing: .1em; }
.rt-partner-entry--signup .cusu-pm-signup__hero-card { border-radius: var(--r-md); backdrop-filter: none; }
.rt-partner-entry--signup .cusu-pm-signup__form { border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--sh-1); padding: 28px 32px; }
.rt-partner-entry--signup .cusu-pm-signup__step h3 { font-family: var(--ff-head); font-weight: 600; color: var(--c-ink); font-size: 30px; }
.rt-partner-entry--signup .cusu-pm-signup label > span { color: var(--c-ink); font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.rt-partner-entry--signup .cusu-pm-signup :is(input[type="text"], input[type="email"], select, textarea) { min-height: 48px; border-color: var(--c-line-field); border-radius: var(--r-md); color: var(--c-ink); }
.rt-partner-entry--signup .cusu-pm-signup :is(input, select, textarea):hover { border-color: var(--c-ink); }
.rt-partner-entry--signup .cusu-pm-signup :is(input, select, textarea):focus-visible { outline: 2px solid var(--c-link); outline-offset: 1px; box-shadow: var(--focus-halo); }
.rt-partner-entry--signup .cusu-pm-signup :is(.cusu-pm-signup__next, .cusu-pm-signup__submit) { min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--r-md); background: var(--c-navy); color: #fff; font: 700 16px/1.1 var(--ff-body); box-shadow: none; }
.rt-partner-entry--signup .cusu-pm-signup :is(.cusu-pm-signup__next, .cusu-pm-signup__submit):hover { background: #142B48; }
.rt-partner-entry--signup .cusu-pm-signup :is(.cusu-pm-signup__next, .cusu-pm-signup__submit, .cusu-pm-signup__ghost, .cusu-pm-signup__help-button):focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.rt-partner-entry--signup .cusu-pm-signup__ghost { min-height: 48px; padding: 0 22px; border: 1px solid var(--c-line-strong); border-radius: var(--r-md); background: var(--c-surface); color: var(--c-ink); font: 700 16px/1.1 var(--ff-body); }
.rt-partner-entry--signup .cusu-pm-signup__help-button { color: var(--c-link); font-weight: 700; }
.rt-partner-entry--signup .cusu-pm-signup :is(.cusu-pm-signup__choice, .cusu-pm-signup__plan, .cusu-pm-signup__path-card) { border-radius: var(--r-md); background: var(--c-surface); box-shadow: inset 0 0 0 1px var(--c-line); }
.rt-partner-entry--signup .cusu-pm-signup :is(.cusu-pm-signup__choice, .cusu-pm-signup__plan):hover { transform: none; box-shadow: inset 0 0 0 1px var(--c-navy); }
.rt-partner-entry--signup .cusu-pm-signup__plan.is-recommended { background: var(--c-navy); }
.rt-partner-entry--signup .cusu-pm-signup__choice-icon { border-radius: var(--r-md); background: var(--c-navy-tint); color: var(--c-navy); }

/* ---------- Landings inside the frame (template-parts/sales.php) ---------- */
.rt-p__content--sales { padding: 0; max-width: none; gap: 0; }
.rt-p__content--sales .rt-container { max-width: 1120px; margin-inline: auto; padding-inline: 32px; }
.rt-p__content--sales .rt-sales-hero > .rt-hero-credit { right: 32px; }
/* CI: no coloured word highlights in headings (design reference); weight from the base headings. */
.rt-p__content--sales .rt-sales h2 { font-weight: 600; }
.rt-p__content--sales .rt-sales :is(h1, h2) strong { color: inherit; font-weight: 700; }
.rt-p__content--sales .rt-sales-hero h1 { font-weight: 600; }
.rt-p__content--sales .rt-sales :is(#ablauf, #preise) { scroll-margin-top: 88px; }
.rt-p__nav .rt-cst7-brand { color:inherit; font-weight:700; white-space:nowrap; }
.rt-cst7-seven { color:var(--c-cst7-seven,#82be28); }

/* Existing catalogue blocks around the original, unchanged sign-up form. */
.rt-sales-signup-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:center; margin-bottom:40px; }
.rt-sales-signup-intro h1 { font-size:40px; line-height:1.12; margin:12px 0 20px; }
.rt-sales-signup-intro .rt-lead { font-size:18px; }
.rt-sales-signup-intro .rt-checklist { margin-top:24px; gap:12px; }
.rt-sales-signup-intro figure { margin:0; min-width:0; }
.rt-sales-signup-intro figure img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-lg); }
.rt-sales-signup-intro figcaption { margin-top:12px; font-size:14px; }
.rt-sales-signup-intro figcaption a { display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.rt-sales-signup-form { scroll-margin-top:88px; }
.rt-sales-signup-form .cusu-pm-signup__hero { display:none; }

@media (max-width: 1023px) {
  .rt-p-auth { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .rt-sales-signup-intro { grid-template-columns:minmax(0,1fr); gap:24px; }
  .rt-sales-signup-intro figure img { max-height:240px; }
  .rt-p__legal { padding: 16px; }
  .rt-p__content--sales .rt-container { padding-inline: 16px; }
  .rt-p__content--sales .rt-sales-hero > .rt-hero-credit { right: 16px; }
}
@media (max-width: 599px) {
  .rt-p-auth__intro h1 { font-size: 32px; }
  .rt-sales-signup-intro h1 { font-size:30px; }
  .rt-sales-signup-intro figure { display:none; }
  .rt-p-auth__card { padding: 18px; }
  .rt-p-auth__rules { grid-template-columns: minmax(0, 1fr); }
  .rt-p__actions { gap: 12px; }
  .rt-p__actions .rt-p__link { display: none; }
  .rt-partner-entry--signup .cusu-pm-signup__hero { padding: 22px; }
  .rt-partner-entry--signup .cusu-pm-signup__hero :is(h1, h2) { font-size: 28px; }
  .rt-partner-entry--signup .cusu-pm-signup__form { padding: 20px 16px; }
}

.rt-p__content--sales .rt-sales-hero__link { color: inherit; font-weight: 700; }
