/* testimonials.css — partner-testimonials slider band.
   Values from the spec ## Computed Styles (careers_index @ 1440 / 768 / 375);
   the card internals (shared child w_dyn_item) sit below the capture depth cap
   and are calibrated from the frozen Phase-A crop
   (source/screenshots/careers_index). Card bg rgb(247,244,244); cards are a
   horizontal flex track overflowing .overflow (overflow:hidden clips it, so the
   95000px source carousel track reduces to a bounded, clipped row — no
   scrollWidth blow-out).
   Run breakpoint boundary set {479,767,991,1919}: 1440 = base rules;
   768 -> @media(max-width:991px); 375 -> @media(max-width:479px).
   Typography via var(--font-*) (framework-11 E1 lock; source family
   'Plus Jakarta Sans' resolves through the frozen tokens; no mono token exists,
   so the typewriter-style attribution is approximated with the body family +
   uppercase + letter-spacing).
   Every selector is scoped under the component root so the shared canonical
   wrappers (padding-global / container-large, owned by about_info / accordion)
   never leak (rule 9). Registry bbox is full-width (x=0): the band renders
   edge-to-edge with the padding INSIDE it. */

/* ============================ Section root ================================= */
.c-testimonials__section-testimonials {
  display: block;
  position: relative;
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-body);
  line-height: var(--line-height-body);
  color: var(--color-text-body); /* source rgb(51,51,51) */
  /* SDC-preview UA body-margin neutraliser (Drupal zeroes the body margin on
     composed pages — the .region-content reset restores it there). On a
     width:auto block the -8px resolves to a viewport-wide box at every viewport. */
  margin: -8px;
}
.region-content .c-testimonials__section-testimonials {
  margin: 0;
  width: 100%;
}

/* ---- Overflow clip wrapper (source .overflow-hidden) --------------------- */
.c-testimonials__section-testimonials .c-testimonials__overflow {
  display: block;
  width: 100%;
  overflow: hidden;
}

/* ---- Outer padding wrapper (padding-global + padding-section-medium) ----- */
.c-testimonials__section-testimonials .c-testimonials__pad {
  display: block;
  width: 100%;
  padding: 96px var(--space-40); /* source 96px 40px @1440; no --space-96 token */
  box-sizing: border-box;
}

/* ---- Content container (container-large) --------------------------------- */
.c-testimonials__section-testimonials .c-testimonials__container {
  display: block;
  width: 100%;
  max-width: 1280px; /* source container maxWidth 1280 @1440 */
  margin-inline: auto; /* centres in the padded content box (source margin 0 40px) */
  box-sizing: border-box;
}

/* ============================ Grid host =================================== */
.c-testimonials__section-testimonials .c-testimonials__testimonial-content-grid {
  display: grid;
  position: relative; /* source position:relative — anchors the carousel arrows */
  grid-template-columns: 422.391px minmax(0, 1fr); /* source 422.391px 95000px (track clipped) */
  gap: var(--space-40); /* source gap 40px @1440 */
  align-items: start;
  width: 100%;
  min-width: 0;
}

/* ---- Left column: heading + subheading ---------------------------------- */
.c-testimonials__section-testimonials .c-testimonials__testimonial-content {
  min-width: 0;
}
.c-testimonials__section-testimonials .c-testimonials__heading {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: 32px; /* source below capture cap; crop-calibrated to the "What our partners say" ink width */
  font-weight: 500;
  line-height: 36px;
  letter-spacing: -1px;
  color: var(--color-text-body); /* source rgb(51,51,51) */
}
.c-testimonials__section-testimonials .c-testimonials__subheading {
  margin: var(--space-16) 0 0;
  font-family: var(--font-family-body);
  font-size: 15px; /* crop-calibrated eyebrow line */
  font-weight: 400;
  line-height: 22px;
  color: var(--color-text-body);
}

/* ============================ Slider track =============================== */
.c-testimonials__section-testimonials .c-testimonials__testimonial-slider {
  display: flex;
  align-items: stretch; /* equal-height cards */
  gap: var(--space-40); /* inter-card gap 40px @1440 */
  min-width: 0;
  /* Functional slider (testimonials.js): scroll-snap track, arrows scroll it. */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox — hide the native bar; arrows drive it */
  -ms-overflow-style: none;
}
.c-testimonials__section-testimonials .c-testimonials__testimonial-slider::-webkit-scrollbar {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  .c-testimonials__section-testimonials .c-testimonials__testimonial-slider {
    scroll-behavior: auto;
  }
}

