/* ============================================================
   SCHROTTHANDEL M&N – STYLESHEET v1.1
   Mobile-First | BEM | CSS Custom Properties
   ============================================================ */

/* ── 1. CUSTOM PROPERTIES ── */
:root {
  --c-primary:      #E07820;  /* Orange – CTA & Akzente */
  --c-primary-dk:   #C96910;  /* dunkles Orange */
  --c-secondary:    #293044;  /* Navy */
  --c-accent:       #293044;  /* kein Rot mehr – nur Navy */
  --c-accent-dk:    #1e2438;
  --c-error:        #C0392B;  /* nur für Formular-Fehler */
  --c-bg:           #FFFFFF;  /* Weiß */
  --c-text:         #293044;  /* Navy */
  --c-white:        #FFFFFF;
  --c-champagne:    #C8C0B0;  /* Champagner – Navbar, Sektionen */
  --c-champagne-lt: #F5F3EF;  /* Helles Champagner */
  --c-gray-100:     #F0EDEA;
  --c-gray-200:     #E0DCD6;
  --c-gray-400:     #999999;
  --c-gray-600:     #666666;

  --ff-heading: 'Barlow Condensed', sans-serif;
  --ff-body:    'Roboto', sans-serif;
  --ff-logo:    'Cormorant Garamond', Georgia, 'Times New Roman', serif;

  --shadow-sm: 0 2px 8px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.12);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.18);

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;

  --ease: .3s ease;
  --max-w: 1200px;
  --header-h: 70px;
}

/* ── 2. RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--ff-body); color:var(--c-text); background:var(--c-bg); line-height:1.6; overflow-x:hidden; }
img  { max-width:100%; height:auto; display:block; }
a    { color:inherit; text-decoration:none; }
ul,ol { list-style:none; }
button { cursor:pointer; }

/* skip link */
.skip-link {
  position:absolute; top:-100%; left:0;
  background:var(--c-primary); color:var(--c-secondary);
  padding:.6rem 1.4rem; z-index:9999; font-weight:700;
  border-radius:0 0 var(--radius-sm) 0;
  transition:top .2s;
}
.skip-link:focus { top:0; }

/* ── 3. TYPOGRAPHY ── */
h1,h2,h3,h4 { font-family:var(--ff-heading); line-height:1.2; color:var(--c-secondary); }
h1 { font-size:clamp(1.75rem,4vw,3rem);   font-weight:700; }
h2 { font-size:clamp(1.4rem, 3vw,2.25rem); font-weight:600; }
h3 { font-size:clamp(1.05rem,2vw,1.35rem); font-weight:600; }
p  { margin-bottom:1rem; }

.section__label {
  display:inline-block;
  background:var(--c-primary); color:var(--c-secondary);
  font-family:var(--ff-heading); font-size:.8rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  padding:.3rem .9rem; border-radius:var(--radius-sm); margin-bottom:.6rem;
}
.section__subtitle {
  color:var(--c-gray-600); font-size:1.05rem;
  max-width:640px; margin:0 auto 2.75rem; text-align:center;
}
.text-gold  { color:var(--c-primary); }
.text-red   { color:var(--c-accent); }
.text-white { color:var(--c-white); }
.text-center{ text-align:center; }

/* ── 4. LAYOUT ── */
.container {
  max-width:var(--max-w); margin:0 auto; padding:0 1.25rem;
}
.section { padding:5rem 0; }
.section__header { text-align:center; margin-bottom:2.75rem; }

.section--dark {
  background:var(--c-secondary); color:var(--c-white);
}
.section--dark h2,
.section--dark h3  { color:var(--c-white); }
.section--dark .section__subtitle { color:rgba(255,255,255,.65); }
.section--gray { background:var(--c-gray-100); }

/* Champagner als alternativer Sektionshintergrund */
.section--gold { background:var(--c-champagne); }
.section--gold h2,
.section--gold h3     { color:var(--c-secondary); }
.section--gold .section__subtitle { color:var(--c-gray-600); }
.section--gold .section__label    { background:var(--c-secondary); color:var(--c-white); }

/* Why-Cards auf Champagner-Grund */
.section--gold .why-card {
  border-color:rgba(41,48,68,.15);
  background:var(--c-white);
}
.section--gold .why-card:hover {
  border-color:var(--c-primary);
  background:var(--c-white);
  transform:translateY(-4px);
}
.section--gold .why-card__icon {
  background:transparent;
  border-color:var(--c-primary);
}
.section--gold .why-card__icon i { color:var(--c-primary); }
.section--gold .why-card:hover .why-card__icon { background:var(--c-primary); }
.section--gold .why-card:hover .why-card__icon i { color:var(--c-white); }
.section--gold .why-card h3 { color:var(--c-secondary); }
.section--gold .why-card p  { color:var(--c-gray-600); }

/* Neg-Guarantee auf Champagner-Grund */
.section--gold .neg-guarantee span        { color:var(--c-gray-600); }
.section--gold .neg-guarantee span::before{ color:var(--c-primary); }

@media(max-width:639px){ .section { padding:3.5rem 0; } }

/* ── 5. BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.85rem 1.75rem;
  font-family:var(--ff-heading); font-size:1rem; font-weight:600;
  letter-spacing:.03em; text-transform:uppercase;
  border:2px solid transparent; border-radius:var(--radius-sm);
  transition:all var(--ease); line-height:1;
}
.btn--primary {
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary);
}
.btn--primary:hover,.btn--primary:focus-visible {
  background:var(--c-primary-dk); border-color:var(--c-primary-dk);
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(224,120,32,.45);
}
.btn--secondary {
  background:var(--c-secondary); color:var(--c-white); border-color:var(--c-white);
}
.btn--secondary:hover,.btn--secondary:focus-visible {
  background:#1e2438; border-color:#1e2438;
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(44,51,71,.45);
}
.btn--outline {
  background:transparent; color:var(--c-white); border-color:var(--c-white);
}
.btn--outline:hover,.btn--outline:focus-visible {
  background:var(--c-white); color:var(--c-secondary);
}
.btn--lg { padding:1.05rem 2.2rem; font-size:1.1rem; }
.btn--full { width:100%; justify-content:center; }
.btn--outline-orange {
  background:transparent; color:var(--c-white); border-color:var(--c-primary);
  text-shadow:0 1px 4px rgba(0,0,0,.55);
}
.btn--outline-orange:hover,.btn--outline-orange:focus-visible {
  background:var(--c-primary); color:var(--c-white); text-shadow:none;
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(224,120,32,.45);
}

:focus-visible { outline:3px solid var(--c-primary); outline-offset:3px; border-radius:2px; }

/* ── 6. HEADER ── */
.header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--header-h);
  background:var(--c-secondary);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:box-shadow var(--ease), height var(--ease);
}
.header.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.35); height:62px; }

/* Container muss explizit 100% haben damit height:100% im Inner aufgelöst wird */
.header > .container { height:100%; }
.header__inner {
  display:flex; align-items:center; justify-content:space-between;
  height:100%; gap:1rem;
}
.header__logo { display:flex; flex-direction:column; line-height:1; }
.header__logo-main {
  font-family:var(--ff-logo); font-size:2.1rem; font-weight:600;
  color:var(--c-champagne); letter-spacing:.01em; font-style:italic;
}
.logo-amp {
  font-family:var(--ff-body); font-size:.55em; font-style:italic; font-weight:400;
  opacity:1; margin:0 .13em 0 .06em; vertical-align:.04em;
}
.header__logo-sub {
  font-size:1.25rem; color:var(--c-champagne);
  letter-spacing:.03em; text-transform:none;
  font-family:var(--ff-logo); font-style:normal; font-weight:400;
  opacity:.88; margin-top:-.05rem;
}
.header__phone {
  display:none; align-items:center; gap:.4rem;
  font-family:var(--ff-body); font-size:1rem; font-weight:600;
  color:rgba(255,255,255,.85); padding:.35rem .65rem; border-radius:var(--radius-sm);
  transition:color var(--ease);
}
.header__phone i { color:var(--c-primary); }
.header__phone:hover { color:var(--c-primary); }
.header__phone-num { display:none; }
@media(min-width:560px){ .header__phone-num { display:inline; } }
@media(min-width:1024px){ .header__phone { display:none; } }

/* Desktop nav */
.nav { display:none; }
@media(min-width:1024px){ .nav { display:flex; align-items:center; gap:.2rem; } }

.nav__link {
  font-family:var(--ff-body); font-size:.875rem; font-weight:500;
  color:rgba(255,255,255,.82); text-transform:uppercase; letter-spacing:.05em;
  padding:.45rem .7rem; border-radius:var(--radius-sm);
  transition:color var(--ease); position:relative;
}
.nav__link::after {
  content:''; position:absolute; bottom:0; left:50%;
  width:0; height:2px; background:var(--c-primary);
  transition:width var(--ease); transform:translateX(-50%);
}
.nav__link:hover,.nav__link.active { color:var(--c-primary); }
.nav__link:hover::after,.nav__link.active::after { width:80%; }
.nav__cta {
  background:var(--c-primary) !important; color:var(--c-white) !important;
  padding:.45rem 1rem !important; border-radius:var(--radius-sm);
}
.nav__cta::after { display:none !important; }
.nav__cta:hover { background:var(--c-primary-dk) !important; }

/* Header-CTA (Desktop-only, außerhalb des nav) */
.header__cta { display:none; }

