/* ==========================================================================
   Responsive — full-screen thiệp on every device
   ========================================================================== */

/* Tablet & smaller */
@media (max-width: 900px) {
  .page { padding: 5vh 6vw; }
  .page__inner { gap: 1rem; }

  .book-cover { padding: 5vh 6vw; }
  .book-cover__monogram { width: 82px; height: 82px; font-size: 1.15rem; }
  .book-cover__title { font-size: clamp(2.6rem, 12vw, 4.6rem); }
  .book-cover__names { font-size: clamp(1.1rem, 4vw, 1.6rem); letter-spacing: 0.2em; padding: 0.7rem 0; }
  .book-cover__date { font-size: 0.78rem; letter-spacing: 0.32em; }

  .welcome__monogram { width: 88px; height: 88px; font-size: 1.15rem; }

  .couple { gap: 0.5rem; }
  .couple__amp { margin-top: -1.4rem; }

  .book-nav { gap: 0.5rem; padding: 0.4rem 0.6rem; }
  .book-nav__arrow { width: 36px; height: 36px; }

  .swipe-hint { bottom: 92px; font-size: 0.66rem; padding: 0.5rem 1rem; }
}

/* Mobile */
@media (max-width: 560px) {
  .page { padding: 4vh 5vw; }
  .page__inner { gap: 0.8rem; max-width: 100%; }

  .page__label { font-size: 0.62rem; letter-spacing: 0.36em; }

  .book-cover__monogram { width: 72px; height: 72px; font-size: 1rem; }
  .book-cover__title { font-size: clamp(2.4rem, 13vw, 3.8rem); }
  .book-cover__names { font-size: clamp(0.95rem, 4.4vw, 1.3rem); letter-spacing: 0.16em; padding: 0.6rem 0; }
  .book-cover__cta { margin-top: 1.6rem; }

  .welcome__monogram { width: 78px; height: 78px; font-size: 1.05rem; }
  .welcome__names { font-size: clamp(1.4rem, 6.5vw, 2rem); }

  .couple__portrait { width: clamp(100px, 24vw, 130px); height: clamp(100px, 24vw, 130px); }
  .couple__amp { font-size: 2.4rem; margin-top: -1.2rem; }

  .date-hero__num { font-size: clamp(3.2rem, 16vw, 4.4rem); }

  .countdown { gap: 0.5rem; }
  .countdown__item { padding: 0.9rem 0.4rem; }
  .countdown__number { font-size: clamp(1.6rem, 8vw, 2.2rem); }
  .countdown__label { font-size: 0.54rem; letter-spacing: 0.2em; }

  .invite__body,
  .thanks__body { font-size: 1.05rem; line-height: 1.8; }
  .rsvp__text { font-size: 0.95rem; line-height: 1.75; }
  .event-line__value { font-size: 0.95rem; }
}

/* Very short viewports (landscape phones) */
@media (max-height: 640px) {
  .page { padding: 3vh 5vw; }
  .page__inner { gap: 0.6rem; }
  .welcome__monogram { width: 64px; height: 64px; font-size: 1rem; margin-bottom: 0; }
  .welcome__names { font-size: clamp(1.3rem, 5vh, 1.8rem); }
  .couple__portrait { width: 96px; height: 96px; }
  .couple__amp { font-size: 2rem; margin-top: -1rem; }
  .date-hero__num { font-size: clamp(2.6rem, 10vh, 3.8rem); }
  .book-cover__title { font-size: clamp(2rem, 10vh, 3.4rem); }
  .book-cover__monogram { width: 64px; height: 64px; font-size: 1rem; }
}

/* Small phone */
@media (max-width: 380px) {
  .page__label { font-size: 0.58rem; letter-spacing: 0.28em; }
  .rsvp__mark { font-size: clamp(2.4rem, 12vw, 3.4rem); }
  .book-cover__eyebrow { font-size: 0.62rem; letter-spacing: 0.42em; }
}
