/* ==========================================================
   AZTU — RESPONSIVE HELPERS
   Ən sonda yüklənir. Yalnız təhlükəsiz qaydalar.
   ========================================================== */

/* ---- Global reset (bütün ekranlara faydalı) ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; }
img, video, svg, iframe { max-width: 100%; height: auto; display: block; }

/* ---- CSS Tokens ---- */
:root {
  --container: 1500px;
  --gutter: 24px;
  --radius: 18px;
  --shadow: 0 18px 45px rgba(2,6,23,.08);
  --header-h: 86px;
  --tap: 44px;
}
@media (max-width: 1280px) { :root { --container: 1200px; } }
@media (max-width: 1024px) { :root { --gutter: 18px; } }
@media (max-width: 640px)  { :root { --gutter: 14px; --header-h: 72px; } }

/* ---- Container ---- */
/* NOT: .container artıq style.css-dədir, burada yalnız override lazım olsa: */
@media (max-width: 640px) {
  .container {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

/* ---- Typography (clamp ilə fluid) ---- */
/* Bu qaydalar style.css-dəkiləri üstələyir — ehtiyac yoxdursa comment et */
/* h1 { font-size: clamp(26px, 2.8vw, 40px); line-height:1.12; } */
/* h2 { font-size: clamp(20px, 2.2vw, 30px); line-height:1.18; } */
/* h3 { font-size: clamp(16px, 1.6vw, 20px); line-height:1.24; } */

/* ---- Tap targets ---- */
button, .btn, a.btn, .cta-button, input[type="submit"] {
  min-height: var(--tap);
}

/* ---- Card border-radius unify ---- */
.card,
.news-card,
.sd-card,
.sd-archive-card,
.partner-card,
.mentor-card,
.event-card,
.news-related-card,
.news-side-card {
  border-radius: var(--radius);
  overflow: hidden;
}

/* ---- Image object-fit in media wrappers ---- */
.sd-media img,
.news-media img,
.news-card-media img,
.news-related-media img,
.single-news-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---- Grid-3 helper ---- */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 1100px) { .grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 680px)  { .grid-3 { grid-template-columns: 1fr; } }

/* ---- Horizontal scroll helper ---- */
.h-scroll {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: 10px;
}
.h-scroll > * {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

/* ---- News media wrappers ---- */
.news-featured-media,
.news-card-media {
  overflow: hidden;
  border-radius: 18px;
}
.news-featured-media .news-media-bg {
  width: 100%;
  height: 100%;
  min-height: 320px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.news-card-media .news-media-bg {
  width: 100%;
  height: 220px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ---- Single news: geri düymə floating olmasın ---- */
.news-single .news-back {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  transform: none !important;
  box-shadow: none !important;
}