/* Hamburger */
.hamburger {
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:40px; height:40px; background:none; border:none;
  padding:4px; border-radius:var(--radius-sm); transition:background var(--ease);
}
.hamburger:hover { background:rgba(255,255,255,.1); }
.hamburger__line {
  width:100%; height:2px; background:rgba(255,255,255,.9);
  border-radius:2px; transition:all var(--ease); transform-origin:center;
}
.hamburger.open .hamburger__line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open .hamburger__line:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open .hamburger__line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media(min-width:1024px){ .hamburger { display:none; } }

/* Mobile nav drawer */
.mobile-nav {
  position:fixed; top:var(--header-h); left:0; right:0;
  background:var(--c-secondary); border-top:1px solid rgba(255,255,255,.08);
  z-index:999; transform:translateX(100%); transition:transform var(--ease);
  padding:.75rem 0 1rem;
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav__link {
  display:block; font-family:var(--ff-body); font-size:1rem;
  color:rgba(255,255,255,.82); text-transform:uppercase; letter-spacing:.05em;
  padding:.8rem 1.5rem; transition:all var(--ease);
  border-left:3px solid transparent;
}
.mobile-nav__link:hover,.mobile-nav__link.active {
  color:var(--c-primary); border-left-color:var(--c-primary);
  background:rgba(224,120,32,.1);
}
.mobile-nav__cta {
  display:block; margin:.75rem 1.5rem 0; padding:.85rem;
  background:var(--c-primary); color:var(--c-white) !important;
  text-align:center; border-radius:var(--radius-sm);
  font-family:var(--ff-body); font-size:1rem; font-weight:700;
  transition:background var(--ease);
}
.mobile-nav__cta:hover { background:var(--c-primary-dk); }

/* ── 7. HERO (index) ── */
.hero {
  min-height:100vh; display:flex; align-items:center;
  padding-top:var(--header-h); position:relative; overflow:hidden;
  background-color:var(--c-secondary);
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(135deg,rgba(224,120,32,.07) 25%,transparent 25%),
    linear-gradient(225deg,rgba(224,120,32,.07) 25%,transparent 25%),
    linear-gradient(315deg,rgba(224,120,32,.07) 25%,transparent 25%),
    linear-gradient(45deg, rgba(224,120,32,.07) 25%,transparent 25%);
  background-size:60px 60px; opacity:.4;
  z-index:1;
}
/* Dark overlay – lets background photo show through */
.hero::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(175deg, rgba(26,26,46,.55) 0%, rgba(26,26,46,.93) 100%);
  z-index:2;
}
.hero__video {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:0;
}
.hero__content { position:relative; z-index:3; max-width:820px; }
@media(min-width:1024px){
  .hero__content { max-width:100%; }
  .hero .container { max-width:1500px; padding:0 3rem; }
}

.hero__badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(224,120,32,.15); border:1px solid rgba(224,120,32,.4);
  color:var(--c-primary); padding:.35rem 1rem; border-radius:50px;
  font-size:.8rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:1.25rem;
}
.hero h1 {
  color:var(--c-white); margin-bottom:.65rem;
  font-size:clamp(2.3rem,6.2vw,6.2rem); line-height:1.05;
}
@media(min-width:1024px){
  .hero h1 { font-size:clamp(3.7rem,5.2vw,6.2rem); }
}
.hero__title-brand {
  font-family:var(--ff-body); font-style:normal; font-weight:700;
}
.hero__title-brand .logo-amp {
  font-family:var(--ff-body); font-style:normal; font-size:.72em;
  font-weight:700; opacity:1; margin:0 .08em; vertical-align:.04em;
}
.hero__title-sub {
  font-family:var(--ff-body); font-style:normal; font-weight:700;
}
.hero__services {
  color:var(--c-champagne); font-size:clamp(1rem,2vw,1.2rem);
  font-family:var(--ff-heading); font-weight:500; letter-spacing:.04em;
  margin-bottom:1.4rem;
}
@media(min-width:1024px){
  .hero__services { font-size:clamp(1.3rem,2vw,1.9rem); letter-spacing:.06em; margin-bottom:1.75rem; }
  .hero__sub { white-space:nowrap; max-width:none; }
}
.hero__sub {
  color:rgba(255,255,255,.72); font-size:clamp(.9rem,1.8vw,1.05rem);
  max-width:580px; margin-bottom:2rem;
}
.hero__btns { display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2.75rem; }
.btn--whatsapp {
  background:#25D366; color:var(--c-white); border-color:#25D366;
}
.btn--whatsapp:hover,.btn--whatsapp:focus-visible {
  background:#1DAE56; border-color:#1DAE56;
  transform:translateY(-2px); box-shadow:0 6px 20px rgba(37,211,102,.4);
}
/* Value-Prop-Leiste im Hero */
.hero__trust {
  display:flex; flex-wrap:nowrap; gap:0;
  padding-top:1.75rem; border-top:1px solid rgba(255,255,255,.12);
}
.hero__vp {
  display:flex; align-items:center; gap:1rem;
  flex:1; padding:.6rem 1.5rem;
  border-right:1px solid rgba(255,255,255,.1);
}
.hero__vp:first-child { padding-left:0; }
.hero__vp:last-child  { border-right:none; padding-right:0; }

.hero__vp-icon {
  flex-shrink:0; width:48px; height:48px; border-radius:50%;
  background:rgba(224,120,32,.12); border:1.5px solid rgba(224,120,32,.35);
  display:flex; align-items:center; justify-content:center;
  transition:background var(--ease);
}
.hero__vp:hover .hero__vp-icon { background:rgba(224,120,32,.22); }
.hero__vp-icon i { font-size:1.2rem; color:var(--c-primary); }

.hero__vp-value {
  display:block; font-family:var(--ff-heading); font-size:1.35rem;
  font-weight:500; color:var(--c-white); line-height:1.1; letter-spacing:.02em;
  white-space:nowrap;
}
.hero__vp-label {
  display:block; font-family:var(--ff-heading); font-size:1.35rem;
  font-weight:500; letter-spacing:.02em;
  color:var(--c-white); line-height:1.1; margin-top:.1rem;
  white-space:nowrap;
}

/* ── 8. SERVICE CARDS ── */
.services-grid {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .services-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .services-grid { grid-template-columns:repeat(3,1fr); } }

.service-card {
  background:var(--c-champagne-lt); border-radius:var(--radius-md);
  padding:1.85rem 1.5rem; box-shadow:var(--shadow-sm);
  border-bottom:3px solid transparent; text-align:center;
  transition:all var(--ease); position:relative; overflow:hidden;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-primary-dk));
  transform:scaleX(0); transition:transform var(--ease); transform-origin:left;
}
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-bottom-color:var(--c-primary); }
.service-card:hover::before { transform:scaleX(1); }

.service-card__icon {
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.1rem; transition:transform var(--ease);
}
.service-card:hover .service-card__icon { transform:scale(1.1); }
.service-card__icon i { font-size:2.75rem; color:var(--c-secondary); }
.service-card h3 { margin-bottom:.5rem; }
.service-card p { color:var(--c-gray-600); font-size:.875rem; line-height:1.65; margin-bottom:1.1rem; }
.service-card__link {
  display:inline-flex; align-items:center; gap:.3rem;
  color:var(--c-secondary); font-weight:600; font-size:.875rem;
  transition:gap var(--ease);
}
.service-card__link:hover { gap:.55rem; }

/* ── 8b. SERVICE STRIP (desktop) ── */
@media(min-width:1024px){
  #leistungen .container { max-width:100%; padding:0; }
  #leistungen .section__subtitle { max-width:none; width:100%; white-space:nowrap; }

  .services-grid {
    display:flex; gap:0;
    grid-template-columns:unset;
    border:1px solid rgba(0,0,0,.1); border-radius:var(--radius-md);
    background:var(--c-white); overflow:hidden;
  }

  .service-card {
    flex:1; background:transparent; border-radius:0; box-shadow:none;
    border-bottom:none; border-right:1px solid rgba(0,0,0,.1);
    padding:2.25rem 1.5rem; text-align:center;
    display:flex; flex-direction:column; align-items:center;
  }
  .service-card:last-child { border-right:none; }
  .service-card:hover { transform:none; box-shadow:none; border-bottom-color:transparent; background:rgba(224,120,32,.04); }
  .service-card::before { display:none; }

  .service-card:hover .service-card__icon { transform:none; }

  .service-card h3 {
    font-size:1.15rem; text-transform:uppercase; letter-spacing:.1em;
    font-weight:700; color:var(--c-secondary); margin-bottom:.6rem;
    line-height:1.3;
  }
  .service-card p { font-size:.95rem; line-height:1.6; margin-bottom:1rem; }
  .service-card__link { display:inline-flex; justify-content:center; margin-top:auto; }
}

/* ── 9. ABOUT / STATS ── */
#ueber-uns .container { max-width:1440px; padding:0 2rem; }

.about-layout {
  display:grid; grid-template-columns:1fr; gap:3rem; align-items:start;
}
@media(min-width:900px){ .about-layout { grid-template-columns:1fr 1fr; align-items:center; } }

