/* ==========================================================
   MOBILE RESPONSIVE CSS - kalkashimlataxiservice.in Staging
   Adds full mobile responsiveness without altering structure
   ========================================================== */

/* ---- HAMBURGER NAV TOGGLE ---- */
.nav-toggle {
  display: none;
  width: 100%;
  background: #3a8c20;
  color: #fff;
  border: none;
  padding: 12px 16px;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  letter-spacing: 0.5px;
}
.nav-toggle:hover { background: #2d7a1f; }
.nav-toggle .nav-icon { font-size: 20px; margin-right: 8px; vertical-align: middle; }

/* ---- FARE TABLE WRAPPER (injected by script) ---- */
.fare-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 16px;
}

/* ---- TABLET: max-width 900px ---- */
@media (max-width: 900px) {
  body {
    font-size: 13px !important;
  }

  /* Header images scale fine as they use % widths */
  .site-header img {
    height: auto !important;
  }

  /* Nav - reduce padding */
  .main-nav ul li a {
    padding: 10px 10px !important;
    font-size: 11.5px !important;
  }

  /* Sidebar + Content: start collapsing */
  .packages-sidebar {
    width: 220px !important;
    min-width: 220px !important;
  }
}

/* ---- MOBILE: max-width 768px ---- */
@media (max-width: 768px) {

  /* ---- TOPBAR ---- */
  .topbar {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 8px 10px !important;
    gap: 6px !important;
  }
  .topbar-left { font-size: 11px !important; }
  .topbar-phones { flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; }

  /* ---- NAVIGATION: hamburger ---- */
  .nav-toggle {
    display: block !important;
  }

  .main-nav ul {
    display: none !important;
    flex-direction: column !important;
  }

  .main-nav ul.nav-open {
    display: flex !important;
  }

  .main-nav ul li {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  }

  .main-nav ul li a {
    padding: 13px 18px !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ---- HEADER ---- */
  .site-header {
    flex-wrap: wrap !important;
  }
  .site-header .hdr-main {
    width: 65% !important;
  }
  .site-header .hdr-logo {
    width: 35% !important;
  }

  /* ---- HERO SECTION (index.html) ---- */
  .hero {
    padding: 22px 14px !important;
  }
  .hero h1 {
    font-size: 18px !important;
  }
  .hero-tagline {
    font-size: 12px !important;
  }
  .hero-btns {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .hero-btns a {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    padding: 11px 14px !important;
  }

  /* ---- FARE STRIP (index.html) ---- */
  .fare-strip {
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 10px 10px !important;
    justify-content: center !important;
  }
  .fare-strip-label {
    width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
  }
  .fare-card {
    min-width: 130px !important;
    flex: 1 !important;
  }

  /* ---- INFO STRIP ---- */
  .info-strip {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 10px !important;
  }
  .info-item {
    flex: 1 1 80px !important;
    min-width: 80px !important;
    padding: 8px 4px !important;
  }
  .info-num { font-size: 18px !important; }

  /* ---- PAGE BODY (sidebar + main content) ---- */
  .page-body {
    flex-direction: column !important;
  }

  .packages-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    border-right: none !important;
    border-bottom: 2px solid #e0ead0 !important;
    order: 2 !important; /* Move sidebar BELOW main content on mobile */
  }

  .main-content {
    order: 1 !important;
    padding: 14px 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Sidebar package list - collapsible */
  .pkg-list-header {
    cursor: pointer;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .pkg-list-header::after {
    content: "▼";
    font-size: 11px;
    margin-left: 8px;
  }
  .pkg-list-header.open::after {
    content: "▲";
  }
  .pkg-list {
    display: none !important;
  }
  .pkg-list.list-open {
    display: block !important;
  }

  /* Sidebar call box */
  .sidebar-call {
    padding: 8px !important;
  }
  .phone-links {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  /* ---- CONTACT GRID ---- */
  .contact-grid {
    flex-direction: column !important;
  }
  .contact-details,
  .contact-form-wrap {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* ---- SERVICE GRID / CONTENT SECTIONS ---- */
  .services-grid,
  .why-grid,
  .fleet-grid {
    flex-direction: column !important;
    gap: 12px !important;
  }

  /* ---- FARE TABLES ---- */
  .fare-table {
    width: 100% !important;
    min-width: 260px !important;
  }
  .fare-table td,
  .fare-table th {
    font-size: 12px !important;
    padding: 7px 8px !important;
  }

  /* ---- BOOKING FORM ---- */
  .booking-grid {
    flex-direction: column !important;
  }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
  }

  /* ---- FOOTER ---- */
  #foot-link {
    padding: 14px 12px 10px !important;
  }
  #foot-link .one {
    width: 50% !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
  }
  .footer-links-heading {
    font-size: 11px !important;
  }

  /* ---- PACKAGE INTRO / DAY BLOCKS ---- */
  .pkg-intro {
    padding: 10px 12px !important;
  }
  .day-block {
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
  }

  /* ---- SECTION TITLES ---- */
  .section-title, .page-hero h1 {
    font-size: 16px !important;
  }

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

  /* ---- WHATSAPP BUTTON: smaller on mobile ---- */
  .whatsapp-sticky {
    width: 46px !important;
    height: 46px !important;
    bottom: 14px !important;
    right: 14px !important;
  }
}

/* ---- SMALL PHONE: max-width 480px ---- */
@media (max-width: 480px) {

  /* Header - fully stacked */
  .site-header {
    flex-direction: column !important;
  }
  .site-header .hdr-main,
  .site-header .hdr-logo {
    width: 100% !important;
  }

  /* Footer - single column */
  #foot-link .one {
    width: 100% !important;
  }

  /* Fare cards - smaller */
  .fare-card {
    min-width: 110px !important;
    padding: 8px 6px !important;
  }
  .fc-route { font-size: 11px !important; }
  .fc-price { font-size: 16px !important; }

  /* Page hero title */
  .page-hero {
    padding: 14px 12px !important;
  }
  .page-hero h1 {
    font-size: 15px !important;
  }

  /* Main content padding */
  .main-content {
    padding: 10px 10px !important;
  }
}

/* ---- PRINT SAFE: avoid hamburger hiding nav ---- */
@media print {
  .nav-toggle { display: none !important; }
  .main-nav ul { display: flex !important; }
}
