/* Checkout da v2 da Prova (identidade Dioscope; paridade com o checkout da PNA v2, 09/10/2026).
   So' o que e' desta pagina, sempre com os tokens do ds/pe.css. Sem style="" no HTML. */
.hidden { display: none !important; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body.pe { min-height: 100vh; }

/* Cabecalho */
.co-logo span { font: 600 17px/1.05 var(--pe-font); letter-spacing: -.03em; color: var(--pe-navy); }
.pe-logo--sm.co-logo span { font-size: 13px; }
.top-cta { display: flex; align-items: center; gap: 12px; }
@media (max-width: 599px) {
  .top-cta .pe-small { display: none; }
  .co-logo span { font-size: 13px; }
  .pe-top .co-logo img { width: 30px; height: 30px; }
}

/* Abertura */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--pe-line); }
.hero__in { position: relative; z-index: 1; padding-top: clamp(28px, 4vw, 52px); padding-bottom: clamp(24px, 3vw, 40px); }
.hero h1 { margin-top: 12px; max-width: 18em; font-size: clamp(28px, 3.4vw, 50px); }
.hero .pe-lead { margin-top: 14px; max-width: 40em; }
.hero .pe-folha { position: absolute; width: min(34vw, 460px); right: -4vw; top: 50%; transform: translateY(-50%); opacity: .55; }
.hero__aviso { margin-top: 20px; max-width: 40em; }
@media (max-width: 767px) { .hero .pe-folha { width: 70vw; right: -38vw; opacity: .22; } .hero .pe-lead { font-size: 15px; margin-top: 10px; } }

/* Grelha: passos a' esquerda, resumo fixo a' direita; no telemovel o resumo vem antes do pagamento */
.co { display: grid; grid-template-columns: minmax(0, 1fr) 380px; grid-template-areas: "a r" "b r"; gap: 20px 48px; align-items: start; padding-top: 32px; padding-bottom: 72px; }
.co__a { grid-area: a; display: grid; gap: 20px; min-width: 0; }
.co__b { grid-area: b; min-width: 0; }
.co__r { grid-area: r; position: sticky; top: calc(var(--pe-top-h) + 20px); display: grid; gap: 14px; min-width: 0; }
@media (max-width: 1023px) {
  .co { grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "r" "b"; gap: 16px; padding-top: 20px; }
  .co__a { gap: 16px; }
  .co__r { position: static; }
}

/* Passo */
.st { padding: clamp(20px, 2.4vw, 32px); overflow: hidden; }
.st .pe-card__num { top: 14px; right: 22px; }
.st__head { margin-bottom: 20px; padding-right: 64px; }
.st__head h2 { margin-top: 6px; }
.st__head p { margin-top: 6px; }
.st__row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.st__sub { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--pe-line); display: grid; gap: 12px; }

