/* ==========================================================================
   DOBRA 02 — CONTEXTO ATUAL & ENTENDIMENTO DO NEGÓCIO
   Referência: página 2 do PDF original
   ========================================================================== */

.contexto {
  position: relative;
  /* topo em arco amplo, como no PDF */
  border-radius: 50% 50% 0 0 / clamp(28px, 4vw, 58px) clamp(28px, 4vw, 58px) 0 0;
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   Texto: título à esquerda, parágrafos à direita
   -------------------------------------------------------------------------- */

.contexto__texto {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 5rem);
  padding-top: clamp(4rem, 8vw, 8rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.contexto__titulo {
  font-size: var(--fs-h2);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -0.028em;
  color: var(--cream);
}

.contexto__corpo {
  display: flex;
  flex-direction: column;
  gap: 1.15em;
  font-size: var(--fs-body);
  line-height: 1.5;
  color: var(--gray-on-dark);
  text-wrap: pretty;
}
.contexto__corpo strong {
  font-weight: 700;
  color: var(--cream);
}

/* --------------------------------------------------------------------------
   Vitrine — duas esteiras infinitas em sentidos opostos
   -------------------------------------------------------------------------- */

.vitrine {
  display: flex;
  flex-direction: column;
}

.esteira {
  overflow: hidden;
  /* desfoca as pontas para o laço não ter corte seco */
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.esteira__trilho {
  display: flex;
  width: max-content;
  animation: esteira var(--volta, 70s) linear infinite;
}
.esteira--dir .esteira__trilho {
  animation-direction: reverse;
}

/* o trilho tem a lista duplicada, então -50% recomeça no mesmo ponto */
@keyframes esteira {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* parar ao passar o mouse — em qualquer uma das esteiras */
.vitrine:hover .esteira__trilho,
.vitrine:focus-within .esteira__trilho {
  animation-play-state: paused;
}

/* --- cada quadro do carrossel --- */
.vitrine__item {
  position: relative;
  flex: none;
  width: clamp(200px, 19vw, 310px);
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  background: var(--charcoal-soft);
  cursor: zoom-in;
  transition: filter 0.45s var(--ease);
}
.vitrine__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease);
}

/* legenda */
.vitrine__nome {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.1em;
  padding: 1.7em 0.9em 0.85em;
  background: linear-gradient(to top, color-mix(in srgb, var(--charcoal) 94%, transparent) 25%, transparent);
  color: var(--cream);
  text-align: center;
  opacity: 0;
  transform: translateY(0.6em);
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
}
.vitrine__nome b {
  font-size: var(--fs-micro);
  font-weight: 700;
}
.vitrine__nome span {
  font-size: var(--fs-eyebrow);
  color: var(--mint);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (hover: hover) {
  .vitrine:hover .vitrine__item { filter: saturate(0.5) brightness(0.62); }
  .vitrine__item:hover          { filter: none; }
  .vitrine__item:hover img      { transform: scale(1.06); }
  .vitrine__item:hover .vitrine__nome,
  .vitrine__item:focus-visible .vitrine__nome {
    opacity: 1;
    transform: none;
  }
}

/* sem hover (toque): legenda sempre visível */
@media (hover: none) {
  .vitrine__nome { opacity: 1; transform: none; }
}

/* quem pediu menos movimento não recebe carrossel */
@media (prefers-reduced-motion: reduce) {
  .esteira__trilho { animation: none; }
  .esteira {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .vitrine__item { scroll-snap-align: center; }
}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */

@media (max-width: 860px) {
  .contexto__texto {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

@media (max-width: 560px) {
  .vitrine__item { width: 56vw; }
}
