/* === ALBUKARAOQUE WEBSITE - PRINT STYLES === */
/* Optimized styles for printing song lists and other content */
/* Includes Albukaraoque branding for professional printed materials */

@media print {
  /* === HIDE NON-ESSENTIAL ELEMENTS === */
  .main-header,
  .nav,
  .hamburger,
  footer,
  .social-media-section,
  .social-icons,
  .hero-cta-button,
  .songlist-search-container,
  .filter-controls,
  .cta-section,
  .videos-cta-section,
  .booking-cta,
  button,
  .btn,
  video,
  iframe,
  .instagram-post,
  .instagram-media,
  .loading-overlay,
  .countdown-section,
  .gallery-cta,
  .hero-video,
  .video-placeholder {
    display: none !important;
  }

  /* === PAGE SETUP === */
  @page {
    margin: 0.75in 0.5in;
    size: letter portrait;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    font-family: 'Roboto', 'Arial', sans-serif;
    font-size: 10pt;
    line-height: 1.3;
    color: #000;
    background: #fff;
    margin: 0;
    padding: 0;
  }

  /* === PRINT HEADER WITH LOGO === */
  body::before {
    content: '';
    display: block;
    width: 100%;
    height: 80px;
    background: url('../ABKLogo_LandscapeCombo.png') no-repeat center top;
    background-size: contain;
    margin-bottom: 12pt;
    page-break-after: avoid;
  }

  /* === PRINT FOOTER WITH BRANDING === */
  body::after {
    content: 'Albukaraoque Live Band Karaoke • Albuquerque, NM • albukaraoque.com';
    display: block;
    width: 100%;
    text-align: center;
    font-size: 9pt;
    color: #40B5A3;
    border-top: 2pt solid #40B5A3;
    padding-top: 8pt;
    margin-top: 24pt;
    page-break-before: avoid;
  }

  /* === HEADINGS === */
  h1 {
    font-size: 22pt;
    margin-bottom: 10pt;
    page-break-after: avoid;
    color: #40B5A3;
    font-weight: bold;
  }

  h2 {
    font-size: 16pt;
    margin-top: 16pt;
    margin-bottom: 10pt;
    page-break-after: avoid;
    color: #2c3e50;
    font-weight: bold;
  }

  h3 {
    font-size: 13pt;
    margin-top: 10pt;
    margin-bottom: 8pt;
    page-break-after: avoid;
    color: #2c3e50;
  }

  h4 {
    font-size: 11pt;
    margin-top: 8pt;
    margin-bottom: 6pt;
    page-break-after: avoid;
    color: #333;
    text-align: center;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 1pt;
  }

  /* === HIDE HERO BACKGROUNDS BUT SHOW TEXT === */
  .songlist-hero,
  .events-hero,
  .musicians-hero,
  .faq-hero,
  .videos-hero,
  .contact-hero {
    background: none !important;
    padding: 12pt 0 !important;
    margin-bottom: 12pt;
    border-bottom: 1pt solid #40B5A3;
  }

  .hero-content {
    text-align: center;
  }

  .page-title {
    font-size: 24pt;
    margin-bottom: 6pt;
    color: #40B5A3;
  }

  .page-subtitle {
    font-size: 11pt;
    color: #333;
    margin-bottom: 10pt;
  }

  /* === SONG LIST TABLE === */
  .songlist-table-container {
    page-break-inside: auto;
  }

  #songlist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 8pt;
    margin-top: 10pt;
  }

  #songlist-table thead {
    display: table-header-group; /* Repeat header on each page */
    background-color: #40B5A3 !important;
    color: white;
  }

  #songlist-table th {
    background-color: #40B5A3 !important;
    color: white !important;
    border: 1px solid #2c3e50;
    padding: 5pt 3pt;
    font-weight: bold;
    text-align: left;
    font-size: 9pt;
  }

  #songlist-table td {
    border: 1px solid #ddd;
    padding: 3pt;
    page-break-inside: avoid;
  }

  #songlist-table tbody tr {
    page-break-inside: avoid;
  }

  #songlist-table tbody tr:nth-child(even) {
    background-color: #f9f9f9 !important;
  }

  /* Make artist and song columns bold */
  #songlist-table td:first-child,
  #songlist-table td:nth-child(2) {
    font-weight: bold;
  }

  /* === SHOW ALL COLUMNS FOR PRINT === */
  .extra-info,
  .desktop-only {
    display: table-cell !important;
  }

  /* === CONTENT SECTIONS === */
  .content-container {
    padding: 0;
    margin: 0;
  }

  .section-container {
    max-width: 100%;
    padding: 0 12pt;
  }

  .section-title {
    color: #40B5A3;
    font-size: 18pt;
    margin-bottom: 12pt;
    border-bottom: 1pt solid #40B5A3;
    padding-bottom: 6pt;
  }

  /* === LINKS === */
  a {
    color: #000;
    text-decoration: none;
  }

  /* Don't show URLs for most links to keep it clean */
  a[href]:after {
    content: "";
  }

  /* === PAGE BREAKS === */
  .page-break {
    page-break-after: always;
  }

  /* Avoid breaks in important elements */
  .schedule-item,
  .step,
  .feature,
  .musician-card,
  .event-card,
  .faq-item {
    page-break-inside: avoid;
    margin-bottom: 10pt;
  }

  /* === MUSICIANS PAGE === */
  .musicians-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12pt;
  }

  .musician-card {
    border: 1pt solid #ddd;
    padding: 10pt;
  }

  .musician-card img {
    display: none; /* Hide musician photos to save ink */
  }

  .musician-name {
    color: #40B5A3;
    font-weight: bold;
    font-size: 12pt;
  }

  .musician-role {
    color: #666;
    font-size: 10pt;
  }

  /* === EVENTS PAGE === */
  .event-card {
    border: 1pt solid #40B5A3;
    padding: 10pt;
    margin-bottom: 12pt;
    page-break-inside: avoid;
  }

  .event-title {
    color: #40B5A3;
    font-weight: bold;
    font-size: 13pt;
  }

  .event-date,
  .event-venue {
    font-size: 10pt;
    margin: 4pt 0;
  }

  /* === FAQ PAGE === */
  .faq-item {
    margin-bottom: 12pt;
    border-bottom: 1pt solid #ddd;
    padding-bottom: 8pt;
  }

  .faq-question {
    color: #40B5A3;
    font-weight: bold;
    font-size: 11pt;
    margin-bottom: 4pt;
  }

  .faq-answer {
    font-size: 10pt;
    line-height: 1.4;
  }

  /* === WEDDING/PRIVATE EVENTS === */
  .wedding-hero-image,
  .wedding-hero-img {
    display: none; /* Hide decorative images */
  }

  .schedule-grid,
  .signup-steps {
    display: block;
  }

  .schedule-item,
  .step {
    margin-bottom: 10pt;
    border: 1pt solid #ddd;
    padding: 8pt;
    border-left: 3pt solid #40B5A3;
  }

  .schedule-icon {
    display: inline-block;
    margin-right: 8pt;
    color: #40B5A3;
  }

  .step-number {
    display: inline-block;
    background: #40B5A3;
    color: white;
    width: 24pt;
    height: 24pt;
    border-radius: 50%;
    text-align: center;
    line-height: 24pt;
    margin-right: 8pt;
    font-weight: bold;
  }

  .pro-tip {
    background: #f9f9f9;
    border-left: 3pt solid #40B5A3;
    padding: 8pt;
    margin: 10pt 0;
  }

  /* === CONTACT PAGE === */
  .contact-info {
    font-size: 11pt;
    line-height: 1.6;
  }

  .contact-method {
    margin-bottom: 8pt;
  }

  form {
    display: none; /* Hide forms in print */
  }

  /* === OPTIMIZATION === */
  img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
  }

  /* Hide decorative images but keep functional ones */
  .hero-logo,
  .faded-logo,
  .musician-card img,
  .event-image {
    display: none;
  }

  /* Remove animations and transitions */
  * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }

  /* === FORCE BLACK TEXT FOR INK SAVINGS === */
  p, li, td, span, div {
    color: #000 !important;
  }

  /* Except for branding elements */
  .page-title,
  .section-title,
  h1, h2,
  .event-title,
  .musician-name,
  .faq-question {
    color: #40B5A3 !important;
  }

  /* === ADD PRINT DATE === */
  .songlist-content-section::before {
    content: 'Printed: ' attr(data-print-date);
    display: block;
    text-align: right;
    font-size: 8pt;
    color: #666;
    margin-bottom: 8pt;
  }
}

/* === PRINT UTILITIES === */
@media print {
  .print-only {
    display: block !important;
  }

  .no-print,
  .screen-only {
    display: none !important;
  }

  .print-page-break {
    page-break-after: always;
  }

  .print-avoid-break {
    page-break-inside: avoid;
  }
}
