/* RechtFlix Partnerprogramm – gemeinsames Stylesheet */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root{
  --navy:#0d2d6e; --teal:#0ea5c8; --bg:#f4f7fb; --white:#ffffff;
  --text:#1a1a2e; --muted:#5a6a80; --radius:16px; --max:1200px;
}
body{ font-family:'Segoe UI',Arial,sans-serif; color:var(--text); background:var(--white);
      line-height:1.65; font-size:16px; }

/* NAV */
nav{ position:sticky; top:0; z-index:200; background:var(--white);
     border-bottom:1px solid #e2eaf3; padding:0 60px; height:128px;
     display:flex; align-items:center; justify-content:space-between; }
nav .logo img{ height:112px; width:auto; display:block; }
.nav-links{ display:flex; gap:36px; list-style:none; }
.nav-links a{ font-size:14px; font-weight:500; color:var(--text); text-decoration:none; }
.nav-links a:hover, .nav-links a.active{ color:var(--teal); font-weight:700; }
.btn-nav{ background:var(--navy); color:var(--white); padding:11px 22px; border-radius:8px;
          font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; }
.btn-nav:hover{ background:#0a2255; }

/* HERO */
.hero{ display:grid; grid-template-columns:1fr 1fr; min-height:520px; max-width:var(--max);
       margin:0 auto; padding:0 60px; gap:64px; align-items:center; }
.hero-content{ padding:80px 0; }
.eyebrow{ display:inline-block; font-size:15px; font-weight:800; letter-spacing:1.5px;
          text-transform:uppercase; color:var(--teal); margin-bottom:20px; }
.hero h1{ font-size:46px; font-weight:800; line-height:1.15; color:var(--navy); margin-bottom:16px; }
.hero-tagline{ font-size:20px; font-weight:600; color:var(--teal); margin-bottom:24px; }
.hero p{ font-size:18px; line-height:1.7; color:var(--muted); max-width:545px; margin-bottom:16px; }
.btn-primary{ display:inline-flex; align-items:center; gap:8px; background:var(--navy);
              color:var(--white); padding:16px 32px; border-radius:10px; font-size:15px;
              font-weight:600; text-decoration:none; margin-top:16px; }
.btn-primary:hover{ background:#0a2255; }
.hero-img-wrap{ height:100%; min-height:440px; border-radius:0 0 0 var(--radius); overflow:hidden; }
.hero-img-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }

/* SECTION */
.section{ padding:88px 60px; }
.section.alt{ background:var(--bg); }
.section-inner{ max-width:var(--max); margin:0 auto; }
.section-title{ font-size:32px; font-weight:700; color:var(--navy); text-align:center; margin-bottom:12px; }
.section-sub{ font-size:16px; color:var(--muted); text-align:center; max-width:640px; margin:0 auto; }
.section-divider{ width:48px; height:3px; background:var(--teal); margin:16px auto 56px; border-radius:2px; }

/* ÜBERSICHT-KARTEN */
.pcards{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.pcard{ display:flex; flex-direction:column; background:var(--white); border:1px solid #e2eaf3;
        border-radius:var(--radius); padding:44px 40px; transition:box-shadow .2s, transform .2s;
        text-decoration:none; color:inherit; }
.pcard:hover{ box-shadow:0 14px 44px rgba(13,45,110,.12); transform:translateY(-4px); border-color:#cfe0ee; }
.pcard-icon{ width:64px; height:64px; border-radius:14px; background:var(--bg);
             display:flex; align-items:center; justify-content:center; margin-bottom:24px; }
.pcard-icon svg{ width:32px; height:32px; stroke:var(--teal); fill:none; stroke-width:1.7;
                 stroke-linecap:round; stroke-linejoin:round; }
.pcard h3{ font-size:24px; font-weight:800; color:var(--navy); margin-bottom:8px; }
.pcard .lead{ font-size:15px; color:var(--muted); line-height:1.6; margin-bottom:24px; }
.pcard .go{ margin-top:auto; font-size:15px; font-weight:700; color:var(--teal); }

/* PAKET-BLÖCKE */
.pkg-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.pkg-block{ background:var(--white); border:1px solid #e2eaf3; border-radius:var(--radius); padding:32px 30px; }
.section.alt .pkg-block{ background:var(--white); }
.pkg-icon{ width:52px; height:52px; border-radius:12px; background:#0d2d6e; box-shadow:inset 0 0 0 1.5px #c9a227;
           display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.pkg-icon svg{ width:26px; height:26px; stroke:#ffffff; fill:none; stroke-width:1.7;
               stroke-linecap:round; stroke-linejoin:round; }
.pkg-block h3{ font-size:19px; font-weight:700; color:var(--navy); margin-bottom:6px; }
.pkg-block .desc{ font-size:14px; color:var(--muted); margin-bottom:18px; }
.pkg-list{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.pkg-list li{ display:flex; align-items:flex-start; gap:11px; font-size:14.5px; color:var(--text); line-height:1.45; }
.pkg-list li .chk{ flex-shrink:0; margin-top:2px; width:18px; height:18px; }
.pkg-list li .chk svg{ width:18px; height:18px; stroke:var(--teal); fill:none; stroke-width:2.4; }

/* ERWEITERUNG / PLUS */
.plus-badge{ display:inline-block; background:var(--teal); color:#fff; font-size:11px; font-weight:700;
             letter-spacing:2px; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:20px; }
.plus-grid{ display:grid; grid-template-columns:1fr 360px; gap:56px; align-items:start; }
.plus-grid h2{ font-size:30px; font-weight:800; color:var(--navy); margin-bottom:10px; line-height:1.25; }
.plus-grid .plus-lead{ font-size:16px; color:var(--muted); margin-bottom:26px; }
.plus-cols{ display:grid; grid-template-columns:1fr 1fr; gap:28px 40px; }
.plus-col h4{ font-size:16px; font-weight:700; color:var(--navy); margin-bottom:14px; }
.plus-list{ list-style:none; display:flex; flex-direction:column; gap:12px; }
.plus-list li{ display:flex; align-items:flex-start; gap:11px; font-size:14.5px; color:var(--muted); line-height:1.5; }
.plus-list li .chk{ flex-shrink:0; margin-top:2px; width:20px; height:20px; }
.plus-list li .chk svg{ width:20px; height:20px; stroke:var(--teal); fill:none; stroke-width:2.2; }
.price-card{ background:var(--white); border-radius:var(--radius); padding:40px 34px; text-align:center;
             box-shadow:0 10px 36px rgba(13,45,110,.12); border:2px solid var(--teal); }
.price-card .pc-name{ font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
                      color:var(--teal); margin-bottom:16px; }
.price-card .pc-amount{ font-size:52px; font-weight:800; color:var(--navy); line-height:1; }
.price-card .pc-unit{ font-size:14px; color:var(--teal); font-weight:600; margin:6px 0 20px; }
.price-card hr{ border:none; border-top:1px solid #e2eaf3; margin:0 0 18px; }
.price-card .pc-desc{ font-size:14px; color:var(--muted); line-height:1.7; }
.price-card .btn-primary{ width:100%; justify-content:center; margin-top:24px; }

/* CTA */
.cta-section{ padding:0 60px 88px; }
.cta-box{ max-width:var(--max); margin:0 auto; background:var(--bg); border-radius:var(--radius);
          padding:52px 56px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-box h3{ font-size:24px; font-weight:700; color:var(--navy); line-height:1.35; }
.btn-cta{ white-space:nowrap; display:inline-flex; align-items:center; gap:8px; background:var(--navy);
          color:#fff; padding:16px 32px; border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; }
.btn-cta:hover{ background:#0a2255; }

/* FOOTER (Klassen – die eingebettete Variante nutzt Inline-Styles) */
@media (max-width:960px){
  nav{ padding:0 20px; }
  .nav-links{ display:none; }
  .hero{ grid-template-columns:1fr; padding:44px 22px; gap:28px; min-height:unset; }
  .hero-content{ padding:0; }
  .hero h1{ font-size:32px; }
  .hero-img-wrap{ min-height:240px; }
  .section{ padding:56px 22px; }
  .pcards, .pkg-grid, .plus-grid, .plus-cols{ grid-template-columns:1fr; }
  .cta-section{ padding:0 22px 56px; }
  .cta-box{ flex-direction:column; text-align:center; padding:36px 26px; }
}


/* ===== PARTNER-V2 (Visualisierung Rahel) ===== */
.plus2-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; }
.plus2-left h2{ font-size:32px; font-weight:800; color:#0d2d6e; margin-bottom:6px; }
.plus2-sub{ font-size:18px; font-weight:700; color:#0ea5c8; margin-bottom:20px; }
.plus2-left p{ color:#5a6a80; margin-bottom:14px; font-size:15.5px; line-height:1.65; }
.kunden-card{ background:#f4f7fb; border:1px solid #e7eef7; border-radius:16px; padding:34px 32px; }
.kunden-card h3{ font-size:20px; font-weight:700; color:#0d2d6e; margin-bottom:22px; }
.kunden-card .pkg-list li{ font-size:15px; margin-bottom:14px; align-items:flex-start; }

.flow{ display:flex; align-items:center; gap:16px; margin:28px 0 16px; }
.flow-card{ width:128px; height:82px; background:#fff; border:1px solid #e2eaf3; border-radius:12px;
  box-shadow:0 10px 24px rgba(13,45,110,.08); display:flex; align-items:center; justify-content:center; gap:10px; }
.flow-card svg{ width:26px; height:26px; stroke:#0d2d6e; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.flow-lines{ display:flex; flex-direction:column; gap:5px; }
.flow-lines i{ display:block; width:34px; height:5px; border-radius:3px; background:#d9e2ee; }
.flow-lines i:nth-child(2){ width:24px; }
.flow-arrow{ flex:0 0 auto; width:40px; height:2px; background:#0ea5c8; position:relative; }
.flow-arrow::after{ content:""; position:absolute; right:-1px; top:-3px; border-left:7px solid #0ea5c8; border-top:4px solid transparent; border-bottom:4px solid transparent; }
.flow-people{ width:60px; height:60px; border-radius:50%; background:#0d2d6e; box-shadow:inset 0 0 0 1.5px #c9a227; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.flow-people svg{ width:30px; height:30px; stroke:#ffffff; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.flow-badge{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid #e2eaf3;
  border-radius:10px; padding:9px 15px; font-size:11px; font-weight:700; letter-spacing:1px; color:#0d2d6e; }
.flow-badge .fb-check{ width:18px; height:18px; border-radius:50%; background:#1d9e75; color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:11px; }

.price-why-grid{ display:grid; grid-template-columns:320px 1fr; gap:48px; align-items:center; }
.why2 h3{ font-size:22px; font-weight:700; color:#0d2d6e; margin-bottom:30px; text-align:center; }
.reasons{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.reason{ text-align:center; }
.reason-icon{ width:64px; height:64px; border-radius:50%; background:#0d2d6e; box-shadow:inset 0 0 0 1.5px #c9a227; display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.reason-icon svg{ width:28px; height:28px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.reason span{ font-size:12.5px; color:#1a1a2e; line-height:1.4; font-weight:500; }

.cta-dark-wrap{ padding:0 60px 84px; }
.cta-dark{ max-width:1200px; margin:0 auto; background:#0d2d6e; border-radius:16px; padding:36px 44px;
  display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.cta-dark-icon{ width:66px; height:66px; border-radius:50%; background:rgba(255,255,255,.10);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.cta-dark-icon svg{ width:32px; height:32px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cta-dark-text{ flex:1; min-width:240px; color:#fff; font-size:19px; font-weight:600; line-height:1.45; }
.cta-dark-actions{ text-align:center; flex:0 0 auto; }
.btn-teal{ display:inline-block; background:#0ea5c8; color:#fff; padding:15px 30px; border-radius:10px;
  font-weight:700; font-size:15px; text-decoration:none; white-space:nowrap; }
.btn-teal:hover{ background:#0c8fad; }
.cta-dark-sub{ display:block; color:rgba(255,255,255,.6); font-size:13px; margin-top:10px; }

.hero-illus{ display:flex; align-items:center; justify-content:center; }
.hero-illus svg{ width:100%; max-width:470px; height:auto; }

@media (max-width:960px){
  .plus2-grid, .price-why-grid{ grid-template-columns:1fr; gap:32px; }
  .plus2-left h2{ font-size:26px; }
  .reasons{ grid-template-columns:repeat(2,1fr); gap:22px; }
  .cta-dark-wrap{ padding:0 22px 56px; }
  .cta-dark{ flex-direction:column; text-align:center; padding:32px 26px; }
  .cta-dark-text{ min-width:0; }
}


/* ===== PARTNER-LANDING (Gold + Löwe + Voll-Hero) ===== */
:root{ --gold:#b8934a; --gold-soft:#f7f0e1; }
.phero{ position:relative; overflow:hidden; background:#fff; }
.phero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.phero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,#fff 0%,#fff 33%,rgba(255,255,255,.82) 46%,rgba(255,255,255,0) 63%); }
.phero-inner{ position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:86px 60px; min-height:520px; display:flex; align-items:center; }
.phero-text{ max-width:640px; }
.eyebrow.gold{ color:var(--gold); }
.phero h1{ font-family:Georgia,'Times New Roman',serif; font-size:54px; font-weight:700; line-height:1.08; color:#0d2d6e; margin-bottom:18px; letter-spacing:-.5px; }
.phero h1 .gold{ color:var(--gold); }
.phero-sub{ font-size:20px; font-weight:700; color:#0d2d6e; margin-bottom:16px; }
.phero-body{ font-size:17px; line-height:1.7; color:#5a6a80; max-width:470px; margin-bottom:28px; }
.btn-navy{ display:inline-block; background:#0d2d6e; color:#fff; padding:15px 30px; border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; }
.btn-navy:hover{ background:#0a2255; }
.serif-title{ font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:700; color:#0d2d6e; text-align:center; margin-bottom:10px; }
.ways{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.way{ background:#f4f7fb; border-radius:16px; padding:40px 36px; }
.way.gold-bg{ background:var(--gold-soft); }
.way-ico{ width:96px; height:96px; border-radius:50%; background:#fff; box-shadow:0 8px 24px rgba(13,45,110,.08); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.way-ico svg{ width:44px; height:44px; stroke:#0d2d6e; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.gacc{ stroke:var(--gold) !important; }
.way h3{ font-family:Georgia,serif; font-size:24px; font-weight:700; color:#0d2d6e; margin-bottom:12px; }
.way p{ font-size:15px; color:#5a6a80; line-height:1.6; margin-bottom:22px; }
.way .btn-navy{ width:100%; text-align:center; }
.ppk{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ppk-card{ background:#fff; border:1px solid #eef2f7; border-radius:16px; padding:30px 26px; text-align:center; }
.ppk-ico{ width:84px; height:84px; border-radius:50%; background:#f4f7fb; box-shadow:inset 0 0 0 1.5px var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.ppk-ico svg{ width:38px; height:38px; stroke:#0d2d6e; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ppk-ico.lion{ background:transparent; box-shadow:none; }
.ppk-ico.lion img{ width:84px; height:84px; }
.ppk-card h3{ font-size:18px; font-weight:700; color:#0d2d6e; margin-bottom:8px; }
.ppk-card .d{ font-size:13.5px; color:#5a6a80; margin-bottom:16px; line-height:1.55; }
.ppk-list{ list-style:none; text-align:left; display:flex; flex-direction:column; gap:9px; }
.ppk-list li{ position:relative; padding-left:18px; font-size:13.5px; color:#1a1a2e; line-height:1.45; }
.ppk-list li::before{ content:""; position:absolute; left:2px; top:7px; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.pcta-wrap{ padding:0 60px 84px; }
.pcta{ position:relative; overflow:hidden; max-width:1200px; margin:0 auto; background:#0d2d6e; border-radius:16px; padding:56px 40px; text-align:center; }
.pcta-lion{ position:absolute; left:-30px; bottom:-40px; width:280px; opacity:.07; z-index:0; }
.pcta > *{ position:relative; z-index:1; }
.pcta h2{ font-family:Georgia,serif; font-size:28px; font-weight:700; color:#fff; margin-bottom:4px; }
.pcta .lead{ font-family:Georgia,serif; font-size:26px; font-weight:700; color:var(--gold); margin-bottom:26px; }
.btn-gold{ display:inline-block; background:var(--gold); color:#0d2d6e; padding:15px 32px; border-radius:10px; font-size:15px; font-weight:700; text-decoration:none; }
.btn-gold:hover{ background:#a9843e; }
@media (max-width:960px){
  .phero::after{ background:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.9) 52%,rgba(255,255,255,.35) 100%); }
  .phero-inner{ padding:44px 22px; min-height:auto; }
  .phero h1{ font-size:38px; }
  .ways{ grid-template-columns:1fr; }
  .ppk{ grid-template-columns:1fr 1fr; }
  .pcta-wrap{ padding:0 22px 56px; }
}
@media (max-width:560px){ .ppk{ grid-template-columns:1fr; } }
