/* Rentalpedia 0.4.0 – CI: nur #5979B9 + Neutrale, eckig, flach (keine Schatten/Rundungen). Text nie heller als #595959.
   Schriften: Oswald/Roboto nur, falls lokal installiert (local()); keine Requests an bunny.net/Google. */
.rp-view { --rp-blue:#5979B9; --rp-text:#1b1b1b; --rp-muted:#595959; --rp-line:#DCDEE1; --rp-soft:#f4f5f7; --rp-dark:#1b1b1b;
  --rp-sans:Roboto,"Roboto Fallback","Helvetica Neue",Arial,sans-serif; --rp-head:Oswald,"Oswald Fallback","Arial Narrow","Helvetica Neue",Arial,sans-serif; }
/* 0.5.3: "Roboto Fallback"/"Oswald Fallback" = Arial mit angepassten Metriken (@font-face aus Plugin rentalmania-konto, #rmk-fonts) – kein Sprung beim Schriftwechsel (CLS). */
.rp-view, .rp-view *, .rp-view *::before, .rp-view *::after { box-sizing:border-box; }
body.rp-view { margin:0; background:#fff; color:var(--rp-text); font-family:var(--rp-sans); font-size:18px; line-height:1.7; -webkit-text-size-adjust:100%; }
.rp-view img { max-width:100%; height:auto; border:0; }
.rp-view * { border-radius:0 !important; box-shadow:none !important; }
.rp-skip { position:absolute; left:-9999px; top:0; z-index:1000; background:var(--rp-blue); color:#fff; padding:10px 16px; font-weight:700; }
.rp-skip:focus { left:8px; top:8px; }
.rp-view .screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* Kopfzeile */
.rp-header { background:#fff; border-bottom:1px solid var(--rp-line); position:sticky; top:0; z-index:50; }
.admin-bar .rp-header { top:32px; }
@media (max-width:782px) { .admin-bar .rp-header { top:0; position:relative; } }
.rp-header__inner { max-width:1200px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.rp-header__logo { display:inline-flex; align-items:center; text-decoration:none; }
.rp-header__logo img { display:block; height:44px; width:auto; }
.rp-header__nav { display:flex; align-items:center; gap:20px; }
.rp-header__link { font-family:var(--rp-sans); font-weight:700; font-size:16px; color:var(--rp-text); text-decoration:none; padding:6px 0; border-bottom:2px solid transparent; }
.rp-header__link:hover { border-bottom-color:var(--rp-blue); }
.rp-view a:focus-visible, .rp-view summary:focus-visible { outline:3px solid var(--rp-blue); outline-offset:3px; }

/* Buttons (Anfrage) */
.rp-view a.rp-btn { display:inline-block; background:var(--rp-blue); color:#fff; font-family:var(--rp-sans); font-weight:700; font-size:19px; line-height:1.3; text-transform:none; letter-spacing:0; text-decoration:none; padding:14px 32px; border:2px solid var(--rp-blue); transition:background-color .3s,color .3s; }
.rp-view a.rp-btn:hover { background:#fff; color:var(--rp-blue); }
.rp-view a.rp-btn--header { padding:9px 20px; margin:0; }

/* Inhalt */
.rp-main { display:block; max-width:820px; margin:0 auto; padding:0 20px 56px; overflow-wrap:break-word; hyphens:auto; -webkit-hyphens:auto; }
.rp-main p, .rp-main li, .rp-main td, .rp-main th, .rp-main summary { font-size:18px; line-height:1.7; color:var(--rp-text); }
.rp-main a { color:var(--rp-text); text-decoration:underline; text-decoration-color:var(--rp-blue); text-decoration-thickness:2px; text-underline-offset:3px; }
.rp-main a:hover { color:#000; text-decoration-thickness:3px; }
.rp-main h1, .rp-main h2, .rp-main h3 { font-family:var(--rp-head); font-weight:400; color:#000; letter-spacing:0; }
.rp-main h1 { font-size:clamp(30px,5vw,44px); line-height:1.2; margin:8px 0 16px; }
.rp-main h2 { font-size:clamp(24px,3.4vw,32px); line-height:1.3; margin:44px 0 12px; }
.rp-main h3 { font-size:22px; line-height:1.35; margin:28px 0 8px; }
.rp-kicker { font-size:13px !important; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--rp-muted) !important; margin:28px 0 0; padding-left:10px; border-left:4px solid var(--rp-blue); }
.rp-lead { font-size:20px !important; color:var(--rp-muted) !important; }
.rp-crumbs { font-size:15px; color:var(--rp-muted); margin-top:20px; }
.rp-main .rp-crumbs a { color:var(--rp-muted); text-decoration-color:var(--rp-muted); text-decoration-thickness:1px; }
.rp-figure { margin:24px 0 8px; }
.rp-figure img { width:100%; height:clamp(220px,45vw,440px) !important; object-fit:cover; display:block; }
.rp-content ul, .rp-content ol { padding-left:1.3em; }
.rp-content table { border-collapse:collapse; width:100%; margin:16px 0; }
.rp-content th, .rp-content td { border:1px solid var(--rp-line); padding:8px 10px; text-align:left; vertical-align:top; font-size:17px; }
.rp-content th { background:var(--rp-soft); }
@media (max-width:700px) { .rp-content table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; } .rp-content th, .rp-content td { min-width:120px; font-size:16px; } }
.rp-note { border-left:4px solid var(--rp-blue); background:var(--rp-soft); padding:14px 18px; margin:20px 0; }
.rp-note p { margin:0; }
.rp-faq details { border:1px solid var(--rp-line); padding:0 16px; margin:10px 0; background:#fff; }
.rp-faq summary { cursor:pointer; font-weight:700; padding:14px 0; }
.rp-faq details[open] summary { border-bottom:1px solid var(--rp-line); margin-bottom:8px; }
.rp-cta { margin:48px 0 0; padding:28px 24px; border:2px solid var(--rp-blue); background:#fff; }
.rp-cta h2 { margin-top:0 !important; }
.rp-cta__contact a { font-weight:700; }
.rp-cta__buy { font-size:20px !important; font-weight:700; margin:16px 0 4px; }
.rp-related ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.rp-main .rp-related li a { display:inline-block; border:2px solid var(--rp-blue); padding:8px 14px; text-decoration:none; font-weight:700; font-size:17px; color:var(--rp-text); }
.rp-main .rp-related li a:hover { background:var(--rp-blue); color:#fff; }
.rp-updated { font-size:15px !important; color:var(--rp-muted) !important; margin-top:32px; }
.rp-draft-note { border-left:4px solid var(--rp-blue); padding:8px 14px; background:var(--rp-soft); }

/* Übersicht */
.rp-grid { list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:700px) { .rp-grid { grid-template-columns:1fr 1fr; } }
.rp-card { border:1px solid var(--rp-line); background:#fff; display:flex; flex-direction:column; min-width:0; }
.rp-card__link { display:block; text-decoration:none !important; color:inherit !important; height:100%; }
.rp-main .rp-card img { width:100%; height:200px !important; object-fit:cover; display:block; }
@media (min-width:700px) { .rp-main .rp-card img { height:220px !important; } }
.rp-card__body { display:block; padding:16px 18px 20px; }
.rp-card__title { display:block; font-family:var(--rp-head); font-size:22px; line-height:1.3; color:#000; margin-bottom:8px; }
.rp-card__text { display:block; font-size:17px; line-height:1.6; color:var(--rp-muted); }
.rp-card__more { display:inline-block; margin-top:12px; font-weight:700; font-size:17px; color:var(--rp-text); border-bottom:2px solid var(--rp-blue); }
.rp-card__link:hover .rp-card__title { text-decoration:underline; }

/* Fußzeile (wie Live-Footer: #1b1b1b, weiße Schrift) */
.rp-footer { background:var(--rp-dark); color:#fff; margin-top:24px; }
.rp-footer__inner { max-width:1200px; margin:0 auto; padding:32px 20px; display:flex; flex-wrap:wrap; gap:16px 48px; justify-content:space-between; align-items:flex-start; }
.rp-footer p { margin:0; font-size:16px; line-height:1.6; color:#fff; }
.rp-footer a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
.rp-footer a:hover { color:#fff; text-decoration-thickness:2px; }
/* 0.5.3 Kontrast: CookieYes setzt per Skript Inline-Farben (#fff auf #5979B9 = 4,32:1) auf jeden .cli_settings_button. Im Fuß als normaler Link: #fff auf #1b1b1b = 17,2:1. */
.rp-footer a.cli_settings_button, .rp-footer a.cli_settings_button:hover, .rp-footer a.cli_settings_button:focus { background:none !important; background-color:transparent !important; color:#fff !important; padding:0 !important; margin:0 !important; border:0 !important; box-shadow:none !important; font:inherit !important; text-decoration:underline !important; text-underline-offset:2px; }
.rp-footer__nav { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:16px; font-weight:700; }

@media (max-width:600px) {
  .rp-header__inner { padding:8px 16px; gap:8px; }
  .rp-header__logo img { height:34px; }
  .rp-header__nav { gap:12px; }
  .rp-header__link { font-size:15px; }
  .rp-view a.rp-btn--header { padding:7px 12px; }
  .rp-main { padding:0 16px 40px; }
  .rp-cta { padding:22px 16px; }
  .rp-main a.rp-btn { display:block; text-align:center; }
  .rp-footer__inner { flex-direction:column; gap:16px; padding:28px 16px; }
}

.rp-cta__note{margin:.6em 0 0;font-size:.9em}
