/*
 * ATPV Online Portal — revisão visual e responsiva 3.7.0
 * Carregado por último. Corrige alinhamentos, cortes de texto e conflitos do tema.
 */

html body .atpv-shell {
  --atpv-page-max: 1240px;
  --atpv-gap-xs: 8px;
  --atpv-gap-sm: 12px;
  --atpv-gap-md: 18px;
  --atpv-gap-lg: 26px;
  width: min(100%, var(--atpv-page-max)) !important;
  max-width: var(--atpv-page-max) !important;
  margin-inline: auto !important;
  padding-inline: clamp(14px, 2.8vw, 32px) !important;
  overflow: visible !important;
}

html body .atpv-shell.atpv-shell--compact {
  --atpv-page-max: 780px;
}

html body .atpv-shell.atpv-shell--wide {
  --atpv-page-max: 1320px;
}

html body .atpv-shell,
html body .atpv-shell * {
  min-width: 0;
}

html body .atpv-shell :where(
  h1, h2, h3, h4, p, li, dt, dd, strong, small, span, a, button, label,
  figcaption, time, td, th
) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

html body .atpv-shell :where(h1, h2, h3, h4) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  text-wrap: balance;
}

html body .atpv-shell h1 {
  font-size: clamp(34px, 4.5vw, 58px) !important;
  line-height: 1.08 !important;
}

html body .atpv-shell h2 {
  font-size: clamp(22px, 2.5vw, 32px) !important;
  line-height: 1.2 !important;
}

html body .atpv-shell h3 {
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.3 !important;
}

html body .atpv-shell :where(p, li, dd) {
  line-height: 1.65 !important;
}

