/* ── Mobile.de – Sticky Scroll Animation ─────────── */

/* Scroll-Wrapper: gibt der Section extra Scroll-Raum */
.mde-scroll-wrapper {
  position: relative;
  height: 250vh; /* 100vh Section + 150vh Animations-Scroll-Raum */
}

/* Sticky Container: klebt wenn Oberkante Viewport-Oberkante trifft */
.mde-sticky-container {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  background: var(--black);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Die eigentliche Section füllt den sticky container */
.mobilede-section {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Linien: alle Werte werden per JS gesetzt, CSS liefert nur den Gradienten */
.mde-line {
  position: absolute;
  pointer-events: none;
  z-index: 2;
  width: 0;
  height: 0;
}
.mde-line--left  {
  left: 0;
  background: linear-gradient(90deg, #c03d00 0%, #ff5500 100%);
}
.mde-line--right {
  right: 0;
  background: linear-gradient(270deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.2) 100%);
}

/* Inhalt – JS steuert opacity/transform */
.mde-card {
  position: relative;
  z-index: 4;
  text-align: center;
  max-width: 660px;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3.5rem);
  opacity: 0;
  will-change: opacity, transform;
}

.mde-card-inner {
  position: relative;
  border: 1px solid rgba(255, 85, 0, 0.15);
  padding: inherit;
  background: rgba(255, 85, 0, 0.02);
}
.mde-card-inner::before,
.mde-card-inner::after {
  content: '';
  position: absolute;
  width: 18px; height: 18px;
  border-color: rgba(255, 85, 0, 0.45);
  border-style: solid;
}
.mde-card-inner::before { top:-1px; left:-1px; border-width:2px 0 0 2px; }
.mde-card-inner::after  { bottom:-1px; right:-1px; border-width:0 2px 2px 0; }

/* mobile.de Wordmark */
.mde-wordmark {
  display: flex; align-items: center; justify-content: center;
  gap: 0.5rem; margin-bottom: 1.75rem;
  font-size: 1.4rem; font-weight: 700; letter-spacing: -0.02em;
  color: rgba(255, 85, 0, 0.85);
}
.mde-wordmark-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,85,0,0.5); }
.mde-divider { width:36px; height:1px; background:rgba(255,85,0,0.3); margin:0 auto 1.5rem; }

/* Button */
.btn-mde {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: #ff5500; color: #fff; font-weight: 600;
  border: none; padding: 0.875rem 2rem; border-radius: 2px;
  text-decoration: none; font-size: 0.9rem;
  transition: background 0.2s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.btn-mde:hover {
  background: #e04b00; transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,85,0,0.3); color:#fff;
}

@media (max-width: 768px) {
  .mde-scroll-wrapper { height: 220vh; }
  .btn-mde { padding: 0.79rem 1.75rem; font-size: 0.85rem; }
}
