/* cs-chips-band — centered heading + subtitle with a row of pill chips,
   flanked by the brand chair marks.
   All rem values follow BB Theme's html { font-size: 10px } base. */

/* Strip BB's default row chrome. */
.fl-row-content-wrap:has(.cs-chips-band) {
  padding-block: 0;
}
.fl-module-content:has(.cs-chips-band) {
  margin-block: 0;
}

.cs-chips-band {
  position: relative;
  padding-block: var(--cs-space-2xl);
  font-family: var(--cs-font-body);
  color: var(--cs-ink);
}

.cs-chips-band__inner {
  max-width: var(--cs-container);
  margin: 0 auto;
  padding-inline: var(--cs-gutter);
  position: relative;
  z-index: 1;
  text-align: center;
}

/* Chair marks flanking the copy. The two SVG files are the same artwork
   (~1.09:1, chair facing right), so the raw file serves the left side and a
   CSS mirror on the right side makes the pair face each other. */
.cs-chips-band__chair {
  position: absolute;
  top: 8.4rem;
  width: 8.4rem;
  height: auto;
  object-fit: contain;
}

.cs-chips-band__chair--left  { left: var(--cs-gutter); }
.cs-chips-band__chair--right { right: var(--cs-gutter); transform: scaleX(-1); }

/* Doubled classes + font-style so BB Global h2 rules lose. */
.cs-chips-band .cs-chips-band__heading {
  margin: 0 auto;
  max-width: 96rem; /* keep clear of the flanking chair marks */
  font-family: var(--cs-font-display);
  font-weight: 700;
  font-size: clamp(3rem, 2.5vw + 1rem, 4rem); /* 30px → 40px */
  font-style: normal;
  line-height: 1.2;
  letter-spacing: var(--cs-tracking-tight);
  color: var(--cs-ink);
  text-wrap: balance;
}

.cs-chips-band__subtitle {
  margin: var(--cs-space-md) auto 0;
  max-width: 88rem; /* keep clear of the flanking chair marks */
  font-family: var(--cs-font-display);
  font-weight: 400;
  font-size: 2rem; /* 20px */
  line-height: 1.6;
  color: #1b5386;
}

.cs-chips-band__subtitle p {
  margin: 0;
}

/* ---------- Chips ---------- */
.cs-chips-band__chips {
  list-style: none;
  margin: var(--cs-space-xl) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
}

.cs-chips-band__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16.4rem; /* 164px */
  min-height: 4.4rem; /* 44px — grown with the type, and clears the tap-target minimum */
  padding: 0.8rem 2rem;
  border-radius: var(--cs-radius-pill);
  background: rgba(240, 183, 164, 0.3);
  font-family: var(--cs-font-display);
  font-weight: 400;
  font-size: 1.8rem; /* 18px — body-copy floor */
  line-height: 1.45;
  color: #383840;
  text-align: center;
}

/* The chair marks sit in the gutters, behind the pill list. Inset the list by
   their footprint plus a gap so a long chip can't run underneath one — at 16px
   the end chips are wide enough to reach them. Only applies when chairs are
   actually rendered, and lifts below 1100px where they're hidden. */
@media (min-width: 1101px) {
  .cs-chips-band__inner:has(.cs-chips-band__chair) .cs-chips-band__chips {
    padding-inline: 10rem;
  }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .cs-chips-band__chair {
    display: none;
  }
}

@media (max-width: 640px) {
  /* Mobile section rhythm: 52px per side so adjacent sections meet at
     104px (client 2026-09-15). */
  .cs-chips-band {
    padding-block: var(--cs-space-section-sm);
  }
  .cs-chips-band__chips {
    gap: 0.8rem; /* was 1rem — client wants the pills tighter (2026-09-15) */
  }
  .cs-chips-band__chip {
    /* The 164px floor is wider than half a 390px viewport, so every chip claims
       its own row — a 12-chip list becomes a very long scroll. Sizing to content
       lets them wrap two and three up. The 4.4rem height floor goes too: the
       chips are static labels, not tap targets, and the floor padded them into
       chunky lozenges on phones. */
    min-width: 0;
    min-height: 0;
    padding: 0.6rem 1.6rem;
  }
}
