/* ==========================================================================
   07c · Provas sociais
   Duas colunas: o case real em destaque (malha de pontos + vidro, a
   linguagem dos cartões de "Não foi falta de esforço") e um carrossel de
   depoimentos (vagas tracejadas até chegar texto real autorizado).

   Seção CLARA desde 30/09/2026 (fecha o bloco claro aberto no 07b). O case
   segue Midnight com malha e vidro (data-tema="escuro"), peça inserida; os
   números em Lime ficam dentro dele, onde têm contraste. No claro, o ponto
   ativo do carrossel é preenchimento Garimpo.

   Contraste:
     NightSkye 64% sobre Vanilla (vagas) 6,1:1
     Mint sobre Midnight / #0C1629 ..... > 14:1
     Lime (números do case) ............ ~13:1
     Mint 55% (vagas) .................. 6:1
   ========================================================================== */

.v2-provas__cabeca {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-5);
  margin-bottom: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
}
.v2-provas__titulo {
  margin: 0;
  font-size: clamp(2.25rem, 1.2rem + 3.2vw, 3.75rem);
  font-weight: var(--w-regular);
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-wrap: balance;
}
.v2-provas__destaque { display: block; color: var(--v2-destaque); }

.v2-provas__grade {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--s-4);
  align-items: stretch;
}

/* --- Case real ------------------------------------------------------------ */

.v2-provas__case {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 26rem;
  padding: 30px;
  border: var(--linha) solid color-mix(in srgb, var(--gp-garimpo) 45%, transparent);
  border-radius: var(--r-2);
  background: var(--gp-midnight);
}
.v2-provas__malha {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 25%, #000 60%);
          mask-image: linear-gradient(to bottom, transparent 25%, #000 60%);
}
.v2-provas__tipo {
  margin: 0;
  font-size: var(--fs-label);
  font-weight: var(--w-semibold);
  letter-spacing: var(--tr-label);
  text-transform: uppercase;
  color: var(--gp-sky);
}
.v2-provas__case-titulo {
  margin: var(--s-5) 0 0;
  max-width: 18ch;
  font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
  font-weight: var(--w-regular);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.v2-provas__num {
  font-family: var(--font-display);
  font-stretch: var(--display-stretch);
  font-weight: var(--w-bold);
  font-size: 1.25em;
  color: var(--realce);
  font-variant-numeric: tabular-nums;
}
.v2-provas__dados {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-4);
  margin: var(--s-6) 0 0;
}
.v2-provas__dados dt { font-size: 12px; color: var(--ink-3); }
.v2-provas__dados dd { margin: 4px 0 0; font-size: 15px; color: var(--ink); }

.v2-provas__vidro {
  margin: auto -30px -30px;
  padding: 18px 30px 22px;
  border-top: var(--linha) solid color-mix(in srgb, var(--gp-mint) 14%, transparent);
  background: color-mix(in srgb, var(--gp-nightskye) 42%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
}

/* --- Depoimentos ---------------------------------------------------------- */

.v2-provas__depoimento {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  margin: 0;
  padding: 28px;
  border: var(--linha) solid var(--v2-borda-sutil);
  border-radius: var(--r-2);
  background: var(--v2-cartao);
}
.v2-provas__aspas {
  font-family: var(--font-display);
  font-size: 4.5rem;
  line-height: 0.6;
  color: var(--v2-destaque);
}
.v2-provas__depoimento blockquote { margin: 0; }
.v2-provas__depoimento blockquote p {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ink);
}
.v2-provas__depoimento figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  font-size: 14px;
  color: var(--ink-2);
}
.v2-provas__depoimento strong { color: var(--ink); font-weight: var(--w-semibold); }
.v2-provas__avatar {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gp-midnight);
  border: var(--linha) solid var(--regua-2);
}

/* vaga: tudo esmaecido e tracejado até ter texto real */
.v2-provas__depoimento--vaga {
  border-style: dashed;
  border-color: var(--regua-2);
  background: transparent;
}
.v2-provas__depoimento--vaga .v2-provas__aspas { color: var(--ink-3); }
.v2-provas__depoimento--vaga blockquote p,
.v2-provas__depoimento--vaga figcaption,
.v2-provas__depoimento--vaga strong { color: var(--ink-3); }
.v2-provas__depoimento--vaga .v2-pendente { align-self: flex-start; }

/* --- Carrossel ----------------------------------------------------------- */

.v2-provas__carrossel {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
  min-width: 0;
}

/* trilho: um depoimento por vez, desliza com scroll-snap */
.v2-provas__trilho {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: var(--s-4);
  flex: 1;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  padding: 1px;               /* a borda tracejada não é cortada pelo trilho */
  border-radius: var(--r-2);
}
.v2-provas__trilho::-webkit-scrollbar { display: none; }
.v2-provas__trilho:focus-visible { outline: 2px solid var(--foco); outline-offset: 4px; }
.v2-provas__trilho > .v2-provas__depoimento { scroll-snap-align: start; min-height: 100%; }

.v2-provas__controles {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4);
}
.v2-provas__seta {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: var(--linha) solid var(--regua-2);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-size: 16px;
  cursor: pointer;
  transition: border-color var(--d-2) var(--ease-out-quart), background-color var(--d-2) var(--ease-out-quart), opacity var(--d-2);
}
.v2-provas__seta:hover { border-color: var(--gp-garimpo); background: color-mix(in srgb, var(--gp-garimpo) 14%, transparent); }
.v2-provas__seta:disabled { opacity: 0.35; cursor: default; border-color: var(--regua-2); background: transparent; }

.v2-provas__pontos { display: flex; gap: 8px; }
.v2-provas__ponto {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.v2-provas__ponto::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--regua-2);
  transition: width var(--d-3) var(--ease-out-expo), background-color var(--d-2) var(--ease-out-quart);
}
.v2-provas__ponto[aria-current="true"]::before { width: 24px; background: var(--gp-sky); }

/* --- Responsivo ----------------------------------------------------------- */

@media (max-width: 64rem) {
  .v2-provas__grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 36rem) {
  .v2-provas__grade { grid-template-columns: minmax(0, 1fr); }
  .v2-provas__case { min-height: 0; padding: 24px; }
  .v2-provas__vidro { margin: var(--s-6) -24px -24px; padding: 16px 24px 20px; }
  .v2-provas__dados { grid-template-columns: minmax(0, 1fr); }
}

[data-tema="claro"] .v2-provas__ponto[aria-current="true"]::before { background: var(--gp-garimpo); }
[data-tema="claro"] .v2-provas__avatar { background: color-mix(in srgb, var(--gp-nightskye) 6%, transparent); }
