/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe, table { max-width: 100%; height: auto; }
body { overflow-x: hidden; }

/* Avoid accidental horizontal scroll from transforms */
html.mobile-menu-open, body.mobile-menu-open { overflow: hidden; }

/* ── Breakpoints ──
   Mobile:  ≤ 576px
   Tablet:  577px – 768px
   Desktop: ≥ 769px          */

@media (max-width: 768px) {

  /* Container */
  .container, [class*="container"] {
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Grid → 1 ustun */
  .row { flex-wrap: wrap !important; }
  .col-md-2, .col-md-3, .col-md-4,
  .col-md-6, .col-md-8, .col-md-9,
  [class*="col-"] {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* 2 ustun qolsin (kartochkalar uchun) */
  .col-mobile-2 {
    width: 50% !important;
    flex: 0 0 50% !important;
  }

  /* Font */
  h1 { font-size: 22px !important; line-height: 1.3 !important; }
  h2 { font-size: 18px !important; }
  h3 { font-size: 16px !important; }
  p, li, td, th { font-size: 14px !important; line-height: 1.6 !important; }

  /* Tugmalar — touch-friendly */
  .btn, button, [type="button"],
  [type="submit"], a.btn {
    min-height: 44px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    width: 100%;
    text-align: center;
  }
  .btn-inline { width: auto !important; }

  /* Forma */
  input, select, textarea {
    font-size: 16px !important; /* zoom oldini olish */
    width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
  }
  textarea { min-height: 100px !important; }

  /* Jadval */
  .table-responsive-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table { min-width: 500px; }

  /* Rasm */
  img { max-width: 100% !important; height: auto !important; }

  /* Video/iframe */
  .video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
  .video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

  /* Sekciya padding */
  section, .section { padding: 32px 0 !important; }

  /* Card grid */
  .cards-grid { grid-template-columns: 1fr !important; }
  .cards-grid-2 { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }

  /* Modal/lightbox */
  .modal-dialog, .lightbox-wrap, #staffModal > div {
    width: 95vw !important;
    max-width: 95vw !important;
    margin: 10px auto !important;
    max-height: 90vh;
    overflow-y: auto;
  }

  /* Hero banner */
  .hero-section, .page-hero, .detail-hero { padding: 24px 16px !important; min-height: auto !important; }
  .hero-section h1 { font-size: 20px !important; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px; }
  .footer-links { columns: 2; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
  .footer-socials { justify-content: center; }
  .footer-brand img {
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 40px !important;
    object-fit: contain !important;
  }

  /* leadership list cards */
  .person-card { flex-direction: column !important; }
  .pc-img { width: 100% !important; min-width: 100% !important; }
  .pc-img img { width: 100% !important; height: 200px !important; object-fit: cover !important; }

  /* rektorat detail */
  .detail-wrap { flex-direction: column !important; }
  .detail-sidebar { width: 100% !important; border-left: none !important; border-top: 1px solid #e5e7eb !important; }

  /* ─────────────────────────────────────────
     NAVBAR (partials/site/navbar.htm) — mobile
     Fix: menu ko‘rinmay qolishi / overlay qorayishi
     ───────────────────────────────────────── */

  /* Menu ochilganda */
  .nav-links.open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;        /* absolute emas, fixed */
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    background: #0a1628 !important;    /* to'q ko'k, aniq rang */
    z-index: 99999 !important;         /* hammadan ustida */
    padding: 16px !important;
    gap: 4px !important;
    max-height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
    border-top: 1px solid rgba(255,255,255,0.15) !important;
  }

  /* Har bir link */
  .nav-links.open .nav-item { width: 100% !important; }

  .nav-links.open .nav-link {
    display: flex !important;
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    color: #ffffff !important;         /* oq rang, aniq */
    background: transparent !important;
    border-radius: 8px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    text-decoration: none !important;
    pointer-events: auto !important;
  }
  .nav-links.open .nav-link:hover,
  .nav-links.open .nav-link:active {
    background: rgba(255,255,255,0.1) !important;
  }

  /* Dropdown ham ko'rinsin */
  .nav-links .dropdown {
    display: none !important;
    position: static !important;
    background: rgba(255,255,255,0.05) !important;
    border-radius: 8px !important;
    margin: 4px 0 4px 12px !important;
    padding: 4px !important;
    box-shadow: none !important;
    border: none !important;
  }
  .nav-links .dropdown.open {
    display: block !important;
  }
  .nav-links .dropdown li a {
    color: rgba(255,255,255,0.8) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    display: block !important;
    text-decoration: none !important;
    border-radius: 6px !important;
  }
  .nav-links .dropdown li a:hover {
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
  }

  /* Default: mobile menu yopiq */
  .nav-links {
    display: none !important;
  }

  /* header.htm ishlatayotgan mobil drawer (`#nav-menu.nav-menu.active`) ko‘rinishi */
  .nav-menu { display: none !important; }
  .nav-menu.active {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    --drawerW: min(320px, 88vw);
    width: var(--drawerW) !important;
    max-width: 88vw !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding-top: 90px !important; /* header balandligi */
    box-shadow: 4px 0 24px rgba(0,0,0,0.12);
  }

  /* Mobil menyu itemlari chekkaga yopishib qolmasin */
  .nav-menu.active .nav-item > a {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* X (yopish) tugmasi kichikroq bo‘lsin */
  .mobile-menu-close {
    width: 32px !important;
    height: 32px !important;
    top: 10px !important;
    right: 10px !important;
    font-size: 16px !important;
  }

  /* Dropdown ichida matn "ichkariga kirib ketmasin" (mobil panel tor bo'lganda) */
  .nav-menu.active .nav-dropdown {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 12px !important;
    padding: 4px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #f1f5f9 !important;
    transform: none !important;
    transition: none !important;
  }
  .nav-menu.active .nav-dropdown > a {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .nav-menu.active .nav-subdropdown > a {
    padding-left: 28px !important;
    padding-right: 14px !important;
  }

  /* Backdrop */
  .drawer-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 99990;
  }
  .drawer-backdrop.open { display: block; }
}

@media (max-width: 480px) {
  .cards-grid-2 { grid-template-columns: 1fr !important; }
  h1 { font-size: 18px !important; }
  h2 { font-size: 16px !important; }
}

/* Navbar o'zini ham fixed qil — scroll bo'lganda ko'rinsin */
.site-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #0a1628 !important;
}

/* Navbar balandligini hisob qilib body ga padding ber */
body {
  padding-top: 64px !important;
}

/* Bosh sahifadagi qorong'i overlay navbardan past bo‘lsin */
.hero-overlay, .modal-backdrop,
[style*="rgba(0,0,0"], [style*="rgba(0, 0, 0"] {
  z-index: 1 !important;
}

