/* 
 * Print Styles for Job Page
 * Optimized for A4 paper format and clean, readable output
 */

@media print {
  /* Basic print reset */
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* CRITICAL: Override fade-in animation that hides content in print */
  .block {
    opacity: 1 !important;
    transform: none !important;
  }

  @page {
    margin: 2cm;
    size: A4;
  }

  /* Remove any color backgrounds and ensure black text */
  .color--white,
  .color--light-grey,
  .color--black-01,
  .color--black-02 {
    color: #000 !important;
  }

  .background-color--black-01,
  .background-color--black-02,
  .background-color--light-grey,
  .background-color--white {
    background-color: white !important;
  }

  .text_normal {
    font-size: 12pt !important;
    line-height: 1.4 !important;
    color: #000 !important;
  }

  .text_tiny {
    font-size: 10pt !important;
    line-height: 1.3 !important;
    color: #000 !important;
  }

  /* Remove unnecessary elements for print */
  .job__sticky,
  .header,
  .footer,
  .job__apply,
  .button,
  .socials,
  .job__socials,
  .navigation,
  .menu,
  .sticky__inner,
  .section--buffer,
  nav {
    display: none !important;
  }

  /* [data-barba="container"] {
    display: none !important;
  } */

  /* Body and container adjustments */
  body, html {
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
    font-family: Arial, sans-serif !important;
    font-size: 12pt !important;
    line-height: 1.4 !important;
    color: #000 !important;
  }

  .container, main {
    width: 100% !important;
    max-width: none !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Section adjustments */
  .section {
    padding: 0 !important;
    margin: 0 !important;
    /* Remove page-break-inside: avoid to allow sections to break across pages */
    page-break-inside: auto;
    background: white !important;
  }

  .section--dark, .section--light {
    background: white !important;
  }

  /* Grid and column layout for print */
  .grid {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-gap: 0 !important;
  }

  .column {
    width: 100% !important;
    grid-column: unset !important;
    margin: 0 0 1em 0 !important;
    break-inside: avoid;
  }

  /* Job header - make it compact for print */
  .job__header {
    width: 100% !important;
    height: 150px !important;
    margin: 0 0 1em 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    overflow: hidden !important;
    border: 1px solid #ddd !important;
  }

  .job__header > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Job headline */
  .job__headline {
    font-size: 20pt !important;
    line-height: 1.2 !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 0 0 1em 0 !important;
    page-break-after: avoid;
  }

  /* Sidebar content */
  .job__sidebar {
    background: #f8f8f8 !important;
    padding: 12pt !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    margin: 0 0 1em 0 !important;
    /* Allow sidebar to break across pages if needed */
    page-break-inside: auto;
  }

  .sidebar__header {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    margin: 0 0 1em 0 !important;
  }

  .sidebar__title {
    font-size: 14pt !important;
    font-weight: bold !important;
    color: #000 !important;
    transform: none !important;
  }

  .sidebar__item {
    margin: 0 0 0.8em 0 !important;
  }

  .sidebar__label {
    font-size: 9pt !important;
    font-weight: bold !important;
    color: #666 !important;
    text-transform: uppercase !important;
    margin: 0 0 0.2em 0 !important;
  }

  .sidebar__value {
    font-size: 11pt !important;
    color: #000 !important;
    margin: 0 !important;
  }

  .sidebar__line {
    width: 100% !important;
    height: 1px !important;
    background: #ddd !important;
    margin: 0.8em 0 !important;
    border: none !important;
  }

  .sidebar__awards {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10pt !important;
    margin: 1em 0 0 0 !important;
  }

  .sidebar__award {
    width: 80px !important;
    height: 80px !important;
  }

  .award__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* Job content */
  .job__content {
    background: white !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin: 0 0 2em 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  .job__accordion {
    margin: 0 0 2em 0 !important;
    page-break-inside: avoid;
    overflow: visible !important;
    position: relative !important;
  }

  .accordion__toggle {
    display: flex !important;
    align-items: center !important;
    gap: 1em !important;
    padding: 0 0 0.8em 0 !important;
    border-bottom: 2px solid #000 !important;
    margin: 0 0 1em 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .accordion__count {
    background: #000 !important;
    color: white !important;
    padding: 6pt 8pt !important;
    border-radius: 0 !important;
    font-size: 9pt !important;
    font-weight: bold !important;
    min-width: 25pt !important;
    text-align: center !important;
    flex-shrink: 0 !important;
  }

  .accordion__title {
    font-size: 14pt !important;
    font-weight: bold !important;
    color: #000 !important;
    transform: none !important;
    flex: 1 !important;
    line-height: 1.2 !important;
  }

  .accordion__drawer {
    overflow: visible !important;
    position: relative !important;
    z-index: 0 !important;
    height: auto !important;
  }

  .accordion__inner {
    padding: 0 0 1.5em 0 !important;
    position: relative !important;
    background: white !important;
    clear: both !important;
  }

  .accordion__inner p {
    margin: 0 0 1em 0 !important;
    color: #000 !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
    position: relative !important;
  }

  .accordion__inner p:last-child {
    margin-bottom: 0 !important;
  }

  .accordion__inner br {
    display: block !important;
    margin: 0.3em 0 !important;
  }

  .accordion__inner ul {
    column-count: 1 !important;
    padding: 0 0 0 18pt !important;
    margin: 1em 0 1.5em 0 !important;
    list-style: none !important;
    position: relative !important;
  }

  .accordion__inner ul:last-child {
    margin-bottom: 0 !important;
  }

  .accordion__inner ul li {
    margin: 0 0 0.6em 0 !important;
    padding: 0 0 0 18pt !important;
    break-inside: avoid !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="10" cy="10" r="2" fill="%23000"/></svg>') !important;
    background-position: left top 5pt !important;
    background-repeat: no-repeat !important;
    background-size: 6pt !important;
    color: #000 !important;
    font-size: 10pt !important;
    line-height: 1.3 !important;
    position: relative !important;
  }

  .accordion__inner ul li:last-child {
    margin-bottom: 0 !important;
  }

  /* Job benefits section */
  .job__benefits {
    margin: 0 0 2em 0 !important;
    page-break-inside: avoid;
  }

  .job__benefits .headline {
    margin: 0 0 1.5em 0 !important;
  }

  .job__benefits .headline h3,
  .job__benefits .headline h4,
  .job__benefits .headline h5 {
    font-size: 16pt !important;
    color: #000 !important;
    margin: 0 !important;
  }

  /* Benefits slider -> grid conversion for print */
  .blaze-container {
    display: block !important;
    overflow: visible !important;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
  }

  .blaze-track {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12pt !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    position: static !important;
    overflow: visible !important;
    /* If there are many benefits, allow grid to wrap */
    grid-auto-rows: minmax(min-content, max-content) !important;
  }

  /* Hide slider navigation elements */
  .blaze-prev,
  .blaze-next,
  .blaze-pagination,
  .blaze-dots {
    display: none !important;
  }

  .blaze-slide {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }

  /* Style individual benefit items */
  .benefit {
    width: 100% !important;
    grid-template-rows: 0 auto !important;
    background: #f8f8f8 !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 12pt !important;
    margin: 0 !important;
    page-break-inside: avoid;
    text-align: center !important;
  }

  .benefit__image {
    width: 40pt !important;
    height: 40pt !important;
    margin: 0 auto 8pt auto !important;
  }

  .benefit__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .benefit__title {
    font-size: 10pt !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 0 0 4pt 0 !important;
    line-height: 1.2 !important;
  }

  .benefit__text {
    font-size: 9pt !important;
    color: #666 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
  }

  /* Job contacts */
  .job__contacts {
    background: #f8f8f8 !important;
    padding: 15pt !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    margin: 0 0 2em 0 !important;
    page-break-inside: avoid;
  }

  .job__contact .contact {
    display: block !important;
    margin: 0 0 2em 0 !important;
    background: white !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .contact__image {
    width: 120px !important;
    height: 120px !important;
    float: left !important;
    margin: 0 15pt 15pt 0 !important;
    position: relative !important;
  }

  .contact__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .contact__placeholder {
    width: 100% !important;
    height: 100% !important;
    background: #ddd !important;
  }

  .contact__content {
    padding: 15pt !important;
    display: block !important;
  }

  .contact__name {
    font-size: 14pt !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 0 0 0.5em 0 !important;
  }

  .contact__position {
    font-size: 12pt !important;
    color: #666 !important;
    margin: 0 0 1em 0 !important;
  }

  .contact__buttons {
    display: block !important;
  }

  .contact__button {
    display: block !important;
    margin: 0 0 0.5em 0 !important;
    font-size: 11pt !important;
    color: #000 !important;
  }

  /* Job values section */
  .job__values {
    background: white !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    margin: 0 0 2em 0 !important;
    page-break-inside: avoid;
  }

  .values {
    display: block !important;
    padding: 15pt !important;
  }

  .values__headline {
    margin: 0 0 1.5em 0 !important;
  }

  .values__items {
    display: block !important;
  }

  .values__item {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 1em 0 !important;
    padding: 10pt !important;
    background: #f8f8f8 !important;
    border: 1px solid #ddd !important;
    break-inside: avoid !important;
  }

  .values__image {
    width: 60px !important;
    height: 60px !important;
    margin: 0 15pt 0 0 !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .values__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .values__data {
    flex: 1 !important;
  }

  .values__number {
    background: #000 !important;
    color: white !important;
    padding: 4pt 8pt !important;
    border-radius: 0 !important;
    font-size: 10pt !important;
    font-weight: bold !important;
    margin: 0 0 0.5em 0 !important;
    display: inline-block !important;
  }

  .values__text {
    font-size: 12pt !important;
    color: #000 !important;
    margin: 0 !important;
  }

  .values__video {
    display: none !important; /* Videos don't print well */
  }

  /* Headlines */
  .h3 {
    font-size: 20pt !important;
    line-height: 1.2 !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 1em 0 0.5em 0 !important;
    page-break-after: avoid;
  }

  .h4 {
    font-size: 16pt !important;
    line-height: 1.2 !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 1em 0 0.5em 0 !important;
    page-break-after: avoid;
  }

  .h5 {
    font-size: 14pt !important;
    line-height: 1.2 !important;
    font-weight: bold !important;
    color: #000 !important;
    margin: 1em 0 0.5em 0 !important;
    page-break-after: avoid;
  }

  /* Hide decorative elements */
  .gradient,
  .glass,
  svg:not(.sidebar__icon svg),
  video,
  .button__icon {
    display: none !important;
  }

  /* Ensure proper page breaks */
  .job__accordion,
  .job__sidebar,
  .job__contacts,
  .job__values,
  .contact {
    page-break-inside: avoid;
  }

  /* Add some spacing between major sections */
  .job__sidebar + .column,
  .job__contacts + *,
  .job__values + * {
    margin-top: 2em !important;
  }

  /* HR styling for print */
  hr {
    border: none !important;
    border-top: 1px solid #ddd !important;
    margin: 1.5em 0 !important;
  }

  /* Improve readability of small text */
  .sidebar__label,
  .contact__position,
  .text_tiny {
    font-size: 10pt !important;
    /* color: #666 !important; */
  }

  /* Print-specific utility classes */
  .page-break-before {
    page-break-before: always;
  }

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

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