/*
 * mobile-overrides.css — startbuddi
 * Loaded AFTER all other stylesheets.
 * Covers: nav, homepage, product LP, industry, blog, help, pricing, modals.
 * Breakpoints: 1200px | 1024px | 860px | 768px | 640px | 480px | 360px
 * Touch targets: minimum 44×44px on all interactive elements.
 * No magenta/wine/pink. fa-solid only.
 */

/* ══════════════════════════════════════════════════════════════
   0. BASE — touch, font smoothing, overflow
══════════════════════════════════════════════════════════════ */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
* { -webkit-tap-highlight-color: rgba(26,86,219,.1); }
body { overflow-x: hidden; }

/* ══════════════════════════════════════════════════════════════
   1. GLOBAL TOUCH TARGETS
   Every tappable element must be at least 44×44px on mobile.
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .btn, button, [role="button"],
  .bl-filter, .hc-chip, .sb-fscroll-tab, .sb-usecase-tab,
  .sb-prompt-pill, .sb-pricing-tab,
  input[type="submit"], input[type="button"] {
    min-height: 44px;
    min-width: 44px;
  }
  .sb-nav__burger { min-width: 44px; min-height: 44px; }

  /* Ensure links in bodies are easy to tap */
  .sb-post-body a,
  .hart-body a,
  .entry-content a { padding-bottom: 2px; }
}

/* ══════════════════════════════════════════════════════════════
   2. NAV — enhanced mobile nav
══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .sb-nav__inner { padding: 0 20px; height: 60px; }
  .sb-nav__logo img { height: 28px; }

  /* CTA row on mobile nav: single button */
  .sb-nav__ctas .btn:not(.btn-primary) { display: none; }
  .sb-nav__ctas .btn-primary {
    padding: 8px 16px;
    font-size: .82rem;
  }
}

@media (max-width: 640px) {
  .sb-nav__inner { padding: 0 16px; }
  .sb-nav__ctas { display: none; } /* Just burger on smallest screens */

  /* Mobile nav drawer full-screen */
  .sb-nav-mobile {
    position: fixed;
    top: 60px; left: 0; right: 0; bottom: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .sb-nav-mobile__ctas {
    flex-direction: column;
    padding-bottom: env(safe-area-inset-bottom, 16px);
  }
  .sb-nav-mobile__ctas .btn { font-size: .9rem; padding: 13px 16px; }
}

/* ══════════════════════════════════════════════════════════════
   3. HERO — homepage
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-hero { padding: 52px 0 44px; }
  .sb-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .sb-hero__copy { text-align: center; }
  .sb-hero__copy .sb-eyebrow { margin: 0 auto; }
  .sb-hero__proof { justify-content: center; }
  .sb-hero__ctas { justify-content: center; }
  .sb-hero__visual { display: none; }
}

@media (max-width: 640px) {
  .sb-hero { padding: 44px 0 36px; }
  .sb-hero__ctas { flex-direction: column; align-items: stretch; }
  .sb-hero__ctas .btn { width: 100%; justify-content: center; }
  .sb-hero__sub { font-size: .9375rem; }
  .sb-ticker-wrap { display: none; } /* Too wide on very small screens */
  .sb-hero__proof .sb-proof-copy { font-size: .82rem; }
}

