/* Mobile consistency overrides — loaded after responsive.css */
/* Scope: max-width 767px for compact phones; 768–991px for tablets if needed */

@media (max-width: 767px) {
  /* Container gutters */
  .container,
  .container-fluid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Typography scale */
  h1,
  .title,
  .hero-banner-ten .hero-heading,
  .hero-banner-three .text-wrapper h1,
  .hero-banner-three .text-wrapper h2,
  .fancy-text-block-twenty .title,
  .o4-hero-title,
  .o4-h2,
  .o4-cta-title {
    font-size: 32px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  h2,
  .o4-h2,
  .at-title,
  .title-style-four h2,
  .about-title,
  .o4-section-head .o4-h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  h3,
  .o4-service-title,
  .o4-model-title,
  .o4-why-title,
  .o4-why-h {
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }

  body,
  p,
  .sub-text,
  .sub-heading,
  .o4-prose p,
  .o4-service-body,
  .o4-model-body,
  .o4-why-p,
  .o4-section-lead,
  .o4-cta-lead,
  .ah-lead,
  .at-text,
  .at-panel p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  small,
  .o4-stat-label,
  .o4-hero-stat-label,
  .footer-services .footer-suboxygen li a {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* Section vertical rhythm — more breathing room */
  .fancy-feature-eight,
  .counter-with-icon-one,
  .useable-tools-section-three,
  .o4-section,
  .o4-cta,
  .theme-footer-three {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  .mt-200,
  .mb-130,
  .md-mt-100,
  .md-mb-80,
  .md-mb-70,
  .pt-100,
  .pt-50 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Stack spacing between major blocks */
  .about-hero,
  .fancy-video-box-one,
  .about-tabs-row,
  .o4-hero-stats,
  .o4-section-head,
  .o4-services-grid,
  .o4-model-grid,
  .o4-why-grid,
  .o4-why {
    margin-bottom: 32px !important;
  }

  /* Cards / internal padding */
  .o4-service-card,
  .o4-model-card,
  .o4-stat-card,
  .o4-why-card,
  .counter-box-three,
  .block-style-seventeen {
    padding: 20px !important;
  }

  /* Grids to single column with comfortable gaps */
  .about-hero-top,
  .about-split,
  .o4-stats-grid,
  .o4-services-grid,
  .o4-model-grid,
  .o4-why-grid,
  .o4-hero-stats {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  /* Hero image sizing */
  .ah-frame,
  .about-visual .sq-main,
  .illustration-holder .illustration,
  .hero-banner-three .illustration-holder img {
    max-height: 240px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  .about-visual {
    min-height: auto !important;
  }

  .about-visual .sq {
    position: relative !important;
    width: 100% !important;
    height: 180px !important;
    margin-bottom: 16px !important;
  }

  /* Buttons full-width and consistent */
  .o4-btn,
  .o4-btn-primary,
  .o4-btn-ghost,
  .signUp-action,
  .all-button,
  .about-cta,
  .waitlist-form button,
  .hero-banner-three .button-group a,
  .hero-banner-ten .button-group a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 22px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  .button-group,
  .o4-hero-actions,
  .hero-banner-three .button-group {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .button-group a + a,
  .o4-hero-actions a + a {
    margin: 0 !important;
  }

  /* Form inputs: 16px font to prevent iOS zoom */
  input,
  textarea,
  select,
  button {
    font-size: 16px !important;
  }

  /* Video overlay text */
  .video-overlay-inner {
    margin-top: 80px !important;
  }

  .video-overlay-text {
    font-size: 20px !important;
  }

  /* Footer spacing */
  .theme-footer-three .footer-about-widget,
  .theme-footer-three .footer-list,
  .theme-footer-three .address-list {
    margin-bottom: 32px !important;
  }

  .theme-footer-three .footer-title {
    font-size: 18px !important;
    margin-bottom: 16px !important;
  }

  /* Navigation touch targets */
  .navbar-nav .nav-link,
  .navbar-nav .dropdown-item {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 16px !important;
  }

  /* Stats cards */
  .o4-hero-stat-value,
  .o4-stat-value {
    font-size: 32px !important;
  }

  .o4-hero-stats {
    padding: 24px 20px !important;
    border-radius: 16px !important;
  }

  /* Tabs */
  .at-tabs-nav {
    gap: 18px !important;
    margin-top: 24px !important;
  }

  .at-tab {
    font-size: 14px !important;
    padding-bottom: 10px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