/* Nenhum cartão deve cortar conteúdo ou impor altura artificial. */
html body .atpv-shell :where(
  .atpv-card,
  .atpv-form-card,
  .atpv-focus-card,
  .atpv-payment-main,
  .atpv-order-summary,
  .atpv-information-card,
  .atpv-documents-card,
  .atpv-prevalidation-card,
  .atpv-result-card,
  .atpv-dashboard-section,
  .atpv-card--timeline,
  .atpv-form-section,
  .atpv-upload-card,
  .atpv-data-review,
  .atpv-next-action,
  .atpv-status-hero
) {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Cabeçalhos: texto e ação permanecem alinhados sem esmagar o título. */
html body .atpv-shell :where(
  .atpv-card-head,
  .atpv-form-heading,
  .atpv-dashboard-head,
  .atpv-section-head,
  .atpv-data-review-head,
  .atpv-status-hero,
  .atpv-next-action,
  .atpv-form-submit-row
) {
  width: 100% !important;
  gap: clamp(14px, 2vw, 26px) !important;
}

html body .atpv-shell :where(
  .atpv-card-head,
  .atpv-form-heading,
  .atpv-dashboard-head,
  .atpv-section-head,
  .atpv-data-review-head,
  .atpv-status-hero,
  .atpv-next-action,
  .atpv-form-submit-row
) > :first-child {
  flex: 1 1 420px !important;
  min-width: 0 !important;
}

html body .atpv-shell :where(.atpv-form-heading, .atpv-dashboard-head, .atpv-data-review-head, .atpv-status-hero) > :last-child {
  flex: 0 1 auto !important;
  max-width: 100% !important;
}

html body .atpv-shell .atpv-section-head p {
  margin: 6px 0 0 !important;
  color: var(--atpv-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Formulários em duas colunas: títulos e caixas sempre começam na mesma altura. */
html body .atpv-shell :where(.atpv-grid-2, .atpv-grid-3, .atpv-address-grid) {
  display: grid !important;
  gap: 18px !important;
  align-items: start !important;
  align-content: start !important;
}

html body .atpv-shell .atpv-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body .atpv-shell .atpv-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .atpv-shell .atpv-address-grid {
  grid-template-columns: minmax(0, 1fr) minmax(115px, 150px) !important;
}

html body .atpv-shell :where(.atpv-grid-2, .atpv-grid-3, .atpv-address-grid) > label:not(.atpv-check):not(.atpv-choice) {
  display: grid !important;
  grid-template-rows: minmax(20px, auto) auto minmax(18px, auto) !important;
  align-content: start !important;
  align-items: stretch !important;
  align-self: start !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .atpv-shell :where(.atpv-grid-2, .atpv-grid-3, .atpv-address-grid) > label:not(.atpv-check):not(.atpv-choice) > span:first-child {
  min-height: 20px !important;
  align-items: flex-end !important;
}

html body .atpv-shell :where(.atpv-grid-2, .atpv-grid-3, .atpv-address-grid) > label:not(.atpv-check):not(.atpv-choice) > :where(small, .atpv-field-error, .atpv-field-status) {
  align-self: start !important;
}

html body .atpv-shell .atpv-form label:not(.atpv-check):not(.atpv-choice):not(.atpv-file-field) {
  justify-content: start !important;
}

html body .atpv-shell .atpv-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
html body .atpv-shell .atpv-form select,
html body .atpv-shell .atpv-form textarea {
  max-width: 100% !important;
  height: auto !important;
  min-height: 54px !important;
  line-height: 1.35 !important;
}

html body .atpv-shell .atpv-form input::placeholder,
html body .atpv-shell .atpv-form textarea::placeholder {
  color: #8798a0 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

html body .atpv-shell :where(.atpv-field-error, .atpv-field-status) {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Botões podem quebrar linha sem cortar texto. */
html body .atpv-shell :where(.atpv-button, .atpv-file-button, .atpv-copy-button) {
  width: auto;
  max-width: 100% !important;
  height: auto !important;
  min-height: 52px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-wrap: balance;
}

html body .atpv-shell .atpv-button--full {
  width: 100% !important;
}

/* Revisão dos dados do comprador. */
html body .atpv-shell .atpv-data-review {
  display: grid !important;
  gap: 20px !important;
}

html body .atpv-shell .atpv-review-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body .atpv-shell .atpv-review-details > div {
  min-height: 96px !important;
  height: auto !important;
  overflow: visible !important;
}

html body .atpv-shell .atpv-review-details dd {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Uploads e nomes de arquivos longos. */
html body .atpv-shell .atpv-upload-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

html body .atpv-shell .atpv-upload-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 18px !important;
}

html body .atpv-shell :where(.atpv-current-file, .atpv-current-file > div, .atpv-upload-copy > div) {
  min-width: 0 !important;
}

html body .atpv-shell :where(.atpv-current-file strong, .atpv-client-document-copy strong) {
  display: block !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Área do cliente. */
html body .atpv-shell .atpv-request-tabs {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding-bottom: 5px !important;
  scrollbar-width: thin;
}

html body .atpv-shell .atpv-request-tabs a {
  flex: 0 0 min(250px, 78vw) !important;
  height: auto !important;
  min-height: 96px !important;
  overflow: visible !important;
}

html body .atpv-shell .atpv-request-tabs :where(span, strong, small) {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body .atpv-shell .atpv-status-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto) !important;
  align-items: center !important;
}

html body .atpv-shell .atpv-status-protocol {
  min-width: 220px !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

html body .atpv-shell .atpv-status-protocol strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body .atpv-shell .atpv-dashboard-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

html body .atpv-shell .atpv-dashboard-metrics article {
  min-height: 108px !important;
  height: auto !important;
  overflow: visible !important;
}

html body .atpv-shell .atpv-dashboard-metrics strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body .atpv-shell .atpv-dashboard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

html body .atpv-shell .atpv-details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

html body .atpv-shell .atpv-details > div {
  display: grid !important;
  grid-template-columns: minmax(110px, 35%) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  height: auto !important;
}

html body .atpv-shell .atpv-details dd {
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Novo acompanhamento: etapas concluídas, atual e futuras. */
html body .atpv-shell .atpv-timeline-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px 16px !important;
  width: 100% !important;
  padding: 13px 15px !important;
}

html body .atpv-shell .atpv-timeline-legend span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: normal !important;
}

html body .atpv-shell .atpv-timeline-legend b {
  flex: 0 0 10px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
}

html body .atpv-shell .atpv-timeline-legend .is-current b {
  background: #d59d2a !important;
}

html body .atpv-shell .atpv-timeline-legend .is-action b {
  background: #b42318 !important;
}

html body .atpv-shell .atpv-timeline {
  display: grid !important;
  gap: 0 !important;
  width: 100% !important;
}

html body .atpv-shell .atpv-progress-step {
  --step-color: #aebbc1;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 98px !important;
  padding: 10px 0 22px !important;
  overflow: visible !important;
}

html body .atpv-shell .atpv-progress-step:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 31px !important;
  bottom: -2px !important;
  width: 2px !important;
  background: color-mix(in srgb, var(--step-color) 55%, #dce6e9) !important;
}

html body .atpv-shell .atpv-progress-marker {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
  border: 5px solid #fff !important;
  border-radius: 50% !important;
  background: var(--step-color) !important;
  box-shadow: 0 0 0 2px var(--step-color) !important;
}

html body .atpv-shell .atpv-timeline-item--success { --step-color: #238b68; }
html body .atpv-shell .atpv-timeline-item--current { --step-color: #d59d2a; }
html body .atpv-shell .atpv-timeline-item--action { --step-color: #b42318; }
html body .atpv-shell .atpv-timeline-item--error { --step-color: #b42318; }
html body .atpv-shell .atpv-timeline-item--pending { --step-color: #aebbc1; }

html body .atpv-shell .atpv-progress-copy {
  min-width: 0 !important;
  padding: 0 0 2px !important;
}

html body .atpv-shell .atpv-progress-title-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}

html body .atpv-shell .atpv-progress-title-row strong {
  flex: 1 1 auto !important;
  color: var(--atpv-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

html body .atpv-shell .atpv-progress-state {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 4px 9px !important;
  border: 1px solid color-mix(in srgb, var(--step-color) 35%, #dce6e9) !important;
  border-radius: 999px !important;
  color: color-mix(in srgb, var(--step-color) 82%, #17303d) !important;
  background: color-mix(in srgb, var(--step-color) 8%, #fff) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
}

html body .atpv-shell .atpv-progress-step time {
  display: block !important;
  margin: 4px 0 0 !important;
  color: #748790 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

html body .atpv-shell .atpv-progress-step p {
  margin: 6px 0 0 !important;
  color: var(--atpv-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

html body .atpv-shell .atpv-timeline-item--pending {
  opacity: .84;
}

html body .atpv-shell .atpv-timeline-item--pending .atpv-progress-title-row strong {
  color: #5f727b !important;
}

/* Listas, mensagens e anexos nunca cortam nomes ou observações. */
html body .atpv-shell :where(
  .atpv-client-document-list article,
  .atpv-message-list article,
  .atpv-answer-review-list article,
  .atpv-result-summary > div,
  .atpv-order-summary,
  .atpv-payment-instructions
) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body .atpv-shell :where(
  .atpv-client-document-list strong,
  .atpv-message-list p,
  .atpv-answer-review-list strong,
  .atpv-result-summary strong,
  .atpv-order-summary strong
) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Tabelas ficam roláveis no celular, sem encolher texto até ficar ilegível. */
html body .atpv-shell .atpv-table-wrap {
  border-radius: 12px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

html body .atpv-shell .atpv-table :where(th, td) {
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
}

@media (max-width: 1100px) {
  html body .atpv-shell .atpv-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .atpv-shell .atpv-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 820px) {
  html body .atpv-shell {
    padding-top: 28px !important;
    padding-bottom: 48px !important;
  }

  html body .atpv-shell h1 {
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
  }

  html body .atpv-shell h2 {
    font-size: clamp(21px, 6vw, 28px) !important;
  }

  html body .atpv-shell :where(
    .atpv-form-heading,
    .atpv-dashboard-head,
    .atpv-data-review-head,
    .atpv-status-hero,
    .atpv-next-action,
    .atpv-form-submit-row,
    .atpv-section-head
  ) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  html body .atpv-shell .atpv-status-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell .atpv-status-protocol {
    min-width: 0 !important;
    width: 100% !important;
  }

  html body .atpv-shell :where(.atpv-grid-2, .atpv-grid-3, .atpv-address-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell .atpv-review-details,
  html body .atpv-shell .atpv-upload-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell .atpv-review-details > div:last-child:nth-child(odd) {
    grid-column: auto !important;
  }

  html body .atpv-shell .atpv-data-review-head .atpv-button,
  html body .atpv-shell .atpv-dashboard-head .atpv-button,
  html body .atpv-shell .atpv-next-action .atpv-button,
  html body .atpv-shell .atpv-form-submit-row .atpv-button {
    width: 100% !important;
  }
}

@media (max-width: 620px) {
  html body .atpv-shell {
    padding-inline: 10px !important;
  }

  html body .atpv-shell :where(
    .atpv-card,
    .atpv-form-card,
    .atpv-focus-card,
    .atpv-payment-main,
    .atpv-order-summary,
    .atpv-information-card,
    .atpv-documents-card,
    .atpv-prevalidation-card,
    .atpv-result-card,
    .atpv-dashboard-section,
    .atpv-card--timeline
  ) {
    padding: 20px 14px !important;
    border-radius: 15px !important;
  }

  html body .atpv-shell :where(.atpv-form-section, .atpv-data-review, .atpv-upload-card) {
    padding: 17px 13px !important;
  }

  html body .atpv-shell .atpv-dashboard-metrics {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell .atpv-dashboard-metrics article {
    min-height: 88px !important;
  }

  html body .atpv-shell .atpv-details > div {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  html body .atpv-shell .atpv-progress-step {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  html body .atpv-shell .atpv-progress-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  html body .atpv-shell .atpv-progress-state {
    justify-self: start !important;
    white-space: normal !important;
  }

  html body .atpv-shell .atpv-timeline-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .atpv-shell .atpv-request-tabs a {
    flex-basis: 86vw !important;
  }

  html body .atpv-shell .atpv-page-tools {
    display: flex !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 390px) {
  html body .atpv-shell h1 {
    font-size: 27px !important;
  }

  html body .atpv-shell h2 {
    font-size: 21px !important;
  }

  html body .atpv-shell .atpv-timeline-legend {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell :where(.atpv-button, .atpv-file-button, .atpv-copy-button) {
    padding-inline: 12px !important;
    font-size: 13px !important;
  }
}

/*
 * Correção responsiva final
 * Regras explícitas com maior especificidade para neutralizar estilos antigos
 * marcados com !important. Evita blocos com altura artificial e campos espremidos.
 */
@media (max-width: 820px) {
  html body .atpv-shell .atpv-form-heading,
  html body .atpv-shell .atpv-dashboard-head,
  html body .atpv-shell .atpv-data-review-head,
  html body .atpv-shell .atpv-status-hero,
  html body .atpv-shell .atpv-next-action,
  html body .atpv-shell .atpv-form-submit-row,
  html body .atpv-shell .atpv-section-head,
  html body .atpv-shell .atpv-card-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body .atpv-shell .atpv-form-heading > :first-child,
  html body .atpv-shell .atpv-dashboard-head > :first-child,
  html body .atpv-shell .atpv-data-review-head > :first-child,
  html body .atpv-shell .atpv-status-hero > :first-child,
  html body .atpv-shell .atpv-next-action > :first-child,
  html body .atpv-shell .atpv-form-submit-row > :first-child,
  html body .atpv-shell .atpv-section-head > :first-child,
  html body .atpv-shell .atpv-card-head > :first-child {
    flex: 0 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body .atpv-shell .atpv-form-heading > :last-child,
  html body .atpv-shell .atpv-dashboard-head > :last-child,
  html body .atpv-shell .atpv-data-review-head > :last-child,
  html body .atpv-shell .atpv-status-hero > :last-child,
  html body .atpv-shell .atpv-next-action > :last-child,
  html body .atpv-shell .atpv-form-submit-row > :last-child,
  html body .atpv-shell .atpv-section-head > :last-child,
  html body .atpv-shell .atpv-card-head > :last-child {
    flex: 0 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body .atpv-shell .atpv-grid-2,
  html body .atpv-shell .atpv-grid-3,
  html body .atpv-shell .atpv-address-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .atpv-shell .atpv-data-review-head .atpv-button,
  html body .atpv-shell .atpv-dashboard-head .atpv-button,
  html body .atpv-shell .atpv-next-action .atpv-button,
  html body .atpv-shell .atpv-form-submit-row .atpv-button,
  html body .atpv-shell .atpv-card-head .atpv-button {
    width: 100% !important;
    max-width: none !important;
  }

  html body .atpv-shell .atpv-data-review,
  html body .atpv-shell .atpv-review-details,
  html body .atpv-shell .atpv-upload-list,
  html body .atpv-shell .atpv-dashboard-grid,
  html body .atpv-shell .atpv-dashboard-metrics {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

@media (max-width: 620px) {
  html body .atpv-shell .atpv-form-heading,
  html body .atpv-shell .atpv-dashboard-head,
  html body .atpv-shell .atpv-data-review-head,
  html body .atpv-shell .atpv-status-hero,
  html body .atpv-shell .atpv-next-action,
  html body .atpv-shell .atpv-form-submit-row,
  html body .atpv-shell .atpv-section-head,
  html body .atpv-shell .atpv-card-head {
    gap: 12px !important;
    margin-bottom: 20px !important;
  }

  html body .atpv-shell .atpv-form-heading p,
  html body .atpv-shell .atpv-dashboard-head p,
  html body .atpv-shell .atpv-section-head p {
    margin-top: 7px !important;
  }

  html body .atpv-shell .atpv-request-reference,
  html body .atpv-shell .atpv-status-protocol {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  html body .atpv-shell .atpv-request-reference strong,
  html body .atpv-shell .atpv-status-protocol strong {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  html body .atpv-shell .atpv-form-section,
  html body .atpv-shell .atpv-data-review,
  html body .atpv-shell .atpv-upload-card,
  html body .atpv-shell .atpv-card,
  html body .atpv-shell .atpv-dashboard-section {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body .atpv-shell .atpv-timeline-legend {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Opções de pagamento: não podem herdar o layout flex dos campos comuns. */
html body .atpv-shell .atpv-form label.atpv-payment-option {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  align-self: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 13px !important;
  padding: 16px !important;
}

html body .atpv-shell .atpv-form label.atpv-payment-option > span {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  gap: 4px !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

html body .atpv-shell .atpv-payment-option strong {
  width: auto !important;
  min-width: max-content !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body .atpv-shell .atpv-payment-option small {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body .atpv-shell .atpv-benefit-form label > span {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

html body .atpv-shell .atpv-benefit-form label > span em {
  margin: 0 !important;
}

@media (max-width: 820px) {
  html body .atpv-shell .atpv-form label.atpv-payment-option {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 11px !important;
    padding: 14px !important;
  }

  html body .atpv-shell .atpv-form label.atpv-payment-option > b {
    display: none !important;
  }
}
