/* ==========================================
   Mrunal Bhide Website - Responsive Stylesheet
   ========================================== */

/* ------------------------------------------
   Tablet & Medium Devices (<= 1024px)
   ------------------------------------------ */
@media screen and (max-width: 1024px) {
  /* Navigation */
  [data-nav] {
    padding: 16px 24px !important;
    gap: 18px !important;
  }

  /* Grid Layouts adjustment */
  section {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  header {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ------------------------------------------
   Tablets & Mobile Landscape (<= 900px)
   ------------------------------------------ */
@media screen and (max-width: 900px) {
  /* Navigation Bar */
  [data-nav] {
    flex-wrap: wrap !important;
    gap: 12px 20px !important;
    padding: 14px 20px !important;
  }

  [data-nav] a.hnav {
    font-size: 13px !important;
  }

  /* Homepage & About Hero Grids */
  header[style*="display: grid"],
  header[style*="display:grid"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    padding-top: 130px !important;
    text-align: center !important;
  }

  header [style*="display: flex"],
  header [style*="display:flex"] {
    justify-content: center !important;
  }

  /* 2-Column Sections stack to 1-Column */
  section div[style*="grid-template-columns: 0.9fr 1.1fr"],
  section div[style*="grid-template-columns:0.9fr 1.1fr"],
  section div[style*="grid-template-columns: 1.7fr 1fr"],
  section div[style*="grid-template-columns:1.7fr 1fr"],
  section div[style*="grid-template-columns: 1fr 1fr"],
  section div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Instruments Grid */
  div[style*="grid-template-columns: repeat(5, 1fr)"],
  div[style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }

  /* Festivals Grid */
  div[style*="grid-template-columns: repeat(3, 1fr)"],
  div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* Legacy & Lineage Banners */
  div[style*="display: flex; align-items: flex-end; justify-content: space-between"],
  div[style*="display:flex;align-items:flex-end;justify-content:space-between"],
  div[style*="display: flex; align-items: center; justify-content: space-between"],
  div[style*="display:flex;align-items:center;justify-content:space-between"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  /* Award Rows */
  .award-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Photo Carousel Buttons & Track */
  div[style*="padding:0 40px"],
  div[style*="padding: 0 40px"] {
    padding: 0 10px !important;
  }

  #carouselPrev {
    left: -5px !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 22px !important;
  }

  #carouselNext {
    right: -5px !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 22px !important;
  }
}

/* ------------------------------------------
   Mobile Portrait (<= 640px)
   ------------------------------------------ */
@media screen and (max-width: 640px) {
  /* Navigation */
  [data-nav] {
    padding: 12px 16px !important;
  }

  [data-nav] a[href*="url('/')"] {
    font-size: 19px !important;
  }

  [data-nav] a.hnav {
    font-size: 12px !important;
    padding: 2px 4px !important;
  }

  /* Typography Padding */
  section {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  header {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 120px !important;
    padding-bottom: 50px !important;
  }

  h1 {
    font-size: clamp(34px, 8.5vw, 54px) !important;
  }

  h2 {
    font-size: clamp(26px, 6.5vw, 38px) !important;
  }

  /* Contact Section Card */
  #contact div[style*="grid-template-columns: repeat(2, 1fr)"],
  #contact div[style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: 1fr !important;
    padding: 30px 20px !important;
    gap: 24px !important;
    text-align: center !important;
  }

  #contact div[style*="border-right"] {
    border-right: none !important;
    border-bottom: 1px solid rgba(122, 27, 12, 0.2) !important;
    padding-right: 0 !important;
    padding-bottom: 20px !important;
  }

  #contact div[style*="padding-left"] {
    padding-left: 0 !important;
  }

  #contact a[href*="tel:"] {
    align-items: center !important;
  }

  /* Awards 2-Column Grid */
  div[style*="grid-template-columns:repeat(2,1fr)"],
  div[style*="grid-template-columns: repeat(2, 1fr)"] {
    grid-template-columns: 1fr !important;
  }

  /* Instruments Grid 2-Column on Mobile */
  div[style*="grid-template-columns: repeat(5, 1fr)"],
  div[style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Festivals List 1-Column on Mobile */
  div[style*="grid-template-columns: repeat(3, 1fr)"],
  div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Photo Carousel Card Sizing */
  .gallery-card,
  div[style*="flex:0 0 340px"],
  div[style*="flex: 0 0 340px"] {
    flex: 0 0 280px !important;
  }

  div[style*="height:360px"],
  div[style*="height: 360px"] {
    height: 300px !important;
  }

  /* Carousel Navigation Buttons on Mobile */
  #carouselPrev {
    left: -2px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 18px !important;
  }

  #carouselNext {
    right: -2px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 18px !important;
  }
}