.about__text h2 { margin-bottom:1.25rem; }
.about__text p { color:var(--c-text); line-height:1.8; }
.about__promise-label {
  font-family:var(--ff-body); font-size:1.3rem; font-weight:600;
  color:var(--c-primary); margin-bottom:.75rem !important;
}
.about__check-list { margin:0 0 1.25rem; display:flex; flex-direction:column; gap:.7rem; }
.about__check-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-family:var(--ff-body); font-size:1rem; font-weight:700;
  color:var(--c-text); line-height:1.8;
}
.about__check-list li i { color:var(--c-secondary); flex-shrink:0; margin-top:.2rem; }

/* Image in about column */
.about__img {
  border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-lg); margin-bottom:1.4rem; line-height:0;
}
.about__img img {
  width:100%; height:270px; object-fit:cover; object-position:center 30%;
  display:block; transition:transform .5s ease;
}
.about__img:hover img { transform:scale(1.04); }

.stats-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem;
}
.stat-card {
  background:linear-gradient(135deg,var(--c-secondary),#1e2438);
  border-radius:var(--radius-md); padding:1.65rem 1.1rem;
  text-align:center; border:1px solid rgba(224,120,32,.22);
  position:relative; overflow:hidden;
}
.stat-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:3px; background:var(--c-primary);
}
.stat-card__num {
  font-family:var(--ff-heading); font-size:2.1rem; font-weight:700;
  color:var(--c-primary); line-height:1; margin-bottom:.35rem;
}
.stat-card__lbl { color:rgba(255,255,255,.7); font-size:.82rem; font-weight:500; }

/* ── 10. WHY US ── */
.why-grid {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .why-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .why-grid { grid-template-columns:repeat(4,1fr); } }

.why-card {
  text-align:center; padding:2rem 1.2rem;
  border:1px solid rgba(224,120,32,.2); border-radius:var(--radius-md);
  transition:all var(--ease);
}
.why-card:hover { border-color:var(--c-primary); background:rgba(224,120,32,.04); transform:translateY(-4px); }
.why-card__icon {
  width:68px; height:68px; border:2px solid var(--c-primary); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.1rem; transition:all var(--ease);
}
.why-card:hover .why-card__icon { background:var(--c-primary); }
.why-card__icon i { font-size:1.55rem; color:var(--c-primary); transition:color var(--ease); }
.why-card:hover .why-card__icon i { color:var(--c-secondary); }
.why-card h3 { color:var(--c-white); font-size:1rem; margin-bottom:.4rem; }
.why-card p  { color:rgba(255,255,255,.6); font-size:.85rem; margin-bottom:0; }

/* ── 11. REVIEWS ── */
.reviews-summary {
  display:inline-flex; align-items:center; gap:.75rem;
  background:var(--c-secondary); color:var(--c-white);
  padding:.55rem 1.4rem; border-radius:50px; margin-bottom:1rem;
}
.reviews-summary__stars { color:var(--c-white); font-size:1.05rem; letter-spacing:.08em; }
.reviews-summary__score { font-family:var(--ff-heading); font-size:1.35rem; font-weight:700; color:var(--c-white); }
.reviews-summary__count { font-size:.82rem; color:var(--c-white); }

