/* Set the root font size relative to viewport width */
html {
  font-size: 2.5vw;
  /* Adjust this value for scaling balance */
}

/* Base styles using rem (root em) for automatic scaling */
body {
  font-family: Arial, sans-serif;
  background: white;
  min-height: 100vh;
  color: #333;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

#congoDiv {
  animation: popFade 1s ease-in-out;
  border: 0.125rem solid #0af;
  /* 2px = 0.125rem */
  background: linear-gradient(to right, #e0f7fa, #f1f8ff);
  box-shadow: 0 0 1.875rem rgba(0, 170, 255, 0.3);
  /* 30px = 1.875rem */
  border-radius: 0.9375rem;
  /* 15px = 0.9375rem */
  padding: 1.5625rem;
  /* 25px = 1.5625rem */
}

@keyframes popFade {
  0% {
    transform: scale(0.9);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.header-bar {
  background: #2c3e50;
  color: white;
  text-align: center;
  padding: 1rem;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  box-sizing: border-box;
  word-wrap: break-word;
}

.headline {
  font-size: 2.6em;
  font-weight: bold;
  text-align: center;
  margin: 1em;
  color: #333;
  line-height: 1.2;
}

.subheadline {

  color: #e74c3c;
  font-size: 1.9em;
  font-weight: bold;
  text-align: center;

  padding: 1em 1.5em 1.5em 1.5em;

  line-height: 1.2;
}

.urgency-text {
  background: #fff3cd;
  border: 0.1em solid #ffc107;
  padding: 1em 1em 1.5em 0.5em;
  margin: 1em 3em 1.5em 3em;
  border-radius: 0.3em;
  font-size: 1.3em;
  color: #856404;
  text-align: center;
  font-weight: bold;
}

.quiz-container {
  background: rgb(245, 241, 241);

  margin: 1em 3em 1.5em 3em;
  /* 24px 20px */
  border: 0.125em solid #ffffff;
  /* 2px → 0.125em */
  /* 20px → 1.25em */
}

.progress-bar {
  height: 0.25rem;
  /* 4px → 0.25rem */
  background: #ddd;
  position: relative;
}

.progress-fill {
  height: 0.52rem;
  background: #28a745;
  width: 33%;

  transition: width 0.4s ease-in-out;
}

.question-container {
  padding: 2em 1.8em;
  /* 30px 25px */
  min-height: 18.75em;
  /* 300px → 18.75em */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.question {
  display: none;
  text-align: center;
}

.question.active {
  display: block;
}

.question h2 {
  font-size: 2em;
  margin-bottom: 1.5em;
  color: #333;
  font-weight: bold;
}

:root {
  --bg-4: linear-gradient(to right, #00f2fe, #4facfe);
  /* --shadow-4: 0 0 20px rgba(0, 242, 254, 0.6); */
  --anim-4: scaleUp 2s infinite;
}

@keyframes scaleUp {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
  }
}

.options {
  display: grid;
  gap: 0.825em;
  /* 10px → 0.625em */
  margin-bottom: 1.25em;
  /* 20px → 1.25em */
  max-width: 45em;
  /* 400px → 25rem */
  margin-left: auto;
  margin-right: auto;
}

.option {
  padding: 1.1em 1.5em;
  /* 18px 25px */
  border: 0.125em solid #ddd;
  border-radius: 0.5em;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1.55em;
  font-weight: 500;
  color: #333;
  text-align: center;
  box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.1);
  position: relative;
  background: linear-gradient(145deg, #ffffff, #f0f0f0);



}

/* POSITIVE STATE */
.option.positive {
  background: linear-gradient(145deg, #d4edda, #c3e6cb);
  border-color: #28a745;
  color: #155724;
  box-shadow: 0 0.1875em 0.375em rgba(40, 167, 69, 0.2);
  transition: all 0.3s ease;

  box-shadow: var(--shadow-4);
  animation: var(--anim-4);
}

.option.positive:hover {
  background: linear-gradient(145deg, #c3e6cb, #b1dfbb);
  border-color: #1e7e34;
  transform: translateY(-0.125em);
  box-shadow: 0 0.3125em 0.75em rgba(40, 167, 69, 0.3);
}

.option.positive:active {
  transform: translateY(0em);
  box-shadow: 0 0.125em 0.25em rgba(40, 167, 69, 0.2);
}

.option.positive.selected {
  background: linear-gradient(145deg, #28a745, #1e7e34);
  border-color: #1e7e34;
  color: white;
  font-weight: 600;
  box-shadow: 0 0.25em 0.5em rgba(40, 167, 69, 0.4);
}

/* NEGATIVE STATE */
.option.negative {
  background: linear-gradient(145deg, #f8d7da, #f1b0b7);
  border-color: #dc3545;
  color: #721c24;
  box-shadow: 0 0.1875em 0.375em rgba(220, 53, 69, 0.2);
}

.option.negative:hover {
  background: linear-gradient(145deg, #f1b0b7, #ec8794);
  border-color: #bd2130;
  transform: translateY(-0.125em);
  box-shadow: 0 0.3125em 0.75em rgba(220, 53, 69, 0.3);
}

.option.negative:active {
  transform: translateY(0em);
  box-shadow: 0 0.125em 0.25em rgba(220, 53, 69, 0.2);
}

.option.negative.selected {
  background: linear-gradient(145deg, #dc3545, #bd2130);
  border-color: #bd2130;
  color: white;
  font-weight: 600;
  box-shadow: 0 0.25em 0.5em rgba(220, 53, 69, 0.4);
}

/* NEUTRAL STATE (e.g. Age options) */
.option.neutral {
  background: linear-gradient(145deg, #d4edda, #c3e6cb);
  border-color: #28a745;
  color: #155724;
  box-shadow: 0 0.1875em 0.375em rgba(40, 167, 69, 0.2);
}

.option.neutral:hover {
  background: linear-gradient(145deg, #c3e6cb, #b1dfbb);
  border-color: #1e7e34;
  transform: translateY(-0.125em);
  box-shadow: 0 0.3125em 0.75em rgba(40, 167, 69, 0.3);
}

.option.neutral:active {
  transform: translateY(0em);
  box-shadow: 0 0.125em 0.25em rgba(40, 167, 69, 0.2);
}

.option.neutral.selected {
  background: linear-gradient(145deg, #28a745, #1e7e34);
  border-color: #1e7e34;
  color: white;
  font-weight: 600;
  box-shadow: 0 0.25em 0.5em rgba(40, 167, 69, 0.4);
}

.social-proof-section {
  margin-top: 2em;
  /* 30px → 2em */
  padding: 1.25em;
  /* 20px → 1.25em */
  background: #f8f9fa;
  border: 0.0625em solid #e9ecef;
  /* 1px → 0.0625em */
  border-radius: 0.3125em;
  /* 5px → 0.3125em */
}

.social-proof-header {
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 1.25em;
  /* 20px → 1.25em */
}

.review {
  background: white;
  padding: 0.9375em;
  /* 15px → 0.9375em */
  margin-bottom: 0.9375em;
  /* 15px → 0.9375em */
  border-left: 0.25em solid #28a745;
  /* 4px → 0.25em */
  border-radius: 0.1875em;
  /* 3px → 0.1875em */
  box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.1);
  /* 2px 4px */
}

.review-stars {
  color: #ffc107;
  font-size: 1.1em;
  margin-bottom: 0.5em;
  /* 8px → 0.5em */
}

.review-text {
  font-style: italic;
  color: #555;
  font-size: 1.3em;
  line-height: 1.4;
  margin-bottom: 0.5em;
  /* 8px → 0.5em */
}

.review-author {
  font-weight: bold;
  color: #333;
  font-size: 0.9em;
}

.review-location {
  color: #666;
  font-size: 0.85em;
}


.congo-div {
  display: flex;
  justify-content: center;
  padding: 2rem 1.8rem;
  background: linear-gradient(135deg, #f0fff5, #ffffff);
  margin: 1em 3em 1.5em 3em;
  /* 24px 20px */
  border: 0.125em solid #ffffff;
  /* 2px → 0.125em */
  /* 20px → 1.25em */
}

.congo-card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 2rem 1.8rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
  /* 12px → 0.75rem, 24px → 1.5rem */
  text-align: center;
  border: 0.125rem dashed #28a745;
  /* 2px → 0.125rem */
  position: relative;
  overflow: hidden;
}

.confetti {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  animation: pop 0.6s ease;
}

@keyframes pop {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.congrats-heading {
  font-size: 1.7rem;
  color: #155724;
  font-weight: 800;
  margin-bottom: 0.8rem;
}

.success-msg {
  font-size: 1.6rem;
  color: #333;
  margin-bottom: 0.8rem;
}

.followup {
  font-size: 1.3rem;
  color: #555;
  margin-bottom: 1.5rem;
}

.call-button {
  display: inline-block;
  padding: 1.9rem 5.4rem 1.9rem 5.4rem;
  font-size: 1.6rem;
  color: white;
  background: #28a745;
  border-radius: 3.125rem;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 0 0.75rem rgba(40, 167, 69, 0.4);
  /* 12px = 0.75rem */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.call-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 1.25rem rgba(40, 167, 69, 0.8);
  /* 20px = 1.25rem */
}

.timer {
  font-size: 1.25rem;
  line-height: 1.75rem;
  background: transparent;
  padding: 0.25rem 1rem;
  color: red;
  border: 0.125rem dashed red;
  margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  width: max-content;
  display: flex;
  flex-direction: row;
}

/* Glow effect */
/* Softer Glow Effect */
.glow {
  box-shadow:
    0 0 0.375rem rgba(40, 167, 69, 0.4),
    /* 6px → 0.375rem */
    0 0 0.625rem rgba(40, 167, 69, 0.2);
  /* 10px → 0.625rem */
}

/* Shimmer effect */
.shimmer {
  position: relative;
  overflow: hidden;
}

.shimmer::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% {
    left: -75%;
  }

  100% {
    left: 125%;
  }
}

.note {
  font-size: 0.85rem;
  color: #777;
  margin-top: 1rem;
}

.checking {
  justify-content: center;
  /* align-items: center; */
  text-align: center;
  padding: .2em;
  background-color: #e9f2ff;
  border-top: 0.125rem solid rgb(59 130 246);
  /* margin: 1rem;
 
  margin-left: auto;
  margin-right: auto; */
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #1f2937;
  height: 20em;
  margin: 1em 3em 1.5em 3em;
  /* 24px 20px */
  /* border: 0.125em solid #ffffff; 2px → 0.125em */
  /* 20px → 1.25em */
}

.sub-description {
  font-size: 1rem;
  line-height: 1.5rem;
  margin: 1rem 0;
  font-weight: 700;
}