:root {
  --primary: #008c9e;
  --container-max: 1440px;
}

/* container máximo (força consistência em todas as seções) */
.container {
  width: calc(100% - 32px);
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
}

/* backgrounds devem acompanhar o container (sem full-bleed) */
.hero__bg,
.hero__overlay,
.hero__media,
.banner__bg,
.banner__overlay,
.mvv__bg,
.about__bg,
.about__overlay,
.gallery__bg,
.systems__pattern {
  left: 50% !important;
  right: auto !important;
  width: calc(100% - 32px) !important;
  max-width: var(--container-max) !important;
  transform: translateX(-50%) !important;
}

/* suporte a vídeo no hero (spec) */
.hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero__bg {
  z-index: 0;
}
.hero__overlay {
  z-index: 1;
}
.hero__content {
  z-index: 2;
}

/* ícone dinâmico no tema dark */
.advantage-dark::before {
  background-image: var(--adv-icon, none);
}

/* header sólido ao scroll */
.header.header--solid {
  background: rgba(0, 0, 0, 0.72);
}

/* richtext básico (tinymce) */
.richtext p {
  margin: 0 0 12px;
}
.richtext ul {
  margin: 10px 0 0;
  padding-left: 18px;
}
.richtext--dark {
  color: rgba(0, 0, 0, 0.78);
}

.budget__success {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(0, 140, 158, 0.18);
  border: 1px solid rgba(0, 140, 158, 0.35);
}
.budget__errors {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(255, 0, 0, 0.1);
  border: 1px solid rgba(255, 0, 0, 0.18);
}
