/**
 * Homepage mobile UX — scoped to body.acv-home
 * Desktop (min-width: 768px) intentionally unchanged.
 */

/* —— Mobile nav / trust strip —— */
@media (max-width: 767.98px) {
  body.acv-home .trust-strip {
    display: none !important;
  }

  body.acv-home .acv-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
  }

  body.acv-home .acv-navbar .navbar-brand .brand-tagline {
    display: none;
  }

  body.acv-home .navbar-collapse {
    max-height: min(80vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.5rem;
  }

  body.acv-home .acv-nav-list .nav-link {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0.75rem 0.5rem !important;
  }

  body.acv-home .acv-nav-cta .btn {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body.acv-home.acv-nav-open {
    overflow: hidden;
    touch-action: none;
  }

  body.acv-home .acv-home-main {
    display: flex;
    flex-direction: column;
  }

  body.acv-home .acv-home-main > .hero-section { order: 1; }
  body.acv-home .acv-home-main > .trust-facts { order: 2; }
  body.acv-home .acv-home-main > #how-it-works { order: 3; }
  body.acv-home .acv-home-main > #packages { order: 4; }
  body.acv-home .acv-home-main > #live-video { order: 5; }
  body.acv-home .acv-home-main > #sample-report { order: 6; }
  body.acv-home .acv-home-main > #why { order: 7; }
  body.acv-home .acv-home-main > #use-cases { order: 8; }
  body.acv-home .acv-home-main > #service-boundary { order: 9; }
  body.acv-home .acv-home-main > #pricing { order: 10; }
  body.acv-home .acv-home-main > #faq { order: 11; }
  body.acv-home .acv-home-main > .final-cta { order: 12; }
  body.acv-home .acv-home-main > #outcomes {
    display: none !important;
  }
}

