/* Carregar depois de entregador.css. */

:root {
  --navy-950: #102a3e;
  --navy-900: #183b57;
  --navy-800: #235474;
  --gold: #d5a465;
  --gold-light: #efc58b;
  --muted: #c4cdd4;
  --header-height: 72px;
  --radius: 24px;
}

body {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .01em;
}

.container {
  width: min(1120px, calc(100% - 40px));
}

h2 {
  color: var(--gold-light);
  font-size: clamp(30px, 3.6vw, 46px);
  letter-spacing: .01em;
}

h3 {
  font-family: var(--font-body);
  font-weight: 600;
}

/* CABEÇALHO */

.site-header {
  z-index: 100;
  background: linear-gradient(
    90deg,
    #d1d5d7,
    #c7cbcd 30%,
    #b8bcbf 60%,
    #9ba1a6
  );
  border-top: 1px solid #071b2b8c;
  border-bottom: 2px solid #071b2b8c;
  box-shadow: 0 4px 14px #0000001f;
}

.site-header .container {
  width: min(1600px, calc(100% - 40px));
}

.header-inner {
  position: relative;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 220px;
  gap: 24px;
}

.brand {
  width: 78px;
  height: 68px;
  justify-content: center;
}

.brand img {
  width: 100%;
  height: 100%;
}

.main-nav {
  justify-content: center;
  gap: clamp(16px, 2vw, 30px);
}

.main-nav > a {
  position: relative;
  font: 700 clamp(13px, 1.1vw, 17px)/1 var(--font-display);
  white-space: nowrap;
}

.main-nav > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 2px;
  background: var(--gold);
  transition: right .2s;
}

.main-nav > a:hover::after,
.main-nav > a:focus-visible::after {
  right: 0;
}

/* BOTÕES */

.button,
.button--navy {
  min-height: 48px;
  padding: 13px 25px;
  color: var(--gold-light);
  background: linear-gradient(135deg, #20415a, #112d43);
  border: 1px solid #d5a46530;
  border-radius: 999px;
  box-shadow: 0 10px 24px #05162347;
  font: 700 13px/1.3 var(--font-display);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.button--outline {
  background: transparent;
  box-shadow: none;
  border-color: #183b5745;
  color: var(--navy-900);
}

.header-cta {
  width: 100%;
  min-height: 48px;
  padding-inline: 16px;
  font-size: 12px;
  white-space: nowrap;
}

/* ABERTURA COM O VÍDEO DO INSTITUCIONAL */

.hero {
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  padding: 0;
  overflow: visible;
  background:
    var(--navy-950)
    url("../assets/images/hero-adastra.webp")
    center / cover;
  z-index: 2;
}

.hero::before {
  content: none;
}

.hero-video,
.hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero-video {
  z-index: 0;
  object-fit: cover;
  object-position: center;
}

.hero-shade {
  z-index: 1;
  background: linear-gradient(
    to bottom,
    #05121c0f 40%,
    #05121c61
  );
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-card {
  width: min(760px, 100%);
  max-width: none;
  margin: 0 auto -70px;
  padding: 26px 36px;
  background: linear-gradient(
    115deg,
    #edefefed,
    #fffffffa
  );
  border: 1px solid #ffffff8c;
  color: var(--navy-900);
  text-align: center;
  box-shadow: 0 18px 45px #00000042;
  backdrop-filter: none;
}

.hero-card .eyebrow {
  margin-bottom: 9px;
  color: #286e83;
  font-size: 12px;
}

.hero-card h1 {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.7vw, 34px);
  letter-spacing: .01em;
}

.hero-card h1 span {
  color: inherit;
}

.hero-card > p {
  max-width: 590px;
  margin: 0 auto 18px;
  color: var(--navy-900);
  font-size: 19px;
}

.hero-card .button-row {
  justify-content: center;
  gap: 12px;
}

/* FAIXA DE INFORMAÇÕES */

.program-rates {
  position: relative;
  z-index: 1;
  padding: 112px 0 35px;
  background: var(--navy-800);
}

.program-rates-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  text-align: center;
}

.program-stat strong {
  display: block;
  color: var(--gold-light);
  font:
    800
    clamp(26px, 3.2vw, 44px)/1.15
    var(--font-display);
  text-shadow: 0 3px 0 #734b268c;
}

.program-stat > span {
  display: block;
  margin-top: 9px;
  color: var(--cream);
  font-size: 17px;
}

.program-cities {
  margin-top: 30px;
  padding-top: 23px;
  border-top: 1px solid #ffffff26;
  text-align: center;
}

.program-cities > p {
  margin: 0 0 12px;
}

.program-cities .city-tags {
  justify-content: center;
}

.city-tags span {
  border-color: #ffffff30;
  background: #102a3e35;
  font-size: 16px;
}

/* CORES E TIPOGRAFIA DAS SEÇÕES */

.section {
  padding: 78px 0;
}

.section--light,
.section--dark {
  color: #f5f5f5;
  background: var(--navy-950);
}

#ganhos,
#requisitos,
#videos {
  background: var(--navy-900);
}

