/* =============================================
   responsive.css — breakpointy
   Pogodynka.eu — jasny motyw
   ============================================= */

/* ---------- Tablet (≤ 980px) ---------- */
@media (max-width: 980px) {

    .nav-toggle { display: inline-flex; }

    .site-nav {
        position: fixed;
        inset: 110px 14px auto 14px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        max-height: calc(100vh - 130px);
        overflow: auto;
        gap: 4px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: var(--r-lg);
        background: #fff;
        box-shadow: var(--shadow-lg);
        z-index: 49;
    }

    .site-nav.is-open { display: flex; }

    .site-nav a {
        justify-content: flex-start;
        border-radius: var(--r-sm);
        min-height: 46px;
    }

    .nav-login { margin-left: 0; margin-top: 4px; }

    .hero-shell,
    .content-grid {
        grid-template-columns: 1fr;
    }

    .hero-shell { min-height: auto; }
    .hero-panel { align-self: stretch; }

    .module-grid,
    .info-grid,
    .article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .forecast-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

/* ---------- Telefon (≤ 720px) ---------- */
@media (max-width: 720px) {

    .container {
        width: min(100% - 28px, var(--container));
    }

    .top-bar { font-size: .78rem; }
    .top-bar-inner { min-height: 34px; gap: 8px 12px; }
    .top-bar-note { display: none; }

    .nav-wrap { min-height: 64px; }
    .brand img { width: 144px; }

    .site-nav {
        inset: 100px 12px auto 12px;
    }

    .hero { padding-top: 18px; }

    .hero-shell {
        border-radius: var(--r-lg);
        background:
            linear-gradient(165deg, rgba(16, 42, 82, .92), rgba(21, 101, 192, .72)),
            url("../img/backgrounds/weather-hero.png") center / cover no-repeat;
    }

    .hero-copy { padding: 30px 22px; }

    .hero-panel { margin: 0 14px 14px; }

    .section { padding: 30px 0; }

    .section-heading { display: block; }

    .section-note { margin-top: 10px; }

    .module-grid,
    .forecast-strip,
    .info-grid,
    .article-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .page-title { border-radius: var(--r-lg); }

    .alert-item { grid-template-columns: 1fr; }
    .alert-badge { display: none; }

    .button { width: 100%; justify-content: center; }

    .data-panel { padding: 20px; }
    .form-card  { padding: 22px; }
}

/* ---------- Małe telefony (≤ 420px) ---------- */
@media (max-width: 420px) {

    .top-clock { gap: 6px; }
    .hero-copy h1 { font-size: 1.95rem; }

    .forecast-card { padding: 16px 10px; }
    .forecast-temp { font-size: 1.6rem; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
