/* Longevity Clinic — homepage mobile polish.
   Targets the data-lc section hooks plus shared classes from site.css.
   Loads after responsive.css. */

@media (max-width: 860px) {
  [data-lc="hero-grid"], [data-lc="phrase-grid"], [data-lc="figures"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-lc="hero-grid"] { gap: 36px !important; }
  [data-lc="phrase-grid"] { gap: 24px !important; }
  [data-lc="figures"] { gap: 0 !important; }
  [data-lc="figures"] > div { padding: 52px 32px !important; justify-content: flex-start !important; }
  [data-lc="figures-grid"], [data-lc="testi"] { max-width: none !important; }

  [data-lc="sec-head"] { flex-direction: column; align-items: flex-start !important; gap: 18px; margin-bottom: 28px !important; }
  [data-lc="sec-head"] > span { font-size: 15px !important; }

  [data-lc="spec-grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* numbered steps become a vertical list: circle left, text right */
  [data-lc="steps"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-lc="steps"] > div {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
    padding: 18px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(44, 42, 40, .1);
  }
  [data-lc="steps"] > div:first-child { padding-top: 0 !important; }
  [data-lc="steps"] > div:last-child { border-bottom: 0; }
  [data-lc="steps"] > div > div:first-child {
    grid-row: 1 / span 2;
    width: 44px !important; height: 44px !important;
    margin-bottom: 0 !important;
    font-size: 16px !important;
  }
  [data-lc="steps"] > div > h3 { margin: 0 0 6px !important; min-height: 44px; display: flex; align-items: center; line-height: 1.3; }
  [data-lc="steps"] > div > p { grid-column: 2; }

  .carousel { scroll-padding-left: 32px; }
}

@media (max-width: 620px) {
  /* top bar: main phone + email, edge to edge */
  [data-lc="topbar-main"] { width: 100%; justify-content: space-between; gap: 12px !important; }
  [data-lc="topbar-main"] > :nth-child(2),
  [data-lc="topbar-main"] > :nth-child(3),
  [data-lc="topbar-main"] > :nth-child(4) { display: none; }

  /* hero */
  [data-lc="hero-grid"] { gap: 30px !important; padding-top: 36px !important; padding-bottom: 40px !important; }
  [data-lc="eyebrow"] { align-items: flex-start !important; font-size: 11px !important; line-height: 1.5; margin-bottom: 20px !important; }
  [data-lc="eyebrow"] > span { flex-shrink: 0; margin-top: 8px; width: 18px !important; }
  [data-lc="hero-lead"] { font-size: 16px !important; margin-bottom: 26px !important; }
  [data-lc="hero-cta"] { flex-direction: column; align-items: stretch !important; gap: 10px !important; }
  [data-lc="hero-cta"] > a { text-align: center; padding: 15px 20px !important; }
  [data-lc="hero-stats"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px !important;
    margin-top: 30px !important;
    padding-top: 22px !important;
  }
  [data-lc="hero-stats"] > div > div:first-child { font-size: 24px !important; }
  [data-lc="hero-stats"] > div > div:last-child { font-size: 12px !important; line-height: 1.35; }
  [data-lc="hero-frame"] { height: 320px !important; border-radius: 12px !important; }
  [data-lc="hero-frame"] > .abs-7 { bottom: 24px !important; left: 22px !important; right: 22px !important; }
  [data-lc="hero-frame"] > .abs-7 > div { font-size: 26px !important; }
  [data-lc="hero-frame"] > .abs-6 { top: 18px !important; left: 18px !important; }

  /* rotating phrase */
  [data-lc="phrase-grid"] { gap: 20px !important; }
  [data-lc="phrase"] { min-height: 92px !important; padding-left: 18px !important; }
  [data-lc="phrase"] span { font-size: 24px !important; }

  [data-lc="lead-23"] { font-size: 19px !important; }

  [data-lc="sec-head"] { gap: 16px; margin-bottom: 24px !important; }

  [data-lc="eco-grid"] { gap: 12px !important; }
  [data-lc="eco-grid"] > div { padding: 22px 20px !important; border-radius: 14px !important; }
  [data-lc="eco-grid"] > div > div:first-child { font-size: 20px !important; }

  [data-lc="spec-grid"] { gap: 10px !important; }
  [data-lc="spec-grid"] > div { padding: 16px 14px !important; border-radius: 12px !important; }
  [data-lc="spec-grid"] > div > div:first-child { width: 42px !important; height: 42px !important; margin-bottom: 12px !important; }
  [data-lc="spec-grid"] > div > div:first-child svg { width: 22px; height: 22px; }
  [data-lc="spec-grid"] > div > div:last-child { font-size: 14px !important; line-height: 1.3; }

  /* carousels: touch-scroll, slim progress bar, cards sized to the phone */
  .carousel { scroll-padding-left: 18px; scroll-snap-type: x mandatory; }
  .carousel::-webkit-scrollbar { height: 4px; }
  .carousel:not([data-noscrollbar]) { padding-bottom: 14px !important; }
  [data-lc="team"] { gap: 16px !important; }
  [data-lc="team"] > div { flex: 0 0 min(240px, 72vw) !important; }
  [data-lc="team"] img { height: 280px !important; }
  [data-lc="team"] > div > div:nth-child(2) { font-size: 17px !important; margin-top: 12px !important; }
  [data-lc="shop"] { gap: 12px !important; }
  [data-lc="shop"] > div { flex: 0 0 min(200px, 58vw) !important; }
  [data-lc="shop"] > div > div:first-child { height: 150px !important; }
  [data-lc="shop"] > div > div:last-child { padding: 12px 14px !important; }

  [data-lc="partners"] { gap: 18px 28px !important; }
  [data-lc="partners"] > a { height: 64px !important; }
  [data-lc="partners"] img.box-38 { height: 64px !important; }
  [data-lc="partners"] img.box-51 { height: 40px !important; }

  /* key figures + testimonials */
  [data-lc="figures"] > div { padding: 44px 18px !important; }
  [data-lc="figures-grid"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 18px !important; row-gap: 26px !important; }
  [data-lc="figures-grid"] > div > div:first-child { font-size: 38px !important; }
  [data-lc="figures-grid"] > div > div:first-child > span { font-size: 20px !important; }
  [data-lc="figures-grid"] > div > div:last-child { font-size: 13px !important; }
  [data-lc="testi"] .serif-19-i,
  [data-lc="testi"] .serif-21-i,
  [data-lc="testi"] .serif-22-i,
  [data-lc="testi"] .serif-26-i,
  [data-lc="testi"] .serif-27-i,
  [data-lc="testi"] .serif-28-i { font-size: 20px !important; line-height: 1.5 !important; }
  [data-lc="testi"] .carousel { gap: 18px !important; }

  [data-lc="resources"] { row-gap: 20px !important; }
  [data-lc="resources"] > div { gap: 14px !important; }
  [data-lc="resources"] > div > div:first-child { width: 72px !important; height: 72px !important; }

  details.faq > summary { font-size: 16px !important; gap: 14px; }
  details.faq { padding: 16px 0 !important; }

  [data-lc="cta-btns"] { flex-direction: column; align-items: stretch; gap: 10px !important; }
  [data-lc="cta-btns"] > a { text-align: center; }

  footer p.serif-27 { font-size: 22px !important; }
  footer a.c-3 { font-size: 19px !important; }
}
