/* ==========================================================================
   Revlo — sistema visual
   Fonte: Manual de Identidade Visual Revlo v1.0 (julho/2026)

   Regras do manual que este arquivo obedece literalmente:
   - Branco predomina (60%). Vermelho é acento (~12%), nunca cor de texto.
   - Card padrão: fundo #F6F7F8, cantos 14px, SEM borda e SEM sombra.
   - Card de destaque em gradiente: no máximo um por página.
   - Helvetica/Arial, apenas dois pesos — Bold e Regular. Sem itálico, sem light.
   - Ícones de linha: traço vermelho 2px, cantos arredondados, sem preenchimento.
   ========================================================================== */

:root{
  /* Cores da marca */
  --vermelho:#E9282D;
  --vermelho-escuro:#AD211E;
  --gradiente:linear-gradient(135deg,#E9282D 0%,#AD211E 100%);
  --rosa:#FFD9DA;
  /* Neutros */
  --preto:#111111;
  --texto:#4A4E52;
  --apoio:#9AA0A6;
  --card:#F6F7F8;
  --linha:#E6E8EA;
  --branco:#FFFFFF;
  /* Tipografia */
  --fonte:'Helvetica Neue',Helvetica,Arial,sans-serif;
  /* Métrica */
  --raio:14px;
  --largura:1200px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:var(--fonte);
  font-weight:400;
  font-size:15px;
  line-height:1.5;
  color:var(--texto);
  background:var(--branco);
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--vermelho);text-decoration:none;}
a:hover{color:var(--vermelho-escuro);}
button{font-family:inherit;font-size:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:inherit;}
:focus-visible{outline:2px solid var(--vermelho);outline-offset:2px;}

/* --- Tipografia: cinco níveis, dois pesos ------------------------------- */
h1,h2,h3,h4{font-weight:700;color:var(--preto);line-height:1.15;letter-spacing:-0.015em;}
h1{font-size:clamp(2rem,4.2vw,2.75rem);}          /* Bold 40–44 */
h2{font-size:clamp(1.5rem,2.6vw,1.95rem);}
h3{font-size:1.0625rem;line-height:1.3;}           /* Título de card: Bold 16–18 */
h4{font-size:.9375rem;}
p{margin-bottom:1rem;}
p:last-child{margin-bottom:0;}
strong,b{font-weight:700;color:var(--preto);}
em,i{font-style:normal;}                            /* o manual proíbe itálico */

/* Kicker / rótulo de seção */
.kicker{
  display:block;font-size:.6875rem;font-weight:700;color:var(--vermelho);
  text-transform:uppercase;letter-spacing:.14em;margin-bottom:.75rem;
}
/* Número de destaque: Bold vermelho */
.numero{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--vermelho);line-height:1;display:block;}
.numero-rotulo{font-size:.8125rem;color:var(--apoio);margin-top:.35rem;display:block;}
/* Numeração translúcida das divisórias */
.numero-fantasma{
  position:absolute;right:2rem;top:50%;transform:translateY(-50%);
  font-size:clamp(7rem,16vw,13rem);font-weight:700;line-height:1;
  color:rgba(255,255,255,.13);pointer-events:none;user-select:none;
}

