* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
}

body {
  min-height: max(884px, 100dvh);
}

.molecule-bg {
  background-image:
    radial-gradient(circle at 20% 30%, rgba(0, 80, 140, 0.05) 0%, transparent 38%),
    radial-gradient(circle at 80% 72%, rgba(72, 104, 0, 0.05) 0%, transparent 38%),
    radial-gradient(rgba(0, 80, 140, 0.08) 1px, transparent 1px);
  background-size: auto, auto, 24px 24px;
  background-position: center, center, center;
}

.chemx-logo-text {
  transform: scaleY(0.7);
  transform-origin: center;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24;
}

/* Nur Mail Icon größer */
.result-action-icon.material-symbols-outlined {
  font-size: 1.9rem;
  transform: scale(1.1);
}

.button-icon {
  width: clamp(60px, 4em, 90px);
  height: clamp(45px, 3em, 65px);
  object-fit: contain;
  filter: brightness(0) invert(1);
  flex-shrink: 0;
}

.hidden {
  display: none !important;
}

.hero-circle-logo {
  width: 90%;
  height: auto;
  object-fit: contain;
}

.result-circle-logo {
  width: 95%;
  height: auto;
  object-fit: contain;
}

.signature-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border: 0;
  border-radius: 9999px;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #00508c 0%, #1e68ad 100%);
  color: #fff;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  box-shadow: 0 18px 36px rgba(0, 80, 140, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  text-decoration: none;
}

.signature-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.signature-btn:active {
  transform: scale(0.98);
}

.big-action-btn {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}

.feature-pill {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.95rem 1rem;
  border-radius: 9999px;
  background: rgba(161, 201, 255, 0.15);
  color: #191c20;
  font-weight: 700;
}

.feature-icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: #ffffff;
  color: #00508c;
  flex-shrink: 0;
}

.progress-bar {
  width: 100%;
  height: 14px;
  border-radius: 9999px;
  overflow: hidden;
  background: #e5e7eb;
}

.progress-fill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7abf2d 0%, #486800 100%);
  transition: width 0.3s ease;
}

.answer-btn {
  width: 100%;
  border: 2px solid transparent;
  border-radius: 1.5rem;
  padding: 1.25rem 1.25rem;
  background: #fff;
  color: #191c20;
  text-align: left;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.answer-btn:hover {
  background: rgba(189, 240, 95, 0.12);
  border-color: rgba(72, 104, 0, 0.15);
  transform: translateY(-1px);
}

.answer-btn:active {
  transform: scale(0.985);
}

.answer-btn:disabled {
  cursor: default;
}

.answer-letter {
  min-width: 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 80, 140, 0.08);
  color: rgba(0, 80, 140, 0.6);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.answer-text {
  flex: 1;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.45;
  padding-top: 0.35rem;
}

.answer-btn.correct {
  background: #bdf05f;
  color: #354e00;
  border-color: rgba(72, 104, 0, 0.15);
  box-shadow: 0 16px 28px rgba(189, 240, 95, 0.28);
}

.answer-btn.correct .answer-letter {
  background: #486800;
  color: #fff;
}

.answer-btn.wrong {
  background: #ffe2df;
  color: #93000a;
  border-color: rgba(186, 26, 26, 0.18);
}

.answer-btn.wrong .answer-letter {
  background: #ba1a1a;
  color: #fff;
}

.feedback {
  min-height: 1.5rem;
  margin: 0;
  font-weight: 800;
  color: #486800;
}

.secondary-chip {
  border: 0;
  border-radius: 9999px;
  background: #00508c;
  color: #fff;
  padding: 0.75rem 1.2rem;
  font-family: 'Manrope', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  opacity: 0.65;
}

.result-card {
  border-radius: 2rem;
  padding: 1.5rem;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}

.success-card {
  background: #bdf05f;
  color: #354e00;
  position: relative;
  overflow: hidden;
}

.success-card::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.1;
  background: radial-gradient(circle at center, #486800 0%, transparent 70%);
  pointer-events: none;
}

.info-card {
  background: #fff;
}

.info-card p {
  line-height: 1.7;
}

.social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3.75rem;
  border-radius: 9999px;
  padding: 1rem 1.25rem;
  text-decoration: none;
  color: #191c20;
  background: #e7e8ee;
  font-weight: 800;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.social-btn:hover {
  background: #e1e2e8;
  transform: translateY(-1px);
}

/* Neue CTA-Buttons im Result-Screen */
.result-action-btn {
  width: 100%;
  min-height: 4.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.result-action-content {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
}

.result-action-icon,
.result-action-image {
  width: 1.7rem;
  height: 1.7rem;
  flex-shrink: 0;
}

.result-action-icon {
  color: #ffffff;
}

.result-action-image {
  object-fit: contain;
  transform: scale(1.55);
  transform-origin: center;
}

.result-action-label {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-right: 1.7rem;
}

.result-action-btn:hover .result-action-image {
  transform: scale(1.62);
}

.popup-overlay {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(8px);
  z-index: 100;
}

.popup-card {
  width: 100%;
  max-width: 34rem;
  border-radius: 2rem;
  background: #fff;
  padding: 1.5rem;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.25);
}

@media (max-width: 640px) {
  .answer-text {
    font-size: 1rem;
  }

  .popup-card {
    padding: 1.25rem;
    border-radius: 1.5rem;
  }

  .result-card,
  .info-card,
  .success-card {
    border-radius: 1.5rem;
  }

  .result-action-icon,
  .result-action-image {
    width: 1.6rem;
    height: 1.6rem;
  }

  .result-action-image {
    transform: scale(1.45);
  }

  .result-action-btn:hover .result-action-image {
    transform: scale(1.5);
  }

  .result-action-label {
    padding-right: 1.6rem;
  }
}