/**
 * Página "Gestão e aceleração de e-commerce" — estilos isolados sob o
 * prefixo `.gestao-` (mesmo padrão de isolamento de assets/css/diagnostic.css
 * e assets/css/trafego-pago.css: ver .claude/skills/dscomm-design-system).
 * Usa direto os tokens de cor do tema (var(--color-*), definidos em
 * assets/css/input.css) para nunca sair da paleta oficial. Carregado só em
 * page-gestao-e-aceleracao.php.
 *
 * As grades de card (.service-card e afins) e o CTA de diagnóstico
 * (.diagnostic-cta) já existem em input.css e são reaproveitados
 * diretamente pelos templates — este arquivo cobre apenas as composições
 * que não têm um componente equivalente ainda no tema.
 *
 * Refinamento visual (v2): proporções do hero, tipografia e ritmo de
 * espaçamento foram recalibrados medindo diretamente os estilos computados
 * do hero de Clientes (.clientes-hero__* em input.css) em viewport de
 * 1440px — grid 12 colunas 5/7, pt-12 pb-16 lg:pb-20, lg:pt-16 na coluna
 * de texto, gap-10 lg:gap-6, título em clamp(1.75rem,3.8vw,4.25rem) e
 * parágrafo em clamp(0.9375rem,1.5vw,1.25rem). Ver template-parts/
 * gestao_aceleracao_components/hero.php.
 */

.gestao-page {
  background: var(--color-bg);
}

.gestao-page * {
  box-sizing: border-box;
}

/* =========================================================
   MARCAS — reaproveita o componente partner-carousel.php sem
   alterá-lo (compartilhado com a Home); apenas amplia título e
   logos dentro do escopo desta página via seletor descendente.
   ========================================================= */
.gestao-marcas h2 {
  font-size: 2.5rem;
}

@media (min-width: 768px) {
  .gestao-marcas h2 {
    font-size: 3.25rem;
  }
}

.gestao-marcas img {
  height: 3.25rem;
}

/* =========================================================
   HERO — proporções, breakpoints e composição medidos do hero
   de Clientes (ver cabeçalho do arquivo).
   ========================================================= */
/* Aproxima o eyebrow do título (mesmo ajuste padronizado nas 5
   páginas de Soluções — ver .eyebrow em cada __header/__content
   e hero.php dessas páginas): puxa o h1 para dentro do gap-6/
   lg:gap-8 da coluna de texto, deixando ~0.5rem entre os dois. */
.gestao-hero .eyebrow {
  margin-bottom: -1rem;
}

@media (min-width: 1024px) {
  .gestao-hero .eyebrow {
    margin-bottom: -1.5rem;
  }
}

.gestao-hero__title {
  font-size: clamp(1.75rem, 3.8vw, 4.25rem);
  line-height: 1.04;
}

.gestao-hero__paragraph {
  font-size: clamp(0.9375rem, 1.5vw, 1.25rem);
  line-height: 1.45;
  max-width: 33rem;
}

.gestao-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
}

@media (min-width: 640px) {
  .gestao-hero__actions {
    flex-direction: row;
    align-items: center;
    width: auto;
  }
}

@media (min-width: 1024px) {
  .gestao-hero__actions {
    align-items: center;
  }
}

.gestao-hero__secondary-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.gestao-hero__secondary-cta:hover,
.gestao-hero__secondary-cta:focus-visible {
  color: var(--color-brand);
}

/* Composição visual: réplica direta de .clientes-hero__composition/
   frame/photo (input.css) — mesmo aspect-ratio e mesma progressão de
   max-width por breakpoint, para ocupar a mesma presença que a foto de
   Clientes na mesma coluna de 7/12. */
.gestao-hero__composition {
  aspect-ratio: 957 / 809;
  width: 100%;
  max-width: 24rem;
}

@media (min-width: 640px) {
  .gestao-hero__composition {
    max-width: 28rem;
  }
}

@media (min-width: 768px) {
  .gestao-hero__composition {
    max-width: 40rem;
  }
}

@media (min-width: 1024px) {
  .gestao-hero__composition {
    max-width: 61.25rem; /* 980px — mesmo teto do hero de Clientes */
  }
}

.gestao-hero__frame {
  position: absolute;
  left: 11.3%;
  top: 16.7%;
  width: 83.1%;
  height: 72.9%;
  border: 2px solid var(--color-brand);
  border-radius: 1.5rem;
  opacity: 0.5;
  z-index: 0;
  pointer-events: none;
}

.gestao-hero__photo {
  position: absolute;
  left: 16.19%;
  top: 8.03%;
  width: 69.28%;
  height: 91.97%;
  z-index: 10;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 20px 40px -14px rgb(28 30 60 / 0.3);
}

