/* =========================================================
   World e Campus — Mobile Polish
   Purely additive, scoped to small screens (max-width: 768px)
   unless noted. Desktop/tablet layout is untouched.
   ========================================================= */

/* ---------- Safety net: no accidental horizontal scroll ---------- */
html,
body {
  overflow-x: hidden;
}

/* ---------- Nicer default tap feedback everywhere on touch ---------- */
a,
button,
.getfreesession,
.mobile-nav-toggle,
#theme-toggle {
  -webkit-tap-highlight-color: transparent;
}

/* ---------- Fix floating button collision (toggle vs back-to-top) ----------
   Applies at all sizes since the collision exists whenever both
   buttons are visible together, not just on mobile. */
#theme-toggle {
  bottom: 80px;
}

@media (max-width: 768px) {

  /* ---------- Bigger, easier-to-hit hamburger menu button ---------- */
  .mobile-nav-toggle {
    padding: 10px;
    top: 8px;
    right: 8px;
  }

  /* ---------- Modern touches for the mobile nav panel ---------- */
  .mobile-nav {
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.18);
  }

  .mobile-nav a {
    padding: 13px 20px;
    font-size: 15px;
  }

  /* ---------- Tighten the empty spacer above the Features cards ---------- */
  .about .row:first-child {
    display: none;
  }

  .about .section-title {
    padding-bottom: 10px;
  }

  /* ---------- Get Your Free Session buttons: better tap feedback ---------- */
  .bg-warning.rounded.text-center {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  }

  .bg-warning.rounded.text-center:active {
    transform: scale(0.97);
  }

  /* ---------- Compact the auto-popup chat bubble so it doesn't
     dominate small screens ---------- */
  #customer-services {
    max-width: 88vw;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  }

  #customer-services span.float-right {
    width: calc(88vw - 100px) !important;
  }

  #customer-services p {
    font-size: 0.78rem;
    line-height: 1.3;
  }

  #customer-services img {
    width: 56px !important;
  }

  /* ---------- Safety net for any non-responsive images ---------- */
  img {
    max-width: 100%;
    height: auto;
  }

  /* ---------- Section spacing feels tighter/cleaner on small screens ---------- */
  section {
    padding: 40px 0;
  }

  .section-title h3 {
    font-size: 26px;
  }
}

/* ---------- Extra-small phones ---------- */
@media (max-width: 380px) {
  #hero h1 {
    font-size: 24px !important;
  }

  #theme-toggle {
    width: 42px;
    height: 42px;
    font-size: 17px;
    right: 14px;
  }

  .back-to-top {
    right: 12px;
  }
}
