/* ============================================
   Main Stylesheet for Krienser Industrie Konzerte
   ============================================ */

/* Import all CSS modules in correct order */
@import url('variables.css');
@import url('reset.css');
@import url('typography.css');
@import url('components.css');
@import url('presets.css');
@import url('sections.css');

/* ==================== Global Styles ==================== */

html {
  font-size: 16px;
}

body {
  background-color: var(--color-white);
  overflow-x: hidden;
}

/* ==================== Main Layout ==================== */

main {
  overflow-x: hidden;
}

/* ==================== Accessibility ==================== */

/* Skip to main content link for screen readers */
.skip-to-main {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: var(--spacing-sm) var(--spacing-md);
  background-color: var(--color-orange);
  color: var(--color-white);
  text-decoration: none;
  border-radius: var(--border-radius-md);
}

.skip-to-main:focus {
  left: var(--spacing-sm);
  top: var(--spacing-sm);
}

/* Screen reader only text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ==================== Print Styles ==================== */

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

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

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