.eyebrow,
.section--light .eyebrow {
  color: #65c2d7;
  font-size: 13px;
  letter-spacing: .15em;
  margin-bottom: 12px;
}

.section-heading {
  margin-bottom: 38px;
}

.section-heading p,
.section-intro {
  color: var(--muted);
  font-size: 20px;
  opacity: 1;
}

/* PRÉ-AVALIAÇÃO E FICHA */

.evaluation-grid {
  grid-template-columns:
    minmax(0, .9fr)
    minmax(0, 1.1fr);
  gap: 48px;
}

.ticket {
  color: var(--navy-900);
  background: linear-gradient(
    115deg,
    #edefef,
    #ffffff
  );
  border-radius: 24px;
  border-color: #ffffff66;
}

.chat-panel {
  background: #0c2335;
  border-color: #d5a46555;
  box-shadow: 0 18px 45px #00000042;
}

.chat-log {
  height: 320px;
}

.chat-header img {
  width: 40px;
  height: 40px;
}

.chat-choice--primary {
  background: var(--gold-gradient);
  color: var(--navy-950);
}

/* SIMULADOR */

.calculator-controls {
  background: #102a3e80;
}

.calculator-result {
  background: linear-gradient(
    135deg,
    #235474,
    #102a3e
  );
  box-shadow: 0 18px 45px #00000026;
}

/* REQUISITOS */

.requirements-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.info-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  column-gap: 20px;
  align-content: center;
  padding: 24px 28px;
  color: #f5f5f5;
  background: var(--navy-800);
  border: 2px solid #0a2a44bf;
  border-radius: 24px;
  box-shadow: 0 12px 25px #00000021;
}

.card-number {
  grid-row: 1 / 3;
  align-self: center;
  margin: 0;
  color: var(--gold-light);
  font-size: 40px;
}

.info-card h3 {
  font-size: 23px;
  margin: 0 0 8px;
}

.info-card p {
  color: var(--muted);
  opacity: 1;
}

.mei-banner {
  padding: 26px 30px;
  color: var(--navy-900);
  background: linear-gradient(
    115deg,
    #edefef,
    #ffffff
  );
  border-radius: 24px;
}

/* ETAPAS E BENEFÍCIOS */

.steps-grid li {
  padding: 24px 20px;
  background: var(--navy-900);
  border-radius: 0 0 20px 20px;
}

.steps-grid h3,
.benefits-grid h3 {
  font-size: 23px;
}

.benefits-grid {
  gap: 32px;
}

/* PERGUNTAS FREQUENTES */

.faq-list details {
  margin-bottom: 12px;
  padding: 0 22px;
  border: 1px solid #ffffff1f;
  border-radius: 16px;
  background: var(--navy-900);
}

.faq-list summary {
  font-size: 21px;
}

.faq-list summary::after {
  color: var(--gold-light);
}

.faq-list details p {
  color: var(--muted);
  opacity: 1;
}

/* VÍDEOS */

.video-card {
  color: #f5f5f5;
  background: var(--navy-950);
  border-color: #ffffff26;
}

/* CHAMADA FINAL */