.gestao-hero__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Indicadores: mesma lateral direita da barra de ícones de Clientes
   (.clientes-hero__icons fica em left:89.34%), alargada para caber
   texto. No mobile/tablet, volta ao fluxo normal abaixo da foto. */
.gestao-hero__indicators {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 24rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media (min-width: 1024px) {
  .gestao-hero__indicators {
    position: absolute;
    z-index: 20;
    left: 74%;
    top: 9%;
    width: 24%;
    max-width: none;
    height: 82%;
    justify-content: space-between;
  }
}

.gestao-hero__indicator {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  background: var(--color-bg);
  border-radius: var(--radius-mini-card);
  padding: 0.9rem 1.1rem;
  box-shadow: 0 14px 30px -14px rgb(28 30 60 / 0.35);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-ink);
}

.gestao-hero__indicator-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: var(--radius-mini-card);
  background: var(--color-section);
  color: var(--color-brand);
  font-size: 1.1rem;
}

/* =========================================================
   PROBLEMA / SOLUÇÃO — cabeçalho, grade e frase de fechamento
   compartilhados pelas duas seções (mesma estrutura editorial).
   Modificadores: --split (Problema: título/texto em 2 colunas),
   --wide (Solução: centralizado, mais largo), --left (Visão
   integrada: alinhado à esquerda, sem grade dupla).
   ========================================================= */
.gestao-problema__header {
  max-width: 46rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 3rem;
}

/* Mesmo ajuste padronizado de proximidade eyebrow → título das outras
   páginas de Soluções (só a variante --wide usa eyebrow aqui). */
.gestao-problema__header .eyebrow {
  margin-bottom: -0.5rem;
}

.gestao-problema__header--split {
  max-width: none;
  text-align: left;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .gestao-problema__header--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 4rem;
  }
}

.gestao-problema__header--wide {
  max-width: 50rem;
}

.gestao-problema__header--left {
  max-width: 46rem;
  margin-inline: 0;
  text-align: left;
}

.gestao-solucao__eyebrow {
  color: var(--color-brand);
}

.gestao-problema__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .gestao-problema__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .gestao-problema__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Densidade dos cards nesta página: mais baixos e com tipografia maior
   que o .service-card padrão (calibrado para a vitrine de 4 colunas da
   Home) — ver template-parts/components/features.php para o componente
   original, preservado sem alterações. */
.gestao-problema__grid .service-card {
  min-height: 15.5rem; /* ~248px */
  padding: 1.85rem;
}

.gestao-problema__grid .service-card__icon {
  width: 3.5rem;
  height: 3.5rem;
}

.gestao-problema__grid .service-card i {
  font-size: 1.375rem;
}

.gestao-problema__grid .h-card {
  font-size: 1.375rem;
  line-height: 1.2;
}

.gestao-problema__grid .service-card__description {
  font-size: 0.9375rem;
  line-height: 1.45;
}

.gestao-problema__closing {
  margin-top: 2.5rem;
  text-align: center;
  font-size: 1.25rem;
  color: var(--color-ink);
  max-width: 40rem;
  margin-inline: auto;
}

/* =========================================================
   COMO FUNCIONA — cabeçalho em 3 colunas (título / descrição /
   imagem), recuperando a composição do preview aprovado.
   ========================================================= */
.gestao-metodo__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  margin-bottom: 3.5rem;
  text-align: left;
}

@media (min-width: 1024px) {
  .gestao-metodo__header {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.7fr) minmax(0, 1fr);
    align-items: center;
    gap: 2.5rem;
  }
}

.gestao-metodo__title {
  max-width: none;
}

.gestao-metodo__text {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgb(255 255 255 / 0.75);
}

.gestao-metodo__image {
  aspect-ratio: 420 / 260;
  max-width: 29.375rem; /* 470px */
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 20px 40px -16px rgb(0 0 0 / 0.45);
}

@media (min-width: 1024px) {
  .gestao-metodo__image {
    margin-left: auto;
  }
}

.gestao-metodo__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gestao-metodo__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  margin-bottom: 3.5rem;
  counter-reset: none;
  list-style: none;
  padding: 0;
}

@media (min-width: 1024px) {
  .gestao-metodo__steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.gestao-metodo__step {
  position: relative;
  padding-top: 1.5rem;
  border-top: 1.5px solid rgb(255 255 255 / 0.2);
}

.gestao-metodo__step-number {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-highlight);
  margin-bottom: 0.75rem;
}

.gestao-metodo__step-title {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--color-bg);
  margin-bottom: 0.5rem;
}

.gestao-metodo__step-text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgb(255 255 255 / 0.75);
}

/* =========================================================
   VISÃO INTEGRADA — blocos com leve tratamento de cartão
   (fundo + padding) para não parecerem pontos soltos no vazio.
   ========================================================= */
.gestao-visao__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
}