/* Reviews Carousel */
#bewertungen { overflow-x:hidden; }
#bewertungen .container { max-width:1440px; padding:0 .25rem; }
@media(min-width:1024px){ #bewertungen .container { padding:0; } }

.reviews-carousel-outer {
  display:flex; align-items:center; gap:.75rem;
}
.reviews-carousel {
  display:flex; gap:1rem; overflow-x:scroll;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  flex:1; padding:20px 4px; scrollbar-width:none;
}
.reviews-carousel::-webkit-scrollbar { display:none; }

.review-card {
  background:#fff; border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.1),0 4px 16px rgba(0,0,0,.1);
  padding:1.25rem; flex-shrink:0;
  width:calc(33.333% - .667rem);
  scroll-snap-align:start;
  display:flex; flex-direction:column; gap:.75rem;
}
@media(max-width:899px){ .review-card { width:calc(50% - .5rem); } }
@media(max-width:599px){ .review-card { width:85%; } }

.review-card__top {
  display:flex; justify-content:space-between; align-items:flex-start;
}
.review-card__user { display:flex; align-items:center; gap:.65rem; }
.review-card__avatar {
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.review-card__avatar span {
  font-family:'Roboto', sans-serif; font-weight:500; color:#fff; font-size:1rem;
}
.review-card__name  { font-weight:600; color:#202124; font-size:.875rem; }
.review-card__date  { font-size:.75rem; color:#70757a; margin-top:.1rem; }
.review-card__glogo { width:20px; height:20px; flex-shrink:0; display:block; }
.review-card__stars { color:#FBBC04; font-size:1rem; letter-spacing:.04em; line-height:1; }
.review-card__text  { color:#3c4043; font-size:.875rem; line-height:1.65; flex:1; }

/* Nav buttons */
.reviews-nav {
  flex-shrink:0; width:40px; height:40px; border-radius:50%;
  border:1px solid #dadce0; background:#fff; color:#3c4043;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:.9rem; transition:background var(--ease),box-shadow var(--ease);
  box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.reviews-nav:hover:not(:disabled) { background:#f8f9fa; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.reviews-nav:disabled { opacity:.35; cursor:not-allowed; }

.reviews-google-note {
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  margin-top:1.5rem; color:var(--c-gray-600); font-size:.85rem;
}
.reviews-google-note i { color:#4285F4; }

/* ── 12. CONTACT SECTION ── */
.contact-section {
  background:
    linear-gradient(135deg,rgba(26,26,46,.82) 0%,rgba(26,26,46,.90) 100%),
    url('images/contact-bg.png') center/cover no-repeat;
  position:relative; overflow:hidden;
}
.contact-grid {
  display:grid; grid-template-columns:1fr; gap:3rem; position:relative; z-index:1;
}
@media(min-width:900px){ .contact-grid { grid-template-columns:1fr 1fr; } }

.contact-cta h2 { color:var(--c-white); margin-bottom:.9rem; }
.contact-cta > p { color:rgba(255,255,255,.72); margin-bottom:1.75rem; }
.contact-cta .btn { display:flex; width:100%; max-width:320px; justify-content:center; margin-bottom:.75rem; }

.contact-info { display:flex; flex-direction:column; gap:1.1rem; margin-top:1.75rem; }
.contact-info__item {
  display:flex; align-items:flex-start; gap:.8rem;
  color:rgba(255,255,255,.9); font-size:1.1rem;
}
.contact-info__item i { color:var(--c-white); flex-shrink:0; margin-top:.2rem; width:18px; font-size:1.1rem; }
.contact-info__item a { transition:color var(--ease); }
.contact-info__item a:hover { color:var(--c-primary); }

/* Contact Form */
.contact-form {
  background:#1a2035; border:none;
  box-shadow:0 8px 32px rgba(0,0,0,.35);
  border-radius:var(--radius-lg); padding:2rem;
}
.form-group { margin-bottom:1.1rem; }
.form-group label {
  display:block; color:rgba(255,255,255,.82);
  font-size:.85rem; font-weight:500; margin-bottom:.38rem;
}
.form-group input,
.form-group textarea,
.form-group select {
  width:100%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-sm); padding:.72rem 1rem;
  color:var(--c-white); font-family:var(--ff-body); font-size:.925rem;
  transition:border-color var(--ease); outline:none; appearance:none;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(255,255,255,.38); }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color:var(--c-primary); background:rgba(224,120,32,.05); }
.form-group input.error,
.form-group textarea.error { border-color:var(--c-error); }
.form-group textarea { height:110px; resize:vertical; }
.form-group select option { background:var(--c-secondary); }
.form-group select { color:rgba(255,255,255,.8); }

.form-error { color:#ff7675; font-size:.78rem; margin-top:.28rem; display:none; }
.form-error.visible { display:block; }
.form-success {
  display:none; background:rgba(39,174,96,.12);
  border:1px solid rgba(39,174,96,.38); border-radius:var(--radius-md);
  padding:.9rem; color:#27ae60; text-align:center;
  font-weight:600; margin-top:.9rem; font-size:.9rem;
}
.form-success.visible { display:block; }

/* ── 13. FOOTER ── */
.footer { background:var(--c-secondary); color:rgba(255,255,255,.65); padding:4rem 0 2rem; }
.footer .header__logo-main { color:var(--c-champagne); }
.footer .header__logo-sub  { color:rgba(200,192,176,.75); }
.footer__grid {
  display:grid; grid-template-columns:1fr; gap:2.5rem; margin-bottom:2.75rem;
}
@media(min-width:600px){ .footer__grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .footer__grid { grid-template-columns:2fr 1fr 1fr 1fr; } }

.footer__brand p { font-size:.85rem; line-height:1.75; margin-top:.85rem; }
.footer__heading {
  font-family:var(--ff-heading); color:var(--c-white);
  font-size:.92rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.08em; margin-bottom:1.1rem;
}
.footer__links { display:flex; flex-direction:column; gap:.45rem; }
.footer__link { color:rgba(255,255,255,.6); font-size:.85rem; transition:color var(--ease); }
.footer__link:hover { color:var(--c-primary); }
.footer__contact-item {
  display:flex; align-items:flex-start; gap:.55rem;
  color:rgba(255,255,255,.6); font-size:.85rem; margin-bottom:.55rem;
}
.footer__contact-item i { color:var(--c-primary); flex-shrink:0; margin-top:.2rem; width:14px; }
.footer__contact-item a { transition:color var(--ease); }
.footer__contact-item a:hover { color:var(--c-primary); }
.footer__bottom {
  border-top:1px solid rgba(255,255,255,.07); padding-top:1.4rem;
  display:flex; flex-direction:column; gap:.7rem;
  align-items:center; text-align:center;
}
@media(min-width:640px){
  .footer__bottom { flex-direction:row; justify-content:space-between; text-align:left; }
}
.footer__bottom p { font-size:.78rem; margin-bottom:0; }
.footer__legal-links { display:flex; gap:1.2rem; }
.footer__legal-links a { font-size:.78rem; color:rgba(255,255,255,.45); transition:color var(--ease); }
.footer__legal-links a:hover { color:var(--c-primary); }

/* ── 14. FLOATING CTA ── */
.floating-cta {
  position:fixed; bottom:1.4rem; right:1.4rem; z-index:900;
}
@media(min-width:1024px){ .floating-cta { display:none; } }
.floating-cta__btn {
  display:flex; align-items:center; justify-content:center;
  background:#25D366; color:var(--c-white);
  width:58px; height:58px; border-radius:50%;
  font-size:1.6rem;
  box-shadow:0 4px 20px rgba(37,211,102,.5);
  animation:pulse-cta 2.2s infinite;
}
.floating-cta__btn:hover { transform:scale(1.04); }
@keyframes pulse-cta {
  0%,100% { box-shadow:0 4px 20px rgba(37,211,102,.5); }
  50%      { box-shadow:0 4px 32px rgba(37,211,102,.75); }
}

/* ── 15. BREADCRUMB ── */
.breadcrumb {
  background:var(--c-secondary);   /* Navy */
  padding:calc(var(--header-h) + .65rem) 0 .65rem;
}
.breadcrumb__list { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; }
.breadcrumb__item {
  display:flex; align-items:center; gap:.45rem;
  font-size:.82rem; color:rgba(255,255,255,.55);
}
.breadcrumb__item::after { content:'/'; color:rgba(255,255,255,.25); }
.breadcrumb__item:last-child::after { display:none; }
.breadcrumb__item:last-child { color:rgba(255,255,255,.82); }
.breadcrumb__item a { color:var(--c-primary); transition:color var(--ease); }
.breadcrumb__item a:hover { color:var(--c-primary-dk); }

/* ── 16. INNER HERO (subpages) ── */
.inner-hero {
  background-color:var(--c-secondary);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  padding:calc(var(--header-h) + 2.75rem) 0 4rem; position:relative; overflow:hidden;
}
.inner-hero::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(175deg, rgba(26,26,46,.62) 0%, rgba(26,26,46,.90) 100%);
}
.inner-hero__content { position:relative; z-index:1; }
.inner-hero h1 { color:var(--c-white); margin-bottom:.9rem; }
.inner-hero h1 span { color:var(--c-white); }
.inner-hero p  { color:var(--c-white); font-size:1.05rem; max-width:640px; margin-bottom:1.85rem; }

/* ── 17. ANKAUF-SPLIT (schrotthandel.html) ── */
@media(min-width:1024px){
  section[aria-labelledby="ankauf-heading"] .container { max-width:1440px; padding:0 1.5rem; }
}
.ankauf-split {
  display:grid; grid-template-columns:1fr 1fr;
  gap:2rem; align-items:start;
}
@media(max-width:767px){ .ankauf-split { grid-template-columns:1fr; } }

.ankauf-panel { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.ankauf-panel--buy  { border:2px solid var(--c-secondary); }
.ankauf-panel--free { border:2px solid var(--c-champagne); }

.ankauf-panel__head {
  display:flex; align-items:center; gap:1rem; padding:1.4rem 1.5rem;
}
.ankauf-panel--buy  .ankauf-panel__head { background:var(--c-secondary); }
.ankauf-panel--free .ankauf-panel__head { background:var(--c-champagne); }

.ankauf-panel__head-icon {
  flex-shrink:0; width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.ankauf-panel--buy  .ankauf-panel__head-icon { background:rgba(255,255,255,.1); }
.ankauf-panel--buy  .ankauf-panel__head-icon i { color:var(--c-white); font-size:1.3rem; }
.ankauf-panel--free .ankauf-panel__head-icon { background:rgba(0,0,0,.1); }
.ankauf-panel--free .ankauf-panel__head-icon i { color:var(--c-secondary); font-size:1.3rem; }

.ankauf-panel__head h3 { color:var(--c-white); margin:0 0 .15rem; font-size:1.35rem; }
.ankauf-panel--free .ankauf-panel__head h3 { color:var(--c-secondary); }
.ankauf-panel__head p  { margin:0; font-size:.95rem; color:rgba(255,255,255,.65); }
.ankauf-panel--free .ankauf-panel__head p  { color:var(--c-secondary); }

.ankauf-list {
  padding:1.25rem 1.5rem;
  display:flex; flex-direction:column; gap:.45rem;
}
.ankauf-panel--buy  .ankauf-list { background:var(--c-white); }
.ankauf-panel--free .ankauf-list { background:var(--c-gray-100); }

.ankauf-list li {
  display:flex; align-items:flex-start; gap:.65rem;
  padding:.55rem .7rem; border-radius:var(--radius-sm);
  transition:background var(--ease);
}
.ankauf-panel--buy  .ankauf-list li { background:var(--c-gray-100); }
.ankauf-panel--free .ankauf-list li { background:var(--c-white); }
.ankauf-list li:hover { background:rgba(41,48,68,.08); }

.ankauf-list li i { color:var(--c-secondary); flex-shrink:0; margin-top:.18rem; font-size:1rem; }
.ankauf-list li strong { display:block; font-weight:600; color:var(--c-secondary); font-size:1rem; }
.ankauf-list li span  { display:block; font-size:.875rem; color:var(--c-gray-600); margin-top:.08rem; }

/* ── 17b. ANKAUF SIDEBAR ── */
.ankauf-sidebar {
  background:var(--c-white); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); padding:1.25rem;
  display:flex; flex-direction:column; gap:1rem; align-self:stretch;
}
.ankauf-sidebar__text {
  font-size:1.15rem; line-height:1.65; color:var(--c-secondary);
  font-weight:600; border-left:3px solid var(--c-primary);
  padding-left:.85rem;
}
.ankauf-sidebar__contact { display:flex; flex-direction:column; gap:.4rem; }
.ankauf-contact-item {
  display:flex; align-items:center; gap:.65rem;
  padding:.6rem .85rem; border-radius:var(--radius-md);
  background:var(--c-gray-100); color:var(--c-secondary);
  text-decoration:none; font-weight:600; font-size:.82rem;
  transition:background var(--ease), color var(--ease);
}
.ankauf-contact-item:hover { background:var(--c-secondary); color:var(--c-white); }
.ankauf-contact-item i { font-size:1rem; color:var(--c-primary); flex-shrink:0; transition:color var(--ease); }
.ankauf-contact-item:hover i { color:var(--c-white); }
.ankauf-contact-item--wa i { color:#25D366; }
.ankauf-contact-item--wa:hover i { color:var(--c-white); }

/* ── Ankauf Sidebar Form (light variant) ── */
.ankauf-sidebar__form { display:flex; flex-direction:column; gap:0; }
.ankauf-sidebar__form-title {
  font-size:.8rem; font-weight:700; color:var(--c-secondary);
  margin:0 0 .6rem; text-transform:uppercase; letter-spacing:.04em;
}
.ankauf-sidebar__form .form-group { margin-bottom:.55rem; }
.form-group--light label { color:var(--c-secondary); font-size:.78rem; margin-bottom:.25rem; }
.form-group--light input,
.form-group--light textarea {
  background:var(--c-gray-100); border:1px solid rgba(41,48,68,.2);
  color:var(--c-secondary); padding:.45rem .7rem; font-size:.82rem;
}
.form-group--light input::placeholder,
.form-group--light textarea::placeholder { color:var(--c-gray-600); }
.form-group--light input:focus,
.form-group--light textarea:focus { border-color:var(--c-primary); background:var(--c-white); }
.form-group--light textarea { height:60px; resize:vertical; }
.ankauf-sidebar__form .btn { padding:.55rem 1rem; font-size:.82rem; margin-top:.25rem; }

/* ── 17c. METALS GRID ── */
.metals-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem;
}
@media(min-width:600px){ .metals-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:900px){ .metals-grid { grid-template-columns:repeat(4,1fr); } }

.metal-card {
  background:var(--c-white); border-radius:var(--radius-md);
  padding:1.4rem 1rem; text-align:center; box-shadow:var(--shadow-sm);
  border-bottom:3px solid transparent; transition:all var(--ease);
}
.metal-card:hover { transform:translateY(-4px); border-bottom-color:var(--c-secondary); box-shadow:var(--shadow-md); }
.metal-card i    { font-size:1.85rem; color:var(--c-secondary); margin-bottom:.6rem; display:block; }
.metal-card h3   { font-size:.9rem; font-weight:600; color:var(--c-secondary); }
.metal-card span { display:block; font-size:.78rem; color:var(--c-gray-600); margin-top:.25rem; }

/* ── 18. PROCESS STEPS (3-col) ── */
.process-grid {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .process-grid { grid-template-columns:repeat(3,1fr); position:relative; } }

.process-step { text-align:center; padding:2rem 1.25rem; position:relative; }
@media(min-width:600px){
  .process-step:not(:last-child)::after {
    content:'→'; position:absolute; right:-1rem; top:2.4rem;
    font-size:1.4rem; color:var(--c-primary); font-weight:700;
  }
}
.process-step__num {
  width:58px; height:58px;
  background:var(--c-secondary);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-heading); font-size:1.4rem; font-weight:700;
  color:var(--c-white); margin:0 auto 1.1rem;
}
.process-step h3  { font-size:1.05rem; margin-bottom:.45rem; }
.process-step p   { color:var(--c-gray-600); font-size:.875rem; margin-bottom:0; }

/* ── 19. FAQ ACCORDION ── */
.faq { max-width:780px; margin:0 auto; }
.faq-item {
  border:1px solid var(--c-gray-200); border-radius:var(--radius-md);
  margin-bottom:.7rem; overflow:hidden; transition:box-shadow var(--ease);
}
.faq-item.open { border-color:var(--c-primary); box-shadow:var(--shadow-md); }
.faq-question {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.15rem 1.4rem; background:none; border:none; text-align:left;
  font-family:var(--ff-heading); font-size:1.4rem; font-weight:600;
  color:var(--c-secondary); transition:color var(--ease);
}
.faq-question:hover { color:var(--c-primary); }
.faq-item.open .faq-question { color:var(--c-primary); background:rgba(224,120,32,.04); }
.faq-icon {
  flex-shrink:0; width:26px; height:26px; border:2px solid currentColor;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:.9rem; transition:transform var(--ease);
}
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-answer-inner {
  padding:0 1.4rem 1.4rem; color:var(--c-gray-600);
  font-size:.9rem; line-height:1.75;
}

/* ── 20. CONTAINER CARDS ── */
@media(min-width:1024px){
  section[aria-labelledby="container-types-heading"] .container { max-width:1440px; padding:0 1.5rem; }
}
.container-cards {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .container-cards { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .container-cards { grid-template-columns:repeat(3,1fr); } }

.container-card {
  background:var(--c-white); border-radius:var(--radius-md);
  padding:1.85rem; box-shadow:var(--shadow-sm);
  border-top:4px solid var(--c-primary); transition:all var(--ease);
}
.container-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.container-card__size {
  font-family:var(--ff-heading); font-size:2rem; font-weight:700;
  color:var(--c-primary); margin-bottom:.2rem;
}
.container-card h3  { margin-bottom:.65rem; }
.container-card p   { color:var(--c-gray-600); font-size:1rem; margin-bottom:.85rem; }
.container-card ul  { display:flex; flex-direction:column; gap:.35rem; }
.container-card li  { display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--c-gray-600); }
.container-card li i{ color:var(--c-primary); font-size:.8rem; }

/* ── 21. TARGET GROUPS ── */
.target-groups {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .target-groups { grid-template-columns:repeat(2,1fr); } }

.target-card {
  display:flex; gap:1.1rem; padding:1.65rem;
  background:var(--c-white); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); transition:all var(--ease);
}
.target-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.target-card__icon {
  flex-shrink:0; width:48px; height:48px;
  background:var(--c-secondary);
  border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
}
.target-card__icon i { font-size:1.2rem; color:var(--c-white); }
.target-card h3 { font-size:.975rem; margin-bottom:.35rem; }
.target-card p  { color:var(--c-gray-600); font-size:.855rem; margin-bottom:0; line-height:1.6; }
@media(min-width:1024px){
  .target-card h3 { font-size:1.5rem; }
  .target-card p  { font-size:1.05rem; }
}

/* ── 22. TIMELINE (vertical) – Grid-Layout, kein absolutes Positioning ── */
.timeline { position:relative; max-width:680px; margin:0 auto; }
.timeline-item:not(:last-child)::after {
  content:''; position:absolute;
  left:1.65rem; top:1.65rem; bottom:0;
  width:2px; background:linear-gradient(to bottom,var(--c-primary),var(--c-primary-dk));
}
.timeline-item {
  display:grid;
  grid-template-columns:3.3rem 1fr; /* Spalte 1 = Dot, Spalte 2 = Text */
  grid-template-rows:auto auto;
  column-gap:1.25rem;
  padding-bottom:2.25rem;
  position:relative;
}
.timeline-item:last-child { padding-bottom:0; }
.timeline-item__dot {
  grid-column:1; grid-row:1 / 3; /* überspannt h3 + p */
  align-self:start;
  width:3.3rem; height:3.3rem;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dk));
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-heading); font-size:1.1rem; font-weight:700;
  color:var(--c-secondary); z-index:1; position:relative; flex-shrink:0;
}
.timeline-item h3 {
  grid-column:2; grid-row:1;
  font-size:1.05rem; margin-bottom:.38rem; padding-top:.45rem;
}
.timeline-item p  {
  grid-column:2; grid-row:2;
  color:var(--c-gray-600); font-size:.875rem; margin-bottom:0;
}

/* ── 23. CLEARANCE CARDS ── */
.clearance-grid {
  display:grid; grid-template-columns:1fr; gap:1.4rem;
}
@media(min-width:600px){ .clearance-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .clearance-grid { grid-template-columns:repeat(3,1fr); } }

.clearance-card {
  background:var(--c-white); border-radius:var(--radius-md);
  padding:1.65rem; box-shadow:var(--shadow-sm);
  border-left:4px solid transparent; transition:all var(--ease);
}
.clearance-card:hover { border-left-color:var(--c-secondary); box-shadow:var(--shadow-md); transform:translateX(4px); }
.clearance-card i  { font-size:1.85rem; color:var(--c-secondary); margin-bottom:.85rem; display:block; }
.clearance-card h3 { font-size:1.1rem; margin-bottom:.42rem; }
.clearance-card p  { color:var(--c-gray-600); font-size:.95rem; margin-bottom:0; line-height:1.65; }
@media(min-width:1024px){
  section[aria-labelledby="clearance-heading"] .container { max-width:1440px; padding:0 1.5rem; }
  .clearance-card   { padding:2rem; }
  .clearance-card h3 { font-size:1.25rem; }
  .clearance-card p  { font-size:1rem; }
}

/* ── 24. COST BOX ── */
.cost-box {
  background:linear-gradient(135deg,rgba(224,120,32,.07),rgba(224,120,32,.14));
  border:2px solid var(--c-primary); border-radius:var(--radius-lg);
  padding:2.5rem 2rem; text-align:center; position:relative; overflow:hidden;
}
.cost-box__badge {
  position:absolute; top:-1px; right:2rem;
  background:var(--c-primary); color:var(--c-secondary);
  font-family:var(--ff-heading); font-weight:700; font-size:.78rem;
  padding:.28rem .9rem; border-radius:0 0 var(--radius-sm) var(--radius-sm);
  text-transform:uppercase; letter-spacing:.06em;
}
.cost-box h3 { font-size:1.45rem; margin-bottom:.9rem; }
.cost-box > p { color:var(--c-gray-600); max-width:580px; margin:0 auto 1.4rem; line-height:1.8; }
.cost-box ul {
  text-align:left; display:inline-block;
  margin-bottom:2rem; min-width:280px;
}
.cost-box ul li {
  display:flex; align-items:center; gap:.55rem;
  padding:.38rem 0; color:var(--c-text); font-size:.9rem;
}
.cost-box ul li i { color:var(--c-primary); }

.cost-info-text { font-size:1rem; line-height:1.8; color:var(--c-secondary); margin-bottom:1.5rem; }
@media(min-width:1024px){ .cost-info-text { font-size:1.1rem; } }

.cost-list { list-style:none; padding:0; margin:.5rem 0 0; display:flex; flex-direction:column; gap:.65rem; }
.cost-list li { display:flex; align-items:center; gap:.6rem; color:var(--c-secondary); font-size:.95rem; font-weight:500; }
.cost-list li i { color:var(--c-primary); flex-shrink:0; }
@media(min-width:1024px){ .cost-list li { font-size:1.05rem; } }

/* ── 24b. COST SPLIT (Wann ist kostenlos?) ── */
.cost-split {
  display:grid; grid-template-columns:1fr 1fr;
  gap:2.5rem; align-items:start; margin-top:2.5rem;
}
.cost-split__label {
  font-family:var(--ff-heading); font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.1em; color:var(--c-primary);
  margin-bottom:1rem; display:flex; align-items:center; gap:.5rem;
}
/* Material-Karten */
.cost-materials { display:flex; flex-direction:column; gap:.7rem; }
.cost-mat {
  display:flex; align-items:center; gap:1rem;
  background:var(--c-white); border-radius:var(--radius-md);
  padding:.85rem 1rem; border-left:4px solid var(--c-primary);
  box-shadow:var(--shadow-sm);
}
.cost-mat--partial { border-left-color:#b07010; }
.cost-mat__icon {
  flex-shrink:0; width:38px; height:38px; border-radius:50%;
  background:rgba(224,120,32,.1);
  display:flex; align-items:center; justify-content:center;
}
.cost-mat__icon i { font-size:1rem; color:var(--c-primary); }
.cost-mat--partial .cost-mat__icon { background:rgba(176,112,16,.1); }
.cost-mat--partial .cost-mat__icon i { color:#b07010; }
.cost-mat__body { flex:1; min-width:0; }
.cost-mat__body strong { display:block; font-size:.88rem; color:var(--c-secondary); margin-bottom:.1rem; }
.cost-mat__body span  { font-size:.78rem; color:var(--c-gray-600); }
.cost-mat__tag {
  flex-shrink:0; white-space:nowrap;
  font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
  background:rgba(224,120,32,.12); color:var(--c-primary);
  border-radius:50px; padding:.22rem .7rem;
}
.cost-mat__tag--partial { background:rgba(176,112,16,.12); color:#b07010; }
/* Steps */
.cost-steps { display:flex; flex-direction:column; gap:1.1rem; margin-bottom:1.4rem; }
.cost-step  { display:flex; gap:1rem; align-items:flex-start; }
.cost-step__num {
  flex-shrink:0; width:34px; height:34px; border-radius:50%;
  background:var(--c-secondary); color:var(--c-white);
  font-family:var(--ff-heading); font-size:1rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.cost-step strong { display:block; font-size:.92rem; color:var(--c-secondary); margin-bottom:.2rem; }
.cost-step p { margin:0; font-size:.83rem; color:var(--c-gray-600); line-height:1.55; }
/* Garantie-Box */
.cost-guarantee {
  display:flex; align-items:flex-start; gap:.85rem;
  background:rgba(224,120,32,.08); border:1px solid rgba(224,120,32,.28);
  border-radius:var(--radius-md); padding:.9rem 1.1rem;
}
.cost-guarantee i { color:var(--c-primary); font-size:1.2rem; flex-shrink:0; margin-top:.1rem; }
.cost-guarantee p { margin:0; font-size:.85rem; color:var(--c-secondary); line-height:1.6; }
@media(max-width:768px) {
  .cost-split { grid-template-columns:1fr; }
  .cost-mat__tag { display:none; }
}

/* ── 25. ADVANTAGES GRID ── */
.advantages-grid {
  display:grid; grid-template-columns:1fr; gap:1.2rem;
}
@media(min-width:600px){ .advantages-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:900px){ .advantages-grid { grid-template-columns:repeat(3,1fr); } }

.advantage-item {
  display:flex; align-items:center; gap:.9rem; padding:1.2rem;
  background:var(--c-white); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); transition:all var(--ease);
}
.advantage-item:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.advantage-item__icon {
  flex-shrink:0; align-self:center; width:42px; height:42px;
  background:rgba(41,48,68,.1); border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
}
.advantage-item__icon i { font-size:1.1rem; color:var(--c-secondary); }
.advantage-item h3 { font-size:1.05rem; margin-bottom:.22rem; color:var(--c-secondary); }

/* ── Before/After Grid ── */
@media(max-width:767px){
  .before-after-grid { grid-template-columns:1fr !important; }
}
@media(min-width:1024px){
  .before-after-grid { gap:2rem; }
  .before-after-grid li { font-size:1.05rem !important; }
  .before-after-grid .ba-label { font-size:1rem !important; }
}
.advantage-item p  { font-size:.95rem; color:var(--c-gray-600); margin-bottom:0; }
@media(min-width:1024px){
  .advantage-item   { padding:2rem; }
  .advantage-item h3 { font-size:1.25rem; }
  .advantage-item p  { font-size:1rem; }
}

/* ── 26. LOCAL SEO BOX ── */
.local-seo {
  background:var(--c-gray-100); border-radius:var(--radius-md); padding:2rem .5rem;
}
.local-seo h3 { margin-bottom:.85rem; font-size:1.25rem; }
@media(min-width:1024px){ .local-seo h3 { font-size:1.75rem; } }
.local-seo p  { color:var(--c-gray-600); font-size:1rem; line-height:1.8; margin-bottom:.5rem; }
.local-seo__tags {
  display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.9rem;
}
.local-seo__tag {
  background:var(--c-white); border:1px solid var(--c-gray-200);
  color:var(--c-secondary); padding:.28rem .7rem;
  border-radius:50px; font-size:.78rem; font-weight:500;
}

/* ── 27. CTA BANNER ── */
.cta-banner {
  background:
    linear-gradient(rgba(26,26,46,.80) 0%, rgba(26,26,46,.88) 100%),
    url('images/cta-bg.png') center/cover no-repeat;
  padding:4rem 0; text-align:center;
}
.cta-banner h2 { color:var(--c-white); margin-bottom:.9rem; }
.cta-banner p  { color:rgba(255,255,255,.85); font-size:1.05rem; margin-bottom:1.85rem; max-width:580px; margin-left:auto; margin-right:auto; }
.cta-banner__btns { display:flex; justify-content:center; flex-wrap:wrap; gap:.9rem; }

/* ── 28. HOURS BOX ── */
.hours-box {
  background:var(--c-white); border-radius:var(--radius-md);
  padding:1.4rem; box-shadow:var(--shadow-sm); margin-top:1.5rem;
}
.hours-box h4 {
  font-size:.9rem; margin-bottom:.7rem;
  display:flex; align-items:center; gap:.45rem; color:var(--c-secondary);
}
.hours-box h4 i { color:var(--c-primary); }
.hours-row {
  display:flex; justify-content:space-between;
  padding:.35rem 0; border-bottom:1px solid var(--c-gray-200);
  font-size:.82rem; color:var(--c-gray-600);
}
.hours-row:last-child { border-bottom:none; }
.hours-row span:last-child { color:var(--c-secondary); font-weight:500; }

/* ── 29. PHOTO BANNER ── */
.photo-banner {
  border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-lg); position:relative; line-height:0;
}
.photo-banner img {
  width:100%; height:380px; object-fit:cover; display:block;
  transition:transform .6s ease;
}
@media(max-width:639px){ .photo-banner img { height:240px; } }
.photo-banner:hover img { transform:scale(1.03); }
.photo-banner__caption {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent, rgba(0,0,0,.65));
  padding:3rem 1.4rem .7rem;
  color:rgba(255,255,255,.72); font-size:.72rem; text-align:right; line-height:1.5;
}

/* ── 29b. SOFORT-BADGE ── */
.sofort-badge {
  display:inline-block;
  background:var(--c-secondary); color:var(--c-white);
  font-family:var(--ff-heading); font-weight:700; font-size:.92rem;
  letter-spacing:.08em; text-transform:uppercase;
  padding:.42rem 1.35rem; border-radius:var(--radius-sm);
  transform:rotate(-2deg);
  box-shadow:0 3px 14px rgba(41,48,68,.3);
  margin-bottom:1.5rem; line-height:1;
}

/* ── 30. SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .55s ease, transform .55s ease; }
.reveal.in-view { opacity:1; transform:translateY(0); }

/* ── 31. ANNOUNCE BAR ── (entfernt) */
:root { --announce-h: 0px; }
.announce-bar { display:none !important; }

/* Header ohne Announce-Bar-Offset */
.header { top:0; transition:box-shadow .3s ease, height .3s ease; }
.header.scrolled { top:0; box-shadow:0 4px 24px rgba(0,0,0,.22); height:62px; }
.mobile-nav { top:var(--header-h); }

/* Hero & breadcrumb ohne announce bar */
.hero { padding-top:var(--header-h); }
.breadcrumb { padding:calc(var(--header-h) + .65rem) 0 .65rem; }

/* ── 32. STATUS INDICATOR ── */
.status-indicator {
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.8rem; color:rgba(255,255,255,.75); margin-bottom:1.25rem;
}
.status-indicator__dot {
  width:8px; height:8px; border-radius:50%; background:#27ae60;
  flex-shrink:0; animation:blink-dot 2.2s infinite;
}
@keyframes blink-dot { 0%,100%{opacity:1} 50%{opacity:.3} }
@media(prefers-reduced-motion:reduce){ .status-indicator__dot { animation:none; } }

/* ── 33. PROOF STRIP ── */
.proof-strip {
  margin-top:1.75rem; padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.1);
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.proof-strip::-webkit-scrollbar { display:none; }
.proof-strip__label {
  display:block; font-size:.72rem; color:rgba(255,255,255,.45);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:.6rem;
}
.proof-strip__inner {
  display:flex; gap:.45rem; flex-wrap:wrap;
}
@media(max-width:639px){ .proof-strip__inner { flex-wrap:nowrap; width:max-content; } }
.proof-strip__city {
  display:inline-flex; align-items:center; gap:.28rem;
  font-size:.75rem; color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  padding:.22rem .6rem; border-radius:50px; white-space:nowrap; flex-shrink:0;
}
.proof-strip__city::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--c-primary); display:inline-block; flex-shrink:0;
}

/* ── 34. ZAHLEN & FAKTEN (Navy Section) ── */
.stats-gold-section { background:var(--c-secondary); padding:4rem 0; }
.stats-gold-section .section__header h2 { color:var(--c-white); }
.stats-gold-section .section__label { background:var(--c-primary); color:var(--c-secondary); }
.stats-gold-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem;
}
@media(min-width:768px){ .stats-gold-grid { grid-template-columns:repeat(4,1fr); } }
.stats-gold-card {
  text-align:center; padding:2rem 1.25rem;
  background:rgba(255,255,255,.06); border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.1); transition:background var(--ease);
}
.stats-gold-card:hover { background:rgba(255,255,255,.1); }
.stats-gold-card__num {
  font-family:var(--ff-heading); font-size:clamp(2rem,4vw,2.85rem);
  font-weight:700; color:var(--c-primary); line-height:1; margin-bottom:.3rem;
}
.stats-gold-card__lbl {
  font-size:.82rem; font-weight:600; color:rgba(255,255,255,.75);
  text-transform:uppercase; letter-spacing:.06em;
}
.stats-gold-card__sub {
  font-size:.72rem; color:rgba(255,255,255,.5);
  margin-top:.4rem; line-height:1.5;
}

