/* Rentalpedia v2 – ergänzt rentalpedia.css. CI: nur #5979B9 + Neutrale, eckig, flach, keine Pillen, keine schwarzen Buttons,
   grauer Text nie heller als #595959, Tap-Ziele mind. 44 px. Schriften: lokal (rmk-fonts) bzw. System, nichts Externes. */
.rp-view { --rp-sans:Roboto,"Roboto Fallback",Arial,sans-serif; --rp-head:Oswald,"Oswald Fallback","Arial Narrow",Arial,sans-serif; }
.rp-v2.rp-main--hub { max-width:1100px; }
.rp-v2 .rp-sr, .rp-view .rp-sr { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
/* Kopfzeile: Tap-Ziele */
.rp-header__link { display:inline-flex; align-items:center; min-height:44px; padding:0 2px; }
.rp-header__link[aria-current="page"] { border-bottom-color:var(--rp-blue); }
.rp-view a.rp-btn--header { min-height:44px; display:inline-flex; align-items:center; }
.rp-footer a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:600px) {
  .rp-header__inner { row-gap:2px; }
  .rp-header__nav { width:100%; justify-content:space-between; gap:10px; }
}
/* Hero + Suche */
.rp-v2 .rp-hero { margin-top:0; padding-top:24px; }
.rp-v2 .rp-hero .rp-lead { max-width:760px; }
.rp-meta { font-size:16px !important; color:var(--rp-muted) !important; margin:4px 0 0; }
.rp-search { margin:8px 0 8px; }
.rp-sform { max-width:760px; }
.rp-sform__label { display:block; font-weight:700; font-size:19px; margin:0 0 8px; }
.rp-sform__row { display:flex; gap:0; }
.rp-sform input[type=search] { flex:1 1 auto; min-width:0; min-height:52px; font:400 18px/1.3 var(--rp-sans); color:var(--rp-text); padding:10px 14px; border:2px solid var(--rp-blue); border-right:0; background:#fff; -webkit-appearance:none; appearance:none; }
.rp-sform input[type=search]:focus { outline:3px solid var(--rp-blue); outline-offset:2px; }
.rp-sbtn { min-height:52px; padding:0 22px; background:var(--rp-blue); color:#fff; border:2px solid var(--rp-blue); font:700 19px/1 var(--rp-sans); text-transform:none; cursor:pointer; }
.rp-sbtn:hover { background:#fff; color:var(--rp-blue); }
.rp-sres__h { font-family:var(--rp-sans) !important; font-weight:700 !important; font-size:17px !important; margin:16px 0 6px !important; color:#000; }
.rp-sres__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.rp-main .rp-sres__list a { display:inline-flex; align-items:center; min-height:44px; padding:6px 14px; border:2px solid var(--rp-blue); background:#fff; text-decoration:none; font-weight:700; font-size:17px; color:var(--rp-text); }
.rp-main .rp-sres__list a:hover { background:var(--rp-blue); color:#fff; }
.rp-sres__none { margin:12px 0 0; }
/* Zielgruppen-Kacheln */
.rp-filter h2 { margin-top:36px; }
.rp-aud { display:grid; grid-template-columns:1fr; gap:12px; margin:16px 0 18px; }
@media (min-width:640px) { .rp-aud { grid-template-columns:1fr 1fr; } }
@media (min-width:1000px) { .rp-aud { grid-template-columns:repeat(4,1fr); } }
.rp-aud__tile { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:4px; min-height:48px; padding:14px 16px; background:#fff; color:var(--rp-text); border:2px solid var(--rp-line); border-left:6px solid var(--rp-blue); font:inherit; cursor:pointer; }
.rp-aud__tile:hover { border-color:var(--rp-blue); }
.rp-aud__tile[aria-pressed="true"] { background:var(--rp-blue); border-color:var(--rp-blue); color:#fff; }
.rp-aud__tile[aria-pressed="true"] .rp-aud__b { color:#fff; }
.rp-aud__t { font-family:var(--rp-head); font-size:21px; line-height:1.25; }
.rp-aud__b { font-size:17px; line-height:1.45; color:var(--rp-muted); }
.rp-aud__tile:focus-visible, .rp-chip:focus-visible, .rp-sbtn:focus-visible, .rp-linkbtn:focus-visible { outline:3px solid #000; outline-offset:2px; }
/* Themen-Chips: eckig, auf dem Handy horizontal scrollbar */
.rp-chips { display:flex; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; padding:2px 2px 8px; margin:0 -2px; }
.rp-chip { flex:0 0 auto; min-height:44px; padding:0 16px; background:#fff; color:var(--rp-text); border:2px solid var(--rp-blue); font:700 17px/1 var(--rp-sans); white-space:nowrap; cursor:pointer; }
.rp-chip:hover { background:#eef1f8; }
.rp-chip[aria-pressed="true"] { background:var(--rp-blue); color:#fff; }
.rp-fstatus { font-size:16px !important; color:var(--rp-muted) !important; margin:6px 0 0; }
.rp-linkbtn { background:none; border:0; padding:0; min-height:44px; font:inherit; font-weight:700; color:var(--rp-text); text-decoration:underline; text-decoration-color:var(--rp-blue); text-decoration-thickness:2px; cursor:pointer; }
/* Karten: 4:3, gleiche Höhe, ganze Karte klickbar */
.rp-grid--v2 { margin-top:14px; }
@media (min-width:1000px) { .rp-grid--v2 { grid-template-columns:repeat(3,1fr); } }
.rp-grid--v2 .rp-card[hidden] { display:none; }
.rp-grid--v2 .rp-card__link { display:flex; flex-direction:column; height:100%; }
.rp-card__img { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--rp-soft); }
.rp-main .rp-grid--v2 .rp-card img { width:100%; height:100% !important; aspect-ratio:4/3; object-fit:cover; display:block; }
.rp-grid--v2 .rp-card__body { display:flex; flex-direction:column; flex:1 1 auto; }
.rp-card__cat { display:block; font-size:14px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--rp-muted); margin-bottom:6px; }
.rp-card__meta { display:block; margin-top:auto; padding-top:12px; font-size:15px; color:var(--rp-muted); }
.rp-grid--v2 .rp-card__link:hover { outline:2px solid var(--rp-blue); outline-offset:-2px; }
.rp-grid--v2 .rp-card__link:focus-visible { outline:3px solid var(--rp-blue); outline-offset:2px; }
/* Glossar */
.rp-glossar { margin-top:8px; }
.rp-gl__note { font-size:17px !important; }
.rp-az { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 4px; }
.rp-main .rp-az a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:2px solid var(--rp-line); text-decoration:none; font-weight:700; color:var(--rp-text); }
.rp-main .rp-az a:hover { border-color:var(--rp-blue); }
.rp-main h3.rp-gl__letter { font-size:24px; margin:22px 0 6px; padding-bottom:4px; border-bottom:2px solid var(--rp-blue); scroll-margin-top:90px; }
.rp-gl { border:1px solid var(--rp-line); border-top:0; background:#fff; scroll-margin-top:90px; }
.rp-gl__letter + .rp-gl { border-top:1px solid var(--rp-line); }
.rp-gl summary { cursor:pointer; min-height:48px; display:flex; align-items:center; padding:8px 16px; font-weight:700; list-style-position:inside; }
.rp-gl summary::-webkit-details-marker { margin-right:8px; }
.rp-gl[open] summary { border-bottom:1px solid var(--rp-line); }
.rp-gl > p { margin:10px 16px; }
.rp-gl__links { display:flex; flex-wrap:wrap; gap:4px 18px; font-size:16px !important; }
.rp-main .rp-gl__links a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.rp-main .rp-gl__links a.rp-gl__ask { color:var(--rp-text); font-weight:700; }
/* Hub-CTA */
.rp-cta__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
.rp-view a.rp-btn { min-height:48px; }
.rp-view a.rp-btn--ghost { background:#fff; color:var(--rp-text); border-color:var(--rp-blue); }
.rp-view a.rp-btn--ghost:hover { background:var(--rp-blue); color:#fff; }
/* Artikel */
.rp-short { border:2px solid var(--rp-blue); border-left-width:6px; padding:16px 20px; margin:24px 0 8px; background:#fff; }
.rp-main .rp-short h2 { font-size:22px; margin:0 0 6px; }
.rp-short p { margin:0; }
.rp-toc { background:var(--rp-soft); padding:14px 20px 10px; margin:20px 0 8px; border-left:4px solid var(--rp-blue); }
.rp-toc__h { font-weight:700; margin:0 0 4px !important; }
.rp-toc ol { margin:0; padding-left:1.4em; columns:1; }
@media (min-width:760px) { .rp-toc ol { columns:2; column-gap:32px; } }
.rp-main .rp-toc li { break-inside:avoid; }
.rp-main .rp-toc a { display:block; padding:9px 0; min-height:44px; line-height:1.4; }
.rp-content h2[id], .rp-content [id] { scroll-margin-top:90px; }
.rp-check { border:1px solid var(--rp-line); padding:12px 16px 8px; margin:16px 0; }
.rp-check legend { font-weight:700; padding:0 6px; font-size:18px; }
.rp-check__hint { font-size:16px !important; color:var(--rp-muted) !important; margin:0 0 6px; }
.rp-check__item { display:flex; align-items:flex-start; gap:12px; min-height:44px; padding:8px 0; cursor:pointer; font-size:18px; line-height:1.5; }
.rp-check__item input { flex:0 0 auto; width:24px; height:24px; margin:2px 0 0; accent-color:var(--rp-blue); }
.rp-cta__buy { font-size:20px !important; font-weight:700; margin:4px 0 8px; }
.rp-next ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:700px) { .rp-next ul { grid-template-columns:repeat(3,1fr); } }
.rp-main .rp-next a { display:flex; flex-direction:column; gap:6px; height:100%; min-height:48px; padding:14px 16px; border:1px solid var(--rp-line); border-top:4px solid var(--rp-blue); text-decoration:none; color:var(--rp-text); }
.rp-main .rp-next a:hover { border-color:var(--rp-blue); }
.rp-next__cat { font-size:14px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--rp-muted); }
.rp-next__t { font-family:var(--rp-head); font-size:20px; line-height:1.3; color:#000; }
.rp-main .rp-related li a { min-height:44px; display:inline-flex; align-items:center; }
/* Tabellen: Handy = gestapelte Karten (data-label) */
@media (max-width:700px) {
  .rp-content table.rp-table--cards { display:block; overflow:visible; border:0; }
  .rp-content table.rp-table--cards thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }
  .rp-content table.rp-table--cards tbody, .rp-content table.rp-table--cards tr, .rp-content table.rp-table--cards td { display:block; width:100%; }
  .rp-content table.rp-table--cards tr { border:1px solid var(--rp-line); border-left:4px solid var(--rp-blue); margin:0 0 12px; padding:6px 12px; }
  .rp-content table.rp-table--cards td { border:0; min-width:0; padding:6px 0; font-size:17px; }
  .rp-content table.rp-table--cards td + td { border-top:1px solid var(--rp-line); }
  .rp-content table.rp-table--cards td::before { content:attr(data-label); display:block; font-size:14px; font-weight:700; color:var(--rp-muted); }
}
.rp-v2 .rp-crumbs a, .rp-v2 .rp-crumbs span { display:inline-flex; align-items:center; min-height:44px; }
.rp-header__logo { min-height:44px; }
