
:root{--bg:#0b0f14;--panel:#121923;--text:#eef3f7;--muted:#b9c4ce;--white:#fff;--red:#c8141d;--red2:#e3222b;--line:rgba(255,255,255,.12);--shadow:0 22px 60px rgba(0,0,0,.28);--darktext:#111820}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#fff;color:var(--darktext);line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin-inline:auto}.topline{background:#070a0e;color:#fff;border-bottom:1px solid var(--line)}.topline .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.92rem;color:#dbe2e8}.topline strong{color:#fff}.site-header{position:sticky;top:0;z-index:50;background:rgba(11,15,20,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}.logo-wrap{display:flex;align-items:center;gap:.8rem;color:#fff;font-weight:900;letter-spacing:.05em}.logo-img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:14px;padding:.35rem}.logo-text span{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.22em;font-weight:700}.nav-links{display:flex;align-items:center;gap:1.05rem;color:#eef3f7;font-weight:700;font-size:.95rem}.nav-actions{display:flex;gap:.65rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--red);color:#fff;font-weight:900;border-radius:999px;padding:.88rem 1.1rem;border:0;cursor:pointer;box-shadow:0 10px 25px rgba(200,20,29,.22)}.btn:hover{background:var(--red2)}.btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:none}.hero{background:linear-gradient(110deg,rgba(11,15,20,.94) 0%,rgba(11,15,20,.78) 52%,rgba(11,15,20,.22) 100%),var(--hero) center/cover no-repeat;color:#fff;min-height:720px;display:flex;align-items:center}.hero-card{width:min(760px,100%);padding:5rem 0}.kicker{display:inline-flex;color:#fff;background:rgba(200,20,29,.92);font-weight:900;border-radius:999px;padding:.38rem .78rem;font-size:.9rem;margin-bottom:1.1rem}h1{font-size:clamp(2.4rem,5.8vw,5.7rem);line-height:.98;margin:.1rem 0 1rem;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.05;margin:0 0 1rem;letter-spacing:-.04em;color:#111820}h3{font-size:1.25rem;margin:.2rem 0 .55rem;color:#111820}.hero p.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:#dfe7ed;max-width:650px}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.4rem;max-width:720px}.trust{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:1rem}.trust strong{display:block;font-size:1.6rem;color:#fff;line-height:1}.trust span{font-size:.92rem;color:#cbd5dd}.section{padding:6rem 0}.section.dark{background:var(--bg);color:#fff}.section.dark h2,.section.dark h3{color:#fff}.section.gray{background:#f4f6f7}.section-head{max-width:780px;margin-bottom:2rem}.section-head p{font-size:1.1rem;color:#5d6872}.dark .section-head p{color:#cbd5dd}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:center}.service-card{background:#fff;border:1px solid #e5eaee;border-radius:28px;overflow:hidden;box-shadow:0 12px 35px rgba(15,23,32,.07)}.service-card img{height:235px;width:100%;object-fit:cover}.service-content{padding:1.35rem}.service-content p{color:#5d6872}.service-link{font-weight:900;color:var(--red)}.panel{background:#fff;border:1px solid #e5eaee;border-radius:30px;padding:1.6rem;box-shadow:var(--shadow)}.dark .panel{background:var(--panel);border-color:var(--line);color:#fff}.dark .panel h3{color:#fff}.check-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.55rem}.check-list li{position:relative;padding-left:1.7rem}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--red);font-weight:900}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1rem}.gallery img{height:270px;width:100%;object-fit:cover;border-radius:24px}.gallery img:first-child{grid-row:span 2;height:560px}.form{display:grid;gap:.78rem}.form input,.form textarea,.form select{width:100%;border:1px solid #dfe5e9;border-radius:16px;padding:1rem;font:inherit;background:#fff}.form textarea{min-height:120px}.form button{width:100%}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;align-items:start}.info-list{display:grid;gap:.8rem}.info-box{background:#fff;border:1px solid #e5eaee;border-radius:22px;padding:1rem}.info-box strong{display:block;color:#111820}.footer{background:#070a0e;color:#dbe2e8;padding:3.2rem 0 1.4rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1.4rem}.footer a{color:#fff}.legal{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;color:#9aa7b3;font-size:.9rem}.sticky-mobile{display:none}.page-hero{background:linear-gradient(110deg,rgba(11,15,20,.93),rgba(11,15,20,.62)),var(--page-hero) center/cover no-repeat;color:#fff;padding:7rem 0}.page-hero h1{max-width:850px}.page-hero p{font-size:1.2rem;color:#dfe7ed;max-width:720px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.step{background:#fff;border:1px solid #e5eaee;border-radius:24px;padding:1.25rem}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--red);color:#fff;font-weight:900;margin-bottom:.8rem}.faq details{background:#fff;border:1px solid #e5eaee;border-radius:18px;padding:1.1rem;margin:.8rem 0}.faq summary{font-weight:900;cursor:pointer;color:#111820}.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.badge{background:#f0f3f5;border:1px solid #e3e8eb;border-radius:999px;padding:.45rem .75rem;font-weight:800;color:#26313a;font-size:.92rem}@media(max-width:980px){.nav-links{display:none}.grid-3,.grid-2,.contact-grid,.footer-grid,.steps{grid-template-columns:1fr}.hero{min-height:auto}.hero-card{padding:4rem 0}.trust-row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-row:auto;height:260px}.topline .container{flex-direction:column;align-items:flex-start;gap:.25rem}}@media(max-width:640px){.nav-actions .btn.ghost{display:none}.btn{padding:.78rem .9rem}.section{padding:4rem 0}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{height:250px}.sticky-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80;background:#fff;border-top:1px solid #dfe5e9}.sticky-mobile a{padding:.9rem;text-align:center;font-weight:900;color:#fff;background:var(--red)}.sticky-mobile a:first-child{background:#128c7e}body{padding-bottom:54px}}


/* Update: Rheinservice design refinements */
.logo-text .slogan,
.standalone-slogan{
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;
  font-size:1.15rem;
  color:#c8141d;
  letter-spacing:.02em;
  font-weight:500;
}
.standalone-slogan{
  display:block;
  margin:.6rem 0 1.2rem;
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.05;
}
.form .consent-row,
.form .captcha-row{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  font-size:.9rem;
  line-height:1.35;
  color:#26313a;
}
.dark .form .consent-row,
.dark .form .captcha-row{color:#eef3f7}
.form .consent-row input,
.form .captcha-row input[type="checkbox"]{
  width:auto;
  margin-top:.18rem;
  flex:0 0 auto;
}
.form .captcha-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:.55rem .75rem;
  border-radius:12px;
  background:#111820;
  color:#fff;
  font-weight:900;
  letter-spacing:.18em;
  user-select:none;
}
.whatsapp-btn{
  background:#25D366 !important;
  color:#06130a !important;
  box-shadow:0 10px 25px rgba(37,211,102,.18) !important;
}
.whatsapp-btn .wa-icon{
  width:1.15em;
  height:1.15em;
  display:inline-block;
  border-radius:50%;
  background:#fff;
  color:#25D366;
  font-weight:900;
  line-height:1.15em;
  text-align:center;
}
.contact-single{
  max-width:860px;
  margin:0 auto;
}
.contact-card-clean{
  background:#fff;
  border:1px solid #e5eaee;
  border-radius:30px;
  padding:1.6rem;
  box-shadow:0 22px 60px rgba(0,0,0,.12);
}
.dark .contact-card-clean{background:var(--panel);border-color:var(--line)}
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:1rem 0 1.2rem;
}


