/* ==========================================================================
   Responzivni stilovi
   ========================================================================== */

@media (max-width: 991.98px) {
  .main-nav {
    position: fixed; top: var(--header-height); left: 0; right: 0;
    background: var(--color-bg); flex-direction: column; align-items: flex-start;
    padding: 1.5rem; gap: 1.2rem; box-shadow: var(--shadow-soft);
    transform: translateY(-130%); transition: transform 0.35s ease; z-index: 999;
  }
  .main-nav.open { transform: translateY(0); }
  .hero { padding: 5rem 0 4rem; }
  .current-weather-card { padding: 1.8rem; }
}

@media (max-width: 767.98px) {
  .section-pad { padding: 3.2rem 0; }
  .search-input-group { flex-wrap: wrap; padding: 0.8rem; border-radius: var(--radius-md); }
  .search-input-group input { width: 100%; order: 1; }
  .search-input-group i { order: 0; }
  .search-input-group button { width: 100%; order: 2; margin-top: 0.5rem; }
  .cta-section { padding: 2.5rem 1.2rem; }
  #back-to-top { bottom: 18px; right: 18px; width: 42px; height: 42px; }
  .chart-container { height: 240px; }
}

@media (max-width: 575.98px) {
  .hero h1 { font-size: 1.7rem; }
  .weather-card { padding: 1.1rem 0.8rem; }
  .current-weather-card .big-temp { font-size: 2.6rem; }
  .stat-pill { padding: 0.7rem 0.5rem; }
  .stat-pill .stat-value { font-size: 0.9rem; }
}

/* Print */
@media print {
  .site-header, .site-footer, #back-to-top, #page-loader { display: none !important; }
}

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