/* —— Hero —— */
@media (max-width: 767.98px) {
  body.acv-home .hero-section {
    padding: 52px 0 36px !important;
    background:
      linear-gradient(rgba(10, 24, 18, 0.62), rgba(10, 24, 18, 0.72)),
      url('https://images.unsplash.com/photo-1533473359331-0135ef1b58bf?ixlib=rb-4.0.3&auto=format&fit=crop&w=1200&q=70');
    background-size: cover;
    background-position: center 28%;
  }

  body.acv-home .hero-section .hero-eyebrow {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.72rem;
    margin-bottom: 0.5rem !important;
  }

  body.acv-home .hero-section .display-4,
  body.acv-home .hero-section h1 {
    color: #fff !important;
    font-size: clamp(2.05rem, 8.2vw, 2.5rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 0.75rem !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  }

  body.acv-home .hero-lead-desktop {
    display: none !important;
  }

  body.acv-home .hero-lead-mobile {
    display: block !important;
    color: rgba(255, 255, 255, 0.95);
    font-size: 1rem !important;
    line-height: 1.45;
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.85rem !important;
  }

  body.acv-home .hero-principle {
    color: #fff !important;
    margin-bottom: 1rem !important;
  }

  body.acv-home .hero-cta {
    flex-direction: column !important;
    width: 100%;
    gap: 0.55rem !important;
  }

  body.acv-home .hero-cta .btn {
    width: 100%;
    max-width: none;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  body.acv-home .hero-cta .btn-acv-outline {
    border-width: 1.5px;
    font-weight: 600;
  }

  body.acv-home .hero-note-long {
    display: none !important;
  }

  body.acv-home .hero-schedule-note {
    display: block !important;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    margin-top: 0.85rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) {
  body.acv-home .hero-lead-mobile {
    display: none !important;
  }
  body.acv-home .hero-schedule-note {
    display: none !important;
  }
}

/* —— Benefits strip —— */
@media (max-width: 767.98px) {
  body.acv-home .trust-facts .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  body.acv-home .trust-facts .trust-fact {
    width: 100%;
    max-width: none;
    flex: none;
    padding: 0.85rem 0.5rem;
    border-bottom: 1px solid var(--acv-border);
  }

  body.acv-home .trust-facts .trust-fact:nth-child(odd) {
    border-right: 1px solid var(--acv-border);
  }

  body.acv-home .trust-fact i {
    font-size: 1.15rem;
    margin-bottom: 0.35rem;
  }

  body.acv-home .trust-fact strong {
    font-size: 0.94rem;
    line-height: 1.25;
    font-weight: 600;
  }

  body.acv-home .trust-fact .tf-desktop {
    display: none;
  }

  body.acv-home .trust-fact .tf-mobile {
    display: block;
  }
}

@media (min-width: 768px) {
  body.acv-home .trust-fact .tf-mobile {
    display: none;
  }
}

/* —— Process carousel —— */
@media (max-width: 767.98px) {
  body.acv-home #how-it-works {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  body.acv-home #how-it-works .lead {
    font-size: 1rem;
  }

  body.acv-home .process-strip-track {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin-inline: -0.75rem;
    padding: 0.15rem 0.75rem 0.5rem;
    scrollbar-width: none;
  }

  body.acv-home .process-strip-track::-webkit-scrollbar {
    display: none;
  }

  body.acv-home .process-card {
    flex: 0 0 min(86vw, 340px);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  body.acv-home .process-card--has-next::after {
    display: none;
  }

  body.acv-home .process-card-media {
    aspect-ratio: auto;
    height: 220px;
  }

  body.acv-home .process-card-hint {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    opacity: 1;
    transform: none;
    font-size: 0.78rem;
    padding: 1.25rem 0.75rem 0.65rem;
  }

  body.acv-home .process-strip-meta {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
  }

  body.acv-home .process-strip-cta .btn {
    width: 100%;
    min-height: 48px;
  }
}

@media (min-width: 768px) {
  body.acv-home .process-strip-meta {
    display: none !important;
  }
}

/* —— Packages —— */
@media (max-width: 767.98px) {
  body.acv-home #packages {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  body.acv-home #packages .lead,
  body.acv-home #packages .small.text-muted.mb-0 {
    font-size: 0.92rem;
  }

  body.acv-home .category-card {
    padding: 1.15rem 1rem 1.1rem;
    margin-bottom: 0.75rem;
  }

  body.acv-home .category-card ul li:nth-child(n + 4) {
    display: none;
  }

  body.acv-home .category-card .btn {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
  }

  body.acv-home .category-card[role="button"] {
    cursor: default;
  }

  body.acv-home .pkg-coverage-details summary {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* —— Live Video compact —— */
@media (max-width: 767.98px) {
  body.acv-home #live-video {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  body.acv-home #live-video .live-video-desktop-copy {
    display: none !important;
  }

  body.acv-home #live-video .live-video-mobile-panel {
    display: block !important;
    border: 1px solid var(--acv-border);
    border-radius: 12px;
    padding: 1.1rem 1rem;
    background: #fff;
  }

  body.acv-home #live-video .live-video-mobile-panel .btn {
    width: 100%;
    min-height: 48px;
  }
}

@media (min-width: 768px) {
  body.acv-home #live-video .live-video-mobile-panel {
    display: none !important;
  }
}

/* —— Situations —— */
@media (max-width: 767.98px) {
  body.acv-home #use-cases {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }

  body.acv-home #use-cases .use-case-extra {
    display: none;
  }

  body.acv-home #use-cases.is-more-open .use-case-extra {
    display: block;
  }

  body.acv-home #use-cases .use-cases-more {
    display: block !important;
  }

  body.acv-home #use-cases .use-cases-more summary {
    list-style: none;
  }

  body.acv-home #use-cases .use-card {
    padding: 0.95rem 1rem;
  }

  body.acv-home #use-cases .use-card i {
    margin-bottom: 0.35rem;
  }
}

@media (min-width: 768px) {
  body.acv-home #use-cases .use-cases-more {
    display: none !important;
  }
}

/* —— PPI comparison —— */
@media (max-width: 767.98px) {
  body.acv-home #service-boundary {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }

  body.acv-home #service-boundary .lead,
  body.acv-home #service-boundary > .container > .text-center > .text-muted {
    font-size: 0.95rem;
  }
}

/* —— Sample report —— */
@media (max-width: 767.98px) {
  body.acv-home #sample-report {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }

  body.acv-home #sample-report .btn {
    width: 100%;
    min-height: 48px;
  }

  body.acv-home #sample-report .sample-includes-desktop {
    display: none !important;
  }
}