.final-cta {
  padding: 78px 0;
  background:
    linear-gradient(#102a3eb8, #102a3ef2),
    url("../assets/images/rodovia-cta.webp")
    center / cover;
}

.final-cta h2 {
  font-size: clamp(30px, 3.8vw, 46px);
}

.final-cta p {
  font-size: 20px;
}

/* TELAS INTERMEDIÁRIAS */

@media (max-width: 1050px) {
  .header-inner {
    grid-template-columns: 78px minmax(0, 1fr) 190px;
    gap: 16px;
  }

  .main-nav {
    gap: 15px;
  }

  .evaluation-grid {
    gap: 30px;
  }
}

/* TABLETS E MENU MOBILE */

@media (max-width: 900px) {
  .header-inner {
    grid-template-columns: 78px minmax(0, 1fr) 42px;
    gap: 12px;
  }

  .menu-toggle {
    grid-column: 3;
    grid-row: 1;
  }

  .header-cta {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: auto;
    font-size: 11px;
  }

  .main-nav {
    left: -20px;
    right: -20px;
    padding: 16px 24px;
    background: linear-gradient(
      90deg,
      #d1d5d7,
      #b8bcbf
    );
    gap: 0;
  }

  .main-nav > a {
    font-size: 16px;
    padding: 16px 0;
  }

  .main-nav > a::after {
    content: none;
  }

  .hero {
    min-height: 500px;
    padding: 0;
  }

  .hero-card {
    max-width: 760px;
  }

  .program-rates-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 18px;
  }

  .evaluation-grid,
  .calculator-grid,
  .faq-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .section {
    padding: 60px 0;
  }
}

/* CELULARES */

@media (max-width: 540px) {
  :root {
    --header-height: 64px;
  }

  .container,
  .site-header .container {
    width: calc(100% - 32px);
  }

  .header-inner {
    grid-template-columns: 60px minmax(0, 1fr) 36px;
    gap: 10px;
  }

  .brand {
    width: 60px;
    height: 60px;
  }

  .header-cta {
    min-height: 40px;
    padding: 10px 13px;
    font-size: 10px;
    letter-spacing: .04em;
  }

  .menu-toggle {
    width: 36px;
  }

  .main-nav {
    left: -16px;
    right: -16px;
  }

  .hero {
    min-height: 370px;
    padding: 0;
  }

  .hero-video {
    object-position: center;
  }

  .hero-card {
    padding: 22px 18px;
    margin-bottom: -105px;
    border-radius: 20px;
  }

  .hero-card h1 {
    font-size: 24px;
  }

  .hero-card > p {
    font-size: 18px;
  }

  .hero-card .button-row {
    gap: 9px;
  }

  .hero-card .button {
    min-height: 44px;
    font-size: 11px;
  }

  .program-rates {
    padding-top: 140px;
  }

  .program-stat strong {
    font-size: 25px;
  }

  .program-stat > span {
    font-size: 15px;
  }

  .requirements-grid,
  .steps-grid,
  .benefits-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .info-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 8px 16px;
    padding: 20px;
  }

  .card-number {
    font-size: 32px;
  }

  .info-card h3 {
    margin-bottom: 0;
  }

  .mei-banner {
    padding: 22px;
  }

  .faq-list details {
    padding-inline: 18px;
  }

  .faq-list summary {
    font-size: 19px;
  }
}
/* AJUSTE DA ABERTURA DO ENTREGADOR */

.hero {
  --hero-video-height: 600px;

  display: block;
  min-height: 0;
  padding: 0;
  background: var(--navy-800);
}

.hero-video,
.hero-shade {
  height: var(--hero-video-height);
}

.hero-video {
  display: block;
}

.hero-content {
  padding-top: calc(var(--hero-video-height) - 70px);
}

.hero-card {
  margin: 0 auto;
}

.program-rates {
  padding: 36px 0 35px;
}

/* TABLETS */

@media (max-width: 900px) {
  .hero {
    --hero-video-height: 500px;
  }
}

/* CELULARES */

@media (max-width: 540px) {
  .hero {
    --hero-video-height: 370px;
  }

  .hero-content {
    padding-top: calc(var(--hero-video-height) - 50px);
  }

  .program-rates {
    padding-top: 28px;
  }
}