/* =========================================================
   SELECT — Responsive overrides
   Breakpoints (mobile-first):
   - sm  480
   - md  768
   - lg  1024
   - xl  1280
   - 2xl 1440
   - 3xl 1920
   ========================================================= */

/* ===== iOS / mobile parallax fallback (fixed bg is broken on iOS) ===== */
@media (max-width: 1023px) {
  .parallax__bg {
    background-attachment: scroll;
    inset: 0;
  }
}

/* ===== ≤ 1279px : tablet & small laptop ===== */
@media (max-width: 1279px) {
  .container { padding: 0 28px; }
  .section { padding: 80px 0; }
  .nav__inner { gap: 22px; }
  .nav__links { gap: 22px; }
  .gallery { grid-auto-rows: 200px; }
}

/* ===== ≤ 1023px : tablets ===== */
@media (max-width: 1023px) {
  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__burger { display: flex; }
  .nav__inner { gap: 16px; }

  .section { padding: 72px 0; }

  .about__grid { grid-template-columns: 1fr; gap: 48px; }
  .about__media { max-width: 640px; }
  .about__photo--top { aspect-ratio: 16/10; }
  .about__photo--bot { aspect-ratio: 16/9; }

  .cards { grid-template-columns: repeat(2, 1fr); }
  .cards .card:nth-child(3) { grid-column: 1 / -1; }
  .cards .card:nth-child(3) .card__media { aspect-ratio: 16/9; }

  .nabidka__sub { grid-template-columns: 1fr; }

  .gallery {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 180px;
  }

  .team { grid-template-columns: repeat(3, 1fr); gap: 18px; }

  .komunita__grid { grid-template-columns: 1fr; gap: 48px; max-width: 720px; margin: 0 auto; }
  .komunita__media { aspect-ratio: 4/5; max-width: 520px; margin: 0 auto; }

  .kontakt__grid { grid-template-columns: 1fr; gap: 24px; }
  .kontakt__map { min-height: 380px; }

  .footer__inner { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer__col--brand { grid-column: 1 / -1; }
}

/* ===== ≤ 767px : phones ===== */
@media (max-width: 767px) {
  body { font-size: 15px; }
  .container { padding: 0 20px; }
  .section { padding: 64px 0; }
  .section__head { margin-bottom: 36px; }

  .nav__inner { padding: 0 18px; gap: 12px; }
  .nav__logo-sub { display: none; }
  .nav__logo-title { font-size: 19px; }

  .hero {
    padding: 88px 0 44px;
    min-height: 100svh;
    justify-content: flex-start;
  }
  .hero__inner {
    gap: 26px;
    padding: 0 20px;
  }
  .hero__media {
    margin: 0 -20px;
    width: calc(100% + 40px);
  }
  .hero__img {
    max-height: none;
    border-radius: 0;
    box-shadow: 0 12px 40px rgba(0,0,0,0.45);
  }
  .hero__sub { font-size: 16px; padding: 0 6px; }
  .hero__ctas {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 320px;
    gap: 10px;
  }
  .hero__ctas .btn { justify-content: center; padding: 14px 22px; }
  .hero__scroll { display: none; }

  .marquee { padding: 16px 0; }

  .about { padding-top: 80px; }
  .about__media { gap: 12px; }
  .about__photo--top { aspect-ratio: 4/3; }
  .about__photo--bot { aspect-ratio: 16/10; }
  .about__stamp { width: 96px; height: 96px; right: -10px; bottom: -24px; }
  .about__stamp svg { width: 96px; height: 96px; }
  .about__bullets li { flex-direction: column; align-items: flex-start; gap: 4px; }
  .about__bullets li span { min-width: 0; }

  .parallax { min-height: 60vh; padding: 80px 20px; }

  .parallax__stats { grid-template-columns: 1fr; gap: 28px; }
  .stat { border-left: 0; border-top: 1px solid rgba(245,239,230,0.18); padding-top: 28px; }
  .stat:first-child { border-top: 0; padding-top: 16px; }

  .cards { grid-template-columns: 1fr; gap: 18px; }
  .cards .card:nth-child(3) { grid-column: auto; }
  .cards .card:nth-child(3) .card__media { aspect-ratio: 4/3; }

  .nabidka__sub-card { grid-template-columns: 1fr; min-height: auto; }
  .nabidka__sub-card img { aspect-ratio: 16/10; }

  .gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 140px;
    gap: 10px;
  }
  .gallery__item--wide { grid-column: span 2; }
  .gallery__item--tall { grid-row: span 2; grid-column: span 1; }

  .team { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; gap: 18px; }
  .team__photo { aspect-ratio: 4/3; }

  .komunita__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .komunita__bar-label { text-align: left; max-width: none; }

  .kontakt__info { padding: 28px 24px 26px; }
  .kontakt__value { font-size: 19px; }
  .kontakt__map { min-height: 320px; }

  .footer { padding: 56px 0 24px; }
  .footer__inner { grid-template-columns: 1fr; gap: 32px; margin-bottom: 36px; }
  .footer__col--brand { grid-column: auto; }
  .footer__base { flex-direction: column; gap: 8px; text-align: left; }
  .footer__logo { font-size: 32px; }

  /* Event modal — phones */
  .event-modal { padding: 14px; padding-top: max(14px, env(safe-area-inset-top)); padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  .event-modal__card { max-height: calc(100svh - 28px); }
  .event-modal__media { max-height: 50svh; }
  .event-modal__media img { max-height: 50svh; }
  .event-modal__body { padding: 18px 20px 20px; }
  .event-modal__title { font-size: 22px; }
  .event-modal__text { font-size: 14px; }
  .event-modal__close {
    top: max(10px, env(safe-area-inset-top));
    right: max(10px, env(safe-area-inset-right));
  }

  /* Drawer */
  .drawer__inner { gap: 14px; padding: 0 24px; }

  /* Lightbox */
  .lightbox__close { top: 16px; right: 16px; width: 44px; height: 44px; font-size: 24px; }
  .lightbox__nav { width: 44px; height: 44px; font-size: 22px; }
  .lightbox__nav--prev { left: 12px; }
  .lightbox__nav--next { right: 12px; }
}

/* ===== ≤ 479px : small phones ===== */
@media (max-width: 479px) {
  .hero__kicker { font-size: 11px; padding: 7px 14px; }
  .marquee__track { font-size: 1.4rem; gap: 28px; }
  .h-display { font-size: clamp(1.75rem, 8vw, 2.4rem); }
  .gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 120px;
    gap: 8px;
  }
}

/* ===== ≥ 1440px : large desktop ===== */
@media (min-width: 1440px) {
  :root { --container: 1360px; }
  .nav__inner { max-width: 1440px; }
}

/* ===== ≥ 1920px : full HD ===== */
@media (min-width: 1920px) {
  :root { --container: 1600px; }
  body { font-size: 17px; }
  .section { padding: 120px 0; }
  .nav__inner { max-width: 1760px; padding: 0 56px; }
  .gallery { grid-auto-rows: 260px; gap: 18px; }
  .hero__content { max-width: 1440px; }
}

/* Hover-capable only — disable hover transforms on touch devices */
@media (hover: none) {
  .gallery__item:hover { transform: none; }
  .card:hover { transform: none; }
  .team__card:hover { transform: none; }
  .btn:hover { transform: none; }
}
