/* =========================
   BODY (Ambient Background Only)
========================= */

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;

  /* Deep atmospheric continuation of hero */
  background: radial-gradient(
    circle at center,
    #3B1613 0%,
    #1A0B0B 70%,
    #0F0505 100%
  );

  font-family: 'Merriweather', 'Playfair Display', 'EB Garamond',
               'Raleway', 'Lato', 'Open Sans', serif, sans-serif;
}

/* =========================
   HERO (Full Bleed Section)
========================= */

.hero {
  width: 100vw;
  max-height: 100vh;

  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;

  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  border: 2px solid yellow;
}

/* .hero .container {
  border: 2px solid green;
  width: 100vw;
  margin: 0 auto;
  padding: 0rem;
} */

/* =========================
   RESPONSIVE IMAGE LOADING
========================= */

/* Mobile: up to 768px */
/* happens when stacking occurs. */
@media (max-width: 767px) {
  .hero {
    background-image: url("/spa/assets/img/avatarjesus_768x768.webp");
    align-items: flex-end;
  }
  .main-container {
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
}

/* Tablet: 768px to 1279px */
@media (min-width: 768px) and (max-width: 1279px) {
  .hero {
    background-image: url("/spa/assets/img/avatarjesus_1280w.webp");
  }
  .main-container {
    aspect-ratio: 2560 / 1707;
  }
}

/* Desktop: 1280px to 1919px */
@media (min-width: 1280px) and (max-width: 1919px) {
  .hero {
    background-image: url("/spa/assets/img/avatarjesus_1920w.webp");
  }
  .main-container {
    aspect-ratio: 2560 / 1707;
  }
}

/* Large Desktop: 1920px and up */
@media (min-width: 1920px) {
  .hero {
    background-image: url("/spa/assets/img/avatarjesus_2560w.webp");
  }
  .main-container {
    aspect-ratio: 2560 / 1707;
  }
}

/* =========================
   VUE LAYOUTS
========================= */

/* Main Container (ConfessMainContainer) */
.main-container {
  height: 95vh;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;

  /* Debug border */
  border: 1px solid red;
  box-sizing: border-box;
}



/* Footer (ConfessFooter) */
.footer {
  width: 100%;
  min-height: 10vh;

  /* Debug border */
  border: 2px solid red;
  box-sizing: border-box;

  /* Ensure footer content is visible */
  background: rgba(0, 0, 0, 0.3);
}

.footer .container {
  max-width: 1200px;
  margin: 0 auto;
}

.footer .faq-container {
  margin-bottom: 2rem;
}

.footer .faq-container h3 {
  color: #fff;
  margin-bottom: 1rem;
}

.footer-copyright {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}

/* Confess Main Columns */
.confess-main-left-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 2px solid blue;
  box-sizing: border-box;
}

.confess-main-right-column {
  border: 2px solid blue;
  box-sizing: border-box;
}

.confess-header {
  color: #f6efe7;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.confess-header h1 {
  margin: 0;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
}

.confess-header p {
  margin: 0;
  font-size: clamp(1rem, 2.8vw, 1.25rem);
  line-height: 1.4;
  color: rgba(246, 239, 231, 0.85);
}
