/* ═══════════════════════════════════════════════════
   RESPONSIVE.CSS — Sri Sai Krishna Goshala
   Breakpoints: 1200px | 992px | 768px | 480px | 360px
═══════════════════════════════════════════════════ */

/* ─── LARGE DESKTOP (≤ 1200px) ─────────────────── */
@media (max-width: 1200px) {
  .sidebar {
    left: 50px;
  }

  .glass-card {
    margin-left: 260px;
    max-width: 680px;
  }

  .logo {
    width: clamp(140px, 28vw, 280px);
  }
}

/* ─── TABLET LANDSCAPE (≤ 992px) ───────────────── */
@media (max-width: 992px) {
  :root {
    --sidebar-w: 200px;
  }

  .sidebar {
    left: 30px;
  }

  .glass-card {
    margin-left: 240px;
    max-width: 580px;
    padding: 24px 20px;
  }

  .logo {
    width: clamp(130px, 26vw, 260px);
  }

  .display-title {
    font-size: clamp(18px, 3vw, 30px);
  }

  /* About page feature grid → 2 col */
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Activity grid → 2 col */
  .activity-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Gallery → 3 col */
  .gallery-grid .col-4 {
    width: 33.333%;
  }

  .gallery-img {
    height: 120px;
  }
}

/* ─── TABLET PORTRAIT (≤ 768px) ────────────────── */
@media (max-width: 768px) {

  /* Show hamburger button */
  .menu-toggle {
    display: flex !important;
  }

  /* Hide desktop overlay rule override */
  .overlay {
    display: none;
  }
  .overlay.show {
    display: block;
  }

  /* Sidebar → full-height slide drawer */
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    width: 240px !important;
    border-radius: 0 var(--radius) var(--radius) 0 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow-y: auto;
    padding: 80px 16px 30px !important;
    box-shadow: 4px 0 24px rgba(0,0,0,0.18);
  }

  .sidebar.open {
    transform: translateX(0) !important;
  }

  /* Hide active green bar in drawer */
  .sidebar a.active::after {
    display: none;
  }

  /* Content full width */
  .content {
    padding: 70px 16px 30px;
    align-items: center;
  }

  /* Home page */
  .display-title {
    font-size: clamp(16px, 5vw, 26px);
  }

  .logo {
    width: clamp(160px, 55vw, 260px);
  }

  /* Glass card — no left offset */
  .glass-card {
    margin-left: 0 !important;
    max-width: 100%;
    max-height: unset;
    padding: 20px 16px;
    border-radius: 14px;
  }

  /* Feature grid → 2 col on tablet */
  .row .col-6 {
    width: 50%;
  }

  /* Activity cards → full width stack */
  .row .col-md-6 {
    width: 100%;
  }

  /* Gallery → 2 columns */
  .gallery-grid .col-4 {
    width: 50%;
  }

  .gallery-img {
    height: 110px;
  }

  .section-title {
    font-size: 24px;
  }
  .contact_details_info .contact-info-card {
  width: 100%;
  margin-bottom: 0;
}
}

/* ─── MOBILE (≤ 480px) ──────────────────────────── */
@media (max-width: 480px) {

  .content {
    padding: 60px 12px 24px;
  }

  .display-title {
    font-size: clamp(15px, 5.5vw, 22px);
  }

  .sub, .desc, .footer-text {
    font-size: 12px;
  }

  .logo {
    width: clamp(140px, 60vw, 220px);
  }

  /* Glass card */
  .glass-card {
    padding: 16px 12px;
    border-radius: 12px;
  }

  .section-title {
    font-size: 17px;
  }

  .highlight {
    font-size: 14px;
  }

  /* Feature cards → single column */
  .row .col-6 {
    width: 100%;
  }

  /* Gallery → 2 columns still */
  .gallery-grid .col-4 {
    width: 50%;
  }

  .gallery-img {
    height: 90px;
  }

  /* Activity list text */
  .activity-list li {
    font-size: 12px;
  }

  /* Lightbox arrows */
  .lightbox-nav {
    font-size: 26px;
    padding: 6px 10px;
  }

  .lightbox-img {
    max-width: 94%;
  }
}

/* ─── SMALL MOBILE (≤ 360px) ───────────────────── */
@media (max-width: 360px) {

  :root {
    --radius: 14px;
  }

  .display-title {
    font-size: 14px;
  }

  .glass-card {
    padding: 12px 10px;
  }

  .section-title {
    font-size: 15px;
  }

  .gallery-img {
    height: 80px;
    border-radius: 7px;
  }

  .sidebar {
    width: 200px !important;
  }

  .menu-toggle {
    width: 38px;
    height: 38px;
  }
}