/* ══════════════════════════════════════════════════════════════
   4. TRUSTED BAR
══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .sb-trusted-logos { gap: 20px 32px; }
  .sb-trusted-logo { width: 80px; height: 30px; }
}

/* ══════════════════════════════════════════════════════════════
   5. ACTIVITY SCROLLER
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-app-scroll-grid { grid-template-columns: 1fr; gap: 36px; }
  .sb-app-scroll-col { height: 280px; }
  .sb-app-scroll-copy { text-align: center; }
  .sb-app-scroll-feats { grid-template-columns: 1fr 1fr; }
  .sb-app-scroll-copy .btn { align-self: center; }
}
@media (max-width: 480px) {
  .sb-app-scroll-feats { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   6. HOW IT WORKS
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-hiw-section { padding: 64px 0; }
  .sb-hiw-cards { grid-template-columns: 1fr; gap: 20px; max-width: 480px; margin: 0 auto; }
  .sb-hiw-head { margin-bottom: 40px; }
  .sb-hiw-cta { margin-top: 32px; }
  .sb-hiw-cta .btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   7. NEW FEATURE GRID — sb-feat-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .sb-feat-cats { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  .sb-feat-cats { grid-template-columns: 1fr; }
  .sb-feat-section { padding: 64px 0 0; }
  .sb-feat-head { margin-bottom: 40px; }
  .sb-feat-chip-card {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 28px 20px;
  }
  .sb-feat-chip-card h3 { font-size: 1.25rem; }
  .sb-feat-chip-row { margin-bottom: 36px; }
}

/* ══════════════════════════════════════════════════════════════
   8. WORDPRESS INTEGRATION STRIP
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-wp-strip__grid { grid-template-columns: 1fr; gap: 36px; }
  .sb-wp-strip__copy { max-width: 100%; }
}
@media (max-width: 480px) {
  .sb-wp-strip { padding: 40px 0; }
  .sb-wp-strip__feats { gap: 10px; }
}

/* ══════════════════════════════════════════════════════════════
   9. REPLACE YOUR STACK
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-replace-section { padding: 64px 0; }
  .sb-replace-layout { grid-template-columns: 1fr; gap: 20px; }
  .sb-replace-arrow { flex-direction: row; height: auto; justify-content: center; }
  .sb-replace-arrow__line { width: 60px; height: 2px; min-height: 0; }
  .sb-replace-new { max-width: 420px; margin: 0 auto; }
}

/* ══════════════════════════════════════════════════════════════
   10. CHIP PROMPT + CHIP DEEP-DIVE
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-chip-section { padding: 64px 0; }
  .sb-chip-grid { grid-template-columns: 1fr; gap: 36px; }
  .sb-chip-text { text-align: center; }
  .sb-chip-perks { text-align: left; }
  .sb-chip-text .btn { align-self: center; }
  .sb-chat { max-width: 520px; margin: 0 auto; }
  .sb-prompt-center { max-width: 540px; }
  .sb-prompt-pills { flex-wrap: wrap; gap: 6px; }
}
@media (max-width: 480px) {
  .sb-prompt-card { padding: 16px; }
  .sb-prompt-pills .sb-prompt-pill { font-size: .72rem; padding: 6px 10px; }
}

/* ══════════════════════════════════════════════════════════════
   11. CEO SECTION
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-ceo-section { padding: 64px 0; }
  .sb-ceo-card {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 24px;
    background: linear-gradient(170deg, #0F1B33 0%, #1A3A6A 100%);
  }
  .sb-ceo-stats-col { display: block; }
  .sb-ceo-stats-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .sb-ceo-card { padding: 24px 18px; border-radius: 20px; }
  .sb-ceo-stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sb-ceo-stat__val { font-size: 1.5rem; }
}

/* ══════════════════════════════════════════════════════════════
   12. TESTIMONIALS MASONRY
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-testi-masonry-inner { grid-template-columns: 1fr 1fr; padding: 0 20px; gap: 14px; }
  .sb-testi-masonry-col:nth-child(3) { display: none; }
  .sb-testi-masonry-section { padding: 64px 0; }
}
@media (max-width: 640px) {
  .sb-testi-masonry-inner { grid-template-columns: 1fr; gap: 12px; max-width: 480px; margin: 0 auto; }
  .sb-testi-masonry-col:nth-child(2) { display: none; }
  .sb-testi-masonry-col:nth-child(1) > *:nth-child(n+4) { display: none; }
  .sb-testi-masonry-cta .btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   13. USE-CASE TABS
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-usecase-tabs { gap: 6px; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
  .sb-usecase-tabs::-webkit-scrollbar { display: none; }
  .sb-usecase-tab { white-space: nowrap; flex-shrink: 0; }
  .sb-usecase-pane.active { grid-template-columns: 1fr; gap: 32px; }
  .sb-usecase-copy h3 { font-size: 1.25rem; }
  .sb-usecase-section { padding: 64px 0; }
}
@media (max-width: 480px) {
  .sb-usecase-mock { padding: 16px; }
}

/* ══════════════════════════════════════════════════════════════
   14. FAQ
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-faq-section { padding: 64px 0; }
  .sb-faq-grid { grid-template-columns: 1fr !important; gap: 36px; }
  .sb-faq-intro h2 { font-size: 1.625rem; }
}

/* ══════════════════════════════════════════════════════════════
   15. FINAL CTA
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-final-cta .sb-fcta-card {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 36px 24px;
    border-radius: 20px;
  }
  .sb-fcta-visual { display: flex; flex-direction: column; gap: 16px; }
  .sb-fcta-stats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .sb-fcta-features-grid { grid-template-columns: repeat(2, 1fr); }
  .sb-fcta-btns { flex-direction: column; }
  .sb-fcta-btns .btn { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
  .sb-fcta-stats { grid-template-columns: 1fr 1fr; }
  .sb-fcta-stat__val { font-size: 1.625rem; }
  .sb-final-cta { padding: 52px 0; }
}

/* ══════════════════════════════════════════════════════════════
   16. DEMO VIDEO MODAL
══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .sb-demo-modal { padding: 12px; align-items: flex-end; }
  .sb-demo-modal__wrap { border-radius: 20px 20px 12px 12px; max-width: 100%; }
  .sb-demo-modal__header { padding: 13px 16px; }
  .sb-demo-modal__footer { flex-direction: column; align-items: stretch; gap: 10px; }
  .sb-demo-modal__footer .btn { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   17. PRODUCT LP — sb-plp-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-plp-hero { padding: 52px 0 44px; }
  .sb-plp-hero__grid { grid-template-columns: 1fr; gap: 28px; }
  .sb-plp-hero__copy h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); }
  .sb-plp-hero__copy > .pg-hero__ctas { flex-wrap: wrap; gap: 10px; }
  .sb-plp-hero__copy > .pg-hero__ctas .btn { flex: 1 1 auto; min-width: 140px; justify-content: center; }
  .sb-plp-hero__visual { display: none; } /* Already hidden at 1080, reinforce */
  .sb-plp-stat-grid { grid-template-columns: repeat(3, 1fr); }
  .sb-plp-feature-grid { grid-template-columns: 1fr 1fr; }
  .sb-plp-story__grid { grid-template-columns: 1fr; }
  .sb-plp-story__aside { flex-direction: row; gap: 16px; }
  .sb-plp-workflow__grid { grid-template-columns: 1fr; gap: 32px; }
  .sb-plp-faq__grid { grid-template-columns: 1fr; gap: 32px; }
  .sb-plp-related__grid { grid-template-columns: 1fr 1fr; }
  .sb-plp-signup__inner { max-width: 480px; margin: 0 auto; }
  .sb-plp-signup__actions { flex-direction: column; align-items: center; }
  .sb-plp-signup__actions .btn { width: 100%; max-width: 360px; justify-content: center; }
}
@media (max-width: 640px) {
  .sb-plp-feature-grid { grid-template-columns: 1fr; }
  .sb-plp-stat-grid { grid-template-columns: 1fr 1fr; }
  .sb-plp-story__aside { flex-direction: column; }
  .sb-plp-related__grid { grid-template-columns: 1fr; }
  .sb-plp-hero__chip-row { gap: 6px; flex-wrap: wrap; }
  .sb-plp-hero__stat-grid .sb-plp-stat-card { padding: 12px; }
  .sb-plp-scene__band { padding: 20px; }
  .sb-plp-scene__copy h2 { font-size: 1.375rem; }
}

