/* RPX Deals - folha de estilo unica */
:root{
  --tinta:#10151f;
  --tinta-2:#4a5468;
  --linha:#e3e7ee;
  --fundo:#ffffff;
  --fundo-2:#f5f7fb;
  --marca:#1f4fd8;
  --marca-esc:#173bad;
  --oferta:#c8102e;
  --ok:#0f8a55;
  --raio:12px;
  --sombra:0 1px 2px rgba(16,21,31,.06), 0 8px 24px rgba(16,21,31,.06);
  --max:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--tinta);
  background:var(--fundo);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;display:block}
a{color:var(--marca);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);letter-spacing:-.02em}
h2{font-size:clamp(1.3rem,1.05rem + 1vw,1.75rem);letter-spacing:-.01em}
h3{font-size:1.08rem}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

.pular{position:absolute;left:-9999px}
.pular:focus{left:8px;top:8px;z-index:99;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--sombra)}

/* ---------- topo ---------- */
.barra-topo{background:var(--tinta);color:#dfe5f2;font-size:.82rem}
.barra-topo .wrap{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.barra-topo .sep{opacity:.35}

.cabecalho{background:#fff;border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:40}
.cab-grid{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:baseline;gap:6px;font-weight:800;font-size:1.35rem;color:var(--tinta);text-decoration:none;letter-spacing:-.03em}
.logo:hover{text-decoration:none}
.logo-mark{background:var(--marca);color:#fff;padding:2px 9px;border-radius:8px}
.logo-txt{color:var(--tinta)}

.busca{flex:1;display:flex;max-width:520px}
.busca input{
  flex:1;min-width:0;border:1px solid var(--linha);border-right:0;
  border-radius:10px 0 0 10px;padding:11px 14px;font-size:.95rem;font-family:inherit;
}
.busca input:focus{outline:2px solid var(--marca);outline-offset:-2px}
.busca button{
  border:0;background:var(--marca);color:#fff;padding:0 20px;
  border-radius:0 10px 10px 0;font-weight:600;cursor:pointer;font-size:.9rem;
}
.busca button:hover{background:var(--marca-esc)}

.cab-acoes{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn-carrinho{
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);
  padding:9px 14px;border-radius:10px;color:var(--tinta);font-weight:600;font-size:.9rem;
}
.btn-carrinho:hover{border-color:var(--marca);color:var(--marca);text-decoration:none}
.badge{background:var(--marca);color:#fff;border-radius:20px;min-width:22px;text-align:center;font-size:.78rem;padding:1px 7px}
.menu-toggle{display:none;border:1px solid var(--linha);background:#fff;padding:9px 14px;border-radius:10px;font-weight:600;cursor:pointer;font-family:inherit}

.nav{border-top:1px solid var(--linha);background:#fff}
.nav .wrap{display:flex;gap:22px;overflow-x:auto;padding-top:11px;padding-bottom:11px;font-size:.9rem}
.nav a{color:var(--tinta-2);white-space:nowrap;font-weight:500}
.nav a:hover{color:var(--marca);text-decoration:none}

/* ---------- blocos ---------- */
.secao{padding:52px 0}
.secao-cinza{background:var(--fundo-2)}
.secao-cab{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.secao-cab p{margin:0;color:var(--tinta-2)}

.hero{background:linear-gradient(160deg,#0f1b3d 0%,#1f4fd8 100%);color:#fff;padding:64px 0}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{color:#fff;margin-bottom:.4em}
.hero p{color:#ccd8f7;font-size:1.05rem;max-width:52ch}
.hero-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero-selos{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;font-size:.86rem;color:#b9c8ee}
.hero-selos strong{display:block;color:#fff;font-size:1.05rem}
.hero-arte{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:26px}
.hero-arte h3{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:#9db4ec}
.hero-arte ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hero-arte li{display:flex;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}
.hero-arte li:last-child{border-bottom:0;padding-bottom:0}
.hero-arte b{color:#fff;white-space:nowrap}

.btn{
  display:inline-block;background:var(--marca);color:#fff;padding:13px 24px;border-radius:10px;
  font-weight:700;border:0;cursor:pointer;font-size:.98rem;font-family:inherit;text-align:center;
}
.btn:hover{background:var(--marca-esc);text-decoration:none;color:#fff}
.btn-claro{background:#fff;color:var(--tinta)}
.btn-claro:hover{background:#eef1f8;color:var(--tinta)}
.btn-linha{background:transparent;border:1px solid var(--linha);color:var(--tinta)}
.btn-linha:hover{background:var(--fundo-2);color:var(--tinta)}
.btn-bloco{display:block;width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- grade de produtos ---------- */
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s;
}
.card:hover{box-shadow:var(--sombra);transform:translateY(-2px)}
.card-img{position:relative;background:var(--fundo-2);aspect-ratio:1/1;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.selo-off{position:absolute;top:10px;left:10px;background:var(--oferta);color:#fff;font-size:.75rem;font-weight:700;padding:4px 9px;border-radius:6px}
.card-corpo{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;gap:8px}
.card-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta-2)}
.card-nome{font-size:.97rem;font-weight:600;line-height:1.35;margin:0}
.card-nome a{color:var(--tinta)}
.precos{margin-top:auto}
.preco-de{color:var(--tinta-2);text-decoration:line-through;font-size:.83rem;display:block}
.preco{font-size:1.32rem;font-weight:800;letter-spacing:-.02em}
.preco-obs{font-size:.78rem;color:var(--tinta-2)}

/* ---------- pagina de produto ---------- */
.prod{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:38px 0}
.prod-foto{background:var(--fundo-2);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;aspect-ratio:1/1}
.prod-foto img{width:100%;height:100%;object-fit:cover}
.prod-info h1{margin-bottom:.3em}
.prod-resumo{color:var(--tinta-2);font-size:1.02rem}
.caixa-preco{background:var(--fundo-2);border:1px solid var(--linha);border-radius:var(--raio);padding:22px;margin:22px 0}
.caixa-preco .preco{font-size:2rem;color:var(--tinta);display:block}
.parcelas{color:var(--tinta-2);font-size:.9rem}
.estoque-ok{color:var(--ok);font-weight:600;font-size:.9rem}
.estoque-baixo{color:var(--oferta);font-weight:600;font-size:.9rem}
.qtd-linha{display:flex;gap:12px;align-items:center;margin:18px 0}
.qtd-linha label{font-size:.9rem;color:var(--tinta-2)}
.qtd-linha input{width:74px;padding:10px;border:1px solid var(--linha);border-radius:8px;font-family:inherit;font-size:1rem}

.tabela-specs{width:100%;border-collapse:collapse;font-size:.93rem}
.tabela-specs th,.tabela-specs td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela-specs th{width:40%;color:var(--tinta-2);font-weight:600}

.avisos{display:grid;gap:10px;margin-top:20px}
.aviso{display:flex;gap:10px;font-size:.9rem;color:var(--tinta-2);background:var(--fundo-2);padding:11px 14px;border-radius:9px}

/* ---------- conteudo de texto ---------- */
.pagina{max-width:820px;margin:0 auto;padding:44px 20px 60px}
.pagina h2{margin-top:1.8em}
.pagina ul,.pagina ol{padding-left:22px}
.pagina li{margin-bottom:.5em}
.atualizado{color:var(--tinta-2);font-size:.88rem;border-bottom:1px solid var(--linha);padding-bottom:14px;margin-bottom:26px}

.migalhas{font-size:.85rem;color:var(--tinta-2);padding:16px 0 0}
.migalhas a{color:var(--tinta-2)}

/* ---------- caixas / avisos ---------- */
.nota{border-left:3px solid var(--marca);background:var(--fundo-2);padding:16px 18px;border-radius:0 9px 9px 0;margin:22px 0}
.nota-erro{border-left-color:var(--oferta)}
.nota-ok{border-left-color:var(--ok)}
.nota p:last-child{margin-bottom:0}

/* ---------- carrinho / checkout ---------- */
.colunas{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;align-items:start;padding:34px 0 60px}
.painel{border:1px solid var(--linha);border-radius:var(--raio);padding:22px}
.linha-item{display:grid;grid-template-columns:88px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--linha);align-items:center}
.linha-item:last-child{border-bottom:0}
.linha-item img{width:88px;height:88px;object-fit:cover;border-radius:9px;background:var(--fundo-2)}
.linha-item .nome{font-weight:600;font-size:.96rem}
.linha-item .ctrl{display:flex;gap:8px;align-items:center;margin-top:6px}
.linha-item input[type=number]{width:64px;padding:6px 8px;border:1px solid var(--linha);border-radius:7px;font-family:inherit}
.remover{background:none;border:0;color:var(--oferta);cursor:pointer;font-size:.84rem;padding:0;font-family:inherit;text-decoration:underline}
.resumo-linha{display:flex;justify-content:space-between;padding:9px 0;font-size:.95rem}
.resumo-total{display:flex;justify-content:space-between;border-top:1px solid var(--linha);margin-top:10px;padding-top:14px;font-size:1.22rem;font-weight:800}

.campo{margin-bottom:16px}
.campo label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}
.campo input,.campo textarea,.campo select{
  width:100%;padding:11px 13px;border:1px solid var(--linha);border-radius:9px;
  font-family:inherit;font-size:.97rem;background:#fff;
}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:2px solid var(--marca);outline-offset:-2px}
.campo small{color:var(--tinta-2);font-size:.82rem}
.campo-duplo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.erro-campo{color:var(--oferta);font-size:.84rem;margin-top:4px}

.vazio{text-align:center;padding:70px 20px}
.vazio p{color:var(--tinta-2)}

/* ---------- diversos ---------- */
.selos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.selo{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:20px}
.selo h3{margin-bottom:.35em;font-size:1rem}
.selo p{margin:0;color:var(--tinta-2);font-size:.9rem}

.faq-item{border:1px solid var(--linha);border-radius:var(--raio);padding:18px 20px;margin-bottom:12px}
.faq-item h3{margin-bottom:.4em}
.faq-item p:last-child{margin-bottom:0}

.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cat-card{border:1px solid var(--linha);border-radius:var(--raio);padding:22px 18px;text-align:center;color:var(--tinta);background:#fff}
.cat-card:hover{border-color:var(--marca);color:var(--marca);text-decoration:none}
.cat-card strong{display:block;font-size:1rem}
.cat-card span{font-size:.82rem;color:var(--tinta-2)}

.filtros{display:flex;gap:10px;flex-wrap:wrap;padding:24px 0 4px}
.filtros a{border:1px solid var(--linha);padding:8px 15px;border-radius:20px;font-size:.88rem;color:var(--tinta-2);background:#fff}
.filtros a:hover{border-color:var(--marca);color:var(--marca);text-decoration:none}
.filtros a.ativo{background:var(--tinta);border-color:var(--tinta);color:#fff}

/* ---------- rodape ---------- */
.rodape{background:var(--fundo-2);border-top:1px solid var(--linha);margin-top:40px;padding-top:46px}
.rodape-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:38px}
.rodape h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-2)}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:8px;font-size:.9rem}
.rodape a{color:var(--tinta-2)}
.rodape a:hover{color:var(--marca)}
.rodape-sobre{font-size:.9rem;color:var(--tinta-2);max-width:44ch}
.logo-rodape{margin-bottom:14px}
.rodape-base{border-top:1px solid var(--linha);padding:20px 0 30px;font-size:.85rem;color:var(--tinta-2)}
.rodape-base p{margin:0 0 6px}
.rodape-base .mini{font-size:.78rem;max-width:90ch;opacity:.85}

/* ---------- responsivo ---------- */
@media (max-width:1000px){
  .grade{grid-template-columns:repeat(3,1fr)}
  .cats{grid-template-columns:repeat(3,1fr)}
  .selos{grid-template-columns:repeat(2,1fr)}
  .rodape-grid{grid-template-columns:1fr 1fr}
  .hero .wrap{grid-template-columns:1fr}
  .colunas{grid-template-columns:1fr}
}
@media (max-width:720px){
  .grade{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(2,1fr)}
  .prod{grid-template-columns:1fr;gap:26px}
  .cab-grid{flex-wrap:wrap}
  .busca{order:3;max-width:none;flex-basis:100%}
  .menu-toggle{display:block}
  .nav{display:none}
  .nav.aberto{display:block}
  .nav .wrap{flex-direction:column;gap:0;overflow:visible}
  .nav a{padding:11px 0;border-bottom:1px solid var(--linha)}
  .campo-duplo{grid-template-columns:1fr}
  .barra-topo .wrap{font-size:.75rem}
}
@media (max-width:420px){
  .grade{grid-template-columns:1fr}
  .linha-item{grid-template-columns:64px 1fr}
  .linha-item img{width:64px;height:64px}
}
