/* ============================================================
   SEÇÃO: O QUE FAZEMOS (sobre.html)
   Adicionar ao main.css
   Prefixo de classes: .owf- (evita colisão com globalClasses.css)
   Usa apenas variáveis já definidas em variaveis.css — nenhuma
   classe global (.cta-button, .badge, .accent-line, .heading-2,
   .text-body) é redefinida aqui.

   Camadas visuais:
   1. .owf-section  → fundo cinza claro (var(--gray-light)) + 2
      manchas suaves (blobs) em vermelho/preto, bem apagadas
   2. .owf-stage    → painel branco elevado (shadow-lg) que
      "flutua" sobre o fundo, com um ícone de trigo bem discreto
      no canto (referência ao setor de cereais)
   3. .owf-header   → título com tratamento tipográfico (2
      linhas + palavra-chave em gradiente vermelho)
   4. .owf-split    → as 2 colunas (O que fazemos / Diferenciais)
   ============================================================ */

.owf-section {
  background: var(--gray-light);
  padding: var(--spacing-lg) 0;
  position: relative;
  overflow: hidden;
}

/* --------------------------------------------
   Formas decorativas de fundo (ambiente, bem suaves)
   -------------------------------------------- */
.owf-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  pointer-events: none;
  z-index: 0;
}
.owf-blob-red {
  width: 480px;
  height: 480px;
  background: var(--red-gradient);
  opacity: 0.1;
  top: -180px;
  right: -160px;
}
.owf-blob-black {
  width: 380px;
  height: 380px;
  background: var(--black-gradient);
  opacity: 0.05;
  bottom: -140px;
  left: -120px;
}

/* --------------------------------------------
   Painel elevado ("stage") que contém tudo
   -------------------------------------------- */
.owf-stage {
  position: relative;
  z-index: 1;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: var(--spacing-lg);
  overflow: hidden;
}

/* Ícone de trigo — referência sutil ao setor de cereais, no canto do painel */
.owf-watermark {
  position: absolute;
  top: -20px;
  right: -10px;
  font-size: 200px;
  color: var(--text-primary);
  opacity: 0.035;
  z-index: 0;
  pointer-events: none;
  transform: rotate(18deg);
}

/* --------------------------------------------
   Cabeçalho / Título com tratamento tipográfico
   -------------------------------------------- */
.owf-header {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto var(--spacing-lg);
  text-align: center;
}

.owf-badge {
  background: var(--red-gradient);
  color: white;
  padding: 10px 24px;
  border-radius: var(--radius-full);
  font-size: 1.5rem;
  font-weight: 600;
  display: inline-block;
}

.owf-heading {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--text-primary);
  margin: var(--spacing-sm) 0;
}
.owf-heading-line {
  display: block;
}
.owf-heading-accent {
  background: var(--red-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Linha de destaque customizada com "ponta" — não redefine .accent-line global */
.owf-accent-line {
  width: 60px;
  height: 3px;
  background: var(--red-gradient);
  border-radius: 2px;
  margin: var(--spacing-sm) auto;
  position: relative;
}
.owf-accent-line::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  transform: translateY(-50%);
}

.owf-intro {
  margin-top: var(--spacing-sm);
}

/* --------------------------------------------
   Split em duas colunas
   -------------------------------------------- */
.owf-split {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--spacing-lg);
  align-items: start;
}

.owf-divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    var(--gray-border) 12%,
    var(--gray-border) 88%,
    transparent 100%
  );
}

.owf-col-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--spacing-md);
}
.owf-col-title-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 0.9rem;
  background: var(--red-gradient);
  box-shadow: var(--shadow-red);
}
.owf-col-diferenciais .owf-col-title-icon {
  background: var(--black-gradient);
  box-shadow: var(--shadow-md);
}

.owf-list {
  width: 100%;
}

/* Linha (não é card: sem box-shadow, sem border-radius, sem fundo elevado) */
.owf-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-xs);
  border-bottom: 1px solid var(--gray-border);
  position: relative;
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    background 0.3s ease;
}

/* Entrada animada escalonada — ativada via JS (classe .in-view em cada .owf-list) */
.owf-list.in-view .owf-row {
  opacity: 1;
  transform: translateY(0);
}
.owf-row:nth-child(1) {
  transition-delay: 0.05s;
}
.owf-row:nth-child(2) {
  transition-delay: 0.15s;
}
.owf-row:nth-child(3) {
  transition-delay: 0.25s;
}
.owf-row:nth-child(4) {
  transition-delay: 0.35s;
}
.owf-row:last-child {
  border-bottom: none;
}

/* Barra de destaque lateral no hover — cor unificadora entre as duas colunas */
.owf-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--red-gradient);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}
.owf-row:hover::before {
  transform: scaleY(1);
}
.owf-row:hover {
  background: rgba(220, 38, 38, 0.03);
}

.owf-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Numeral grande e apagado, atrás do ícone — só na coluna "O que fazemos",
   onde a ordem representa uma sequência real do processo */
.owf-index {
  position: absolute;
  font-size: 2.6rem;
  font-weight: 800;
  background: var(--black-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0.08;
  user-select: none;
  pointer-events: none;
  z-index: 0;
}

.owf-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  background: var(--red-gradient);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  box-shadow: var(--shadow-red);
  transition: var(--transition-smooth);
}

/* Variante da coluna "Diferenciais": ícone em gradiente preto (sem numeral) */
.owf-row--alt .owf-icon {
  background: var(--black-gradient);
}

.owf-row:hover .owf-icon {
  transform: scale(1.1) rotate(-6deg);
  box-shadow: var(--shadow-red-hover);
}

.owf-content h4 {
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-bottom: 6px;
  transition: color 0.3s ease;
}
.owf-row:hover .owf-content h4 {
  color: var(--red);
}

.owf-content p {
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* --------------------------------------------
   Fechamento + CTA
   -------------------------------------------- */
.owf-closing {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: var(--spacing-lg) auto 0;
  text-align: center;
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--gray-border);
}
.owf-closing p {
  font-size: 1.2rem;
  color: var(--text-primary);
  font-weight: 500;
  line-height: 1.7;
}

.owf-cta-wrap {
  text-align: center;
  margin-top: var(--spacing-md);
}

/* --------------------------------------------
   Responsividade
   -------------------------------------------- */
@media (max-width: 900px) {
  .owf-split {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  .owf-divider {
    display: none;
  }
  .owf-col-diferenciais {
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--gray-border);
  }
}

@media (max-width: 768px) {
  .owf-stage {
    padding: var(--spacing-md) var(--spacing-sm);
    border-radius: var(--radius-md);
  }
  .owf-watermark {
    font-size: 120px;
  }
  .owf-row {
    grid-template-columns: 48px 1fr;
    gap: var(--spacing-sm);
  }
  .owf-index {
    display: none;
  }
  .owf-icon {
    width: 44px;
    height: 44px;
    font-size: 1.05rem;
  }
  .owf-content h4 {
    font-size: 1.1rem;
  }
  .owf-closing p {
    font-size: 1.05rem;
  }
  .owf-blob-red {
    width: 280px;
    height: 280px;
  }
  .owf-blob-black {
    width: 220px;
    height: 220px;
  }
}
