/* Boks Lubin: drobne poprawki wdrożeniowe po odzyskaniu projektu. */
html { scroll-padding-top: 86px; }
body { overflow-x: clip; }
section[id] { scroll-margin-top: 80px; }
:target { scroll-margin-top: 80px; }

/* Nawigacja klawiaturą */
.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 1000;
  background: #f2efe9;
  color: #111316;
  padding: 12px 18px;
  font: 700 14px/1.4 system-ui, sans-serif;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .35);
}
.skip-link:focus { top: 12px; }

/* Nagłówki i opisy nie mogą rozciągać układu. */
main { min-width: 0; }
#trening [role="tabpanel"] { min-width: 0; }
#trening [role="tabpanel"] > div { min-width: 0; }

/* Fix potwierdzonego overflow 390px: min-height + aspect-ratio sekcji zdjęcia
   wymuszało ponad 380px szerokości mimo węższego kontenera. */
@media (max-width: 920px) {
  #trening [role="tabpanel"] > div:first-child {
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: auto;
    height: clamp(220px, 60vw, 390px);
  }
}

@media (max-width: 580px) {
  /* Na telefonach podpisy zdjęć powinny być widoczne bez hover. */
  #galeria li button > span {
    opacity: 1;
    transform: none;
  }
  #kontakt a, footer a { overflow-wrap: anywhere; }
  [role="dialog"][aria-modal="true"] {
    padding: 14px;
    max-height: 100dvh;
    overflow-y: auto;
  }
  [role="dialog"][aria-modal="true"] figure img {
    max-height: 63dvh;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* 360px: duża data w rozdziale tradycji wymuszała szerokość > viewport. */
@media (max-width: 390px) {
  #tradycja [class*="spread"],
  #tradycja [class*="mainPhoto"],
  #tradycja [class*="_right_"],
  #tradycja [class*="axis"] { min-width: 0; }
  #tradycja [class*="yearBlock"] { flex-wrap: wrap; gap: 8px 14px; }
  #tradycja [class*="_year_"] { font-size: clamp(64px, 21vw, 88px); }
}