/* ── 35. NICHT-LISTE ── */
.not-list {
  background:#F0EDE8; border-radius:var(--radius-md);
  padding:1.4rem 1.5rem; margin-top:1.75rem;
}
.not-list__heading {
  font-size:.78rem; font-family:var(--ff-heading); font-weight:600;
  text-transform:uppercase; letter-spacing:.1em;
  color:var(--c-gray-400); margin-bottom:.85rem;
}
.not-list ul { display:flex; flex-direction:column; gap:.4rem; margin-bottom:.9rem; }
.not-list li {
  display:flex; align-items:flex-start; gap:.5rem;
  font-size:.875rem; color:var(--c-gray-600);
  padding-bottom:.4rem; border-bottom:1px solid rgba(0,0,0,.06);
}
.not-list li:last-child { border-bottom:none; padding-bottom:0; }
.not-list li::before { content:'—'; color:var(--c-primary); font-weight:700; flex-shrink:0; }
.not-list__conclusion {
  font-size:.9rem; color:var(--c-secondary); font-weight:600;
  margin-bottom:0; padding-top:.5rem; border-top:1px solid rgba(0,0,0,.08);
}

/* ── 36. FORM CHIPS (Micro-Commitment) ── */
.form-chips { margin-bottom:1.5rem; }
.form-chips__question {
  font-family:var(--ff-heading); font-size:1.05rem; font-weight:600;
  color:var(--c-white); margin-bottom:.9rem; letter-spacing:.02em;
}
.form-chips__grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:.55rem;
}
@media(min-width:420px){ .form-chips__grid { grid-template-columns:repeat(3,1fr); } }
.chip {
  display:flex; align-items:center; gap:.4rem;
  padding:.6rem .85rem; background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.18); border-radius:var(--radius-sm);
  color:rgba(255,255,255,.78); font-family:var(--ff-body); font-size:.82rem;
  cursor:pointer; transition:all var(--ease); text-align:left;
}
.chip:hover { background:rgba(224,120,32,.15); border-color:rgba(224,120,32,.5); color:var(--c-white); }
.chip.selected { background:rgba(224,120,32,.22); border-color:var(--c-primary); color:var(--c-primary); }
.chip i { font-size:.85rem; flex-shrink:0; }
input[name="chip-value"] { display:none; }

