/*
 * Print Stylesheet
 * Lettered by Lyndsay — Clean printing across all page types
 *
 * Hides navigation and interactive elements, resets backgrounds
 * for ink economy, and optimizes layout for paper output.
 */

@media print {
  /* ========================================
   * HIDE NON-ESSENTIAL ELEMENTS
   * ======================================== */

  .site-header,
  .site-footer,
  .back-to-top,
  .skip-link,
  .lightbox,
  .gallery-filters,
  .filter-scroll-container,
  .hero-scroll-indicator,
  .events-cta,
  .gallery-item-cta,
  .gallery-preview__cta,
  .gallery-duo__cta,
  .services-overview__cta,
  .events-cta-secondary-link,
  .gallery-preview__overlay,
  .gallery-preview__view-text,
  .service-card-arrow,
  .service-card-cta,
  .event-card-cta,
  .contact-form__faq-link,
  .btn {
    display: none !important;
  }

  /* ========================================
   * RESET BACKGROUNDS & COLORS
   * ======================================== */

  body {
    background: white !important;
    color: black !important;
  }

  /* Remove box shadows, glass effects, and backdrop filters */
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Remove noise texture overlays */
  .gallery-preview::before,
  .about-section::before,
  .site-footer::before,
  .site-footer::after {
    display: none !important;
  }

  /* Reset section backgrounds */
  .gallery-preview,
  .events-widget,
  .gallery-duo,
  .about-section,
  .about-section--cream,
  .about-section--white,
  .gallery-item-showcase,
  .gallery-item-content,
  .gallery-item-related,
  .gallery-item-back,
  .gallery-item-cta,
  .events-section--past,
  .contact-form-wrapper,
  .contact-alternative,
  .contact-expectations,
  .contact-faq-link,
  .contact-location,
  .service-card,
  .event-card,
  .gallery-card,
  .gallery-card-content,
  .about-value-item {
    background: white !important;
    border-color: #ccc !important;
  }

  /* ========================================
   * TYPOGRAPHY FOR PRINT
   * ======================================== */

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: black !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  p,
  li,
  td,
  th,
  dt,
  dd,
  span,
  time {
    color: #333 !important;
  }

  /* Prevent orphans and widows */
  p {
    orphans: 3;
    widows: 3;
  }

  /* ========================================
   * LAYOUT ADJUSTMENTS
   * ======================================== */

  /* Remove sticky positioning */
  .site-header {
    position: static !important;
  }

  /* Full-width containers for print */
  .container,
  .container-narrow,
  .container-wide {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Gallery grid — 2 columns for print */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12pt !important;
  }

  /* Services grid — single column for readability */
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 16pt !important;
  }

  /* Events grid — single column for print */
  .events-grid {
    grid-template-columns: 1fr !important;
    gap: 12pt !important;
  }

  /* Gallery preview — 2 columns for print */
  .gallery-preview__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12pt !important;
  }

  /* ========================================
   * CARDS — PRINT-FRIENDLY
   * ======================================== */

  .service-card,
  .event-card,
  .gallery-card,
  .card,
  .about-value-item {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
  }

  /* Constrain gallery images for print */
  .gallery-card-image img {
    max-height: 200pt !important;
  }

  /* ========================================
   * LINKS — SHOW URLs
   * ======================================== */

  /* Show URLs after external links */
  a[href^='http']::after {
    content: ' (' attr(href) ')';
    font-size: 9pt;
    color: #666 !important;
    font-weight: normal;
    word-break: break-all;
  }

  /* Don't show URLs for card/nav links */
  .gallery-card-link::after,
  .event-card-link::after,
  .past-event-item-link::after,
  .gallery-preview__link::after,
  .gallery-duo__link::after,
  .service-card-link::after,
  nav a::after,
  .footer-nav-link::after,
  .footer-social-link::after {
    content: none !important;
  }

  /* ========================================
   * REMOVE ANIMATIONS & TRANSITIONS
   * ======================================== */

  * {
    animation: none !important;
    transition: none !important;
  }

  /* ========================================
   * HERO — SIMPLIFY FOR PRINT
   * ======================================== */

  .hero-image-bg {
    min-height: auto !important;
    padding: 24pt 0 !important;
  }

  .hero-image-bg__overlay {
    background: rgba(0, 0, 0, 0.3) !important;
  }

  /* ========================================
   * PAGE MARGINS
   * ======================================== */

  @page {
    margin: 1.5cm;
  }
}
