/**
 * responsive.css — School Gov UA Theme
 * Адаптивні стилі для мобільних та планшетів
 */

/* === TABLET: ≤ 1024px === */
@media (max-width: 1024px) {
  :root { --container-pad: 1.25rem; }

  .layout-two-col   { grid-template-columns: 1fr; }
  .layout-inner     { grid-template-columns: 1fr; }
  .statistics-grid  { grid-template-columns: repeat(3, 1fr); }

  .main-menu > li > a { padding: var(--sp-md) var(--sp-md); font-size: var(--fs-xs); }
}

/* === MOBILE: ≤ 768px === */
@media (max-width: 768px) {
  :root {
    --container-pad: 1rem;
    --fs-3xl: 1.8rem;
    --fs-2xl: 1.5rem;
    --fs-xl:  1.2rem;
  }

  /* Header */
  .site-header__search { display: none; }
  .hamburger { display: flex; }

  /* Nav */
  .site-nav .container { padding: 0; }
  .main-menu {
    display: none;
    flex-direction: column;
    background: var(--color-white);
    width: 100%;
    padding: var(--sp-sm) 0;
    box-shadow: var(--shadow-md);
  }
  .main-menu.is-open { display: flex; }
  .main-menu > li > a {
    border-bottom: 1px solid var(--color-border);
    border-left: none;
    padding: var(--sp-md) var(--sp-lg);
  }
  .main-menu .dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    background: var(--color-off-white);
    padding-left: var(--sp-lg);
  }

  /* Statistics */
  .statistics-grid { grid-template-columns: 1fr; gap: var(--sp-md); }

  /* News grid */
  .news-grid-3 { grid-template-columns: 1fr; }
  .news-grid-2 { grid-template-columns: 1fr; }
  .admin-grid  { grid-template-columns: repeat(2, 1fr); }

  /* Contacts */
  .contacts-grid { grid-template-columns: 1fr; }
  .map-wrapper { height: 200px; }

  /* Footer */
  .footer-menu { flex-direction: column; gap: var(--sp-sm); }
  .footer-grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
}

/* === SMALL MOBILE: ≤ 480px === */
@media (max-width: 480px) {
  .btn-lg { padding: .75em 1.4em; font-size: var(--fs-sm); }
  .hero-slide__title { font-size: var(--fs-xl); }
  .stat-card__number { font-size: 2.2rem; }
  .hero-slider__arrow { display: none; }
  .admin-grid { grid-template-columns: 1fr 1fr; }
}

/* === GRIDS === */
.news-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-lg);
}
/* === ANNOUNCEMENTS GRID — динамічна кількість колонок === */
/* Замінює старий .news-grid-2 */
.announcements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--sp-lg);
  width: 100%;
}

/* 1 оголошення → повна ширина */
.announcements-grid:has(.announcements-grid__item:only-child) {
  grid-template-columns: 1fr;
}

/* 2 оголошення → 2 рівних колонки */
.announcements-grid:has(.announcements-grid__item:nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr) !important;
}

/* 3 оголошення → 3 рівних колонки */
.announcements-grid:has(.announcements-grid__item:nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* Fallback — старий клас (якщо залишились старі шаблони) */
.news-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-lg);
}
.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2×2 в sidebar 320px */
  gap: var(--sp-md);
}
.contacts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 420px;
  gap: var(--sp-xl);
  align-items: start;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--sp-2xl);
}

@media (max-width: 1024px) {
  .news-grid-3  { grid-template-columns: repeat(2, 1fr); }
  /* admin-grid залишається 2 колонки — sidebar 320px */
  .admin-grid   { grid-template-columns: repeat(2, 1fr); }
  .contacts-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .contacts-grid { grid-template-columns: 1fr; }
  .footer-grid   { grid-template-columns: 1fr; }
}
/* News grid — tablet */
@media (max-width: 1024px) {
  body.path-news .views-element-container > div {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* News grid — small mobile */
@media (max-width: 600px) {
  body.path-news .views-element-container > div {
    grid-template-columns: 1fr !important;
  }
}
/* === .news-grid-2 динамічні колонки (fallback для announcements unformatted view) === */
.news-grid-2:has(.views-row:only-child) {
  grid-template-columns: 1fr !important;
}
.news-grid-2:has(.views-row:nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr) !important;
}
.news-grid-2:has(.views-row:nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr) !important;
}
