
/* ===== v33 Strong Mobile Pass ===== */

/* Baseline */
*,
*::before,
*::after { box-sizing: border-box; }

img, video, iframe { max-width: 100%; height: auto; display: block; }

/* Typography */
html { -webkit-text-size-adjust: 100%; }
@media (max-width: 900px) {
  body { font-size: 16px; line-height: 1.6; }
  h1, .h1, .hero h1, .hero-title { font-size: clamp(22px, 6.5vw, 30px) !important; line-height: 1.25 !important; }
  h2, .h2 { font-size: clamp(18px, 5vw, 24px) !important; }
  h3, .h3 { font-size: clamp(16px, 4.5vw, 20px) !important; }
  p, li { font-size: 15px; }
}

/* Layout padding */
@media (max-width: 900px) {
  .container, .wrapper, .content, main, section, header, footer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Nav / Menu stronger overrides */
@media (max-width: 900px) {
  header, .header { position: static !important; top: auto !important; background: #fff !important; z-index: 999 !important; }
  nav, .nav {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 12px !important;
    padding: 8px 10px !important;
    margin-top: 8px !important;
  }
  nav ul, .nav ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  nav li, .nav li { list-style: none !important; }
  nav a, .nav a {
    display: block !important;
    color: #111 !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 12px !important;
    text-decoration: none !important;
  }
  nav a:hover, .nav a:focus { background: #f7f7f8 !important; }
}

/* Buttons/CTAs */
@media (max-width: 900px) {
  .btn, .button, .btn-primary, .cta, .cta-primary, .primary-btn, .cta-btn {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
    padding: 14px 16px !important;
    text-align: center !important;
  }
}

/* Tables */
table { border-collapse: collapse; }
@media (max-width: 900px) {
  .table, table { display: block !important; overflow-x: auto !important; white-space: nowrap !important; -webkit-overflow-scrolling: touch; }
}

/* Avoid clipping */
.container, .wrapper, .content, main, section, .hero, .pricing, .cards, .plan-cards {
  overflow: visible !important;
}

/* Footer + Disclaimer */
#disclaimer, section#disclaimer {
  background: #f9fafb;
  border-top: 1px solid #eef0f3;
  color: #4b5563;
}
@media (max-width: 900px) {
  #disclaimer, section#disclaimer { padding: 12px 14px !important; }
}
footer .legal, .footer .legal, footer .footer-legal, .footer .footer-legal, footer .disclaimer, .footer .disclaimer {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; color: #6b7280;
}
footer small, .footer small { color: #6b7280; }

/* Safe bottom space for floating CTA */
@media (max-width: 900px) {
  body { padding-bottom: max(84px, env(safe-area-inset-bottom)) !important; }
}
