/* ==========================================================================
   PRINT STYLESHEET
   --------------------------------------------------------------------------
   Used only when the website is printed or saved as a PDF (File → Print).
   It turns the page into a clean, ink-friendly keepsake: no menu, no buttons,
   no dark backgrounds, and no links cut off mid-sentence.

   You do not normally need to change anything here. If you want to keep a
   section off the printed copy, add its name to the "hidden when printing"
   list below.
   ========================================================================== */

@page {
  margin: 16mm 14mm;
}

@media print {
  /* --- Ink-friendly basics ---------------------------------------------- */
  html,
  body {
    background: #fff !important;
    color: #1a1a1a !important;
    font-size: 11pt;
    line-height: 1.5;
  }

  /* --- Hidden when printing (add your own selectors here) --------------- */
  .nav,
  .skip-link,
  .btn,
  .nav__toggle,
  .hero__veil,
  .countdown,
  .rsvp__form,
  .rsvp__thanks,
  .contact__links,
  .gallery__grid .gallery__item:not(.gallery__item--large) {
    display: none !important;
  }

  /* --- Layout ----------------------------------------------------------- */
  .section {
    padding: 10mm 0 !important;
    break-inside: avoid;
  }

  .hero {
    min-height: auto !important;
    padding: 0 0 8mm !important;
    text-align: center;
  }

  .hero__image {
    position: static !important;
    height: 70mm !important;
    object-fit: cover;
  }

  .hero__names {
    font-size: 30pt !important;
  }

  .hero__date {
    font-size: 14pt !important;
  }

  h2 {
    font-size: 16pt !important;
    break-after: avoid;
  }

  h3 {
    font-size: 12pt !important;
    break-after: avoid;
  }

  /* --- Cards and photos ------------------------------------------------- */
  .card,
  .rsvp__form,
  .travel__cta {
    background: #fff !important;
    border: 0.4pt solid #bbb !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .cards {
    display: block !important;
  }

  .card {
    margin-bottom: 5mm;
  }

  img {
    max-width: 100% !important;
    break-inside: avoid;
  }

  .welcome img,
  .gallery__item--large img {
    max-height: 90mm !important;
    object-fit: cover;
  }

  /* --- Links: print the address so the paper copy is useful -------------- */
  a {
    color: #1a1a1a !important;
    text-decoration: none !important;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8.5pt;
    color: #555;
    word-break: break-all;
  }

  /* --- No animation on paper -------------------------------------------- */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .footer {
    background: #fff !important;
    color: #1a1a1a !important;
    border-top: 0.4pt solid #bbb;
    break-before: avoid;
  }
}