/* ---- Testimonial card (shared child w_dyn_item, rebuilt inline) ---------- */
.c-testimonials__section-testimonials .c-testimonials__card {
  flex: 0 0 422px; /* card width 422px @1440 (crop-calibrated) */
  width: 422px;
  min-height: 540px; /* content-area height @1440 (732 - 2*96 padding) */
  margin: 0;
  scroll-snap-align: start;
  padding: 40px 36px; /* crop-calibrated card padding @1440 */
  box-sizing: border-box;
  background: rgb(247, 244, 244); /* source card fill */
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* quote top, attribution bottom */
}
.c-testimonials__section-testimonials .c-testimonials__quote {
  margin: 0;
  font-family: var(--font-family-body);
  font-size: 18px; /* crop-calibrated (11-line card2 quote spans ~264px @ 24px line-height) */
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-body);
}
.c-testimonials__section-testimonials .c-testimonials__attribution {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.c-testimonials__section-testimonials .c-testimonials__logo {
  display: block;
  height: 36px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 var(--space-16);
}
.c-testimonials__section-testimonials .c-testimonials__name,
.c-testimonials__section-testimonials .c-testimonials__role {
  display: block;
  font-family: var(--font-family-body);
  font-size: 13px; /* crop-calibrated attribution (uppercase, letter-spaced) */
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-text-dark); /* source rgb(18,18,18) */
}
.c-testimonials__section-testimonials .c-testimonials__underline {
  display: block;
  width: 32px;
  height: auto;
  margin: var(--space-8) 0 0;
}

/* ============================ Carousel arrows =========================== */
.c-testimonials__section-testimonials .c-testimonials__nav {
  position: absolute;
  top: -56px; /* lifts into the section top-padding band, above the grid content */
  right: 0;
  display: flex;
  gap: var(--space-16);
}
.c-testimonials__section-testimonials .c-testimonials__nav-btn {
  width: 34px;
  height: 34px;
  border-radius: var(--radius-full);
  border: 1.5px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  background: none;
  padding: 0;
  transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.c-testimonials__section-testimonials .c-testimonials__nav-btn:focus-visible {
  outline: 2px solid var(--color-text-body);
  outline-offset: 2px;
}
.c-testimonials__section-testimonials .c-testimonials__nav-btn[aria-disabled="true"] {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.c-testimonials__section-testimonials .c-testimonials__nav-btn--prev {
  border-color: rgb(200, 200, 200);
  color: rgb(200, 200, 200);
}
.c-testimonials__section-testimonials .c-testimonials__nav-btn--next {
  border-color: var(--color-text-body);
  color: var(--color-text-body);
}

/* ============================ 768 (@media max-width:991px) =============== */
@media (max-width: 991px) {
  .c-testimonials__section-testimonials .c-testimonials__pad {
    padding: var(--space-64) var(--space-40); /* source 64px 40px @768 */
  }
  .c-testimonials__section-testimonials .c-testimonials__testimonial-content-grid {
    grid-template-columns: 227.031px minmax(0, 1fr); /* source 227.031px 95000px @768 */
  }
  .c-testimonials__section-testimonials .c-testimonials__testimonial-slider {
    gap: var(--space-20); /* inter-card gap ~20px @768 */
    padding-bottom: var(--space-16); /* source slider padding 0 0 16px @768 */
  }
  .c-testimonials__section-testimonials .c-testimonials__card {
    flex: 0 0 292px; /* card width ~292px @768 (crop-calibrated) */
    width: 292px;
    min-height: 596px; /* content-area height @768 (724 - 2*64) */
    padding: 32px 28px;
  }
}

/* ============================ 375 (@media max-width:479px) =============== */
@media (max-width: 479px) {
  .c-testimonials__section-testimonials .c-testimonials__pad {
    padding: 48px var(--space-16); /* source 48px 16px @375; no --space-48 token */
  }
  .c-testimonials__section-testimonials .c-testimonials__testimonial-content-grid {
    grid-template-columns: minmax(0, 1fr); /* source single track 343px @375 (heading stacks above slider) */
    gap: var(--space-40); /* heading col -> slider vertical gap */
  }
  .c-testimonials__section-testimonials .c-testimonials__heading {
    font-size: 28px; /* crop-calibrated single-line heading @375 */
    line-height: 32px;
  }
  .c-testimonials__section-testimonials .c-testimonials__testimonial-slider {
    gap: 0;
    padding-bottom: 32px; /* source slider padding 0 0 32px @375 */
  }
  .c-testimonials__section-testimonials .c-testimonials__card {
    flex: 0 0 100%; /* single full-width card @375 (track collapses to column width) */
    width: 100%;
    min-height: 532px; /* source slider height @375 */
    padding: 32px 24px;
  }
  .c-testimonials__section-testimonials .c-testimonials__nav {
    display: none; /* arrows hidden on mobile (not visible in the 375 capture) */
  }
}