/* ── 37. NEXT STEPS BOX ── */
.next-steps {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-md); padding:1.1rem 1.3rem; margin-top:.85rem;
}
.next-steps__heading {
  font-size:.72rem; font-family:var(--ff-heading); font-weight:600;
  text-transform:uppercase; letter-spacing:.1em;
  color:rgba(255,255,255,.4); margin-bottom:.75rem;
}
.next-steps ol { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.next-steps li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.82rem; color:rgba(255,255,255,.68); line-height:1.5;
  counter-increment:none;
}
.next-steps__num {
  flex-shrink:0; width:18px; height:18px; border-radius:50%;
  background:var(--c-primary); color:var(--c-secondary);
  font-size:.68rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-top:.1rem;
}

/* ── 38. FAQ LAYOUT + UNSICHER BLOCK ── */
@media(min-width:1024px){
  section[aria-labelledby="faq-heading"] .container { max-width:1440px; padding:0 1.5rem; }
  .faq-layout {
    display:grid;
    grid-template-columns:1fr 440px;
    gap:2.5rem;
    align-items:start;
  }
  .faq-layout .unsicher-block {
    margin-top:0;
    position:sticky;
    top:100px;
  }
}

.unsicher-block {
  background:var(--c-gray-100); border-radius:var(--radius-md);
  padding:1.65rem 1.75rem; margin-top:2rem;
  display:flex; align-items:center; gap:1.25rem;
  border-left:4px solid var(--c-primary);
}
@media(max-width:599px){ .unsicher-block { flex-direction:column; text-align:center; } }
.unsicher-block__icon {
  flex-shrink:0; width:52px; height:52px; border-radius:50%;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dk));
  display:flex; align-items:center; justify-content:center;
}
.unsicher-block__icon i { font-size:1.3rem; color:var(--c-secondary); }
.unsicher-block h3 { font-size:1rem; margin-bottom:.3rem; }
.unsicher-block p { font-size:.875rem; color:var(--c-gray-600); margin-bottom:0; line-height:1.65; }
.unsicher-block a { color:var(--c-primary); font-weight:700; }
@media(min-width:1024px){
  .faq-layout .unsicher-block { padding:2.25rem 2rem; }
  .faq-layout .unsicher-block h3 { font-size:1.35rem; margin-bottom:.6rem; }
  .faq-layout .unsicher-block p { font-size:1rem; }
}

