:root{
  --navy:#131921; --navy2:#232f3e; --laranja:#ff9900; --amarelo:#ffd814;
  --amarelo-h:#f7ca00; --botao-laranja:#ffa41c; --link:#007185; --verde:#007600;
  --fundo:#eaeded; --borda:#d5d9d9; --texto:#0f1111;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--fundo);color:var(--texto);font-size:14px}
[hidden]{display:none!important}
.view{display:none}
.view.ativa{display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--laranja);outline-offset:2px}

/* botões */
.btn{display:block;width:100%;padding:9px;border:1px solid;border-radius:20px;cursor:pointer;font-size:14px;margin-top:10px}
.btn-amarelo{background:var(--amarelo);border-color:#fcd200}
.btn-amarelo:hover{background:var(--amarelo-h)}
.btn-laranja{background:var(--botao-laranja);border-color:#ff8f00}
.btn-laranja:hover{background:#fa8900}

/* login */
#view-login{min-height:100vh;background:#fff;padding:24px 16px}
.login-logo,.logo{font-weight:700;font-size:28px;color:#fff}
.login-logo{color:var(--texto);text-align:center;margin-bottom:20px}
.login-logo span,.logo span{color:var(--laranja);font-size:.55em;font-weight:400}
.login-box{max-width:350px;margin:0 auto;border:1px solid var(--borda);border-radius:8px;padding:20px 26px}
.login-box h1{font-size:28px;font-weight:400;margin-bottom:14px}
.login-box label{display:block;font-weight:700;font-size:13px;margin:10px 0 4px}
.login-box input{width:100%;padding:8px;border:1px solid #888;border-radius:3px;font-size:14px}
.login-box input:focus{border-color:var(--laranja);box-shadow:0 0 0 3px rgba(255,153,0,.3);outline:none}
.erro{color:#c40000;font-size:13px;min-height:18px;margin-top:8px}
.dica{font-size:12px;color:#565959;margin-top:14px}

/* topo */
.topo{background:var(--navy);display:flex;align-items:center;gap:14px;padding:8px 16px;position:sticky;top:0;z-index:5}
.logo:hover{text-decoration:none}
.busca{flex:1;display:flex;max-width:760px}
.busca input{flex:1;padding:10px;border:0;border-radius:4px 0 0 4px;font-size:15px;min-width:0}
.busca button{background:#febd69;border:0;padding:0 14px;border-radius:0 4px 4px 0;cursor:pointer;font-size:16px}
.busca button:hover{background:#f3a847}
.link-topo{background:none;border:0;color:#fff;font-size:12px;text-align:left;cursor:pointer;line-height:1.3}
.link-topo:hover{text-decoration:none;outline:1px solid #fff}
.carrinho{font-size:18px;padding:6px}
.carrinho b{color:var(--laranja)}

/* home */
main{max-width:1300px;margin:0 auto;padding:16px}
.banner{background:linear-gradient(120deg,var(--navy2),#37475a);color:#fff;padding:36px 28px;border-radius:6px;margin-bottom:16px}
.banner h2{font-size:28px;margin-bottom:6px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card{background:#fff;padding:14px;border-radius:4px;display:flex;flex-direction:column;gap:6px;color:inherit}
.card:hover{text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.card .img{font-size:88px;text-align:center;background:#f7f7f7;border-radius:4px;padding:14px 0}
.card h3{font-size:14px;font-weight:400;line-height:1.35}
.vazio{grid-column:1/-1;background:#fff;padding:24px;border-radius:4px}

/* estrelas e preço */
.nota{color:var(--link);font-size:13px}
.estrelas{color:#ffa41c;letter-spacing:1px}
.preco{font-size:24px}
.preco small{font-size:13px;vertical-align:top;position:relative;top:3px}
.card .preco{font-size:20px}
.de{font-size:12px;color:#565959;text-decoration:line-through}

/* produto */
.voltar{display:inline-block;margin-bottom:12px;font-size:13px}
.produto{background:#fff;padding:20px;border-radius:4px;display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr 250px;gap:24px}
.p-img{font-size:170px;text-align:center;background:#f7f7f7;border-radius:4px;padding:30px 0;align-self:start}
.p-info h1{font-size:24px;font-weight:400;line-height:1.3;margin-bottom:6px}
.p-info hr{border:0;border-top:1px solid var(--borda);margin:12px 0}
.p-info p{line-height:1.5;max-width:60ch;margin-top:12px}
.p-compra{border:1px solid var(--borda);border-radius:8px;padding:16px;align-self:start}
.p-compra label{display:block;margin:12px 0 4px}
.p-compra select{padding:6px;border:1px solid var(--borda);border-radius:6px;background:#f0f2f2}
.verde{color:var(--verde);margin-top:8px}
.grande{font-size:18px}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--navy2);color:#fff;padding:12px 20px;border-radius:6px;transition:transform .25s}
.toast.on{transform:translateX(-50%) translateY(0)}

@media (max-width:820px){
  .produto{grid-template-columns:1fr}
  .topo{flex-wrap:wrap}
  .busca{order:5;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}
