/* ===================== MOBILE RESPONSIVENESS ===================== */

/* Hide custom mobile elements on desktop by default */
.custom-mobile-toggle,
.menumob {
  display: none;
}

@media (max-width: 767px) {
  /* Main header layout */
  .header-icons {
    display: none !important; /* Hide cluttered contact grid on mobile */
  }
  .top-bar {
    padding: 10px 0;
  }
  .top-bar .row {
    margin: 0;
  }
  .logo-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 15px !important;
  }
  .logo-card {
    position: relative;
    left: auto;
    top: auto;
    width: 130px;
    height: auto;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }
  .custom-mobile-toggle {
    display: block !important;
    background: none;
    border: none;
    color: #0b1e42;
    font-size: 26px;
    cursor: pointer;
    padding: 8px;
    transition: color 0.2s ease;
  }
  .custom-mobile-toggle:hover {
    color: #25bced;
  }

  /* Collapsible Navigation Menu */
  .menu-st {
    display: none !important;
  }

  .menumob {
    display: none !important;
    background-color: #151e27;
    width: 100%;
  }
  .menumob.mobile-open {
    display: block !important;
  }

  .menumob .menu-container {
    padding: 20px 15px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100%;
    min-height: auto !important;
    gap: 20px !important;
  }

  /* Style mobile links list on mobile */
  .menumob .mobile-nav-list {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .menumob .mobile-nav-list li {
    width: 100% !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  .menumob .mobile-nav-list li a {
    display: block !important;
    padding: 12px 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: color 0.2s ease !important;
  }

  .menumob .mobile-nav-list li a:hover {
    color: #25bced !important;
  }

  /* GET A QUOTE Button under the menu links */
  .menumob .hero-quote-btn {
    align-self: center !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 10px auto 0 !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 12px 24px !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    display: inline-flex !important;
  }

  /* Hero Section */
  .hero-section {
    padding: 60px 0 80px;
  }
  .hero-content {
    padding: 20px 0;
    text-align: center;
  }
  .hero-badge {
    margin: 0 auto 15px;
    padding: 5px 14px;
    display: inline-flex;
  }
  .hero-badge span {
    font-size: 13px;
  }
  .hero-content h1 {
    font-size: 34px;
    line-height: 1.25;
    margin-bottom: 15px;
  }
  .hero-subtitle {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 25px;
  }
  .hero-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .hero-quote-btn {
    margin-left: 0;
    padding: 14px 28px;
    font-size: 14px;
  }
  .hero-call {
    justify-content: center;
  }

  /* About Section */
  .about-section {
    padding: 60px 0;
  }
  .about-image-wrap {
    margin-bottom: 35px;
  }
  .section-badge {
    margin-bottom: 15px;
  }
  .about-content {
    text-align: center;
  }
  .about-content h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .about-content p {
    font-size: 14.5px;
  }
  .about-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .about-call {
    justify-content: center;
  }

  /* Services Section */
  .services-section {
    padding: 60px 0;
  }
  .services-heading h2 {
    font-size: 28px;
    line-height: 1.3;
  }
  .services-heading p {
    font-size: 14.5px;
  }
  .services-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    padding: 40px 15px 0;
    gap: 30px;
  }
  .service-card {
    padding: 30px 20px;
    margin-top: 0;
    background: rgba(255, 255, 255, 0.08) !important;
  }
  .service-image-wrapper {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 280px;
    height: 190px;
    border-radius: 12px;
    margin: 0 auto 20px;
    border: 3px solid rgba(255, 255, 255, 0.2);
  }

  /* Why Choose Us Section */
  .why {
    padding: 60px 15px;
  }
  .heading {
    font-size: 28px;
    margin-bottom: 35px;
  }
  .grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .col {
    gap: 30px;
  }
  .feature-left .text,
  .feature-right .text {
    text-align: left;
  }
  .feature {
    flex-direction: row;
    align-items: flex-start;
  }
  .circle {
    display: none; /* Hide the overlapping decorative photo-circle on mobile to keep page short and clean */
  }
}