/* Extrait automatiquement de main.css lignes 483-593 — RETOUR TERRAIN + ESTIMATION (section 3) */
/* =============================================
   RETOUR TERRAIN + ESTIMATION (section 3)
   ============================================= */
.terrain-section {
}
.terrain-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

/* Article (gauche) */
.terrain-article {
  background: var(--blanc);
  padding: 5rem 4rem 5rem 5rem;
  display: flex;
  flex-direction: column;
}
.terrain-article__title {
  font-family: var(--font-titre);
  font-size: clamp(1.6rem, 3.5vw, 2.8125rem);
  line-height: 1.15;
  margin: .75rem 0 1.5rem;
}
.terrain-article__text {
  font-size: .95rem;
  color: var(--gris);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.terrain-article__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: auto;
  padding-top: 2.5rem;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--noir);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color .2s;
}
.terrain-article__link:hover { color: var(--rouge); }

/* Aside (droite) — bloc rouge */
.terrain-aside {
  background: var(--rouge);
  color: var(--blanc);
  padding: 5rem 5rem 5rem 4rem;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  position: relative;
  overflow: hidden;
}
.terrain-aside__label,
.terrain-aside .section-label { color: rgba(255,255,255,.95) !important; } /* était .6 — contraste 2.61:1 sur --rouge, insuffisant (WCAG AA 4.5:1) */
.terrain-aside__title {
  font-family: var(--font-titre);
  font-size: clamp(1.6rem, 3.5vw, 2.8125rem);
  line-height: 1.15;
  margin: .75rem 0 1.25rem;
}
.terrain-aside__text {
  font-size: .95rem;
  color: rgba(255,255,255,.95); /* était .75 — contraste 3.41:1 sur --rouge, insuffisant (WCAG AA 4.5:1) */
  line-height: 1.75;
}
.terrain-aside__actions {
  margin-top: auto;
  padding-top: 2.5rem;
}
.terrain-aside__btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.75rem;
  background: var(--blanc);
  color: var(--noir);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .2s;
}
.terrain-aside__btn:hover { background: var(--creme); }

/* Décoration pacman Noovimo — commun à tous les blocs rouges */
.rouge-deco {
  position: absolute;
  left: -5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 80rem;
  height: auto;
  opacity: 0.12;
  filter: brightness(0);
  z-index: -1;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 900px) {
  .terrain-inner { grid-template-columns: 1fr; }
  .terrain-article { padding: 3rem 1.5rem; }
  .terrain-aside { padding: 3rem 1.5rem; }
}

