/* ==========================================================================
   AlfaCiclo 5.1.8 · login refinado — posição, legibilidade e marca
   Camada exclusiva da tela de acesso. Não altera a navegação interna.
   ========================================================================== */

/* Painel institucional: aproxima a marca do texto e leva o hero um pouco para cima. */
.auth-v8-story {
  padding-top: clamp(20px, 2.7vh, 32px) !important;
  padding-bottom: clamp(20px, 2.6vh, 32px) !important;
}

.auth-v8-brand {
  gap: 10px !important;
  align-items: center !important;
}
.auth-v8-brand img {
  width: min(100%, 218px) !important;
  max-height: 84px !important;
}
.auth-v8-brand > span {
  max-width: 245px !important;
  padding-left: 12px !important;
  font-size: .78rem !important;
  font-weight: 720 !important;
  line-height: 1.42 !important;
  letter-spacing: -.01em;
}

.auth-v8-hero {
  width: min(100%, 650px) !important;
  margin: clamp(12px, 2.2vh, 24px) 0 auto !important;
  padding: 0 0 16px !important;
}
.auth-v8-kicker {
  min-height: 35px !important;
  padding: 7px 14px !important;
  font-size: .72rem !important;
  letter-spacing: .07em !important;
}
.auth-v8-hero h1 {
  margin: 14px 0 24px !important;
  font-size: clamp(3.45rem, 5.45vw, 5.55rem) !important;
  line-height: .91 !important;
  letter-spacing: -.068em !important;
}
.auth-v8-hero h1 em::after {
  bottom: -5px !important;
  width: 76px !important;
  height: 5px !important;
}
.auth-v8-hero p {
  max-width: 620px !important;
  margin-top: 0 !important;
  font-size: clamp(1.04rem, 1.18vw, 1.18rem) !important;
  line-height: 1.62 !important;
}

/* Cartões de benefícios: mais legíveis, sem aumentar demais a altura. */
.auth-v8-pillars {
  width: min(100%, 590px) !important;
  gap: 12px !important;
  margin-top: 20px !important;
}
.auth-v8-pillars > span {
  min-height: 66px !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  column-gap: 10px !important;
  padding: 10px 12px !important;
}
.auth-v8-pillar-icon {
  width: 38px !important;
  height: 38px !important;
}
.auth-v8-pillar-icon .icon-sm,
.auth-v8-pillar-icon svg {
  width: 18px !important;
  height: 18px !important;
}
.auth-v8-pillars b {
  font-size: .78rem !important;
}
.auth-v8-pillars small {
  margin-top: 2px !important;
  font-size: .63rem !important;
}

/* Jornada e rodapé do lado institucional. */
.auth-v8-cycle-card {
  width: min(100%, 620px) !important;
}
.auth-v8-cycle-head small { font-size: .58rem !important; }
.auth-v8-cycle-head strong { font-size: .84rem !important; }
.auth-v8-cycle-head > span { font-size: .63rem !important; }
.auth-v8-cycle-step { font-size: .57rem !important; }
.auth-v8-cycle-step i { font-size: .69rem !important; }
.auth-v8-footer { font-size: .64rem !important; }

/* Formulário de acesso: aumenta a tipografia geral da página de login. */
.auth-v7-card {
  padding-left: 36px !important;
  padding-right: 36px !important;
}
.auth-v7-label {
  font-size: .67rem !important;
}
.auth-v7-card-head h2 {
  font-size: clamp(2.05rem, 2.85vw, 2.45rem) !important;
}
.auth-v7-card-head p {
  max-width: 395px !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}
.auth-v7-field label {
  font-size: .79rem !important;
}
.auth-v7-forgot {
  font-size: .74rem !important;
}
.auth-v7-input input {
  font-size: .90rem !important;
}
.auth-v7-submit {
  font-size: .89rem !important;
}
.auth-v7-security-row {
  font-size: .64rem !important;
}
.auth-v7-card-footer strong { font-size: .68rem !important; }
.auth-v7-card-footer span { font-size: .62rem !important; }
.auth-v7-card-footer .btn-link { font-size: .75rem !important; }
.auth-v7-security-note { font-size: .70rem !important; }