/* ══════════════════════════════════════════════════════════════
   18. INDUSTRY PAGES — sb-ind-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .sb-ind-hero__grid,
  .ind-hero__inner { grid-template-columns: 1fr !important; }
  .sb-ind-hero__visual { display: none; }
  .sb-ind-hero { padding: 52px 0 44px !important; }
  .sb-ind-features-grid,
  .ind-feats-grid { grid-template-columns: 1fr 1fr !important; }
  .sb-ind-steps { max-width: 480px; margin: 0 auto; }
  .sb-ind-cta-card,
  .ind-cta-band { flex-direction: column !important; gap: 20px !important; align-items: flex-start !important; }
  .sb-ind-related-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
  .sb-ind-features-grid,
  .ind-feats-grid { grid-template-columns: 1fr !important; }
  .sb-ind-related-grid { grid-template-columns: 1fr !important; }
  .sb-ind-workflow { flex-direction: column; gap: 16px; }
}

/* ══════════════════════════════════════════════════════════════
   19. PRICING PAGE — sb-pr-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .sb-pr-plans { grid-template-columns: 1fr 1fr; gap: 14px; }
  .sb-pr-card--popular { transform: none; }
}
@media (max-width: 640px) {
  .sb-pr-hero { padding: 52px 0 40px; }
  .sb-pr-plans { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
  .sb-pr-controls-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .sb-pr-billing { width: 100%; }
  .sb-pr-billing__btn { flex: 1; text-align: center; }
  .sb-pr-addons-grid { grid-template-columns: 1fr; }
  .sb-pr-faq-accordion { max-width: 100%; }
  /* Comparison table: force horizontal scroll on mobile */
  .sb-pr-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; }
  .sb-pr-table { min-width: 560px; font-size: .8rem; }
  .sb-pr-table thead th,
  .sb-pr-table tbody td { padding: 10px 8px; }
  .sb-pr-table tbody td:first-child { padding-left: 12px; }
}
@media (max-width: 480px) {
  .sb-pr-hero h1 { font-size: 1.75rem; }
  .sb-pr-card { padding: 22px 18px; }
  .sb-pr-price { font-size: 2rem; }
}

