/* =============================================================
   NIOHUB – responsive.css
   Responzivní pravidla pro mobil, tablet, notebook a wide monitory.
   Mobile-first základ je v main.css; zde jsou breakpointy.
   ========================================================== */

/* -------------------------------------------------------------
   Široké monitory (≥ 1440px)
   ------------------------------------------------------------- */
@media (min-width: 1440px) {
    :root { --container: 1320px; }
    .hero__title { font-size: clamp(4rem, 8vw, 7.5rem); }
}

/* -------------------------------------------------------------
   Notebook / menší desktop (≤ 1100px)
   ------------------------------------------------------------- */
@media (max-width: 1100px) {
    .hero__panel { display: none; }            /* skryjeme plovoucí data panel */
    .hero__content { max-width: 100%; }
    .contact-layout { grid-template-columns: 1fr; gap: var(--sp-6); }
}

/* -------------------------------------------------------------
   Tablet (≤ 900px)
   ------------------------------------------------------------- */
@media (max-width: 900px) {
    .main-nav { display: none; }               /* skryjeme desktop navigaci */
    .header-actions__enter { display: none; }  /* CTA přesunuto do mobilního menu */
    .nav-toggle { display: inline-grid; }      /* zobrazíme hamburger */

    .site-footer__inner { grid-template-columns: 1fr 1fr; }

    /* Digitální mapa → vertikální seznam */
    .map-wrap .map { display: none; }
    .map-list { display: grid; gap: var(--sp-3); }
    .map-info { display: none; }

    .section { padding-block: var(--sp-8); }
}

/* -------------------------------------------------------------
   Velký mobil (≤ 640px)
   ------------------------------------------------------------- */
@media (max-width: 640px) {
    :root { --header-h: 64px; }

    .container { padding-inline: var(--sp-4); }

    .hero { min-height: auto; padding-top: calc(var(--header-h) + var(--sp-7)); padding-bottom: var(--sp-8); }
    .hero__actions { flex-direction: column; align-items: stretch; }
    .hero__actions .btn { width: 100%; }
    .hero__scroll { display: none; }

    .projects-grid,
    .news-grid,
    .pillars-grid { grid-template-columns: 1fr; }

    .site-footer__inner { grid-template-columns: 1fr; gap: var(--sp-6); }

    .brand__tag { display: none; }

    .project-card__actions { flex-direction: column; }
    .project-card__actions .btn { width: 100%; }

    .a11y__toggles { grid-template-columns: 1fr; }
    .a11y__panel { right: 8px; left: 8px; width: auto; }

    .status-row { flex-wrap: wrap; gap: var(--sp-3); }

    .visit-counter__stats { width: 100%; justify-content: center; }
    .visit-stat { flex: 1 1 28%; min-width: 92px; }
}

/* -------------------------------------------------------------
   Malý mobil (≤ 380px)
   ------------------------------------------------------------- */
@media (max-width: 380px) {
    .brand__name { font-size: 1rem; }
    .lang-switch { padding: 0.4rem 0.5rem; }
    h1 { font-size: 2rem; }
}

/* -------------------------------------------------------------
   Tisk
   ------------------------------------------------------------- */
@media print {
    .site-header, .a11y, .hero__bg, .hero__scroll, .nav-toggle { display: none !important; }
    body { background: #fff; color: #000; }
    .project-card, .news-card { border: 1px solid #ccc; break-inside: avoid; }
}

/* -------------------------------------------------------------
   Jemné dotykové cíle (min 44px) na dotykových zařízeních
   ------------------------------------------------------------- */
@media (hover: none) and (pointer: coarse) {
    .btn { padding-block: 0.95rem; }
    .main-nav__link, .site-footer__links a { padding-block: 0.6rem; }
}