/* Telas desktop mais baixas: preserva legibilidade e evita cortes. */
@media (max-height: 760px) and (min-width: 57.51rem) {
  .auth-v8-story {
    padding-top: 14px !important;
    padding-bottom: 12px !important;
  }
  .auth-v8-brand img {
    width: 180px !important;
    max-height: 66px !important;
  }
  .auth-v8-brand > span {
    display: block !important;
    max-width: 215px !important;
    font-size: .69rem !important;
  }
  .auth-v8-hero {
    margin-top: 6px !important;
    padding-bottom: 8px !important;
  }
  .auth-v8-kicker {
    min-height: 29px !important;
    padding: 5px 10px !important;
    font-size: .63rem !important;
  }
  .auth-v8-hero h1 {
    margin: 9px 0 17px !important;
    font-size: clamp(2.8rem, 4.4vw, 3.95rem) !important;
  }
  .auth-v8-hero p {
    font-size: .92rem !important;
    line-height: 1.48 !important;
  }
  .auth-v8-pillars {
    margin-top: 10px !important;
  }
  .auth-v8-pillars > span {
    min-height: 54px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
  .auth-v8-pillars b { font-size: .70rem !important; }
  .auth-v8-pillars small { font-size: .57rem !important; }
  .auth-v8-cycle-head strong { font-size: .75rem !important; }
  .auth-v8-cycle-head > span { font-size: .57rem !important; }
  .auth-v7-card-head p { font-size: .77rem !important; }
  .auth-v7-field label { font-size: .73rem !important; }
  .auth-v7-input input { font-size: .84rem !important; }
}

/* Tablet: mantém o painel compacto, mas deixa título e parágrafo legíveis. */
@media (max-width: 57.5rem) {
  .auth-v8-story {
    min-height: 250px !important;
    padding: max(16px, env(safe-area-inset-top)) 24px 68px !important;
  }
  .auth-v8-brand {
    gap: 8px !important;
  }
  .auth-v8-brand img {
    width: 188px !important;
    max-height: 70px !important;
  }
  .auth-v8-brand > span {
    display: block !important;
    max-width: 205px !important;
    padding-left: 10px !important;
    font-size: .68rem !important;
  }
  .auth-v8-hero {
    width: min(88%, 560px) !important;
    margin: 8px 0 0 !important;
  }
  .auth-v8-hero h1 {
    margin: 8px 0 12px !important;
    font-size: clamp(2.05rem, 6.1vw, 2.75rem) !important;
  }
  .auth-v8-hero p {
    font-size: .80rem !important;
    line-height: 1.5 !important;
  }
}

/* Celular: prioriza leitura e não deixa o texto institucional minúsculo. */
@media (max-width: 620px) {
  .auth-v8-story {
    min-height: 205px !important;
    padding: 14px 16px 55px !important;
  }
  .auth-v8-brand { display: none !important; }
  .auth-v8-hero {
    width: 92% !important;
    margin: 0 !important;
  }
  .auth-v8-hero h1 {
    margin: 4px 0 10px !important;
    font-size: 1.88rem !important;
    line-height: .98 !important;
  }
  .auth-v8-hero p {
    font-size: .73rem !important;
    line-height: 1.52 !important;
  }
  .auth-v7-card-head p { font-size: .78rem !important; }
  .auth-v7-field label { font-size: .75rem !important; }
  .auth-v7-input input { font-size: .86rem !important; }
  .auth-v7-security-row { font-size: .58rem !important; }
}

@media (max-width: 390px) {
  .auth-v8-story { min-height: 190px !important; }
  .auth-v8-hero h1 { font-size: 1.72rem !important; }
  .auth-v8-hero p { font-size: .69rem !important; }
}
