/* =========================================================
   LFD statistics strip - the APPROVED design

   Every value is read off lfd-home.css:278-600 and carries the line it came
   from. The approved file needs 1,171 !important declarations across the
   homepage because it is reshaping Elementor's output; this component owns its
   markup, so it uses none.

   The grid template is driven by [data-lfd-stats], the number of figures the
   caller supplied, rather than hard-coded to three. The approved capture shows
   three; hard-coding it would break the moment a fourth is added.
   ========================================================= */

/* lfd-home.css:282-292. The approved rule also carries
   `width: 100vw; margin-left: calc(50% - 50vw)` to escape Elementor's
   container. 100vw includes the scrollbar, so that is ~15px wider than the
   viewport on a desktop browser with a classic scrollbar - a known cause of
   sideways scroll. Inside the shell the section is already full-bleed, so the
   escape hatch is dropped. Same rendered width, no overflow. */
.lfd-home-about-strip {
  padding-block: 42px 72px;
  display: grid;
  grid-template-columns:
    minmax(180px, 0.95fr)
    repeat(var(--lfd-stats-count, 3), minmax(150px, 1fr))
    minmax(320px, 1.9fr);
  gap: 0;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
}

.lfd-home-about-strip * {
  box-sizing: border-box;
}

.lfd-home-about-strip[data-lfd-stats="1"] { --lfd-stats-count: 1; }

.lfd-home-about-strip[data-lfd-stats="2"] { --lfd-stats-count: 2; }

.lfd-home-about-strip[data-lfd-stats="3"] { --lfd-stats-count: 3; }

.lfd-home-about-strip[data-lfd-stats="4"] { --lfd-stats-count: 4; }

.lfd-home-about-strip[data-lfd-stats="5"] { --lfd-stats-count: 5; }

/* lfd-home.css:314-336 - the title block */
.lfd-about-strip-title {
  padding-inline-end: 34px;
  display: flex;
  align-items: center;
  min-block-size: 132px;
  min-inline-size: 0;
}

.lfd-about-strip-title h2,
.lfd-about-strip-title h3 {
  margin: 0;
  font-family: Oswald, Arial, sans-serif;
  font-size: clamp(24px, 2vw, 38px);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: #000;
  max-inline-size: 210px;
}

/* lfd-home.css:338-373 - the stat cells */
.lfd-about-strip-stat {
  min-block-size: 132px;
  min-inline-size: 0;
  padding-inline: 34px;
  border-inline-start: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.lfd-about-strip-figure {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3vw, 56px);
  line-height: 0.9;
  font-weight: 400;
  letter-spacing: -0.055em;
  color: #000;
}

.lfd-about-strip-label {
  margin: 0;
  font-family: Oswald, Arial, sans-serif;
  font-size: 11px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
}

/* lfd-home.css:375-396 - the copy block */
.lfd-about-strip-copy {
  min-block-size: 132px;
  min-inline-size: 0;
  padding-inline-start: 42px;
  border-inline-start: 1px solid rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.lfd-about-strip-copy p {
  max-inline-size: 470px;
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 400;
  color: #111;
}

/* lfd-home.css:398-423 - the underlined link */
.lfd-about-strip-link {
  inline-size: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 0 5px;
  background: transparent;
  border: none;
  border-block-end: 1px solid #000;
  border-radius: 0;
  font-family: Oswald, Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #000;
  text-decoration: none;
  transition: opacity var(--lfd-duration-base, 0.25s) ease;
}

.lfd-about-strip-link:hover,
.lfd-about-strip-link:focus-visible {
  opacity: 0.55;
}

/* ---------------------------------------------------------
   Tablet - lfd-home.css:434-463

   The approved file steps this block down at 1024px and widens its gutter to
   56px above 1600px (lfd-home.css:425-431). Both are horizontal-alignment
   decisions, and the homepage now has one horizontal system (42 / 28 @1180 /
   16 @767) that the shell owns - so neither is restored here. Everything below
   is vertical rhythm and internal layout, which stays exactly as approved.
   --------------------------------------------------------- */
@media (max-width: 1024px) {

  .lfd-home-about-strip {
    padding-block: 38px 58px;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 26px;
  }

  .lfd-about-strip-title {
    grid-column: 1 / -1;
    min-block-size: auto;
    padding: 0 0 8px 0;
  }

  .lfd-about-strip-copy {
    grid-column: 1 / -1;
    min-block-size: auto;
    padding: 24px 0 0 0;
    border-inline-start: none;
    border-block-start: 1px solid rgba(0, 0, 0, 0.14);
  }

  .lfd-about-strip-copy p {
    max-inline-size: 700px;
  }
}

/* ---------------------------------------------------------
   Mobile - lfd-home.css:466-600, which is three passes in the approved file:
   the stack, then "number left, label right", then the side padding. They are
   merged here because there is nothing left to correct.
   --------------------------------------------------------- */
@media (max-width: 767px) {

  .lfd-home-about-strip {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-block: 18px 44px;
  }

  .lfd-about-strip-title {
    min-block-size: auto;
    padding: 18px 0 22px 0;
    border-block-start: 1px solid rgba(0, 0, 0, 0.14);
  }

  .lfd-about-strip-title h2,
  .lfd-about-strip-title h3 {
    font-size: 26px;
    line-height: 0.9;
    max-inline-size: 220px;
  }

  .lfd-about-strip-stat {
    inline-size: 100%;
    min-block-size: auto;
    padding: 18px 0;
    border-inline-start: none;
    border-block-start: 1px solid rgba(0, 0, 0, 0.14);
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
  }

  .lfd-about-strip-figure {
    flex: 0 0 auto;
    margin: 0;
    font-size: 38px;
    line-height: 0.9;
  }

  .lfd-about-strip-label {
    flex: 0 1 auto;
    margin: 0;
    font-size: 10px;
    line-height: 1.18;
    letter-spacing: 0.08em;
  }

  .lfd-about-strip-copy {
    inline-size: 100%;
    min-block-size: auto;
    padding: 22px 0 0 0;
    border-inline-start: none;
    border-block-start: 1px solid rgba(0, 0, 0, 0.14);
  }

  .lfd-about-strip-copy p {
    max-inline-size: none;
    font-size: 14px;
    line-height: 1.66;
    margin-block-end: 14px;
  }
}
