/* ============================================================
   GLOBAL MOBILE OPTIMIZATION — applies across the whole site
   ============================================================ */

@media (max-width: 768px) {

  /* ---------- Public site (header.php) ---------- */
  .banner_part { height: auto !important; padding: 90px 15px 40px !important; text-align: center; }
  .banner_part .banner_text { height: auto !important; display: block !important; }
  .banner_part .banner_text h1 { font-size: 28px !important; line-height: 1.3 !important; }
  .banner_part .banner_text p { font-size: 14px !important; }
  .banner_part:after { display: none !important; }
  .main_menu .main-menu-item { text-align: left !important; }
  .main_menu .navbar-brand img { max-width: 130px; }
  .container { padding-left: 16px !important; padding-right: 16px !important; }
  .section_tittle h2 { font-size: 24px !important; line-height: 1.3 !important; }
  .feature_part .single_feature_part { margin-bottom: 20px; }
  .about_part, .feature_part, .learning_part, .member_counter { padding: 40px 0 !important; }
  .footer-area { padding: 50px 0 20px !important; }
  .footer-area .single-footer-widget { text-align: center; margin-bottom: 30px; }

  /* Login / signup card layout */
  .welcome-back-card, .auth-card, .login-card { width: 100% !important; margin: 0 auto !important; padding: 24px !important; }
  form .form-control { font-size: 14px !important; }

  /* ---------- Dark admin panel (auth_header.php) ---------- */
  .dark-sidebar { transform: translateX(-100%); transition: transform .3s ease; z-index: 1100; }
  .dark-sidebar.open { transform: translateX(0); }
  .dark-main { margin-left: 0 !important; }
  .dark-topbar { left: 0 !important; padding: 0 14px !important; }
  .dark-topbar-title { font-size: 15px !important; }
  .dark-content { padding: 14px !important; margin-top: 64px !important; }

  /* ---------- Services page (svc-*) ---------- */
  .wizard-container { padding: 0 14px !important; }
  .svc-hero { flex-direction: column !important; padding: 22px 18px !important; text-align: center; }
  .svc-hero-left { max-width: 100% !important; }
  .svc-hero-title { font-size: 20px !important; }
  .svc-hero-sub { font-size: 13px !important; }
  .svc-hero-stats { justify-content: center !important; gap: 20px !important; }
  .svc-hero-right { width: 100%; }
  .svc-decor.peach { width: 260px !important; height: 260px !important; top: -40px !important; right: -60px !important; }

  .svc-filter-bar { flex-wrap: wrap !important; gap: 10px !important; position: static !important; }
  .svc-filter-pill, .svc-search-wrap { flex: 1 1 100% !important; max-width: 100% !important; }
  .svc-count-pill { margin-left: 0 !important; }

  .svc-cat-header { padding: 12px 16px !important; }
  .svc-cat-title { font-size: 13.5px !important; }
  .svc-cards-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .svc-card { padding: 14px !important; }
  .svc-card-title { min-height: auto !important; font-size: 13.5px !important; }
  .svc-card-footer { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  .svc-order-btn { width: 100%; justify-content: center; }

  /* ---------- Generic tables ---------- */
  .table-responsive, .svc-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }

  /* ---------- Buttons & general spacing ---------- */
  .btn_1, .btn_2, .button { padding: 10px 22px !important; font-size: 13px !important; }
  h1 { font-size: 24px !important; }
  h2 { font-size: 20px !important; }
  h3 { font-size: 17px !important; }
}

@media (max-width: 480px) {
  .svc-hero-stats { flex-wrap: wrap !important; gap: 14px !important; }
  .svc-hero-price { font-size: 20px !important; }
  .svc-hero-title { font-size: 18px !important; }
}
