/* Print Styles for Agenda Page */
@media print {
  /* General print settings */
  @page {
    size: letter portrait;
    margin: 0.5in 0.25in;
  }
  
  * {
    box-sizing: border-box !important;
  }
  
  body {
    background: white !important;
    color: black !important;
    font-size: 11pt;
    line-height: 1.2;
    font-family: "Istok Regular", sans-serif;
    overflow: visible !important;
    height: auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Make print more efficient and clean */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
  }

  /* Hide navigation elements and other non-essential items */
  .main-nav, 
  .subnav,
  nav,
  #navfull,
  footer,
  #footer,
  button:not(.day-tab.active-tab),
  [role="banner"],
  .day-filter-tabs,
  a[href^="http"]:not([href*="yourwebsite.com"]):after,
  .p-2.mx-auto, /* Hide registration button */
  .modal,
  .modal-container,
  .modal-content {
    display: none !important;
  }
  
  /* Show all content regardless of active state */
  .session-block-container {
    display: block !important;
    page-break-inside: avoid;
    break-inside: avoid !important;
    margin: 0 0 20px 0 !important; /* Set explicit margin bottom to 20px */
    width: 100% !important;
  }
  
  /* Prevent excessive breaking within days */
  [data-day] {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  
  /* Ensure sticky elements don't cause issues */
  .sticky {
    position: relative !important;
    top: auto !important;
  }
  
  /* Improve page breaks */
  .day-header {
    page-break-before: always;
    margin-top: 0.25in !important;
    padding-top: 0.15in !important;
    margin-bottom: 0.1in !important;
    font-size: 16pt !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  
  .day-header:after {
    margin-bottom: 0.1in !important;
  }
  
  /* Group sessions by day to prevent orphaned headers */
  .day-header + .session-block-container {
    break-before: avoid !important;
    page-break-before: avoid !important;
  }
  
  /* Keep related content together when possible */
  h1, h2, h3, h4, h5, h6 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  
  h1 + *, h2 + *, h3 + *, h4 + *, h5 + *, h6 + * {
    break-before: avoid !important;
    page-break-before: avoid !important;
  }
  
  /* Main layout adjustments */
  #schedule .mx-auto,
  .p-80-x {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  /* Reduce spacing between session blocks - container adjustments */
  .session-block-container {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important; /* Reduced to 20px */
    overflow: visible !important;
  }
  
  /* Session block with specific padding */
  .session-block {
    border: 1px solid #acacac !important;
    margin: 0 0 20px 0 !important; /* Reduced to 20px */
    padding: 0.125in !important; /* Exactly 1/8 inch */
    position: relative !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  /* Ensure the padding is applied by targeting all possible selectors */
  #schedule .session-block,
  .schedule .session-block,
  div.session-block,
  [id^="ses_"] {
    padding: 0.125in !important;
  }
  
  /* Time block adjustment */
  .time-block {
    margin-bottom: 0.1in !important;
  }
  
  .time-block .time {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 4pt 8pt !important;
    color: white !important;
    background: #386994 !important;
    font-size: 10pt !important;
  }
  
  .time-block .time::after {
    display: none !important;
  }
  
  /* Text adjustments */
  .section-header {
    font-size: 18pt !important;
    text-align: center !important;
  }
  
  .session-title {
    font-size: 14pt !important;
    margin-top: 0.15in !important;
    margin-bottom: 0.05in !important;
    line-height: 1.2 !important;
  }
  
  .session-description {
    margin: 0.1in 0 !important;
  }
  
  .session-description p {
    font-size: 10pt !important;
    line-height: 1.2 !important;
    margin-bottom: 0.05in !important;
  }
  
  /* Speaker layout - horizontal flow */
  .grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.xl\:grid-cols-4.xxl\:grid-cols-6 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.1in !important;
    column-count: initial !important;
    padding: 0.05in !important;
  }
  
  .grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.xl\:grid-cols-4.xxl\:grid-cols-6 > div {
    width: 2.2in !important;
    flex: 0 0 2.2in !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 0.1in !important;
  }
  
  /* Speaker styling - ensure names are visible */
  .spk-name {
    font-size: 10pt !important;
    line-height: 1.1 !important;
    color: #2d5476 !important;
    margin-bottom: 1pt !important;
    display: block !important;
  }
  
  .speaker-firm {
    font-size: 9pt !important;
    line-height: 1.1 !important;
    display: block !important;
  }
  
  /* Force speaker images to be smaller */
  .speaker-text {
    width: calc(100% - 50px) !important;
    float: right !important;
    display: block !important;
  }
  
  img[width="60"] {
    width: 45px !important;
    height: auto !important;
    float: left !important;
    display: inline-block !important;
  }
  
  /* Links */
  a {
    text-decoration: none !important;
    color: #000 !important;
  }
  
  /* Fix sponsor sections */
  .mt-8 {
    margin-top: 0.15in !important;
    page-break-inside: avoid !important;
  }
  
  .mt-8 h5 {
    margin-top: 0.1in !important;
    margin-bottom: 0.05in !important;
    font-size: 11pt !important;
  }
  
  /* Sponsor logo size and layout */
  /* Regular sponsors */
  .grid.grid-cols-1.md\:grid-cols-1.lg\:grid-cols-2.xl\:grid-cols-3.gap-4.lg\:gap-10,
  .grid.grid-cols-1.md\:grid-cols-3.lg\:grid-cols-5.xl\:grid-cols-5.gap-4.lg\:gap-10 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0.1in !important;
  }
  
  /* Wine sponsors */
  .grid.grid-cols-2.md\:grid-cols-4.lg\:grid-cols-5.xl\:grid-cols-6.gap-4.lg\:gap-10.justify-center.items-center {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0.1in !important;
  }
  
  /* Sponsor logo container */
  .s-wrapper {
    page-break-inside: avoid !important;
    display: inline-block !important;
    width: 1.7in !important;
    height: 0.8in !important;
    flex: 0 0 1.7in !important;
    margin: 0.05in !important;
    text-align: center !important;
    vertical-align: middle !important;
    overflow: hidden !important;
  }
  
  /* Large sponsor logos */
  .s-wrapper img.max-h-\[120px\],
  .s-wrapper img[class*="max-h-"] {
    max-height: 0.6in !important;
    max-width: 1.6in !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
  
  /* Smaller wine sponsor logos */
  .s-wrapper img.max-h-\[60px\],
  .s-wrapper img.max-h-\[90px\] {
    max-height: 0.5in !important;
    max-width: 1.5in !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
  
  /* Target the sponsor container p element and force center alignment */
  div.p-80.p-4 p.text-gray-dark.text-semibold.text-center.bold.md\:text-xl.sm\:text-lg,
  div.p-80.p-4 p.text-gray-dark.text-center {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
  }
  
  /* Override any auto margins and force centering for the logo */
  img.agenda-sponsor-logo,
  img.mx-auto.agenda-sponsor-logo,
  .agenda-sponsor-logo {
    display: block !important;
    max-width: 500px !important;
    width: 100% !important;
    min-width: 200px !important;
    margin: 0 auto !important;
    float: none !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }
  
  /* Prevent unwanted page breaks */
  .agenda-sponsor-logo,
  .p-80, 
  .p-4, 
  div.p-80.p-4,
  p.text-gray-dark.text-center.bold.text-sm.uppercase, /* "Filter by day" text */
  p.text-gray-dark.text-center.bold.text-sm.uppercase + *,
  .day-filter-tabs,  
  .agenda-sponsor-logo + *,
  .day-header:first-of-type {
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-before: avoid !important;
    break-before: avoid !important;
  }
  
  /* Keep the first day header with its content */
  #schedule > :first-child,
  section#schedule > :first-child {
    page-break-before: avoid !important;
    break-before: avoid !important;
  }
  
  /* Footer and unnecessary elements */
  .drop-shadow, .shadow, .highlight-shadow {
    box-shadow: none !important;
  }
  
  /* Clean up display issues */
  .p-80, .p-80-x, [class*="p-80"] {
    padding: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }
  
  /* Override for session containers to maintain spacing */
  .p-80-x.session-block-container {
    margin: 0 0 20px 0 !important;
  }
  
  /* Fix column issues */
  .col-span-1, .col-span-2, .col-span-3, .col-span-4, 
  .col-span-5, .col-span-6, .col-span-7, .col-span-8,
  .col-span-9, .col-span-10, .col-span-11, .col-span-12,
  [class*="col-span-"] {
    width: auto !important;
    max-width: 100% !important;
  }
  
  /* This handles any container that could be causing overflow */
  #schedule, #schedule > div, section, .schedule, 
  [role="main"], main, .container, .mx-auto {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
  }
  
  /* Add page title */
  body::before {
    content: "AIRA Conference Schedule";
    display: block;
    text-align: center;
    font-size: 18pt;
    font-weight: bold;
    margin-bottom: 0.3in;
    font-family: "Oswald", sans-serif;
  }
}