/* Campos */
.fields { display: grid; gap: 16px; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.grid2.so1 { grid-template-columns: minmax(0, 360px); }
@media (max-width: 599px) { .grid2, .grid2.so1 { grid-template-columns: minmax(0, 1fr); } }
.dados-depois { margin-top: 12px; }
.inrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.inrow .pe-btn { min-height: 48px; }
.status { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--pe-ink-3); }
.status .pe-i { color: var(--pe-blue-strong); margin-top: 1px; }
.cod { text-transform: uppercase; }
.cod::placeholder { text-transform: none; }
.pe-input[aria-invalid="true"] { border-color: var(--pe-bad); }
.pe-note > span { min-width: 0; overflow-wrap: anywhere; }
.pe-note a, .linkbtn { color: var(--pe-blue-strong); font-weight: 500; }
.linkbtn { display: inline; padding: 0; border: 0; background: none; font: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.linkbtn:hover { color: var(--pe-blue-deep); }

/* Convites de grupo encontrados pelo email */
.conv { display: grid; gap: 10px; min-width: 0; }
.conv__g { display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; padding: 12px 14px; border-radius: 14px; background: var(--pe-surface); border: 1px solid var(--pe-line); }
.conv__g > div { min-width: 0; display: grid; gap: 2px; }
.conv__g b { font-size: 14px; overflow-wrap: anywhere; }
.conv__g .pe-small { overflow-wrap: anywhere; }

/* Compra em grupo (recolhida) */
.grp { border-radius: var(--pe-r); border: 1px solid var(--pe-line-2); background: var(--pe-surface); }
.grp > summary { display: flex; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; border-radius: var(--pe-r); }
.grp > summary::-webkit-details-marker { display: none; }
.grp > summary:focus-visible { outline: 2px solid var(--pe-blue-strong); outline-offset: 2px; }
.grp__t { flex: 1; min-width: 0; display: grid; gap: 2px; }
.grp__t b { font-size: 15px; color: var(--pe-ink); font-weight: 600; overflow-wrap: anywhere; }
.grp__chev { color: var(--pe-ink-3); transition: transform .3s var(--pe-ease); }
.grp[open] .grp__chev { transform: rotate(180deg); }
.grp__body { display: grid; gap: 16px; padding: 18px 16px; border-top: 1px solid var(--pe-line); }
.grp-on { display: grid; gap: 14px; padding: 16px; }
.grp-on__top { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.grp-on__top .grp__t { flex: 1 1 200px; }
.grp-on__prog { display: grid; gap: 8px; }
.grp-on__acts { display: flex; gap: 10px; flex-wrap: wrap; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chips:empty { display: none; }
.chips .pe-chip { font-size: 12.5px; padding: 6px 8px 6px 12px; max-width: 100%; }
.chips .pe-chip > span { overflow: hidden; text-overflow: ellipsis; }
.chips .pe-chip--so { padding-right: 12px; }
.chips .pe-chip button { display: inline-grid; place-items: center; flex: none; width: 24px; height: 24px; border: 0; border-radius: 50%; background: var(--pe-sunk); color: var(--pe-ink-2); cursor: pointer; }
.chips .pe-chip button .pe-i { width: 14px; height: 14px; }
.chip-aviso { color: var(--pe-flag); font-size: 11.5px; }

/* Pagamento */
.errsum { margin-bottom: 12px; }
.pay { white-space: normal; text-align: center; line-height: 1.35; }
@media (max-width: 599px) { .pay { font-size: 12px; letter-spacing: .04em; padding: 16px 14px; } .st__head { margin-bottom: 16px; } }
.loader { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: gira .8s linear infinite; flex: none; }
.pe-btn[disabled] .loader { border-color: rgba(12,44,61,.18); border-top-color: var(--pe-ink-3); }
@keyframes gira { to { transform: rotate(360deg); } }
.pay-note { margin-top: 14px; display: grid; gap: 6px; justify-items: center; text-align: center; }
.pay-note .pe-small { display: inline-flex; gap: 6px; align-items: center; }
.pay-note .links { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; font-size: 13px; }

/* Resumo */
.sum { padding: 24px; }
.sum h2 { margin-top: 8px; font-size: 20px; overflow-wrap: anywhere; }
.sum__what { margin-top: 2px; font-size: 14px; color: var(--pe-ink-3); }
.sum dl { margin: 18px 0 0; display: grid; gap: 10px; }
.sum__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; }
.sum__row dt { color: var(--pe-ink-2); min-width: 0; }
.sum__row dd { margin: 0; color: var(--pe-ink); font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sum__row--ok dd { color: var(--pe-ok); }
.sum__det { display: block; font-size: 12px; color: var(--pe-ink-3); overflow-wrap: anywhere; }
.sum__total { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pe-line-2); }
.sum__total > span { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pe-ink-3); padding-bottom: 6px; }
.sum__total b { font-size: 40px; font-weight: 300; letter-spacing: -.04em; line-height: 1; color: var(--pe-ink); font-variant-numeric: tabular-nums; white-space: nowrap; transition: opacity .2s; }
[aria-busy="true"] .sum__total b { opacity: .45; }
.sum__iva { margin-top: 6px; text-align: right; }
.trust { margin-top: 18px; padding-top: 6px; border-top: 1px solid var(--pe-line); }
.trust .pe-list > li { padding: 10px 0; font-size: 13px; line-height: 1.45; color: var(--pe-ink-2); align-items: flex-start; }
.trust .pe-list > li > span { min-width: 0; overflow-wrap: anywhere; }
.trust .pe-list .pe-i { color: var(--pe-blue-strong); margin-top: 1px; }

/* Janela de erro do servidor */
.modal { position: fixed; inset: 0; z-index: 2147483100; display: grid; place-items: center; padding: 16px; background: rgba(12,44,61,.45); }
.modal__box { width: 100%; max-width: 440px; padding: 24px; box-shadow: var(--pe-shadow-lift); }
.modal__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.modal__head .pe-ibox { background: var(--pe-bad-bg); border-color: transparent; color: var(--pe-bad); }
.modal p { font-size: 14.5px; line-height: 1.55; color: var(--pe-ink-2); margin-bottom: 20px; overflow-wrap: anywhere; }

/* Barra do total no telemovel */
.mbar { display: none; }
@media (max-width: 1023px) {
  body.pe.tem-mbar { padding-bottom: 84px; }
  .mbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(var(--pe-bg-rgb), .92); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-top: 1px solid var(--pe-line); transition: transform .3s var(--pe-ease); }
  .mbar.fora { transform: translateY(110%); }
  .mbar__t { display: grid; line-height: 1.15; min-width: 0; }
  .mbar__t small { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pe-ink-3); }
  .mbar__t b { font-size: 22px; font-weight: 400; letter-spacing: -.02em; color: var(--pe-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
}

/* Rodape (barra PRR obrigatoria: nao remover) */
.co-foot { padding-top: 44px; }
.foot-links { --pe-gap: 12px 20px; }
.foot-links a { font-size: 13px; overflow-wrap: anywhere; }
.selos { display: flex; align-items: center; justify-content: space-between; gap: 16px 20px; flex-wrap: wrap; }
.selos__img { display: flex; align-items: center; gap: 20px; }
.selos__img img { height: 56px; width: auto; }
.selos__img a { display: block; }
.prr { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--pe-line); display: grid; justify-items: center; gap: 14px; text-align: center; }
.prr img { width: min(560px, 100%); height: auto; }
.prr p { max-width: 62em; }
@media (max-width: 599px) { .selos { justify-content: center; text-align: center; } .selos__img img { height: 48px; } }