/* ── Timeline horizontal on desktop ── */
@media(min-width:1024px){
  section[aria-labelledby="process-heading"] .container { max-width:1440px; padding:0 1.5rem; }
  .timeline {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    max-width:none;
    margin:0;
  }
  .timeline::before {
    content:''; position:absolute;
    left:12.5%; right:12.5%;
    top:1.375rem; bottom:auto;
    width:auto; height:2px;
    background:linear-gradient(to right, var(--c-primary), var(--c-primary-dk));
  }
  .timeline-item:not(:last-child)::after { display:none; }
  .timeline-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:0 1.25rem;
  }
  .timeline-item:last-child { padding-bottom:0; }
  .timeline-item__dot {
    align-self:center;
    grid-column:auto; grid-row:auto;
    margin-bottom:1.1rem;
    flex-shrink:0;
    position:relative;
    z-index:2;
  }
  .timeline-item h3 {
    grid-column:auto; grid-row:auto;
    padding-top:0;
    font-size:1.2rem;
    margin-bottom:.5rem;
  }
  .timeline-item p {
    grid-column:auto; grid-row:auto;
    font-size:1rem;
  }
}

/* ── 39. EXIT INTENT OVERLAY ── */
.exit-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.68); z-index:9990;
  align-items:center; justify-content:center; padding:1rem;
}
.exit-overlay.active { display:flex; }
.exit-overlay__box {
  background:var(--c-white); border-radius:var(--radius-lg);
  padding:2.5rem 2rem 2rem; max-width:420px; width:100%;
  position:relative; box-shadow:var(--shadow-lg);
}
.exit-overlay__close {
  position:absolute; top:.85rem; right:.85rem;
  width:30px; height:30px; border-radius:50%;
  background:none; border:none; display:flex; align-items:center; justify-content:center;
  color:var(--c-gray-400); font-size:1rem; transition:background var(--ease);
}
.exit-overlay__close:hover { background:var(--c-gray-100); }
.exit-overlay__box h2 { font-size:1.45rem; margin-bottom:.7rem; }
.exit-overlay__box > p { color:var(--c-gray-600); font-size:.9rem; margin-bottom:1.4rem; }
.exit-form { display:flex; flex-direction:column; gap:.75rem; }
.exit-form input {
  width:100%; border:1.5px solid var(--c-gray-200); border-radius:var(--radius-sm);
  padding:.72rem 1rem; font-family:var(--ff-body); font-size:.9rem;
  outline:none; transition:border-color var(--ease); background:var(--c-white); color:var(--c-text);
}
.exit-form input:focus { border-color:var(--c-primary); }

/* ── 40. TAP-CALL BANNER (Mobile) ── */
.tap-call-banner {
  position:fixed; bottom:0; left:0; right:0; z-index:940;
  background:var(--c-primary); padding:.75rem 1.25rem;
  display:flex; align-items:center; gap:.85rem;
  box-shadow:0 -4px 20px rgba(0,0,0,.2);
  transform:translateY(110%); transition:transform .4s ease;
}
.tap-call-banner.visible { transform:translateY(0); }
@media(min-width:1024px){ .tap-call-banner { display:none !important; } }
.tap-call-banner__text {
  flex:1; font-size:.78rem; font-weight:600;
  color:var(--c-secondary); line-height:1.35;
}
.tap-call-banner__btn {
  flex-shrink:0; background:var(--c-secondary); color:var(--c-white);
  padding:.6rem .95rem; border-radius:var(--radius-sm);
  font-family:var(--ff-heading); font-size:.88rem; font-weight:700;
  display:flex; align-items:center; gap:.38rem; white-space:nowrap;
}
.tap-call-banner__close {
  background:none; border:none; color:rgba(0,0,0,.4);
  font-size:1.05rem; padding:.25rem; flex-shrink:0; line-height:1;
}