/* Sichtbarkeit Kontaktinfos verbessern */
.info-box{
  background:#f4f4f4 !important;
  color:#111 !important;
}
.info-box strong{
  color:#000 !important;
  display:block;
  margin-bottom:.45rem;
}
.info-box,
.info-box a{
  color:#111 !important;
  font-size:1rem;
  line-height:1.6;
  text-decoration:none;
}
.info-box a:hover{
  color:#c8141d !important;
}


/* =========================================================
   Rheinservice Plus – vollständiges blaues Layout
   ========================================================= */

:root{
  --bg:#071a33 !important;
  --panel:#0e2a4f !important;
  --panel2:#153b6c !important;
  --text:#f4f8ff !important;
  --muted:#c8d7ea !important;
  --white:#ffffff !important;
  --red:#d71920 !important;
  --red2:#ef2a32 !important;
  --line:rgba(255,255,255,.16) !important;
  --light:#eef5ff !important;
  --darktext:#09203f !important;
}

/* Grundlayout */
body{
  background:#eef5ff !important;
  color:#09203f !important;
}

/* obere Leiste / Navigation */
.topline{
  background:#06162b !important;
  color:#eaf2ff !important;
}
.site-header,
header,
.navbar{
  background:linear-gradient(90deg,#071a33,#0e2a4f) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}

/* große Hero-Bereiche */
.hero,
.page-hero{
  background:
    linear-gradient(110deg,rgba(7,26,51,.94) 0%,rgba(14,42,79,.82) 52%,rgba(21,59,108,.40) 100%),
    var(--hero, var(--page-hero)) center/cover no-repeat !important;
  color:#fff !important;
}

/* Sektionen */
.section.dark{
  background:linear-gradient(135deg,#071a33,#0e2a4f) !important;
}
.section.gray{
  background:#e5effc !important;
}
.section{
  background:#eef5ff;
}

/* Karten, Boxen, Kontaktfelder */
.service-card,
.panel,
.info-box,
.contact-card-clean,
.step,
.faq details{
  background:#ffffff !important;
  border:1px solid #c7d9f1 !important;
  color:#09203f !important;
  box-shadow:0 18px 45px rgba(7,26,51,.12) !important;
}

.service-content p,
.section-head p,
.info-box,
.info-box a{
  color:#304b6b !important;
}

.info-box strong,
.service-content h3,
h2,
h3{
  color:#09203f !important;
}

.section.dark h2,
.section.dark h3,
.section.dark p,
.dark .panel h3{
  color:#ffffff !important;
}

.section.dark .panel,
.dark .panel{
  background:#ffffff !important;
  color:#09203f !important;
}

/* CTA Band */
.cta-band{
  background:linear-gradient(135deg,#0e4f93,#071a33) !important;
}

/* Buttons */
.btn{
  background:#d71920 !important;
  color:#ffffff !important;
}
.btn:hover{
  background:#ef2a32 !important;
}
.btn.ghost,
.mail-btn{
  background:#123a6a !important;
  color:#ffffff !important;
  border:1px solid #5f81ad !important;
}
.whatsapp-btn{
  background:#25D366 !important;
  color:#06220f !important;
}

/* Kontaktleiste */
.quick-contact-bar{
  background:#dcecff !important;
}
.quick-contact-inner p{
  color:#09203f !important;
}

/* Formulare */
.form input,
.form textarea,
.form select,
input,
textarea,
select{
  background:#f8fbff !important;
  border:1px solid #bfd4ef !important;
  color:#09203f !important;
}
.form input::placeholder,
.form textarea::placeholder{
  color:#6f8299 !important;
}
.form .consent-row,
.form .captcha-row{
  color:#09203f !important;
}
.form .captcha-code{
  background:#0e2a4f !important;
  color:#fff !important;
}

/* Footer */
.footer,
footer{
  background:linear-gradient(90deg,#06162b,#071a33) !important;
  color:#dce9fb !important;
}
.footer h3,
footer h3{
  color:#ffffff !important;
}

/* Logo-Box */
.logo-img{
  background:#ffffff !important;
}

/* Mobile Sticky */
.sticky-mobile{
  background:#ffffff !important;
}