@media (min-width: 640px) {
  .gestao-visao__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .gestao-visao__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

.gestao-visao__item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.5rem;
  background: var(--color-bg-muted);
  border-radius: var(--radius-card);
}

.gestao-visao__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: var(--radius-mini-card);
  background: var(--color-section);
  color: var(--color-brand);
  font-size: 1.3rem;
}

.gestao-visao__title {
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--color-ink);
  text-transform: uppercase;
}

.gestao-visao__text {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgb(28 30 60 / 0.7);
}

/* =========================================================
   BENEFÍCIOS — duas colunas: título + texto de fechamento
   (~38%) e os três benefícios empilhados (~62%).
   ========================================================= */
.gestao-beneficios__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
}

@media (min-width: 1024px) {
  .gestao-beneficios__grid {
    grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr);
    gap: 4rem;
    align-items: start;
  }
}

.gestao-beneficios__intro {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .gestao-beneficios__intro {
    position: sticky;
    top: 2rem;
  }
}

.gestao-beneficios__title {
  max-width: none;
}

.gestao-beneficios__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  list-style: none;
  padding: 0;
}

.gestao-beneficios__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--color-border);
}

.gestao-beneficios__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.gestao-beneficios__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  border-radius: var(--radius-mini-card);
  background: var(--color-ink);
  color: var(--color-bg);
  font-size: 1.15rem;
}

.gestao-beneficios__copy {
  min-width: 0;
}

.gestao-beneficios__item-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--color-ink);
  margin-bottom: 0.4rem;
}

.gestao-beneficios__item-text {
  font-size: 1rem;
  line-height: 1.6;
  color: rgb(28 30 60 / 0.75);
  max-width: 40rem;
}

.gestao-beneficios__meter {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}

.gestao-beneficios__meter-track {
  flex: 1 1 auto;
  height: 0.5rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.6);
  overflow: hidden;
}

.gestao-beneficios__meter-fill {
  display: block;
  height: 100%;
  width: var(--fill, 60%);
  border-radius: 999px;
  background: var(--color-brand);
}

.gestao-beneficios__meter-label {
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgb(28 30 60 / 0.7);
}

.gestao-beneficios__footer {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--color-ink);
  max-width: none;
}

/* =========================================================
   PARA QUEM É
   ========================================================= */
.gestao-publico__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .gestao-publico__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
  }
}

.gestao-publico__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.gestao-publico__checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
  list-style: none;
  padding: 0;
  margin-block: 0.5rem 1rem;
  width: 100%;
}

@media (min-width: 640px) {
  .gestao-publico__checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
  }
}

.gestao-publico__check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--color-ink);
}

.gestao-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  margin-top: 0.05rem;
  border-radius: 0.4rem;
  background: var(--color-section);
  color: var(--color-brand);
}

.gestao-check svg {
  width: 0.9rem;
  height: 0.9rem;
}

.gestao-publico__visual {
  display: flex;
  justify-content: center;
  width: 100%;
}

.gestao-publico__photo {
  width: 100%;
  max-width: none;
  aspect-ratio: 8 / 5;
  object-fit: cover;
  border-radius: var(--radius-card);
  box-shadow: 0 20px 40px -20px rgb(28 30 60 / 0.3);
}

/* =========================================================
   FAQ
   ========================================================= */
.gestao-faq__title {
  max-width: 56.25rem; /* 900px */
  margin-bottom: 3rem;
}

.gestao-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  max-width: 64rem;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .gestao-faq__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.gestao-faq__question {
  margin: 0;
}

.gestao-faq__item {
  border-radius: var(--radius-card);
  background: var(--color-bg-muted);
  overflow: hidden;
}

.gestao-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem 1.5rem;
  background: none;
  border: none;
  text-align: left;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-ink);
  cursor: pointer;
}

.gestao-faq__trigger:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: -2px;
}

.gestao-faq__icon {
  flex-shrink: 0;
  color: var(--color-brand);
  transition: transform 0.2s ease;
}

.gestao-faq__trigger[aria-expanded='true'] .gestao-faq__icon {
  transform: rotate(45deg);
}

.gestao-faq__panel {
  padding: 0 1.5rem 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: rgb(28 30 60 / 0.75);
}

/* =========================================================
   CTA FINAL — faixa horizontal (título / descrição / botão).
   ========================================================= */
.gestao-cta-final__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  text-align: center;
  align-items: center;
}

@media (min-width: 1024px) {
  .gestao-cta-final__inner {
    grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.34fr) minmax(0, 0.3fr);
    text-align: left;
    gap: 2.5rem;
  }

  .gestao-cta-final__action-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
  }
}

.gestao-cta-final__text {
  color: rgb(255 255 255 / 0.8);
}

.gestao-cta-final__note {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: rgb(255 255 255 / 0.6);
}

/* =========================================================
   Acessibilidade: respeita prefers-reduced-motion.
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .gestao-page * {
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
  }
}