/* —— Calculator —— */
@media (max-width: 767.98px) {
  body.acv-home #pricing {
    padding-top: 1.75rem !important;
    padding-bottom: 2rem !important;
  }

  body.acv-home #pricing .form-select,
  body.acv-home #pricing .form-control,
  body.acv-home #pricing .form-range,
  body.acv-home #pricing .addons-toggle {
    min-height: 44px;
    font-size: 16px !important;
  }

  body.acv-home #pricing .distance-numeric-wrap {
    display: block !important;
    margin-top: 0.65rem;
  }

  body.acv-home #pricing #calcBookBtn {
    min-height: 52px;
    font-size: 1.05rem !important;
  }

  body.acv-home #pricing .calculator-card {
    margin-bottom: 4.5rem; /* clearance from sticky CTA + chat */
  }
}

@media (min-width: 768px) {
  body.acv-home #pricing .distance-numeric-wrap {
    display: none !important;
  }
}

/* —— FAQ —— */
@media (max-width: 767.98px) {
  body.acv-home #faq {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }

  body.acv-home #faqAcc {
    display: flex;
    flex-direction: column;
  }

  body.acv-home #faq .faq-pri-0 { order: 1; }
  body.acv-home #faq .faq-pri-1 { order: 2; }
  body.acv-home #faq .faq-pri-2 { order: 3; }
  body.acv-home #faq .faq-pri-3 { order: 4; }
  body.acv-home #faq .faq-pri-4 { order: 5; }
  body.acv-home #faq .faq-pri-5 { order: 6; }

  body.acv-home #faq .accordion-item.faq-mobile-extra {
    display: none !important;
  }

  body.acv-home #faq .accordion-button {
    min-height: 48px;
    font-size: 1rem;
  }

  body.acv-home #faq .accordion-header {
    font-size: inherit;
    margin: 0;
  }

  body.acv-home #faq .faq-all-link {
    display: block !important;
  }
}

@media (min-width: 768px) {
  body.acv-home #faq .faq-all-link {
    display: none !important;
  }
}

/* —— Final CTA —— */
@media (max-width: 767.98px) {
  body.acv-home .final-cta {
    padding: 2rem 0 !important;
  }

  body.acv-home .final-cta .lead {
    display: none;
  }

  body.acv-home .final-cta .btn {
    width: 100%;
    min-height: 48px;
  }

  body.acv-home .final-cta .btn-price-check {
    display: none !important;
  }
}

/* —— Footer compact —— */
@media (max-width: 767.98px) {
  body.acv-home .site-footer {
    margin-top: 1.5rem !important;
    padding-top: 1.5rem !important;
  }

  body.acv-home .site-footer .sf-grid {
    --bs-gutter-y: 1rem;
  }

  body.acv-home .site-footer .footer-links.sf-links-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.15rem 0.75rem;
  }

  body.acv-home .site-footer .footer-links a {
    min-height: 44px;
    padding: 0.4rem 0;
  }

  body.acv-home .site-footer .sf-col p:not(.sf-disclaimer) {
    font-size: 0.88rem;
  }
}

/* —— Sticky book + HireLatch clearance —— */
@media (max-width: 767.98px) {
  body.acv-home {
    scroll-padding-top: 4.5rem;
  }

  body.acv-home:has(.acv-sticky-cta) {
    padding-bottom: 5.75rem;
  }

  body.acv-home .acv-sticky-cta {
    z-index: 1040;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /* Notch for HireLatch launcher sitting beside Book CTA */
    padding-right: calc(5.25rem + env(safe-area-inset-right, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  body.acv-home .acv-sticky-cta .btn {
    flex: 1 1 auto;
    width: auto;
    max-width: 100%;
  }

  /*
   * HireLatch injects a fixed launcher. Sticky Book bar reserves right padding;
   * home-mobile.js pins the launcher to the bottom-right notch (safe-area aware).
   */
  body.acv-home:has(.acv-sticky-cta) {
    --acv-hl-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    --acv-hl-right: calc(12px + env(safe-area-inset-right, 0px));
  }
}

/* Small tablet: keep process carousel cue + chat clearance */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.acv-home .process-strip-meta {
    display: flex !important;
  }

  body.acv-home .process-card {
    flex: 0 0 min(86vw, 340px);
  }

  body.acv-home .process-card-media {
    height: 230px;
    aspect-ratio: auto;
  }

  body.acv-home .acv-sticky-cta {
    padding-right: calc(4.25rem + env(safe-area-inset-right, 0px));
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  body.acv-home .process-strip-track {
    scroll-behavior: auto;
  }
}
