/*
 * Rafuna Landingpages – Frontend-Styles
 * Alle Klassen sind mit rlp- praefixiert, damit nichts mit dem Theme kollidiert.
 */

:root{
  --rlp-ink:#101318;
  --rlp-asphalt:#1b1f26;
  --rlp-magenta:#d6006c;
  --rlp-magenta-deep:#a80055;
  --rlp-blue:#0096e0;
  --rlp-paper:#f1f2f4;
  --rlp-line:#dde0e5;
  --rlp-txt:#22262e;
  --rlp-muted:#5d646f;
  --rlp-display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rlp-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rlp-wrap:1180px;
}

.rlp-page,.rlp-mobile-bar,.rlp-topbar,.rlp-site-header,.rlp-site-footer{
  font-family:var(--rlp-body);
  color:var(--rlp-txt);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.rlp-page *,.rlp-page *::before,.rlp-page *::after{box-sizing:border-box}
.rlp-page img{max-width:100%;display:block}
.rlp-wrap{max-width:var(--rlp-wrap);margin:0 auto;padding:0 24px}

/* --- Signatur: Zielband + L-Schild --- */
.rlp-checker{
  height:22px;
  background-color:#fff;
  background-image:
    linear-gradient(45deg,var(--rlp-ink) 25%,transparent 25%,transparent 75%,var(--rlp-ink) 75%),
    linear-gradient(45deg,var(--rlp-ink) 25%,transparent 25%,transparent 75%,var(--rlp-ink) 75%);
  background-size:22px 22px;
  background-position:0 0,11px 11px;
}
.rlp-page .rlp-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-family:var(--rlp-display);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rlp-muted)}
.rlp-page .rlp-lplate{display:grid;place-items:center;width:26px;height:26px;border-radius:5px;background:var(--rlp-blue);color:#fff;font-family:var(--rlp-display);font-weight:900;font-size:.95rem;line-height:1}
.rlp-page .rlp-eyebrow-light{color:rgba(255,255,255,.8)}
.rlp-page .rlp-lplate-light{background:#fff;color:var(--rlp-magenta)}
.rlp-bg-ink .rlp-eyebrow{color:#9aa3b0}

/* --- Typografie --- */
.rlp-page h2,.rlp-page h3,.rlp-page h4,.rlp-page .rlp-h1{
  font-family:var(--rlp-display);
  margin:0 0 .5em;
  line-height:1.06;
  letter-spacing:-.015em;
  color:var(--rlp-txt);
  text-transform:none;
}
.rlp-page .rlp-h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;color:#fff}
.rlp-page h2{font-size:clamp(1.85rem,3.4vw,2.7rem);font-weight:800}
.rlp-page h3{font-size:1.16rem;font-weight:700}
.rlp-page p{margin:0 0 1.1em}
.rlp-page ul{margin:0 0 1.1em;padding-left:1.2em}
.rlp-accent{color:var(--rlp-magenta)}

/* --- Buttons --- */
.rlp-btn{display:inline-flex;align-items:center;gap:9px;padding:15px 26px;border-radius:8px;font-family:var(--rlp-display);font-weight:800;font-size:.98rem;text-decoration:none;border:2px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease;line-height:1.1}
.rlp-btn:focus-visible{outline:3px solid var(--rlp-blue);outline-offset:3px}
.rlp-btn-primary{background:var(--rlp-magenta);color:#fff}
.rlp-btn-primary:hover,.rlp-btn-primary:focus{background:var(--rlp-magenta-deep);color:#fff;transform:translateY(-2px)}
.rlp-btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.rlp-btn-ghost:hover,.rlp-btn-ghost:focus{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.rlp-btn-dark{border-color:var(--rlp-ink);color:var(--rlp-ink)}
.rlp-btn-dark:hover,.rlp-btn-dark:focus{background:var(--rlp-ink);color:#fff}
.rlp-btn-white{background:#fff;color:var(--rlp-magenta)}
.rlp-btn-white:hover,.rlp-btn-white:focus{background:#f4f4f4;color:var(--rlp-magenta);transform:translateY(-2px)}

/* --- Hero --- */
.rlp-hero{background:var(--rlp-ink);color:#fff;position:relative;overflow:hidden;padding:0}
.rlp-hero::after{content:"";position:absolute;right:-140px;top:-90px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(214,0,108,.34),transparent 62%);pointer-events:none}
.rlp-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;padding-top:78px;padding-bottom:78px}
.rlp-hero .rlp-lead{font-size:1.14rem;color:#c8cdd6;max-width:33em}
.rlp-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}
.rlp-trustrow{display:flex;gap:26px;flex-wrap:wrap;font-size:.9rem;color:#98a1ae;border-top:1px solid rgba(255,255,255,.13);padding-top:20px}
.rlp-trustrow span{display:flex;align-items:center;gap:8px}
.rlp-trustrow b{color:#fff;font-family:var(--rlp-display);font-weight:800}

/* Antwort-Kapsel (AI Overviews / LLM) */
.rlp-capsule{background:#fff;color:var(--rlp-txt);border-radius:14px;padding:28px 26px 20px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.rlp-page .rlp-capsule h2{font-size:1.14rem;margin-bottom:14px}
.rlp-capsule dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:10px 16px;font-size:.95rem;align-items:baseline}
.rlp-capsule dt{color:var(--rlp-muted);margin:0}
.rlp-capsule dd{margin:0;font-family:var(--rlp-display);font-weight:800;text-align:right;white-space:nowrap}
.rlp-page .rlp-capsule .rlp-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--rlp-line);font-size:.8rem;color:var(--rlp-muted)}

/* --- Sektionen --- */
.rlp-section{padding:82px 0}
.rlp-section.rlp-tight{padding:60px 0}
.rlp-bg-paper{background:var(--rlp-paper)}
.rlp-bg-ink{background:var(--rlp-asphalt);color:#e7eaef}
.rlp-bg-ink h2,.rlp-bg-ink h3{color:#fff}
.rlp-sec-head{max-width:44em;margin-bottom:44px}
.rlp-sec-head p{color:var(--rlp-muted);font-size:1.05rem;margin-bottom:0}
.rlp-bg-ink .rlp-sec-head p{color:#a8b1be}

/* Bausteine */
.rlp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rlp-card{background:#fff;border:1px solid var(--rlp-line);border-radius:12px;padding:28px;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease}
.rlp-card:hover{border-color:var(--rlp-magenta);transform:translateY(-3px)}
.rlp-kat{display:inline-block;font-family:var(--rlp-display);font-weight:900;font-size:.78rem;letter-spacing:.1em;color:var(--rlp-magenta);margin-bottom:12px;text-transform:uppercase}
.rlp-card p{color:var(--rlp-muted);font-size:.96rem}
.rlp-more{margin-top:auto;font-family:var(--rlp-display);font-weight:800;font-size:.92rem;color:var(--rlp-ink);text-decoration:none;border-bottom:2px solid var(--rlp-magenta);align-self:flex-start;padding-bottom:2px}
.rlp-more:hover{color:var(--rlp-magenta)}
.rlp-crosslink{margin-top:26px;font-size:.92rem;color:var(--rlp-muted)}
.rlp-crosslink a{color:var(--rlp-ink);font-weight:700}

/* Preise */
.rlp-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rlp-price{background:#fff;border:1px solid var(--rlp-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.rlp-price-top{background:var(--rlp-ink);color:#fff;padding:16px 22px;font-family:var(--rlp-display);font-weight:800;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:10px}
.rlp-price-top small{font-family:var(--rlp-body);font-weight:600;font-size:.78rem;color:#9aa3b0;white-space:nowrap}
.rlp-price-body{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1}
.rlp-amount{font-family:var(--rlp-display);font-weight:900;font-size:2.5rem;line-height:1;color:var(--rlp-magenta);margin-bottom:6px}
.rlp-price-body ul{list-style:none;margin:12px 0 20px;padding:0;font-size:.93rem;color:var(--rlp-muted)}
.rlp-price-body li{padding-left:22px;position:relative;margin-bottom:7px}
.rlp-price-body li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:2px;background:var(--rlp-blue)}
.rlp-price-note{margin-top:22px;font-size:.88rem;color:var(--rlp-muted);background:#fff;border-left:4px solid var(--rlp-blue);padding:16px 20px;border-radius:0 8px 8px 0}

/* Ablauf */
.rlp-road{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:14px;border-top:3px dashed rgba(255,255,255,.22)}
.rlp-step{padding:26px 20px 0;position:relative}
.rlp-step::before{content:"";position:absolute;top:-9px;left:20px;width:15px;height:15px;border-radius:50%;background:var(--rlp-magenta);box-shadow:0 0 0 5px var(--rlp-asphalt)}
.rlp-step:last-child::before{background:#fff;background-image:linear-gradient(45deg,var(--rlp-ink) 25%,transparent 25%,transparent 75%,var(--rlp-ink) 75%),linear-gradient(45deg,var(--rlp-ink) 25%,transparent 25%,transparent 75%,var(--rlp-ink) 75%);background-size:8px 8px;background-position:0 0,4px 4px}
.rlp-n{font-family:var(--rlp-display);font-weight:900;font-size:.75rem;letter-spacing:.14em;color:var(--rlp-magenta);display:block;margin-bottom:8px;text-transform:uppercase}
.rlp-page .rlp-step h3{font-size:1.02rem;margin-bottom:8px}
.rlp-step p{font-size:.9rem;color:#a8b1be;margin:0}

/* USPs */
.rlp-usps{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.rlp-usp{display:flex;gap:18px;background:#fff;border:1px solid var(--rlp-line);border-radius:12px;padding:26px}
.rlp-mark{flex:none;width:44px;height:44px;border-radius:8px;background:var(--rlp-blue);color:#fff;display:grid;place-items:center;font-family:var(--rlp-display);font-weight:900;font-size:1.15rem}
.rlp-page .rlp-usp h3{margin-bottom:6px}
.rlp-usp p{margin:0;color:var(--rlp-muted);font-size:.95rem}

/* Einzugsgebiet */
.rlp-geo{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.rlp-page .rlp-chips{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
.rlp-chips li{background:#fff;border:1px solid var(--rlp-line);border-radius:100px;padding:7px 15px;font-size:.9rem;font-weight:600}
.rlp-geo-box{background:var(--rlp-ink);color:#dfe3ea;border-radius:12px;padding:30px}
.rlp-page .rlp-geo-box h3{color:#fff}
.rlp-geo-box p{color:#a8b1be;font-size:.95rem}
.rlp-geo-box .rlp-geo-cta{margin:22px 0 0}

/* Ueber mich */
.rlp-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.rlp-about-visual{background:var(--rlp-ink);border-radius:12px;padding:52px 34px;color:#fff;text-align:center}
.rlp-plate{display:inline-grid;place-items:center;width:96px;height:96px;border-radius:12px;background:var(--rlp-blue);font-family:var(--rlp-display);font-weight:900;font-size:3.4rem;color:#fff;margin-bottom:20px}
.rlp-claim{font-family:var(--rlp-display);font-weight:800;font-size:1.28rem;font-style:italic;color:var(--rlp-magenta);margin:0}
.rlp-page .rlp-about blockquote{margin:0 0 18px;padding:0;border:0;font-family:var(--rlp-display);font-weight:700;font-size:1.3rem;line-height:1.35;font-style:normal;color:var(--rlp-txt)}

/* Bewertungen */
.rlp-reviews{margin-bottom:18px}

/* FAQ */
.rlp-faq{max-width:880px}
.rlp-faq details{border-bottom:1px solid var(--rlp-line);padding:4px 0}
.rlp-faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;font-family:var(--rlp-display);font-weight:700;font-size:1.05rem;position:relative}
.rlp-faq summary::-webkit-details-marker{display:none}
.rlp-faq summary::after{content:"+";position:absolute;right:8px;top:15px;font-size:1.7rem;font-weight:400;color:var(--rlp-magenta);line-height:1}
.rlp-faq details[open] summary::after{content:"\2013"}
.rlp-faq details p{margin:0 0 22px;color:var(--rlp-muted);max-width:62em}

/* CTA */
.rlp-cta{background:var(--rlp-magenta);color:#fff;text-align:center}
.rlp-page .rlp-cta h2{color:#fff;max-width:17em;margin-left:auto;margin-right:auto}
.rlp-cta p{max-width:38em;margin-left:auto;margin-right:auto;color:rgba(255,255,255,.92)}
.rlp-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:12px}

/* Mobile Sticky-Leiste */
.rlp-mobile-bar{display:none}

/* Standalone-Rahmen */
.rlp-topbar{background:var(--rlp-ink);color:#c9ced8;font-size:.86rem}
.rlp-topbar .rlp-wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.rlp-topbar a{text-decoration:none;color:inherit}
.rlp-topbar strong{color:#fff}
.rlp-site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--rlp-line)}
.rlp-site-header .rlp-wrap{display:flex;align-items:center;gap:28px;padding-top:12px;padding-bottom:12px}
.rlp-logo img{width:190px}
.rlp-nav{margin-left:auto;display:flex;gap:24px;font-weight:600;font-size:.95rem}
.rlp-nav a{text-decoration:none;color:var(--rlp-txt);padding:6px 0;border-bottom:2px solid transparent}
.rlp-nav a:hover{border-color:var(--rlp-magenta);color:var(--rlp-magenta)}
.rlp-header-cta{padding:12px 20px}
.rlp-site-footer{background:var(--rlp-ink);color:#98a1ae;padding:60px 0 28px;font-size:.93rem}
.rlp-foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px}
.rlp-site-footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-family:var(--rlp-display)}
.rlp-site-footer ul{list-style:none;margin:0;padding:0}
.rlp-site-footer li{margin-bottom:9px}
.rlp-site-footer a{text-decoration:none;color:inherit}
.rlp-site-footer a:hover{color:var(--rlp-magenta)}
.rlp-foot-logo{background:#fff;border-radius:8px;padding:12px;display:inline-block;margin-bottom:18px}
.rlp-foot-logo img{width:180px}
.rlp-foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;font-size:.85rem}

/* --- Responsive --- */
@media (max-width:1000px){
  .rlp-hero-grid{grid-template-columns:1fr;gap:38px;padding-top:52px;padding-bottom:52px}
  .rlp-cards{grid-template-columns:repeat(2,1fr)}
  .rlp-prices{grid-template-columns:repeat(2,1fr)}
  .rlp-road{grid-template-columns:repeat(2,1fr);border-top:0}
  .rlp-step{border-top:3px dashed rgba(255,255,255,.22);padding-top:26px;margin-top:14px}
  .rlp-geo,.rlp-about{grid-template-columns:1fr;gap:32px}
  .rlp-foot-grid{grid-template-columns:1fr 1fr}
  .rlp-nav{display:none}
}
@media (max-width:620px){
  .rlp-page,.rlp-mobile-bar{font-size:16px}
  .rlp-section{padding:56px 0}
  .rlp-cards,.rlp-prices,.rlp-usps{grid-template-columns:1fr}
  .rlp-foot-grid{grid-template-columns:1fr}
  .rlp-topbar .rlp-wrap{justify-content:center;text-align:center}
  .rlp-capsule dl{grid-template-columns:1fr auto}
  .rlp-mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9990;background:var(--rlp-ink);padding:10px 12px;gap:10px}
  .rlp-mobile-bar a{flex:1;justify-content:center;padding:13px 10px;font-size:.9rem}
  body.rlp-landingpage{padding-bottom:70px}
}
@media (prefers-reduced-motion:reduce){
  .rlp-page *{transition:none !important}
}

/* =================================================================
 * Silo-Navigation (Verlinkung der Schwesterseiten)
 * ============================================================== */
.rlp-silo{background:var(--rlp-ink);color:#fff;padding:0 0 4px}
.rlp-silo .rlp-wrap{padding-top:26px;padding-bottom:30px}
.rlp-silo-head{font-family:var(--rlp-display);font-weight:800;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:#8b94a2;margin:0 0 16px}
.rlp-silo ul{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.rlp-silo li{margin:0}
.rlp-silo a{display:block;height:100%;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:10px;text-decoration:none;color:#fff;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.rlp-silo a:hover,.rlp-silo a:focus{border-color:var(--rlp-magenta);background:rgba(214,0,108,.12);transform:translateY(-2px)}
.rlp-silo-nav{display:block;font-family:var(--rlp-display);font-weight:900;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rlp-magenta);margin-bottom:6px}
.rlp-silo-title{display:block;font-family:var(--rlp-display);font-weight:800;font-size:1.02rem;margin-bottom:4px}
.rlp-silo-teaser{display:block;font-size:.88rem;color:#a8b1be;line-height:1.45}

/* Hervorgehobene Preiskarte (Leistung der aktuellen Seite) */
.rlp-price.rlp-is-highlight{border-color:var(--rlp-magenta);box-shadow:0 0 0 1px var(--rlp-magenta)}
.rlp-price.rlp-is-highlight .rlp-price-top{background:var(--rlp-magenta)}
.rlp-price.rlp-is-highlight .rlp-price-top small{color:rgba(255,255,255,.8)}
.rlp-badge{display:inline-block;align-self:flex-start;background:var(--rlp-blue);color:#fff;font-family:var(--rlp-display);font-weight:800;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:4px;margin-bottom:10px}

/* Ablauf-Rail flexibel, je nach Anzahl Schritte */
.rlp-road{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

@media (max-width:1000px){
  .rlp-silo ul{grid-template-columns:1fr}
  .rlp-road{grid-template-columns:repeat(2,1fr)}
}

/* Sichtbares Beitragsbild (optional) */
.rlp-cover{padding-top:34px;padding-bottom:0}
.rlp-cover-img{width:100%;height:auto;border-radius:12px;display:block}

/* Ortsspezifischer Abschnitt */
.rlp-lokal{padding-top:64px;padding-bottom:10px}
.rlp-lokal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rlp-lokal-item{border-top:3px solid var(--rlp-magenta);padding-top:18px}
.rlp-page .rlp-lokal-item h3{font-size:1.06rem;margin-bottom:8px}
.rlp-lokal-item p{color:var(--rlp-muted);font-size:.96rem;margin:0}
@media (max-width:1000px){.rlp-lokal-grid{grid-template-columns:1fr}}

/* Verweis auf die Hauptseite (kompakte Ortsseiten) */
.rlp-hub{padding-top:10px;padding-bottom:0}
.rlp-hub-box{background:var(--rlp-paper);border-left:4px solid var(--rlp-magenta);border-radius:0 12px 12px 0;padding:30px 34px}
.rlp-page .rlp-hub-box h2{font-size:1.5rem;margin-bottom:10px}
.rlp-hub-box p{color:var(--rlp-muted);max-width:60em}
.rlp-hub-box p:last-child{margin-bottom:0}
