/*! DOX Landing (Startseite)
   - Brand + Start-Link stehen direkt untereinander (nahezu kein Abstand)
   - Überschreibt .hero-Defaults aus general.css mit spezifischen Selektoren
   - Keine Farbverfälschung von Grafiken/Fonts
*/

/* Seite mittig */
.landing {
  min-height: 100vh;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0; /* keine Zusatz-Padding */
}

/* Sehr kompakte Hero-Section */
.landing .hero {
  /* flex statt grid, damit wir den Gap exakt kontrollieren */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0;
  gap: 4px;                  /* <<< minimaler Abstand zwischen Brand & Link */
  padding: 0 !important;     /* general.css überschreiben */
  margin: 0 !important;
  min-height: auto !important;
  text-align: center;
  transform: none !important; /* keine zusätzliche Verschiebung */
}

/* Brand-Zeile (Logo + Name) */
.landing .brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.landing .brand__logo {
  width: 56px;
  height: 56px;
  image-rendering: auto;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.landing .brand__name {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text);
}

/* Link sitzt DIREKT unter der Brand-Zeile */
.landing .start-line {
  margin: 0 !important;      /* p-Default vollständig neutralisieren */
  line-height: 1.1;
}

/* Fallback-Farbe falls kein background-clip:text */
.landing .start-link {
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--primary);
  padding: 0;                 /* keine zusätzliche Höhe */
  border-radius: 8px;
  font-size: 16px;
}

/* Shimmer-Text */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .landing .start-link.shimmer {
    background: linear-gradient(90deg, #a78bfa, #e14dca, #a78bfa);
    background-size: 200% auto;
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: dox-shimmer 2.2s linear infinite;
  }
}

.landing .start-link:hover { text-decoration: underline; }
.landing .start-link:active { opacity: 0.9; }

/* Shimmer-Animation */
@keyframes dox-shimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}

/* Sicherheit: Medien nie verfärben */
img, svg, picture, video, canvas {
  filter: none !important;
  mix-blend-mode: normal !important;
}