/* ── 41. RELATED LINKS ── */
.related-links {
  display:grid; grid-template-columns:1fr; gap:1.25rem;
}
@media(min-width:600px){ .related-links { grid-template-columns:repeat(2,1fr); } }
.related-card {
  display:flex; align-items:flex-start; gap:1rem; padding:1.4rem;
  background:var(--c-white); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm); border:1px solid var(--c-gray-200);
  transition:all var(--ease); text-decoration:none; color:inherit;
}
.related-card:hover { border-color:var(--c-primary); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.related-card__icon {
  flex-shrink:0; width:46px; height:46px;
  display:flex; align-items:center; justify-content:center;
}
.related-card__icon i { font-size:2.25rem; color:var(--c-secondary); }
.related-card h3 { font-size:.95rem; margin-bottom:.28rem; color:var(--c-secondary); }
.related-card p  { font-size:.82rem; color:var(--c-gray-600); margin-bottom:.5rem; line-height:1.55; }
@media(min-width:1024px){
  .related-card h3 { font-size:1.3rem; }
  .related-card p  { font-size:1rem; }
}
.related-card__more {
  display:inline-flex; align-items:center; gap:.3rem;
  color:var(--c-primary); font-size:.82rem; font-weight:600;
}

/* ── 42. NEG GUARANTEE STRIP ── */
.neg-guarantee { display:flex; flex-direction:column; gap:.35rem; padding:.75rem 0; }
.neg-guarantee span {
  display:flex; align-items:center; gap:.5rem;
  font-size:.8rem; color:var(--c-gray-400);
}
.neg-guarantee span::before { content:'–'; color:var(--c-primary); font-weight:700; flex-shrink:0; }

/* ── 43. DESKTOP REFINEMENTS ── */

/* Hero: Status-Dot, Badge und Proof-Strip global entfernen –
   Announce-Bar und Trust-Bullets tragen dieselbe Info klarer */
.status-indicator             { display:none; }
.hero__badge                  { display:none; }
.proof-strip                  { display:none; }

/* (hero__trust-item ersetzt durch hero__vp – kein nth-child nötig) */

/* Desktop-Header: 3-Spalten-Grid → Logo | Nav zentriert | CTA-Button */
@media(min-width:1024px){
  .header__inner {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:0;
  }
  .header__logo  { align-self:center; }
  .nav           { justify-content:center; }
  .header__cta   { display:inline-flex; align-items:center; gap:.45rem;
                   justify-self:end; padding:.6rem 1.1rem !important; }
  /* Sub-Text einblenden */
  .header__logo-sub { display:block; }
  /* Nav-Link Padding */
  .nav__link { padding:.6rem .75rem; }
}

/* ── 44. MOBILE OPTIMIZATIONS ── */

/* --- Touch targets: alles unter 1024px --- */
@media(max-width:1023px){
  /* Hamburger: 40px → 44px */
  .hamburger { width:44px; height:44px; gap:6px; }

  /* Formular-Inputs: Mindesthöhe ~44px sicherstellen */
  .form-group input,
  .form-group select { padding:.85rem 1rem; }

  /* Chips: Mindesthöhe 44px */
  .chip { padding:.75rem .9rem; min-height:44px; }

  /* Tap-Call-Banner Button */
  .tap-call-banner__btn { padding:.78rem 1.1rem; }

  .floating-cta { bottom:1.25rem; right:1.25rem; }
  .floating-cta__btn { padding:.9rem 1.25rem; }
}

/* --- Kleine Mobile-Screens: ≤ 639px --- */
@media(max-width:639px){

  /* Announce Bar: Schrift auf 12px (0.75rem) anheben */
  .announce-bar__msg { font-size:.75rem; }

  .header__logo-main { font-size:2.8rem; }
  .header__logo-sub  { font-size:1.05rem; }
  .footer .header__logo-main { font-size:3rem; }
  .footer .header__logo-sub  { font-size:1.25rem; }

  /* Container: etwas mehr Luft auf schmalen Screens */
  .container { padding:0 1rem; }

  /* Hero: passt sich ans Viewport an, kein erzwungenes Full-Screen */
  .hero {
    min-height:auto;
    padding-top:calc(var(--header-h) + 2.5rem);
    padding-bottom:6rem;
    align-items:flex-start;
  }
  .hero::before { background-size:40px 40px; opacity:.3; }

  /* Mobile Hero: alle Trust-Bullets + zweiter Button verstecken */
  .hero__trust                { display:none; }

  /* Sub-Text: auf 3 Zeilen kürzen */
  .hero__sub {
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-bottom:1.5rem;
  }

  /* CTA-Button: volle Breite, gut tappbar */
  .hero__btns { margin-bottom:0; }
  .hero__btns .btn--primary,
  .hero__btns .btn--whatsapp { width:100%; justify-content:center; font-size:1rem; padding:1rem 1.25rem; }
  .hero__btns .btn--outline-orange { display:none; }

  /* Proof-Strip: global display:none (Section 43), keine Mobile-Overrides nötig */

  /* Sektions-Header */
  .section__header { margin-bottom:2rem; }
  .section__header h2 { font-size:1.75rem; margin-bottom:.65rem; }
  .section__subtitle  { margin-top:.4rem; font-size:1rem; }
  .about__text h2 { font-size:1.75rem; text-align:center; }

  /* Service-Cards: kompakteres Padding */
  .service-card { padding:1.4rem 1.1rem; }

  /* About-Bild: Höhe reduzieren */
  .about__img img { height:200px; }

  /* Stats-Karten */
  .stats-grid            { gap:.85rem; }
  .stat-card             { padding:1.3rem .85rem; }
  .stat-card__num        { font-size:1.8rem; }

  /* Gold-Section */
  .stats-gold-grid       { gap:1rem; }
  .stats-gold-card       { padding:1.25rem .85rem; }
  .stats-gold-card__num  { font-size:1.75rem; }
  .stats-gold-card__sub  { font-size:.68rem; }

  /* Nicht-Liste */
  .not-list { padding:1.1rem 1.15rem; }

  /* Why-Cards */
  .why-card         { padding:1.5rem .9rem; }
  .why-card__icon   { width:58px; height:58px; }

  /* Reviews */
  .reviews-carousel-outer { gap:.4rem; }
  .reviews-nav { width:32px; height:32px; font-size:.8rem; }

  /* Kontakt-Formular */
  .contact-form     { padding:1.25rem; }
  .form-chips__question { font-size:.95rem; }
  .form-group textarea  { height:90px; }

  /* Next-Steps Box */
  .next-steps       { padding:.9rem 1rem; }

  /* Prozess-Schritte: Arrow zwischen Steps ausblenden */
  .process-step     { padding:1.5rem .85rem; }
  .process-step::after { display:none !important; }
  .process-step__num { width:50px; height:50px; font-size:1.2rem; }

  /* FAQ */
  .faq-question     { padding:1rem 1.1rem; font-size:1.2rem; }
  .faq-answer-inner { padding:0 1.1rem 1.1rem; }
  .faq-icon         { width:24px; height:24px; }

  /* Timeline – kleinerer Dot auf Mobile, Grid passt sich an */
  .timeline-item:not(:last-child)::after { left:1.375rem; top:1.375rem; } /* Dot-Hälfte von 2.75rem */
  .timeline-item      { grid-template-columns:2.75rem 1fr; column-gap:1rem; }
  .timeline-item__dot { width:2.75rem; height:2.75rem; font-size:.95rem; }

  /* Container-Cards */
  .container-card   { padding:1.4rem; }
  .container-card__size { font-size:1.75rem; }

  /* Target-Cards */
  .target-card      { padding:1.2rem; gap:.85rem; }
  .target-card__icon{ width:42px; height:42px; }

  /* Clearance-Cards */
  .clearance-card   { padding:1.35rem; }

  /* Cost-Box */
  .cost-box         { padding:2rem 1.25rem; }
  .cost-box ul      { min-width:unset; width:100%; }

  /* Advantage Items */
  .advantage-item   { padding:.95rem; }

  /* Unsicher Block */
  .unsicher-block   { padding:1.35rem 1.25rem; }

  /* Related Cards */
  .related-card     { padding:1.25rem; gap:.85rem; }
  .related-card__icon{ width:42px; height:42px; }

  /* Local SEO Tags */
  .local-seo__tag   { font-size:.8rem; }

  /* Photo Banner */
  .photo-banner img { height:200px; }

  /* Tap-Call-Banner: Text lesbarer */
  .tap-call-banner__text { font-size:.82rem; }

  /* CTA Banner */
  .cta-banner       { padding:3rem 0; }
  .cta-banner__btns { gap:.7rem; }
  .cta-banner__btns .btn--lg { padding:.9rem 1.35rem; font-size:.95rem; }
}

/* --- Sehr kleine Screens: ≤ 389px (iPhone SE u.ä.) --- */
@media(max-width:389px){
  .header__logo-main   { font-size:1.15rem; }
  .hero__btns .btn--lg { padding:.82rem 1.1rem; font-size:.88rem; }
  .stats-gold-card__num{ font-size:1.55rem; }
  .form-chips__grid    { grid-template-columns:repeat(2,1fr); } /* zurück auf 2-col */
  .chip                { font-size:.78rem; }
  .contact-form        { padding:1rem; }
}

/* ── 44. PRINT ── */
@media print {
  .header,.footer,.floating-cta,.hamburger,.mobile-nav,
  .announce-bar,.exit-overlay,.tap-call-banner { display:none !important; }
  body { color:#000; background:#fff; }
  a[href^="tel"]::after { content:" ("attr(href)")"; }
  .hero,.section--dark { background:#fff !important; color:#000 !important; }
  h1,h2,h3 { color:#000 !important; }
}
@media print {
  .header,.footer,.floating-cta,.hamburger,.mobile-nav { display:none !important; }
  body { color:#000; background:#fff; }
  a[href^="tel"]::after { content:" ("attr(href)")"; }
  .hero,.section--dark { background:#fff !important; color:#000 !important; }
  h1,h2,h3 { color:#000 !important; }
}