/* ══════════════════════════════════════════════════════════════
   20. HELP CENTER — hc-* / hart-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .hc-hero__inner { grid-template-columns: 1fr; gap: 32px; }
  .hc-hero__aside { display: none; } /* Show contact card below on mobile instead */
  .hc-search { max-width: 100%; }
  .hc-cats-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
  .hc-grid { grid-template-columns: 1fr; }
  .hart-layout { grid-template-columns: 1fr; }
  .hart-sidebar { display: none; } /* Show TOC as collapsible on mobile */
  .hart-toc--mobile { display: block; } /* Mobile TOC trigger */
  .hcat-layout { grid-template-columns: 1fr; }
  .hcat-sidebar { display: none; }
}
@media (max-width: 640px) {
  .hc-hero { padding: 44px 0 36px; }
  .hc-search__bar { padding: 10px 14px; }
  .hc-search__bar input { font-size: .9rem; }
  .hc-chips { gap: 6px; }
  .hc-chip { font-size: .78rem; padding: 7px 13px; }
  .hc-cats-grid { grid-template-columns: 1fr 1fr; }
  .hc-no-content { padding: 36px 20px; }
  .hc-no-content__topic-grid { grid-template-columns: 1fr; }
  .hart-hero { padding: 36px 0 28px; }
  .hart-body { padding: 20px 16px; border-radius: 12px; }
  .hart-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hc-cats-grid { grid-template-columns: 1fr; }
  .hart-key-facts { grid-template-columns: 1fr 1fr; }
  .hart-cta-band { flex-direction: column; align-items: stretch; }
  .hart-cta-band .btn { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   21. BLOG ARCHIVE — bl-* (home.php)
══════════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .bl-hero { padding: 48px 0 40px; }
  .bl-hero h1 { font-size: clamp(1.625rem, 4vw, 2.25rem); }
  .bl-featured { grid-template-columns: 1fr; }
  .bl-featured__media { min-height: 220px; }
  .bl-grid { grid-template-columns: 1fr 1fr; }
  .bl-filters { gap: 6px; }
  .bl-filter { font-size: .78rem; padding: 7px 13px; }
}
@media (max-width: 640px) {
  .bl-hero { padding: 40px 0 32px; }
  .bl-featured__body { padding: 20px; }
  .bl-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .bl-featured__cta { font-size: .875rem; }
  .bl-pagination .nav-links { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   22. BLOG SINGLE — sb-post-* / sb2-*
══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .sb-post-layout,
  .sb2-layout { grid-template-columns: 1fr !important; }
  .sb-post-sidebar,
  .sb2-sidebar { display: none !important; }
  .sb-post-toc--desktop,
  .sb2-toc--desktop { display: none !important; }
  .sb-post-toc--mobile,
  .sb2-toc--mobile { display: block; }
}
@media (max-width: 640px) {
  .sb-post-hero { padding: 36px 0; }
  .sb-post-hero__title { font-size: clamp(1.5rem, 5vw, 2.25rem); }
  .sb-post-body { font-size: .9375rem; line-height: 1.78; }
  .sb-post-body h2 { font-size: 1.375rem; }
  .sb-post-body h3 { font-size: 1.125rem; }
  .sb-post-body pre { font-size: .78rem; overflow-x: auto; }
  .sb-post-related-grid { grid-template-columns: 1fr; }
  .sb-post-nav { grid-template-columns: 1fr; }
  .sb-post-nav-card--next { text-align: left; }
  .sb-post-body table { font-size: .8125rem; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .sb-post-author { flex-direction: column; gap: 14px; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════
   23. COMPARE PAGES
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .sb-cmp-hero__grid { grid-template-columns: 1fr !important; }
  .sb-cmp-hero__visual { display: none; }
  .sb-cmp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .sb-cmp-table { min-width: 480px; }
  .sb-cmp-feature-grid { grid-template-columns: 1fr !important; }
}

/* ══════════════════════════════════════════════════════════════
   24. FOOTER — enhanced mobile
══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .sb-footer { padding: 48px 0 32px; }
  .sb-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .sb-footer__brand { grid-column: 1 / -1; }
  .sb-footer__cta-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .sb-footer__cta-row .btn { width: 100%; justify-content: center; }
  .sb-footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
  .sb-footer__legal-links { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 480px) {
  .sb-footer__grid { grid-template-columns: 1fr; }
  .sb-footer__col { text-align: center; }
  .sb-footer__links { align-items: center; }
  .sb-footer__brand { text-align: center; }
  .sb-footer__social { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   25. GLOBAL SECTION SPACING — mobile
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .sb-wrap { padding: 0 20px; }
  .pg-section { padding: 56px 0; }
  .pg-section--lg { padding: 72px 0; }
  section { padding-top: 56px; padding-bottom: 56px; }
  .sb-section-head h2,
  .pg-section-head h2 { font-size: clamp(1.5rem, 4vw, 2rem); }
  .sb-section-head p,
  .pg-section-head p { font-size: .9375rem; }
}
@media (max-width: 480px) {
  .sb-wrap { padding: 0 16px; }
  section { padding-top: 44px; padding-bottom: 44px; }
  h1 { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  h2 { font-size: clamp(1.375rem, 5vw, 2rem); }
  h3 { font-size: clamp(1.125rem, 4vw, 1.5rem); }
  .btn-lg { padding: 12px 22px; font-size: .9rem; }
}
@media (max-width: 360px) {
  .sb-wrap { padding: 0 12px; }
  .btn { padding: 10px 16px; font-size: .85rem; }
}

/* ══════════════════════════════════════════════════════════════
   26. SAFE AREA — notched phones (iPhone, etc.)
══════════════════════════════════════════════════════════════ */
.sb-nav { padding-top: env(safe-area-inset-top, 0); }
.sb-nav__inner { min-height: calc(64px + env(safe-area-inset-top, 0)); }

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .sb-footer { padding-bottom: calc(32px + env(safe-area-inset-bottom)); }
  .sb-nav-mobile { padding-bottom: env(safe-area-inset-bottom); }
}

/* ══════════════════════════════════════════════════════════════
   27. IMAGES — prevent overflow, ensure lazy loads layout
══════════════════════════════════════════════════════════════ */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
.sb-tcard__av img,
.sb-proof-av img,
.sb-app-task__av img,
.sb-ceo-av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* ══════════════════════════════════════════════════════════════
   28. FORMS & INPUTS — improved mobile sizing
══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  select,
  textarea {
    font-size: 16px !important; /* Prevents iOS zoom on focus */
    padding: 11px 14px;
  }
  .sb-prompt-input { font-size: 16px !important; }
  .hc-search__bar input { font-size: 16px !important; }
}

/* ══════════════════════════════════════════════════════════════
   29. CONTACT / SUPPORT PAGES
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .pg-contact-grid { grid-template-columns: 1fr !important; }
  .pg-contact-aside { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   30. BACK-TO-TOP BUTTON
══════════════════════════════════════════════════════════════ */
.sb-btt {
  position: fixed;
  bottom: calc(24px + env(safe-area-inset-bottom, 0));
  right: 20px;
  z-index: 800;
}
@media (max-width: 480px) {
  .sb-btt { right: 14px; bottom: calc(18px + env(safe-area-inset-bottom, 0)); }
}

/* ══════════════════════════════════════════════════════════════
   31. REDUCED MOTION — respect user preference
══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .rev { opacity: 1 !important; transform: none !important; }
  .sb-app-scroll-track { animation: none !important; }
}

/* ══════════════════════════════════════════════════════════════
   32. PRINT OPTIMISATION
══════════════════════════════════════════════════════════════ */
@media print {
  .sb-nav, .sb-footer, .sb-demo-modal,
  .sb-btt, .sb-prompt-section,
  .sb-testi-masonry-section,
  .sb-hiw-section, .sb-ceo-section,
  .sb-app-scroll-section { display: none !important; }
  body { font-size: 12pt; color: #000; background: #fff; }
  h1, h2, h3 { page-break-after: avoid; }
  .sb-wrap { max-width: 100%; padding: 0; }
  a[href]::after { content: " (" attr(href) ")"; font-size: .8em; color: #555; }
}
