/* ==========================================================================
   responsive.css — punkty kontrolne
   Kolejność: 1440 → 1280 → 1024 → 900 → 768 → 560 → 380
   ========================================================================== */

/* ---------- 1440 i mniej -------------------------------------------------- */
@media (max-width: 1440px) {
  .brand__tagline { font-size: 0.625rem; }
}

/* ---------- 1280 i mniej -------------------------------------------------- */
@media (max-width: 1280px) {
  .nav__list { gap: 1.15rem; }
  .nav__link { font-size: 0.75rem; letter-spacing: 0.06em; }
}

/* ---------- 1180: chowamy poziome menu na rzecz panelu -------------------- */
@media (max-width: 1180px) {
  .nav__list { display: none; }
}

/* ---------- 1024 i mniej -------------------------------------------------- */
@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .stats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat { border-left: 1px solid var(--color-line); border-top: 1px solid var(--color-line); }
  .stat:nth-child(3n + 1) { border-left: 0; padding-left: 0; }
  .stat:nth-child(-n + 3) { border-top: 0; }

  .split,
  .split--even,
  .project-hero__grid,
  .project-body__grid { grid-template-columns: minmax(0, 1fr); }
  /* Układ jednokolumnowy — druga kolumna nie istnieje, więc modyfikator
     przytrzymujący zakres po prawej trzeba cofnąć. */
  .project-body__grid--scope-only > * { grid-column: auto; }

  .project-hero__grid { gap: clamp(1.75rem, 4vw, 2.5rem); }
  .project-hero__media { order: -1; aspect-ratio: 16 / 9; }

  .discipline { grid-template-columns: 3.5rem minmax(0, 1fr); }
  .discipline__body { grid-column: 2; }

  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
}

/* ---------- 900 i mniej --------------------------------------------------- */
@media (max-width: 900px) {
  .brand__rule,
  .brand__tagline { display: none; }

  .hero { min-height: min(88vh, 760px); }
  .hero__inner { padding-bottom: clamp(3rem, 8vh, 4.5rem); }
  .hero__content { max-width: none; }
  .hero__title { max-width: 18ch; }
  .hero__scroll { display: none; }

  .timeline__item { grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-md); }
}

/* ---------- 768 i mniej (tablet pionowo / duży telefon) ------------------- */
@media (max-width: 768px) {
  .section-head { align-items: flex-start; }

  .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat {
    border-left: 1px solid var(--color-line);
    border-top: 1px solid var(--color-line);
    padding-left: 1rem;
  }
  .stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .stat:nth-child(-n + 2) { border-top: 0; }

  .form__row { grid-template-columns: minmax(0, 1fr); }

  .scope-list,
  .discipline__items { grid-template-columns: minmax(0, 1fr); }

  .btn { min-width: 0; width: 100%; }
  .hero__actions { flex-direction: column; align-items: stretch; max-width: 22rem; }

  .project-card__media { aspect-ratio: 4 / 3; }

  .filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 1.25rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .filters::-webkit-scrollbar { display: none; }
  .filters__count { display: none; }

  .job { grid-template-columns: minmax(0, 1fr); align-items: start; }

  .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- 560 i mniej (telefon) ----------------------------------------- */
@media (max-width: 560px) {
  .grid--4,
  .grid--3,
  .grid--2,
  .gallery__grid { grid-template-columns: minmax(0, 1fr); }

  .hero { min-height: 100svh; }
  .hero__inner { padding-bottom: clamp(2.5rem, 8vh, 4rem); }
  .hero__credit { display: none; }

  .stats__grid { grid-template-columns: minmax(0, 1fr); }
  .stat,
  .stat:first-child,
  .stat:nth-child(n) {
    border-left: 0;
    border-top: 1px solid var(--color-line);
    padding-left: 0;
    padding-block: 1.25rem;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0 1rem;
    align-items: center;
  }
  .stat:first-child { border-top: 0; }
  .stat__icon { margin-bottom: 0; grid-row: span 2; width: 22px; height: 22px; }
  .stat__label { max-width: none; }

  .discipline { grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); }
  .discipline__number { padding-top: 0; }
  .discipline__body { grid-column: 1; }

  .timeline__item { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }

  .meta-table__row { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }

  .site-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .site-footer__grid > :first-child { grid-column: auto; }

  .project-nav { font-size: 0.625rem; }

  .lightbox__nav { width: 2.5rem; height: 2.5rem; }
}

/* ---------- 380 i mniej (małe telefony, 360 px) ---------------------------- */
@media (max-width: 380px) {
  .brand__name { font-size: 0.875rem; }
  .menu-panel__link { font-size: 1.625rem; }
  .lang { display: none; }
}

/* ---------- urządzenia dotykowe: bez hover-only ---------------------------- */
@media (hover: none) {
  .project-card__arrow,
  .project-tile__tag { opacity: 1; transform: none; }
}

/* ---------- druk ----------------------------------------------------------- */
@media print {
  .site-header,
  .menu-panel,
  .hero__scroll,
  .filters,
  .load-more,
  .proto-bar { display: none !important; }
  body { padding-top: 0; }
  .section--dark { background: #fff; color: #000; }
}
