@font-face{font-family:Poppins;src:url("Poppins-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("Poppins-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("Poppins-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif";src:url("NotoSerif-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --azul:#0c273b;
  --azul-claro:#173f59;
  --dourado:#d5ad62;
  --dourado-forte:#b88a35;
  --creme:#f8f4eb;
  --branco:#fff;
  --texto:#243743;
  --suave:#657580;
  --borda:#dce3e5;
  --verde:#167451;
  --erro:#9b2929;
  --sombra:0 24px 70px rgba(4,24,37,.16);
}

*,*:before,*:after{box-sizing:border-box}
html{font-size:62.5%;background:var(--azul)}
body{min-height:100vh;margin:0;background:linear-gradient(145deg,#eef2f3 0%,#f8f4eb 62%,#efe4cc 100%);color:var(--texto);font-family:Poppins,Arial,sans-serif;font-size:1.6rem;line-height:1.55}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,p,dl,dd{margin-top:0}
h1,h2,strong{font-weight:600}
[hidden]{display:none!important}

.pular-conteudo{position:fixed;z-index:100;top:1rem;left:1rem;padding:1rem 1.4rem;border-radius:.8rem;background:var(--dourado);color:var(--azul);font-weight:600;transform:translateY(-160%)}
.pular-conteudo:focus{transform:none}

.checkout__main{width:min(108rem,calc(100% - 3.2rem));margin:0 auto;padding:clamp(2rem,5vw,5rem) 0}
.checkout__grade{display:grid;grid-template-columns:minmax(0,68rem) minmax(24rem,31rem);justify-content:center;gap:2rem}
.checkout__cartao,.checkout__confianca article,.retorno{border:1px solid rgba(12,39,59,.11);background:rgba(255,255,255,.96);box-shadow:var(--sombra)}
.checkout__cartao{padding:clamp(2rem,4vw,3.6rem);border-radius:2.4rem}
.checkout__logo{display:inline-flex;width:16rem;padding:.55rem .7rem;border-radius:.9rem;background:var(--azul);align-items:center;margin-bottom:2.8rem;text-decoration:none}
.checkout__logo-imagem{display:block;width:100%;height:auto}

.checkout__produto{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.8rem;align-items:center;padding-bottom:2.5rem;border-bottom:1px solid var(--borda)}
.checkout__produto img{width:10rem;border:1px solid rgba(12,39,59,.12);border-radius:1rem;box-shadow:0 12px 28px rgba(12,39,59,.15)}
.checkout__rotulo{margin-bottom:.5rem;color:var(--dourado-forte);font-size:1.15rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.checkout__produto h1{margin-bottom:.75rem;color:var(--azul);font-family:"Noto Serif",Georgia,serif;font-size:clamp(2.4rem,5vw,3.7rem);line-height:1.08}
.checkout__produto p:not(.checkout__rotulo){margin-bottom:.8rem;color:var(--suave);font-size:1.35rem}
.checkout__preco{display:block;color:var(--verde);font-size:2rem}

.checkout__resumo{margin:2.6rem 0;padding:2rem;border:1px solid var(--borda);border-radius:1.5rem;background:#fbfcfc}
.checkout__resumo h2,.checkout__cartao>section>h2{margin-bottom:1.2rem;color:var(--azul);font-size:1.65rem}
.checkout__resumo dl{margin-bottom:1rem}
.checkout__resumo dl div{display:flex;justify-content:space-between;gap:2rem;padding:.75rem 0;border-bottom:1px solid var(--borda)}
.checkout__resumo dt,.checkout__resumo dd{margin:0}
.checkout__resumo .checkout__total{padding-top:1.2rem;border:0;color:var(--azul);font-size:1.8rem;font-weight:600}
.checkout__resumo>p{margin:0;color:var(--suave);font-size:1.25rem}

.checkout__brick{min-height:8rem;overflow:hidden;border-radius:1.4rem}
.checkout__status{margin:1.3rem 0 0;padding:1rem 1.2rem;border-radius:1rem;background:#fff7dd;color:#6c561d;font-size:1.28rem;font-weight:600;text-align:center}
.checkout__status[data-state="error"]{background:#fff0f0;color:var(--erro)}
.checkout__status[data-state="success"]{background:#e8f7f0;color:var(--verde)}

.checkout__pix{padding:2rem;border:1px solid var(--borda);border-radius:1.5rem;text-align:center}
.checkout__pix h2{margin-bottom:.5rem;color:var(--azul);font-size:2rem}
.checkout__pix>p{color:var(--suave);font-size:1.3rem}
.checkout__pix img{width:min(27rem,100%);margin:1.6rem auto}
.checkout__pix label{display:block;margin-bottom:.5rem;color:var(--azul);font-size:1.25rem;font-weight:600;text-align:left}
.checkout__pix-copia{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}
.checkout__pix-copia input{min-width:0;min-height:4.8rem;padding:0 1rem;border:1px solid var(--borda);border-radius:.9rem;background:#f5f7f8;font:inherit;font-size:1.2rem;text-overflow:ellipsis}
.checkout__pix-copia button{min-height:4.8rem;padding:0 1.4rem;border:0;border-radius:.9rem;background:var(--verde);color:#fff;font:inherit;font-size:1.25rem;font-weight:600;cursor:pointer}
.checkout__pix [data-pix-copy-status]{min-height:1.8rem;margin:.5rem 0 0;color:var(--verde);font-size:1.15rem}
.checkout__challenge iframe{width:100%;min-height:62rem;border:0;border-radius:1.4rem}

.checkout__confianca{display:grid;align-content:start;gap:1rem}
.checkout__confianca article{padding:1.6rem;border-radius:1.4rem;box-shadow:0 12px 30px rgba(4,24,37,.08)}
.checkout__confianca article:before{content:"✓";display:grid;width:2.8rem;height:2.8rem;margin-bottom:1rem;border-radius:50%;background:var(--verde);color:#fff;place-items:center;font-weight:600}
.checkout__confianca strong{display:block;margin-bottom:.4rem;color:var(--azul);font-size:1.4rem}
.checkout__confianca p{margin:0;color:var(--suave);font-size:1.22rem}
.checkout__confianca>a{padding:.8rem;color:var(--azul-claro);font-size:1.2rem;text-align:center}
.checkout__rodape{grid-column:1/-1;padding:1rem;color:#64737c;font-size:1.15rem;text-align:center}
.checkout__rodape p{margin:.2rem 0}

.checkout--retorno{display:grid;min-height:100vh;padding:2rem;place-items:center}
.retorno{width:min(60rem,100%);padding:clamp(2.8rem,6vw,5rem);border-radius:2.4rem;text-align:center}
.retorno .checkout__logo{margin-bottom:3.2rem}
.retorno__icone{display:grid;width:7rem;height:7rem;margin:0 auto 2rem;border-radius:50%;background:var(--azul);color:var(--dourado);place-items:center;font-size:3rem;font-weight:600}
.retorno h1{margin-bottom:1.2rem;color:var(--azul);font-family:"Noto Serif",Georgia,serif;font-size:clamp(3rem,7vw,4.6rem);line-height:1.1}
.retorno__mensagem{margin-bottom:.8rem;color:var(--texto);font-size:1.7rem}
.retorno__detalhe{color:var(--suave);font-size:1.35rem}
.retorno__botao{display:inline-flex;min-height:5.4rem;margin-top:2rem;padding:1.2rem 2.2rem;border-radius:999px;background:var(--dourado);color:var(--azul);align-items:center;justify-content:center;font-weight:600;text-decoration:none}
.retorno__ajuda{display:block;width:max-content;margin:1.6rem auto 0;color:var(--azul-claro);font-size:1.25rem}
.painel-compra__produto,.painel-compra__proxima{margin-top:2rem;padding:1.5rem;border:1px solid var(--borda);border-radius:1.2rem;background:#fbfcfc;text-align:left}
.painel-compra__produto span,.painel-compra__proxima>strong{display:block;color:var(--dourado-forte);font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase}
.painel-compra__produto strong{display:block;margin-top:.4rem;color:var(--azul);font-size:1.8rem}
.painel-compra__proxima p{margin:.5rem 0 0;color:var(--suave);font-size:1.3rem}
.painel-compra{width:min(82rem,100%);text-align:left}
.painel-compra>.checkout__logo{display:flex;width:max-content;margin-right:auto;margin-left:auto}
.painel-compra>.retorno__icone,.painel-compra>.checkout__rotulo,.painel-compra>h1,.painel-compra>.retorno__mensagem,.painel-compra>.retorno__detalhe{text-align:center}
.checkout--retorno[data-panel-mode="preview"]{place-items:start center}
.checkout--retorno[data-panel-mode="preview"] .painel-compra{padding:0;border:0;background:transparent;box-shadow:none}
.checkout--retorno[data-panel-mode="preview"] .painel-mapa,.checkout--retorno[data-panel-mode="preview"] .confirmacao-mapa,.checkout--retorno[data-panel-mode="preview"] .geracao-mapa{margin-top:0;background:rgba(255,255,255,.96);box-shadow:var(--sombra)}
.painel-mapa,.confirmacao-mapa,.geracao-mapa{margin-top:2.4rem;padding:clamp(1.8rem,4vw,3rem);border:1px solid var(--borda);border-radius:1.8rem;background:#fbfcfc}
.painel-mapa__cabecalho h2,.geracao-mapa h2{margin:0 0 .7rem;color:var(--azul);font-family:"Noto Serif",Georgia,serif;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.15}
.painel-mapa__cabecalho>p:last-child{margin-bottom:2rem;color:var(--suave);font-size:1.35rem}
.painel-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
.painel-form__campo{display:grid;align-content:start;gap:.55rem;color:var(--azul);font-size:1.3rem;font-weight:600}
.painel-form__campo--inteiro{grid-column:1/-1}
.painel-form input,.painel-form select{width:100%;min-height:5rem;padding:.9rem 1.1rem;border:1px solid #bdcbd1;border-radius:1rem;background:#fff;color:var(--texto);font:inherit;font-size:1.45rem}
.painel-form input:focus,.painel-form select:focus{outline:3px solid rgba(213,173,98,.35);border-color:var(--dourado-forte)}
.painel-form small{color:var(--suave);font-size:1.12rem;font-weight:400}
.cidade-seletor__busca{display:block}
.painel-form__enviar,.confirmacao-mapa__acoes button,.geracao-mapa__retry{min-height:5rem;padding:0 1.7rem;border:0;border-radius:1rem;background:var(--azul);color:#fff;font:inherit;font-size:1.35rem;font-weight:600;cursor:pointer}
.cidade-seletor__resultados{display:grid;max-height:24rem;overflow:auto;padding:.7rem;border:1px solid var(--borda);border-radius:1rem;background:#fff;gap:.4rem}
.cidade-seletor__resultados button{padding:1rem;border:0;border-radius:.7rem;background:#f3f6f7;color:var(--azul);font:inherit;font-size:1.25rem;text-align:left;cursor:pointer}
.cidade-seletor__resultados button:hover,.cidade-seletor__resultados button:focus{background:#e7eef1}
.cidade-seletor__resultados p{margin:.6rem;color:var(--suave);font-size:1.2rem;font-weight:400}
.cidade-seletor__escolhida{margin:0;padding:.8rem 1rem;border-radius:.8rem;background:#e8f7f0;color:var(--verde);font-size:1.2rem;font-weight:600}
.painel-form__erro{margin:0;padding:1rem;border-radius:.8rem;background:#fff0f0;color:var(--erro);font-size:1.25rem}
.painel-form__enviar{background:var(--dourado);color:var(--azul);font-size:1.5rem}
.painel-form__enviar:disabled{opacity:.65;cursor:wait}
.confirmacao-mapa__dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 1.8rem;border:1px solid var(--borda);border-radius:1.2rem;background:#fff;overflow:hidden}
.confirmacao-mapa__dado{min-width:0;padding:1.25rem 1.4rem;border-bottom:1px solid var(--borda)}
.confirmacao-mapa__dado:nth-child(2){border-right:1px solid var(--borda)}
.confirmacao-mapa__dado--inteiro{grid-column:1/-1}
.confirmacao-mapa__dados dt{margin-bottom:.3rem;color:var(--dourado-forte);font-size:1.05rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.confirmacao-mapa__dados dd{margin:0;color:var(--azul);font-size:1.45rem;font-weight:600;overflow-wrap:anywhere}
.confirmacao-mapa__dados>div:last-child{border-bottom:0}
.confirmacao-mapa__aviso{margin-bottom:1.6rem;padding:1.4rem 1.5rem;border:1px solid #ead39c;border-left:.5rem solid var(--dourado-forte);border-radius:1rem;background:#fff8e7;color:#5d4a20}
.confirmacao-mapa__aviso strong{display:block;margin-bottom:.35rem;color:var(--azul);font-size:1.35rem}
.confirmacao-mapa__aviso p{margin:0;font-size:1.25rem}
.confirmacao-mapa__acoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.confirmacao-mapa__acoes .confirmacao-mapa__corrigir{border:1px solid var(--azul);background:#fff;color:var(--azul)}
.confirmacao-mapa__acoes .confirmacao-mapa__gerar{background:var(--dourado);color:var(--azul);font-size:1.45rem}
.confirmacao-mapa__acoes button:focus{outline:3px solid rgba(213,173,98,.35);outline-offset:2px}
.confirmacao-mapa__acoes button:disabled{opacity:.65;cursor:wait}
.geracao-mapa{text-align:center}
.geracao-mapa__barra{height:1.6rem;margin:2rem 0 .8rem;overflow:hidden;border-radius:999px;background:#dce5e8}
.geracao-mapa__barra span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dourado),#e9c86e);transition:width .5s ease}
.geracao-mapa__percentual{display:block;color:var(--azul);font-size:2rem}
.geracao-mapa>p:last-of-type{margin:.5rem 0;color:var(--suave);font-size:1.3rem}
.geracao-mapa__retry{display:block;margin:1.4rem auto 0;background:transparent;color:var(--azul);text-decoration:underline}

@media(max-width:82rem){.checkout__grade{grid-template-columns:minmax(0,68rem)}.checkout__rodape{grid-column:auto}}
@media(max-width:52rem){.checkout__main{width:min(100% - 1.4rem,68rem);padding:1rem 0}.checkout__cartao{padding:1.6rem;border-radius:1.6rem}.checkout__produto{grid-template-columns:7.5rem minmax(0,1fr);gap:1.2rem}.checkout__produto img{width:7.5rem}.checkout__pix-copia,.painel-form,.confirmacao-mapa__dados,.confirmacao-mapa__acoes{grid-template-columns:1fr}.painel-form__campo--inteiro,.confirmacao-mapa__dado--inteiro{grid-column:auto}.confirmacao-mapa__dado:nth-child(2){border-right:0}.painel-compra{padding:2rem 1.3rem}.checkout--retorno[data-panel-mode="preview"]{padding:.8rem}.checkout--retorno[data-panel-mode="preview"] .painel-compra{padding:0}.painel-form input,.painel-form select{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