/* --- Estrutura ---------------------------------------------------------- */
.secao{padding:5rem 2rem;}
.secao.compacta{padding:3.25rem 2rem;}
.secao.cinza{background:var(--card);}
.secao.vermelha{background:var(--gradiente);color:#fff;position:relative;overflow:hidden;}
.secao.vermelha h1,.secao.vermelha h2,.secao.vermelha h3{color:#fff;}
.secao.vermelha p{color:rgba(255,255,255,.88);}
.interno{max-width:var(--largura);margin:0 auto;}
.estreito{max-width:820px;}
.sub{font-size:1.0625rem;color:var(--texto);margin-bottom:2.5rem;max-width:62ch;}
.secao.vermelha .sub{color:rgba(255,255,255,.88);}
.cabeca-secao{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.cabeca-secao .sub{margin-bottom:0;}
.link-seta{font-weight:700;font-size:.875rem;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;}

/* --- Ícones de linha ---------------------------------------------------- */
.ico{width:24px;height:24px;flex-shrink:0;display:block;
  fill:none;stroke:var(--vermelho);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ico-g{width:32px;height:32px;}
.ico-p{width:18px;height:18px;stroke-width:2;}
.ico-branco{stroke:#fff;}
.ico-cinza{stroke:var(--apoio);}

/* --- Botões ------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8125rem 1.5rem;border-radius:8px;font-weight:700;font-size:.9375rem;
  border:none;text-align:center;transition:background .18s ease,color .18s ease;
}
.btn-vermelho{background:var(--vermelho);color:#fff;}
.btn-vermelho:hover{background:var(--vermelho-escuro);color:#fff;}
.btn-preto{background:var(--preto);color:#fff;}
.btn-preto:hover{background:#000;color:#fff;}
.btn-contorno{background:transparent;color:var(--preto);border:1px solid var(--linha);}
.btn-contorno:hover{border-color:var(--vermelho);color:var(--vermelho);}
.btn-contorno-branco{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);}
.btn-contorno-branco:hover{background:#fff;color:var(--vermelho);border-color:#fff;}
.btn-branco{background:#fff;color:var(--vermelho);}
.btn-branco:hover{background:var(--rosa);color:var(--vermelho-escuro);}
.btn-zap{background:#111;color:#fff;}
.btn-zap:hover{background:#000;color:#fff;}
.btn-bloco{width:100%;}

/* --- Pills -------------------------------------------------------------- */
.pill{
  display:inline-block;padding:.4rem .85rem;border-radius:999px;
  font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  background:var(--card);color:var(--texto);
}
.pill.ativa{background:var(--vermelho);color:#fff;}
.pill-clara{background:rgba(255,255,255,.16);color:#fff;}

/* --- Card padrão: sem borda, sem sombra --------------------------------- */
.card{background:var(--card);border-radius:var(--raio);padding:1.75rem;}
.card h3{margin-bottom:.5rem;}
.card p{font-size:.9375rem;}
.card .ico,.card .ico-g{margin-bottom:1rem;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;}
/* Card de destaque em gradiente — um por página */
.card-destaque{background:var(--gradiente);color:#fff;border-radius:var(--raio);padding:2rem;}
.card-destaque h3,.card-destaque h2{color:#fff;}
.card-destaque p{color:rgba(255,255,255,.9);}

/* --- Tabelas: linha fina ------------------------------------------------ */
.tabela{width:100%;border-collapse:collapse;margin:1.75rem 0;}
.tabela th{
  text-align:left;font-weight:700;color:var(--preto);font-size:.75rem;
  text-transform:uppercase;letter-spacing:.1em;padding:.75rem 0;
  border-bottom:1px solid var(--preto);
}
.tabela td{padding:.875rem 0;border-bottom:1px solid var(--linha);font-size:.9375rem;vertical-align:top;}
.tabela td:first-child{color:var(--preto);font-weight:700;width:42%;padding-right:1.5rem;}
.tabela tr:last-child td{border-bottom:none;}
/* Tabela comparativa (3 colunas): a primeira é o critério, as outras dividem o resto. */
.tabela thead + tbody td:first-child{width:24%;}
.tabela thead th + th{width:38%;padding-left:1.25rem;}
.tabela thead + tbody td + td{padding-left:1.25rem;font-weight:400;color:var(--texto);}
@media(max-width:640px){
  .tabela thead th,.tabela td{font-size:.8125rem;}
  .tabela thead + tbody td:first-child{width:28%;}
  .tabela th,.tabela td{padding-left:.5rem;padding-right:.5rem;}
  .tabela thead th + th,.tabela thead + tbody td + td{padding-left:.5rem;}
}

/* --- Lista com marcador de linha ---------------------------------------- */
.lista{list-style:none;}
.lista li{position:relative;padding:.625rem 0 .625rem 1.75rem;border-bottom:1px solid var(--linha);}
.lista li:last-child{border-bottom:none;}
/* Check desenhado em CSS: dois lados de tamanhos diferentes, girados 45°. */
.lista li::before{
  content:'';position:absolute;left:1px;top:1.05rem;width:11px;height:6px;
  border-left:2px solid var(--vermelho);border-bottom:2px solid var(--vermelho);
  border-radius:1px;transform:rotate(-45deg);
}

/* ==========================================================================
   CABEÇALHO
   ========================================================================== */
.barra-topo{background:var(--preto);color:rgba(255,255,255,.72);font-size:.75rem;}
.barra-topo-inner{max-width:var(--largura);margin:0 auto;padding:.5rem 2rem;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;}
.barra-topo a{color:rgba(255,255,255,.72);}
.barra-topo a:hover{color:#fff;}
.barra-topo-item{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;}
.barra-topo .ico-p{stroke:rgba(255,255,255,.6);}

/* A barra preta rola junto; o cabeçalho gruda no topo ao descer. */
.cabecalho{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--linha);}
.cabecalho-inner{max-width:var(--largura);margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;gap:2rem;height:76px;}
.marca{flex-shrink:0;display:block;}
.marca img{width:132px;height:30px;}   /* 4,44:1 — acima do mínimo de 120px */

.menu{display:flex;align-items:center;gap:.25rem;height:100%;}
/* static: o megamenu se ancora no .cabecalho (sticky), não no <li>,
   para abrir centralizado e nunca vazar pela borda da janela. */
.menu > li{list-style:none;height:100%;display:flex;align-items:center;position:static;}
.menu-link{
  display:inline-flex;align-items:center;gap:.35rem;height:100%;padding:0 .875rem;
  font-size:.9375rem;font-weight:700;color:var(--preto);position:relative;
}
.menu-link:hover,.menu-link[aria-current="page"],.menu-link[aria-expanded="true"]{color:var(--vermelho);}
/* marcador do item ativo — sem borda lateral, só um traço curto embaixo */
.menu-link[aria-current="page"]::after{
  content:'';position:absolute;left:.875rem;right:.875rem;bottom:-1px;height:2px;background:var(--vermelho);
}
.menu-link .ico-p{stroke:currentColor;transition:transform .18s ease;}
.menu-link[aria-expanded="true"] .ico-p{transform:rotate(180deg);}

.acoes{margin-left:auto;display:flex;align-items:center;gap:.5rem;}
.busca{position:relative;}
.busca input{
  width:210px;padding:.5625rem 2.5rem .5625rem .875rem;border:1px solid var(--linha);
  border-radius:8px;background:var(--card);color:var(--preto);font-size:.875rem;
  transition:width .2s ease,border-color .18s ease;
}
.busca input::placeholder{color:var(--apoio);}
.busca input:focus{width:260px;border-color:var(--vermelho);background:#fff;outline:none;}
.busca button{position:absolute;right:0;top:0;bottom:0;width:38px;background:none;border:none;
  display:flex;align-items:center;justify-content:center;}
.carrinho-link{position:relative;display:inline-flex;align-items:center;gap:.5rem;
  padding:.5625rem .875rem;border-radius:8px;font-weight:700;font-size:.875rem;color:var(--preto);}
.carrinho-link:hover{background:var(--card);color:var(--vermelho);}
.carrinho-link .ico{stroke:currentColor;}
.selo{position:absolute;top:2px;left:24px;min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;background:var(--vermelho);color:#fff;font-size:.625rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1;}
.selo[hidden]{display:none;}

/* --- Megamenu ----------------------------------------------------------- */
.megamenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);
  margin-top:-1px;box-shadow:0 18px 40px rgba(17,17,17,.08);
  width:min(960px,calc(100vw - 3rem));background:#fff;border:1px solid var(--linha);
  border-radius:var(--raio);padding:2rem;z-index:950;
  display:grid;grid-template-columns:1fr 1fr 260px;gap:2rem;
  opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.menu > li:hover .megamenu,
.menu > li:focus-within .megamenu,
.megamenu[data-aberto="true"]{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.mega-col > .kicker{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--linha);}
.mega-item{display:flex;gap:.875rem;align-items:center;padding:.625rem;border-radius:10px;margin:0 -.625rem;}
.mega-item:hover{background:var(--card);}
.mega-item img{width:56px;height:42px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.mega-item span{display:block;font-size:.875rem;font-weight:700;color:var(--preto);line-height:1.25;}
.mega-item small{display:block;font-size:.75rem;color:var(--apoio);margin-top:.15rem;}
.mega-item:hover span{color:var(--vermelho);}
.mega-todos{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.8125rem;font-weight:700;}
.mega-promo{background:var(--gradiente);border-radius:var(--raio);padding:1.5rem;color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;}
.mega-promo h3{color:#fff;font-size:1.0625rem;margin-bottom:.5rem;}
.mega-promo p{color:rgba(255,255,255,.9);font-size:.8125rem;margin-bottom:1.25rem;}

/* --- Menu mobile -------------------------------------------------------- */
.abrir-menu{display:none;background:none;border:none;padding:.5rem;}
.abrir-menu .ico{stroke:var(--preto);}

/* ==========================================================================
   MIGALHAS
   ========================================================================== */
.migalhas{max-width:var(--largura);margin:0 auto;padding:1.5rem 2rem 0;
  font-size:.75rem;color:var(--apoio);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.migalhas a{color:var(--apoio);}
.migalhas a:hover{color:var(--vermelho);}
.migalhas [aria-current]{color:var(--preto);font-weight:700;}
.migalhas .sep{color:var(--linha);}

/* ==========================================================================
   VITRINE
   ========================================================================== */
.vitrine{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;}
.produto{background:var(--card);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;}
.produto-midia{aspect-ratio:4/3;background:#fff;overflow:hidden;position:relative;}
.produto-midia img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.produto:hover .produto-midia img{transform:scale(1.03);}
.produto-corpo{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.produto-corpo h3 a{color:var(--preto);}
.produto-corpo h3 a:hover{color:var(--vermelho);}
.produto-corpo p{font-size:.875rem;flex:1;}
.produto-cota{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;
  font-weight:700;color:var(--preto);text-transform:uppercase;letter-spacing:.08em;}
.produto-acoes{display:flex;gap:.5rem;margin-top:.5rem;}
.produto-acoes .btn{flex:1;padding:.6875rem 1rem;font-size:.8125rem;}
.produto-acoes .btn-icone{flex:0 0 auto;padding:.6875rem .875rem;}
.btn.confirmado{background:var(--preto);color:#fff;}

/* Atalhos de categoria */
.atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;}
.atalho{background:var(--card);border-radius:var(--raio);padding:1.5rem 1rem;text-align:center;}
.atalho:hover{background:var(--rosa);}
.atalho .ico-g{margin:0 auto .75rem;}
.atalho span{font-size:.875rem;font-weight:700;color:var(--preto);}

/* Faixa de garantias */
.garantias{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;}
.garantia{display:flex;gap:.875rem;align-items:flex-start;}
.garantia strong{display:block;font-size:.875rem;color:var(--preto);margin-bottom:.15rem;}
.garantia p{font-size:.8125rem;color:var(--apoio);margin:0;}

/* ==========================================================================
   PÁGINA DE PRODUTO
   ========================================================================== */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.pdp-figura{background:var(--card);border-radius:var(--raio);overflow:hidden;aspect-ratio:4/3;}
.pdp-figura img{width:100%;height:100%;object-fit:cover;}
.pdp-miniaturas{display:flex;gap:.5rem;margin-top:.5rem;}
.pdp-miniatura{width:72px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;padding:0;
  border:2px solid transparent;background:var(--card);}
.pdp-miniatura[aria-current="true"]{border-color:var(--vermelho);}
.pdp-sku{font-size:.75rem;color:var(--apoio);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem;}
.pdp-cota{background:var(--card);border-radius:var(--raio);padding:1.5rem;margin:1.75rem 0;}
.pdp-cota-titulo{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--preto);
  font-size:1rem;margin-bottom:.375rem;}
.pdp-cota-nota{font-size:.875rem;color:var(--texto);margin-bottom:1.25rem;}
.quantidade{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;}
.quantidade label{font-size:.8125rem;font-weight:700;color:var(--preto);}
.contador{display:inline-flex;align-items:center;background:#fff;border-radius:8px;overflow:hidden;}
.contador button{width:38px;height:42px;border:none;background:none;color:var(--preto);font-size:1.05rem;font-weight:700;}
.contador button:hover{color:var(--vermelho);}
.contador input{width:48px;height:42px;border:none;text-align:center;font-weight:700;
  color:var(--preto);background:none;-moz-appearance:textfield;}
.contador input::-webkit-outer-spin-button,.contador input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pdp-botoes{display:flex;gap:.625rem;flex-wrap:wrap;}
.pdp-botoes .btn{flex:1 1 180px;}
.aviso{background:var(--rosa);border-radius:10px;padding:1rem 1.25rem;font-size:.875rem;
  color:var(--preto);margin:1.75rem 0;}
.spec-vazia{color:var(--apoio);font-weight:400;}
.grade-8-4{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start;}
.grade-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{max-width:820px;}
.faq-item{border-bottom:1px solid var(--linha);}
.faq-p{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  width:100%;padding:1.25rem 0;background:none;border:none;text-align:left;
  font-weight:700;color:var(--preto);font-size:1rem;font-family:inherit;}
.faq-p:hover{color:var(--vermelho);}
.faq-p .ico{stroke:var(--vermelho);transition:transform .2s ease;}
.faq-item.aberto .faq-p .ico{transform:rotate(180deg);}
.faq-r{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-r p{padding-bottom:1.25rem;font-size:.9375rem;max-width:70ch;}

/* ==========================================================================
   CARRINHO E FORMULÁRIO
   ========================================================================== */
.carrinho-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:2.5rem;align-items:start;}
.tabela-carrinho{width:100%;border-collapse:collapse;}
.tabela-carrinho th{text-align:left;font-size:.6875rem;font-weight:700;color:var(--apoio);
  text-transform:uppercase;letter-spacing:.1em;padding:0 0 .75rem;border-bottom:1px solid var(--preto);}
.tabela-carrinho td{padding:1rem 0;border-bottom:1px solid var(--linha);vertical-align:middle;}
.item-carrinho{display:flex;align-items:center;gap:1rem;}
.item-carrinho img{width:72px;height:54px;object-fit:cover;border-radius:8px;flex-shrink:0;}
.item-carrinho strong{display:block;font-size:.9375rem;color:var(--preto);}
.item-carrinho span{font-size:.75rem;color:var(--apoio);text-transform:uppercase;letter-spacing:.06em;}
.remover{background:none;border:none;padding:.4rem;display:flex;}
.remover .ico{stroke:var(--apoio);}
.remover:hover .ico{stroke:var(--vermelho);}
.carrinho-lado{background:var(--card);border-radius:var(--raio);padding:1.75rem;position:sticky;top:100px;}
.carrinho-lado h2{font-size:1.125rem;margin-bottom:.5rem;}
.carrinho-lado p{font-size:.875rem;margin-bottom:1.25rem;}
.carrinho-lado .btn{margin-bottom:.5rem;}
.carrinho-vazio{text-align:center;padding:4rem 1rem;}
.carrinho-vazio .ico-g{margin:0 auto 1rem;stroke:var(--apoio);}

.form-grade{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.campo{display:flex;flex-direction:column;gap:.375rem;}
.campo.cheio{grid-column:1/-1;}
.campo label{font-size:.8125rem;font-weight:700;color:var(--preto);}
.campo label .obr{color:var(--vermelho);}
.campo input,.campo select,.campo textarea{
  border:1px solid var(--linha);border-radius:8px;padding:.6875rem .875rem;
  color:var(--preto);background:#fff;font-size:.9375rem;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--vermelho);outline:none;}
.campo textarea{resize:vertical;min-height:120px;}
.retorno{border-radius:8px;padding:.875rem 1.125rem;font-size:.875rem;font-weight:700;margin-top:1rem;}
.retorno.ok{background:var(--rosa);color:var(--vermelho-escuro);}
.retorno.erro{background:var(--preto);color:#fff;}
.retorno[hidden]{display:none;}

/* ==========================================================================
   BLOG
   ========================================================================== */
.artigos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;}
.artigo{background:var(--card);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;}
.artigo-midia{aspect-ratio:16/9;overflow:hidden;background:#fff;}
.artigo-midia img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.artigo:hover .artigo-midia img{transform:scale(1.03);}
.artigo-corpo{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.artigo-corpo h3 a{color:var(--preto);}
.artigo-corpo h3 a:hover{color:var(--vermelho);}
.artigo-corpo p{font-size:.875rem;flex:1;}

/* Corpo dos posts */
.post{max-width:820px;}
.post-data{font-size:.75rem;color:var(--apoio);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2rem;}
.post img{border-radius:var(--raio);margin:2rem 0;}
.post h2{font-size:1.5rem;margin:2.5rem 0 1rem;}
.post h3{font-size:1.125rem;margin:2rem 0 .75rem;}
.post ul,.post ol{margin:0 0 1.25rem 1.25rem;}
.post li{margin-bottom:.5rem;}
.post blockquote{background:var(--card);border-radius:var(--raio);padding:1.5rem;margin:2rem 0;}
.post blockquote p:last-child{margin-bottom:0;}
.post table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:2rem 0;}
.post th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;
  padding:.75rem 1rem .75rem 0;border-bottom:1px solid var(--preto);color:var(--preto);}
.post td{padding:.875rem 1rem .875rem 0;border-bottom:1px solid var(--linha);}
.post figcaption{font-size:.8125rem;color:var(--apoio);text-align:center;margin-top:-1rem;margin-bottom:2rem;}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.rodape{background:var(--preto);color:rgba(255,255,255,.65);font-size:.875rem;}
.rodape-faixa{height:4px;background:var(--gradiente);}
.rodape-chamada{max-width:var(--largura);margin:0 auto;padding:3.5rem 2rem;
  display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;
  border-bottom:1px solid rgba(255,255,255,.1);}
.rodape-chamada h2{color:#fff;font-size:clamp(1.4rem,2.4vw,1.85rem);margin-bottom:.5rem;}
.rodape-chamada p{color:rgba(255,255,255,.65);margin:0;max-width:48ch;}
.rodape-chamada-acoes{display:flex;gap:.75rem;flex-wrap:wrap;}
.rodape-grade{max-width:var(--largura);margin:0 auto;padding:3.5rem 2rem 2.5rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2.5rem;}
.rodape h3{color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:1.25rem;}
.rodape ul{list-style:none;}
.rodape li{margin-bottom:.625rem;}
.rodape a{color:rgba(255,255,255,.65);}
.rodape a:hover{color:#fff;}
.rodape-marca img{width:120px;height:27px;margin-bottom:1.25rem;}
.rodape-dados{font-size:.8125rem;line-height:1.7;color:rgba(255,255,255,.5);}
.rodape-dados strong{color:rgba(255,255,255,.85);font-weight:700;display:block;margin-bottom:.35rem;}
.rodape-contato li{display:flex;align-items:flex-start;gap:.625rem;}
.rodape-contato .ico-p{stroke:var(--vermelho);margin-top:.2rem;}
.rodape-base{border-top:1px solid rgba(255,255,255,.1);}
.rodape-base-inner{max-width:var(--largura);margin:0 auto;padding:1.5rem 2rem;
  display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  font-size:.75rem;color:rgba(255,255,255,.4);}
.rodape-legal{max-width:70ch;}

/* WhatsApp flutuante */
.zap{position:fixed;right:20px;bottom:20px;z-index:800;width:52px;height:52px;border-radius:50%;
  background:var(--vermelho);display:flex;align-items:center;justify-content:center;}
.zap:hover{background:var(--vermelho-escuro);}
.zap .ico{stroke:#fff;width:26px;height:26px;}

/* ==========================================================================
   UTILIDADES E RESPONSIVO
   ========================================================================== */
.so-leitor{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.sem-resultado{text-align:center;padding:3rem 1rem;color:var(--apoio);}

@media(max-width:1024px){
  .megamenu{grid-template-columns:1fr 1fr;width:min(720px,calc(100vw - 3rem));}
  .mega-promo{grid-column:1/-1;}
  .rodape-grade{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:900px){
  .pdp,.grade-8-4,.grade-2,.carrinho-layout{grid-template-columns:1fr;gap:2rem;}
  .carrinho-lado{position:static;}
}
@media(max-width:860px){
  .barra-topo{display:none;}
  .cabecalho-inner{height:64px;padding:0 1rem;gap:1rem;}
  .abrir-menu{display:flex;}
  .busca{display:none;}
  .acoes{gap:.25rem;}
  .rotulo-carrinho{display:none;}
  /* navegação em painel deslizante */
  .menu{
    position:fixed;top:64px;left:0;right:0;bottom:0;background:#fff;z-index:899;
    flex-direction:column;align-items:stretch;gap:0;padding:1rem;overflow-y:auto;
    transform:translateX(-100%);transition:transform .22s ease;
  }
  .menu[data-aberto="true"]{transform:translateX(0);}
  .menu > li{height:auto;display:block;border-bottom:1px solid var(--linha);}
  .menu-link{height:auto;padding:1rem .25rem;width:100%;justify-content:space-between;font-size:1rem;}
  .menu-link[aria-current="page"]::after{display:none;}
  .megamenu{
    position:static;transform:none;width:auto;border:none;padding:0 0 1rem;
    grid-template-columns:1fr;gap:1.25rem;opacity:1;visibility:visible;
    display:none;border-radius:0;
  }
  .menu > li:hover .megamenu,.menu > li:focus-within .megamenu{display:none;}
  /* mesma especificidade da regra de abertura do desktop, senão o
     translateX(-50%) dela continua valendo aqui */
  .megamenu[data-aberto="true"]{display:grid;transform:none;left:auto;}
  .mega-promo{display:none;}
}
@media(max-width:640px){
  .secao{padding:3rem 1.25rem;}
  .secao.compacta{padding:2.25rem 1.25rem;}
  .migalhas{padding:1.25rem 1.25rem 0;}
  .rodape-grade,.rodape-chamada,.rodape-base-inner{padding-left:1.25rem;padding-right:1.25rem;}
  .rodape-grade{grid-template-columns:1fr;gap:2rem;}
  .form-grade{grid-template-columns:1fr;}
  .cabeca-secao{flex-direction:column;align-items:flex-start;}
  .numero-fantasma{right:1rem;font-size:6rem;}
}

/* --- Card de equipamento dentro do post ---
   Oferta discreta no meio da leitura: card cinza do manual, sem borda e sem
   sombra, foto à esquerda e uma ação só em destaque. */
.card-post{
  display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:0;
  background:var(--card);border-radius:var(--raio);overflow:hidden;
  margin:3rem 0;align-items:stretch;
}
.card-post-midia{position:relative;background:#fff;min-height:190px;}
.card-post-midia img{width:100%;height:100%;object-fit:cover;display:block;}
.card-post-corpo{padding:1.75rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;}
.card-post-corpo h3{font-size:1.15rem;margin:0;}
.card-post-corpo h3 a{color:var(--preto);}
.card-post-corpo h3 a:hover{color:var(--vermelho);}
.card-post-corpo p{font-size:.9375rem;margin:0;color:var(--texto);}
.card-post-nota{font-size:.75rem;font-weight:700;color:var(--apoio);
  text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.4rem;}
.card-post-nota .ico-p{stroke:var(--apoio);}
.card-post-acoes{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:.75rem;}
.card-post-acoes .btn{padding:.6875rem 1.125rem;font-size:.875rem;}
@media(max-width:640px){
  .card-post{grid-template-columns:1fr;margin:2.25rem 0;}
  .card-post-midia{aspect-ratio:16/9;min-height:0;}
  .card-post-corpo{padding:1.25rem;}
}
