/* Mobile Fixes (v1.1.0) — non-destructive overrides */
html, body { overflow-x: hidden; }
img, video, canvas, svg { max-width: 100%; height: auto; }
.wq-container { padding-left: 16px; padding-right: 16px; }
.wq-hero h1 { word-wrap: break-word; overflow-wrap: anywhere; }
.wq-section { padding-top: 48px; padding-bottom: 48px; }

/* Make anchor targets account for sticky header */
[id] { scroll-margin-top: 80px; }

/* Button tap targets */
.wq-btn { min-height: 44px; line-height: 1.2; }

/* Tight phones */
@media (max-width: 640px) {
  .wq-hero { padding: 40px 0; }
  .wq-hero h1 { font-size: 34px; line-height: 1.15; }
  .wq-sublead { font-size: 16px; }
  .wq-grid-2 { grid-template-columns: 1fr !important; }
  .wq-header .wq-header-inner { gap: 12px; }
}

/* Very small phones */
@media (max-width: 380px) {
  .wq-hero h1 { font-size: 30px; }
  .wq-container { padding-left: 12px; padding-right: 12px; }
}

/* Prevent card overflow */
.wq-card { min-width: 0; }
.wq-card h3, .wq-card p { overflow-wrap: anywhere; }

/* Ensure sticky header doesn’t cover content when jumping */
.wq-header { position: sticky; top: 0; }

/* Paragraph justification as requested */
p { text-align: justify; text-justify: inter-word; }

/* Hamburger menu styles */
.wq-hamburger {
  display: none;
  margin-left: auto;
  width: 40px; height: 40px;
  border: 0; background: transparent; cursor: pointer;
}
.wq-burger-lines, .wq-burger-lines::before, .wq-burger-lines::after {
  display: block; content: ""; width: 22px; height: 2px;
}
.wq-burger-lines {
  position: relative; background: currentColor; margin: 0 auto;
  top: 0;
}
.wq-burger-lines::before, .wq-burger-lines::after {
  position: relative; background: currentColor;
}
.wq-burger-lines::before { top: -6px; }
.wq-burger-lines::after  { top:  6px; }

.wq-menu-panel {
  position: absolute; right: 16px; top: 76px;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  padding: 8px; display: flex; flex-direction: column; gap: 2px;
  min-width: 160px; z-index: 60;
}
.wq-menu-panel a {
  display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--navy);
}
.wq-menu-panel a:hover { background: #f3f6fb; }

/* Show hamburger and hide desktop nav on smaller screens */
@media (max-width: 1024px) {
  .wq-nav { display: none; }
  .wq-hamburger { display: inline-flex; align-items: center; justify-content: center; }
  .wq-header { position: sticky; top: 0; } /* ensure on top */
}

/* Ensure header container positions relative for absolute dropdown */
.wq-header { position: sticky; top: 0; background: #fff; z-index: 50; }
.wq-header .wq-container { position: relative; }


/* Hide Services section on mobile */
@media (max-width: 1024px) {
  #wq-services { display: none !important; }
  /* Hide Office/Email/Phone cards near the top */
  #wq-trusted .wq-cards { display: none !important; }
  /* If any mail/phone appears in the header, hide it too */
  .wq-header a[href^="mailto:"],
  .wq-header a[href^="tel:"],
  .wq-header .wq-office { display: none !important; }
  /* Hide Services link in the hamburger dropdown */
  .wq-menu-panel a[href="#wq-services"] { display: none !important; }
}


/* --- Mobile-only removals (enforced) --- */
@media (max-width: 1024px) {
  /* Remove entire Services section */
  section#wq-services, #wq-services { 
    display: none !important; 
    height: 0 !important; 
    overflow: hidden !important; 
    visibility: hidden !important;
  }

  /* Remove Office / Email / Phone cards block near the top */
  section#wq-trusted .wq-cards, #wq-trusted .wq-cards {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  /* Remove Services link from any navs on mobile */
  .wq-nav a[href="#wq-services"],
  .wq-menu-panel a[href="#wq-services"] { display: none !important; }
}
