/* PE-15 Extintores — site
   Marca: chama dourada sobre preto (logo). Ação: vermelho de extintor.
   Animações curtas (<300ms), sempre ease-out; respeita prefers-reduced-motion. */
:root {
  --carvao: #141414;
  --carvao-2: #1f1f1f;
  --ouro: #d9b45a;        /* sobre escuro */
  --ouro-esc: #7d5f1c;    /* sobre claro (5.6:1) */
  --vermelho: #c21f2b;    /* ação (branco em cima 5.9:1) */
  --vermelho-esc: #9e1822;
  --parede: #f2f3f1;
  --aco: #e3e6e4;
  --branco: #fff;
  --tinta: #16181b;
  --tinta-2: #4a4f55;
  --verde: #17703f;
  --ambar: #8f5200;
  --borda: #c9cdc9;
  --borda-2: #dfe2df;

  --f-disp: "Archivo", "Arial Narrow", sans-serif;
  --f-corpo: "Atkinson Hyperlegible", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, monospace;

  --raio: 12px;
  --larg: 1200px;
  --gut: clamp(16px, 4vw, 40px);
  --sai: cubic-bezier(.2, .8, .2, 1); /* ease-out */
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--parede);
  color: var(--tinta);
  font: 400 17px/1.6 var(--f-corpo);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.trava { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; }
h1, h2, h3 { font-family: var(--f-disp); line-height: 1.05; margin: 0; text-wrap: balance; }
p { margin: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; border-radius: 4px; }

.pular { position: absolute; left: -999px; top: 8px; background: #fff; padding: 10px 14px; z-index: 99; font-weight: 700; }
.pular:focus { left: 8px; }

.sobre {
  font: 600 13px/1.2 var(--f-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ouro-esc);
  margin-bottom: 14px;
}

/* ---------- botões ---------- */
.btn {
  --bg: var(--vermelho);
  --fg: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px;
  border: 2px solid var(--bg); border-radius: 999px;
  background: var(--bg); color: var(--fg);
  font: 700 16px/1.1 var(--f-corpo);
  text-decoration: none; cursor: pointer; text-align: center;
  transition: background-color .18s var(--sai), border-color .18s var(--sai), transform .12s var(--sai), color .18s var(--sai);
}
.btn svg { width: 22px; height: 22px; flex: none; }
.btn:hover { --bg: var(--vermelho-esc); }
.btn:active { transform: scale(.97); }
.btn--peq { min-height: 44px; padding: 0 18px; font-size: 15px; }
.btn--bloco { width: 100%; }
.btn--linha { background: transparent; border-color: currentColor; color: inherit; }
.btn--linha:hover { background: rgba(127,127,127,.12); }
.btn--claro { --bg: var(--branco); --fg: var(--tinta); border-color: var(--borda); }
.btn--claro:hover { --bg: var(--aco); border-color: var(--tinta); }
.btn--link { background: none; border: 0; color: var(--tinta-2); padding: 0 8px; text-decoration: underline; min-height: 44px; }
.btn--cot { --bg: var(--tinta); min-height: 44px; padding: 0 16px; font-size: 15px; width: 100%; }
.btn--cot:hover { --bg: #000; }

.link { font-weight: 700; color: var(--vermelho); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .22s var(--sai); }
.link:hover { background-size: 100% 2px; }
.link--peq { font-size: 15px; }

.chip { border: 1.5px dashed var(--borda); background: var(--branco); border-radius: 999px; min-height: 40px; padding: 0 14px; font-weight: 700; font-size: 14px; cursor: pointer; transition: border-color .15s var(--sai), background-color .15s var(--sai); }
.chip:hover { border-color: var(--tinta); border-style: solid; }

/* ---------- faixa + topo ---------- */
.faixa { background: #000; color: #bdbdbd; font-size: 14px; }
.faixa__in { max-width: var(--larg); margin: auto; padding: 7px var(--gut); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.faixa a { color: var(--ouro); text-decoration: none; font-weight: 700; }
.faixa__promo { color: var(--ouro); flex: 1; text-align: center; min-width: 0; }
.faixa__promo:hover { text-decoration: underline; }
.faixa__promo.troca { animation: entra .22s var(--sai) both; }
@media (max-width: 640px) { .faixa__in span { display: none; } .faixa__in { justify-content: center; } .faixa__promo { flex-basis: 100%; }  }

.topo {
  position: sticky; top: 0; z-index: 40;
  background: rgba(20,20,20,.95);
  backdrop-filter: blur(10px);
  color: #fff;
  border-bottom: 1px solid rgba(217,180,90,.22);
  transition: box-shadow .2s var(--sai);
}
.topo--rolou { box-shadow: 0 8px 24px -12px rgba(0,0,0,.6); }
.topo__in { max-width: var(--larg); margin: auto; padding: 10px var(--gut); display: flex; align-items: center; gap: 20px; transition: padding .2s var(--sai); }
.topo--rolou .topo__in { padding-top: 6px; padding-bottom: 6px; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; font: 600 17px/1 var(--f-disp); font-stretch: 110%; letter-spacing: .02em; flex: none; }
.marca img { border-radius: 8px; }
.marca b { color: var(--ouro); font-weight: 800; }
.menu { display: flex; gap: 2px; margin-left: auto; }
.menu a { position: relative; text-decoration: none; font-weight: 700; font-size: 15px; padding: 10px 12px; border-radius: 8px; color: #e4e4e4; transition: color .18s var(--sai), background-color .18s var(--sai); }
.menu a:hover { color: var(--ouro); background: rgba(255,255,255,.05); }
.menu a[aria-current="page"] { color: var(--ouro); }
.menu a[aria-current="page"]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px; background: var(--ouro); border-radius: 2px; }
.topo__cot { --bg: var(--vermelho); position: relative; flex: none; }
.topo__cot svg { width: 20px; height: 20px; }
.topo__n {
  display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px;
  border-radius: 999px; background: var(--ouro); color: var(--carvao);
  font: 700 13px/1 var(--f-mono);
}
.pulsa { animation: pulsa .28s var(--sai); }
@keyframes pulsa { 40% { transform: scale(1.35); } }

.menu-bt { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; padding: 10px; margin-left: auto; flex: none; }
.menu-bt span { display: block; height: 2px; background: #fff; border-radius: 2px; margin: 5px 0; transition: transform .2s var(--sai), opacity .15s var(--sai); }
.menu-aberto .menu-bt span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-aberto .menu-bt span:nth-child(2) { opacity: 0; }
.menu-aberto .menu-bt span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 880px) {
  .topo__in { gap: 10px; }
  .menu-bt { display: block; order: 3; margin-left: 0; }
  .topo__cot { margin-left: auto; order: 2; }
  .menu {
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 0;
    background: var(--carvao); border-bottom: 1px solid rgba(217,180,90,.25);
    padding: 8px var(--gut) 16px;
    transform-origin: top; transform: scaleY(.96); opacity: 0; visibility: hidden;
    transition: opacity .18s var(--sai), transform .18s var(--sai), visibility 0s linear .18s;
  }
  .menu-aberto .menu { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
  .menu a { padding: 14px 4px; font-size: 18px; border-bottom: 1px solid rgba(255,255,255,.07); border-radius: 0; }
  .menu a[aria-current="page"]::after { display: none; }
}
@media (max-width: 400px) {
  .marca span { font-size: 15px; }
  .marca img { width: 38px; height: 38px; }
  .topo__cot span { display: none; }
  .topo__cot { padding: 0 14px; }
}

/* ---------- animação de entrada ---------- */
.js .entra { animation: entra .28s var(--sai) both; animation-delay: calc(var(--d, 0) * 70ms); }
@keyframes entra { from { opacity: 0; transform: translateY(14px); } }
.js [data-revela] { opacity: 0; transform: translateY(18px); transition: opacity .28s var(--sai), transform .28s var(--sai); transition-delay: calc(var(--i, 0) * 60ms); }
.js [data-revela].visto { opacity: 1; transform: none; }

/* ---------- hero ---------- */
.hero {
  background:
    radial-gradient(900px 480px at 85% 0%, rgba(217,180,90,.14), transparent 60%),
    var(--carvao);
  color: #f3f3f3;
  overflow: hidden;
}
.hero__in {
  max-width: var(--larg); margin: auto;
  padding: clamp(40px, 7vw, 92px) var(--gut) clamp(48px, 8vw, 100px);
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 80px); align-items: center;
}
.hero .sobre { color: var(--ouro); }
.hero h1 {
  font-size: clamp(42px, 7vw, 92px);
  font-weight: 900; font-stretch: 72%;
  text-transform: uppercase; line-height: .92;
}
.hero h1 span { display: block; }
.hero__ouro { color: var(--ouro); }
.hero__sub { font-size: clamp(17px, 1.6vw, 20px); color: #d2d2d2; max-width: 34em; margin-top: 24px; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero__fatos { list-style: none; padding: 0; margin: 32px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; font-weight: 700; color: #cfcfcf; }
.hero__fatos li::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 2px; background: var(--ouro); margin-right: 9px; transform: translateY(-1px) rotate(45deg); }
@media (max-width: 920px) {
  .hero__in { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hero__acoes .btn { flex: 1 1 100%; }
}

/* ---------- etiqueta (assinatura) ---------- */
.etiqueta {
  position: relative;
  background: #fbfbf8; color: var(--tinta);
  border-radius: 14px 14px 18px 18px;
  padding: 44px clamp(16px, 3vw, 26px) 22px;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(0,0,0,.05);
  rotate: 1.5deg;
  max-width: 520px; width: 100%;
  justify-self: center;
}
.etiqueta::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 10px;
  background: repeating-linear-gradient(90deg, var(--vermelho) 0 22px, var(--ouro) 22px 44px);
  border-radius: 14px 14px 0 0;
}
.etiqueta__furo { position: absolute; top: 20px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--carvao); box-shadow: inset 0 2px 3px rgba(0,0,0,.6), 0 0 0 4px #e8e6df; }
.etiqueta__cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 2px solid var(--tinta); padding-bottom: 10px; margin-top: 6px; }
.etiqueta__cab h2 { font-size: 22px; font-weight: 800; font-stretch: 85%; text-transform: uppercase; letter-spacing: .02em; }
.etiqueta__marca { font: 600 13px/1 var(--f-mono); color: var(--ouro-esc); order: 2; white-space: nowrap; }
.etiqueta__q { margin: 14px 0 12px; font-weight: 700; font-size: 17px; }
.etiqueta fieldset { border: 0; padding: 0; margin: 0 0 12px; min-width: 0; }
.etiqueta legend { font: 600 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-2); margin-bottom: 8px; padding: 0; }
.et-anos__lista { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.et-meses__grade { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.et-bt {
  min-height: 44px; min-width: 0; border: 1.5px solid var(--borda); background: #fff; border-radius: 8px;
  font: 600 14px/1 var(--f-mono); color: var(--tinta); cursor: pointer; text-transform: uppercase; padding: 0 4px;
  transition: background-color .15s var(--sai), border-color .15s var(--sai), color .15s var(--sai), transform .12s var(--sai);
}
.et-bt:hover { border-color: var(--tinta); }
.et-bt:active { transform: scale(.94); }
.et-bt[aria-pressed="true"] { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.et-meses .et-bt[aria-pressed="true"] { background: radial-gradient(circle, var(--carvao) 0 9px, transparent 10px), #fff; color: transparent; border-color: var(--tinta); }
.et-bt:disabled { opacity: .35; cursor: not-allowed; }
.et-res { min-height: 112px; border-radius: 10px; padding: 14px 16px; background: var(--aco); display: grid; align-content: center; gap: 8px; transition: background-color .2s var(--sai); }
.et-res__vazio { color: var(--tinta-2); font-size: 15px; }
.et-res__status { font: 800 22px/1.1 var(--f-disp); font-stretch: 85%; text-transform: uppercase; display: flex; align-items: center; gap: 10px; animation: entra .24s var(--sai); }
.et-res__status::before { content: ""; width: 14px; height: 14px; border-radius: 50%; background: currentColor; flex: none; }
.et-res__det { font-size: 15px; color: var(--tinta-2); }
.et-res__acao { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin-top: 4px; }
.et-res__acao label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; }
.et-res__acao input { width: 84px; min-height: 44px; border: 1.5px solid var(--borda); border-radius: 8px; padding: 0 10px; font: 600 16px var(--f-mono); }
.et-res__acao .btn { min-height: 44px; font-size: 15px; padding: 0 18px; }
.et-res--ok { background: #e3f1e8; } .et-res--ok .et-res__status { color: var(--verde); }
.et-res--perto { background: #f8ecd9; } .et-res--perto .et-res__status { color: var(--ambar); }
.et-res--venc { background: #f8e1e2; } .et-res--venc .et-res__status { color: var(--vermelho); }
.etiqueta__rodape { margin-top: 14px; font-size: 13px; line-height: 1.45; color: var(--tinta-2); }
@media (max-width: 920px) { .etiqueta { rotate: 0deg; } }
@media (max-width: 400px) {
  .et-meses__grade { grid-template-columns: repeat(4, 1fr); }
  .et-anos__lista { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- cabeçalho das páginas internas ---------- */
.pg-cab { background: radial-gradient(700px 300px at 90% 0%, rgba(217,180,90,.14), transparent 60%), var(--carvao); color: #f3f3f3; }
.pg-cab__in { max-width: var(--larg); margin: auto; padding: clamp(40px, 6vw, 72px) var(--gut) clamp(40px, 6vw, 68px); }
.pg-cab .sobre { color: var(--ouro); }
.pg-cab h1 { font-size: clamp(36px, 5.6vw, 68px); font-weight: 900; font-stretch: 75%; text-transform: uppercase; line-height: .95; max-width: 16ch; }
.pg-cab p:last-child { margin-top: 18px; color: #d0d0d0; font-size: clamp(17px, 1.5vw, 19px); max-width: 40em; }

/* ---------- seções ---------- */
.secao { padding: clamp(56px, 8vw, 104px) 0; }
.secao--cola { padding-top: clamp(32px, 5vw, 56px); }
.secao__in { max-width: var(--larg); margin: auto; padding: 0 var(--gut); }
.secao__cab { max-width: 720px; margin-bottom: clamp(28px, 4vw, 44px); }
.secao__cab--linha { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.secao__cab h2, .contato__t, .chamada h2 { font-size: clamp(30px, 4.2vw, 50px); font-weight: 800; font-stretch: 80%; }
.secao__cab > p:last-child:not(.sobre) { margin-top: 14px; color: var(--tinta-2); font-size: 18px; }
.secao--aco { background: var(--aco); }
.secao--escura { background: var(--carvao); color: #f0f0f0; }
.secao--escura .sobre { color: var(--ouro); }
.secao--escura .secao__cab > p:last-child:not(.sobre) { color: #c9c9c9; }

.lista-ok { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.lista-ok li { position: relative; padding-left: 26px; }
.lista-ok li::before { content: ""; position: absolute; left: 2px; top: .42em; width: 13px; height: 7px; border-left: 2.5px solid var(--verde); border-bottom: 2.5px solid var(--verde); transform: rotate(-45deg); }

/* atalhos */
.atalhos { background: var(--carvao); padding-bottom: clamp(40px, 6vw, 72px); }
.atalhos__in { max-width: var(--larg); margin: auto; padding: 0 var(--gut); display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.atalho { position: relative; display: flex; flex-direction: column; justify-content: end; min-height: 220px; padding: 18px; border-radius: var(--raio); overflow: hidden; text-decoration: none; color: #fff; isolation: isolate; border: 1px solid rgba(255,255,255,.08); }
.atalho img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .3s var(--sai); }
.atalho::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.1) 20%, rgba(0,0,0,.85) 85%); }
.atalho:hover img { transform: scale(1.05); }
.atalho__t { font: 800 22px/1.05 var(--f-disp); font-stretch: 85%; }
.atalho__t::after { content: " →"; color: var(--ouro); display: inline-block; transition: transform .2s var(--sai); }
.atalho:hover .atalho__t::after { transform: translateX(4px); }
.atalho__d { font-size: 14px; color: #dcdcdc; margin-top: 4px; }
@media (max-width: 960px) { .atalhos__in { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .atalho { min-height: 160px; } .atalhos__in { gap: 10px; } .atalho__t { font-size: 19px; } }

/* sobre */
.sobre-bloco { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(24px, 6vw, 80px); align-items: start; }
.sobre-bloco h2 { font-size: clamp(30px, 4.2vw, 50px); font-weight: 800; font-stretch: 80%; }
.sobre-bloco__texto { display: grid; gap: 16px; font-size: 18px; color: var(--tinta-2); }
.sobre-bloco__texto .lista-ok { color: var(--tinta); font-weight: 700; margin-top: 4px; }
@media (max-width: 820px) { .sobre-bloco { grid-template-columns: 1fr; } }

/* ---------- produtos ---------- */
.produtos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.produtos__vazio { grid-column: 1 / -1; padding: 32px; text-align: center; color: var(--tinta-2); background: var(--branco); border-radius: var(--raio); }
.prod { background: var(--branco); border: 1px solid var(--borda-2); border-radius: var(--raio); display: flex; flex-direction: column; overflow: hidden; transition: border-color .2s var(--sai), box-shadow .2s var(--sai), transform .2s var(--sai); animation: entra .26s var(--sai) both; }
.prod:hover { border-color: var(--tinta); box-shadow: 0 14px 30px -18px rgba(0,0,0,.35); transform: translateY(-2px); }
.prod__foto { border: 0; background: radial-gradient(circle at 50% 60%, #fff 0 45%, #f0f1ef 75%); padding: 14px; cursor: zoom-in; display: grid; place-items: center; }
.prod__foto img { width: 100%; max-width: 200px; aspect-ratio: 1; object-fit: contain; transition: transform .25s var(--sai); }
.prod:hover .prod__foto img { transform: scale(1.05); }
.prod__txt { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.prod h3 { font-size: 19px; font-weight: 800; font-stretch: 88%; line-height: 1.15; }
.prod h3 button { all: unset; cursor: pointer; }
.prod h3 button:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.prod h3 button:focus-visible { outline: 3px solid var(--ouro); outline-offset: 2px; }
.prod .ctl { margin-top: auto; padding-top: 4px; }
.nota-fotos { margin-top: 16px; font-size: 14px; color: var(--tinta-2); }
@media (max-width: 520px) {
  .produtos { grid-template-columns: 1fr 1fr; gap: 10px; }
  .prod__txt { padding: 10px 12px 12px; }
  .prod h3 { font-size: 16px; }
  .prod__foto { padding: 8px; }
  .btn--cot { font-size: 15px; padding: 0 8px; }
  .so-largo { display: none; }
  .prod__foto img { max-width: 130px; }
}

/* selos de classe */
.selos { display: flex; gap: 5px; }
.cl { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 6px; font: 900 15px/1 var(--f-disp); color: #fff; flex: none; }
.cl--a { background: #2f6b3a; } .cl--b { background: #a8221c; } .cl--c { background: #1f4f8f; }

/* quantidade */
.qtd { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; border: 2px solid var(--tinta); border-radius: 999px; min-height: 44px; overflow: hidden; animation: entra .18s var(--sai); }
.qtd button { height: 100%; min-height: 40px; border: 0; background: none; font: 700 22px/1 var(--f-corpo); cursor: pointer; transition: background-color .15s var(--sai); }
.qtd button:hover { background: var(--aco); }
.qtd output { text-align: center; font: 700 17px/1 var(--f-mono); }
.qtd--peq { grid-template-columns: 36px 40px 36px; min-height: 38px; }
.qtd--peq button { min-height: 34px; font-size: 19px; }

/* filtros */
.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.filtro { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--borda); background: var(--branco); font-weight: 700; cursor: pointer; transition: background-color .15s var(--sai), color .15s var(--sai), border-color .15s var(--sai); }
.filtro span { font: 600 13px var(--f-mono); color: var(--tinta-2); margin-left: 4px; }
.filtro:hover { border-color: var(--tinta); }
.filtro[aria-pressed="true"] { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.filtro[aria-pressed="true"] span { color: var(--ouro); }
@media (max-width: 520px) {
  .filtros { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--gut)) 20px; padding: 0 var(--gut) 4px; scrollbar-width: none; }
  .filtro { flex: none; }
}

/* classes interativas */
.classes-int { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }
.classe { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; text-align: left; padding: 16px; border-radius: var(--raio); border: 2px solid var(--borda-2); background: var(--branco); cursor: pointer; transition: border-color .18s var(--sai), box-shadow .18s var(--sai), transform .12s var(--sai); }
.classe .cl { grid-row: span 2; width: 44px; height: 44px; font-size: 24px; border-radius: 10px; }
.classe__t { font: 800 19px/1.15 var(--f-disp); font-stretch: 88%; align-self: end; }
.classe__d { font-size: 14px; color: var(--tinta-2); line-height: 1.45; }
.classe:hover { border-color: var(--tinta); }
.classe:active { transform: scale(.98); }
.classe[aria-pressed="true"] { border-color: var(--tinta); box-shadow: 0 0 0 3px var(--ouro); }
@media (max-width: 760px) { .classes-int { grid-template-columns: 1fr; } }

/* ---------- serviços ---------- */
.servicos-lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.serv { background: var(--branco); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--borda-2); text-decoration: none; transition: border-color .2s var(--sai), box-shadow .2s var(--sai); scroll-margin-top: 100px; }
.serv:hover { border-color: var(--tinta); box-shadow: 0 14px 30px -18px rgba(0,0,0,.35); }
.serv:target { box-shadow: 0 0 0 3px var(--ouro); }
.serv img { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: var(--aco); }
.serv__corpo { padding: 20px 20px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.serv__grupo { font: 600 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ouro-esc); }
.serv h3 { font-size: 24px; font-weight: 800; font-stretch: 85%; }
.serv__corpo > p:not(.serv__grupo) { color: var(--tinta-2); }
.serv .lista-ok { font-size: 15px; }
.serv .ctl { margin-top: auto; padding-top: 8px; }
.serv--loja { background: var(--carvao); color: #f3f3f3; border-color: var(--carvao); }
.serv--loja .serv__grupo { color: var(--ouro); }
.serv--loja .serv__corpo > p:not(.serv__grupo) { color: #cfcfcf; }
.serv--loja .link { color: var(--ouro); margin-top: auto; }
@media (max-width: 980px) { .servicos-lista { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .servicos-lista { grid-template-columns: 1fr; } }

/* ---------- calculadora ---------- */
.calc { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; background: var(--branco); border: 1px solid var(--borda-2); border-radius: 16px; padding: clamp(16px, 3vw, 28px); }
.calc__campos { display: grid; gap: 14px; align-content: start; }
.calc label { display: grid; gap: 6px; font-weight: 700; font-size: 15px; }
.calc fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.calc legend { font-weight: 700; font-size: 15px; margin-bottom: 6px; padding: 0; }
.calc .chk { display: flex; align-items: center; gap: 10px; font-weight: 400; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--borda); border-radius: 10px; cursor: pointer; transition: border-color .15s var(--sai), background-color .15s var(--sai); }
.calc .chk:has(input:checked) { border-color: var(--tinta); background: #f6f4ec; font-weight: 700; }
.calc .chk input { width: 20px; height: 20px; accent-color: var(--tinta); }
.calc__res { background: var(--carvao); color: #f0f0f0; border-radius: 12px; padding: 22px; display: grid; gap: 14px; align-content: start; }
.calc__total { display: flex; align-items: baseline; gap: 10px; }
.calc__total b { font: 900 64px/1 var(--f-disp); font-stretch: 75%; color: var(--ouro); }
.calc__total span { font-weight: 700; }
.calc__lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.calc__lista li { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.06); border-radius: 8px; padding: 6px 10px 6px 6px; font-weight: 700; animation: entra .2s var(--sai) both; }
.calc__lista img { background: #fff; border-radius: 6px; object-fit: contain; }
.calc__nota { font-size: 14px; color: #bdbdbd; }
@media (max-width: 820px) { .calc { grid-template-columns: 1fr; } }

/* ---------- formulários ---------- */
.form { display: grid; gap: 14px; }
.form label { display: grid; gap: 6px; font-weight: 700; font-size: 15px; }
.form input, .form textarea, .form select, .calc input, .calc select {
  font: 400 17px/1.4 var(--f-corpo); color: var(--tinta);
  min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--borda); border-radius: 10px; background: #fff; width: 100%;
  transition: border-color .15s var(--sai), box-shadow .15s var(--sai);
}
.form textarea { resize: vertical; }
.form input:focus, .form textarea:focus, .form select:focus, .calc input:focus, .calc select:focus { outline: none; border-color: var(--tinta); box-shadow: 0 0 0 3px rgba(217,180,90,.5); }
.form input:user-invalid, .form textarea:user-invalid { border-color: var(--vermelho); }
.form ::placeholder { color: #7a8086; }
.form__acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.form__nota { font-size: 14px; color: var(--tinta-2); }
@media (max-width: 480px) { .form__acoes .btn { flex: 1 1 100%; } }

/* ---------- etapas ---------- */
.etapas { list-style: none; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; position: relative; }
.etapas button { width: 100%; min-height: 64px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; padding: 10px 12px; border-radius: 10px; border: 1.5px solid rgba(255,255,255,.14); background: rgba(255,255,255,.03); color: #d8d8d8; font-weight: 700; font-size: 15px; cursor: pointer; text-align: left; transition: background-color .18s var(--sai), border-color .18s var(--sai), color .18s var(--sai); }
.etapas button span { font: 600 13px/1 var(--f-mono); color: var(--ouro); }
.etapas button:hover { border-color: var(--ouro); }
.etapas button[aria-selected="true"] { background: var(--ouro); border-color: var(--ouro); color: var(--carvao); }
.etapas button[aria-selected="true"] span { color: var(--carvao); }
.etapa { background: var(--carvao-2); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: clamp(20px, 3vw, 32px); display: grid; gap: 10px; max-width: 760px; }
.etapa--troca { animation: entra .22s var(--sai); }
.etapa__n { font: 600 13px/1 var(--f-mono); color: var(--ouro); letter-spacing: .06em; text-transform: uppercase; }
.etapa h3 { font-size: clamp(26px, 3vw, 34px); font-weight: 800; font-stretch: 85%; }
.etapa > p:not(.etapa__n) { color: #cfcfcf; font-size: 18px; }
.etapa__nav { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.etapa .btn--linha { color: #f0f0f0; }
@media (max-width: 900px) { .etapas { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) {
  .etapas { display: flex; overflow-x: auto; margin: 0 calc(-1 * var(--gut)) 16px; padding: 0 var(--gut) 4px; scrollbar-width: none; }
  .etapas li { flex: none; }
  .etapas button { min-height: 56px; }
}

/* ---------- passos (loja) ---------- */
.passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: p; }
.passos li { background: var(--branco); border-radius: var(--raio); padding: 22px; display: grid; gap: 6px; counter-increment: p; border: 1px solid var(--borda-2); }
.passos li::before { content: counter(p); font: 900 40px/1 var(--f-disp); color: var(--ouro-esc); }
.passos b { font: 800 22px/1.1 var(--f-disp); font-stretch: 85%; }
.passos span { color: var(--tinta-2); }
@media (max-width: 760px) { .passos { grid-template-columns: 1fr; } }

/* ---------- prazos ---------- */
.prazos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.prazo { background: var(--branco); border: 1px solid var(--borda-2); border-radius: var(--raio); padding: 24px; display: grid; gap: 8px; align-content: start; }
.prazo b { font: 900 56px/1 var(--f-disp); font-stretch: 72%; color: var(--vermelho); display: flex; align-items: baseline; gap: 8px; }
.prazo small { font: 700 16px var(--f-corpo); color: var(--tinta); }
.prazo h3 { font-size: 22px; font-weight: 800; font-stretch: 85%; }
.prazo p { color: var(--tinta-2); }
.prazos__acao { margin-top: 22px; }
@media (max-width: 760px) { .prazos { grid-template-columns: 1fr; } }

/* ---------- avaliações ---------- */
.avaliacoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.aval { margin: 0; background: var(--branco); border: 1px solid var(--borda-2); border-radius: var(--raio); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.aval__estrelas { color: #b8871a; letter-spacing: 3px; font-size: 18px; }
.aval blockquote { margin: 0; font-size: 18px; line-height: 1.5; flex: 1; }
.aval figcaption { display: flex; align-items: center; gap: 12px; }
.aval figcaption img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.aval figcaption span { display: grid; }
.aval small { color: var(--tinta-2); font-size: 14px; }
@media (max-width: 900px) { .avaliacoes { grid-template-columns: 1fr; max-width: 600px; } }

/* ---------- FAQ ---------- */
.faq-bloco { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(24px, 5vw, 64px); align-items: start; }
.faq { display: grid; gap: 10px; }
.faq details { background: var(--branco); border: 1px solid var(--borda-2); border-radius: var(--raio); overflow: hidden; transition: border-color .18s var(--sai); }
.faq details[open] { border-color: var(--tinta); }
.faq summary { list-style: none; cursor: pointer; padding: 16px 52px 16px 18px; font-weight: 700; font-size: 17px; position: relative; min-height: 56px; display: flex; align-items: center; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; margin-top: -7px; border-right: 2.5px solid var(--vermelho); border-bottom: 2.5px solid var(--vermelho); transform: rotate(45deg); transition: transform .2s var(--sai); }
.faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.faq__r { padding: 0 18px 18px; color: var(--tinta-2); }
.faq details[open] .faq__r { animation: entra .22s var(--sai); }
@media (max-width: 820px) { .faq-bloco { grid-template-columns: 1fr; } }

/* ---------- contato ---------- */
.contato { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 72px); }
.contato__t { margin-bottom: 24px; }
.contato__info dl { margin: 0 0 20px; display: grid; gap: 18px; }
.contato__info dt { font: 600 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ouro-esc); margin-bottom: 6px; }
.contato__info dd { margin: 0; font-size: 18px; font-weight: 700; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.contato__info dd a:not(.link) { text-decoration: none; border-bottom: 2px solid var(--ouro); overflow-wrap: anywhere; }
.copia { border: 1.5px solid var(--borda); background: var(--branco); border-radius: 999px; min-height: 34px; padding: 0 12px; font-size: 13px; font-weight: 700; cursor: pointer; }
.copia:hover { border-color: var(--tinta); }
.aberto { font-size: 14px; font-weight: 700; color: var(--verde); background: #e3f1e8; border-radius: 999px; padding: 3px 10px; }
.aberto--nao { color: var(--vermelho); background: #f8e1e2; }
.mapa { width: 100%; height: 320px; border: 0; border-radius: var(--raio); background: var(--aco); }
@media (max-width: 820px) { .contato { grid-template-columns: 1fr; } }

/* ---------- chamada final + rodapé ---------- */
.chamada { background: var(--vermelho); color: #fff; }
.chamada__in { max-width: var(--larg); margin: auto; padding: clamp(36px, 5vw, 56px) var(--gut); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.chamada h2 { max-width: 20ch; }
.chamada p { margin-top: 10px; color: #ffe3e5; font-size: 18px; max-width: 36em; }
.chamada__acoes { display: flex; gap: 10px; flex-wrap: wrap; }
.chamada .btn { --bg: var(--carvao); }
.chamada .btn:hover { --bg: #000; }
.chamada .btn--linha { background: transparent; border-color: #fff; color: #fff; }
.chamada .btn--linha:hover { background: rgba(255,255,255,.12); }
@media (max-width: 480px) { .chamada__acoes, .chamada__acoes .btn { width: 100%; } }

.rodape { background: var(--carvao); color: #cfcfcf; padding: 56px 0 110px; font-size: 15px; }
.rodape__in { max-width: var(--larg); margin: auto; padding: 0 var(--gut); display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; }
.rodape h3 { font: 600 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ouro); margin-bottom: 14px; }
.rodape__in > div, .rodape__in > nav { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.rodape a { text-decoration: none; overflow-wrap: anywhere; }
.rodape a:hover { color: var(--ouro); }
.rodape__marca img { border-radius: 12px; margin-bottom: 6px; }
.rodape__marca p { max-width: 24ch; }
.rodape__min { max-width: var(--larg); margin: 40px auto 0; padding: 20px var(--gut) 0; border-top: 1px solid rgba(255,255,255,.08); color: #a3a3a3; font-size: 14px; }
@media (max-width: 900px) { .rodape__in { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .rodape__in { grid-template-columns: 1fr; } }

/* ---------- gaveta da cotação ---------- */
.gaveta { position: fixed; inset: 0; z-index: 60; }
.gaveta__fundo { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .24s var(--sai); }
.gaveta__painel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%);
  background: var(--parede); display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .24s var(--sai);
  box-shadow: -20px 0 40px -20px rgba(0,0,0,.5);
}
.gaveta--on .gaveta__fundo { opacity: 1; }
.gaveta--on .gaveta__painel { transform: none; }
.gaveta__cab { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding: 18px 20px 14px; background: var(--carvao); color: #fff; }
.gaveta__cab .sobre { color: var(--ouro); margin-bottom: 6px; }
.gaveta__cab h2 { font-size: 28px; font-weight: 800; font-stretch: 85%; }
.x { width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(127,127,127,.18); font-size: 26px; line-height: 1; cursor: pointer; flex: none; transition: background-color .15s var(--sai); }
.x:hover { background: rgba(127,127,127,.32); }
.gaveta__corpo { flex: 1; overflow-y: auto; padding: 16px 20px 24px; overscroll-behavior: contain; }
.gaveta__pe { padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); background: var(--branco); border-top: 1px solid var(--borda-2); display: grid; gap: 8px; }
.gaveta__pe:empty { display: none; }
.gaveta__pe2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gaveta__pe2 .btn { min-height: 46px; font-size: 15px; padding: 0 10px; }
.gv-lista { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 8px; }
.gv-item { display: grid; grid-template-columns: 56px 1fr auto; grid-template-areas: "img txt tira" "img qtd qtd"; gap: 4px 12px; align-items: center; background: var(--branco); border: 1px solid var(--borda-2); border-radius: 10px; padding: 10px; animation: entra .2s var(--sai) both; }
.gv-item img { grid-area: img; width: 56px; height: 56px; object-fit: contain; border-radius: 8px; background: #f4f4f2; }
.gv-item__txt { grid-area: txt; display: grid; line-height: 1.25; }
.gv-item__txt b { font-size: 15px; }
.gv-item__txt span { font-size: 13px; color: var(--tinta-2); }
.gv-item .ctl { grid-area: qtd; justify-self: start; }
.gv-tira { grid-area: tira; border: 0; background: none; color: var(--tinta-2); font-size: 13px; text-decoration: underline; cursor: pointer; min-height: 32px; }
.gv-tira:hover { color: var(--vermelho); }
.gv-sugere { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.gv-sugere:empty { display: none; }
.gv-sugere__t { width: 100%; font-size: 14px; font-weight: 700; color: var(--tinta-2); }
.gv-form h3 { font-size: 22px; font-weight: 800; font-stretch: 85%; margin-top: 4px; }
.gv-pref { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gv-pref legend { font-weight: 700; font-size: 15px; margin-bottom: 8px; padding: 0; }
.gv-pref label { display: flex; align-items: center; gap: 8px; font-weight: 700; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--borda); border-radius: 999px; background: var(--branco); cursor: pointer; }
.gv-pref label:has(input:checked) { border-color: var(--tinta); background: #f6f4ec; }
.gv-pref input { accent-color: var(--tinta); width: 18px; height: 18px; min-height: 0; }
.gv-vazio { text-align: center; padding: 40px 8px; display: grid; gap: 8px; color: var(--tinta-2); }
.gv-vazio b { color: var(--tinta); font-size: 18px; }
.gv-vazio__acoes { display: grid; gap: 8px; margin-top: 12px; }
.gv-ok { text-align: center; padding: 36px 8px; display: grid; gap: 10px; justify-items: center; }
.gv-ok__selo { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; background: var(--verde); color: #fff; font-size: 36px; animation: selo .28s var(--sai); }
@keyframes selo { from { transform: scale(.4); opacity: 0; } }
.gv-ok h3 { font-size: 26px; font-weight: 800; font-stretch: 85%; }
.gv-ok p { color: var(--tinta-2); }
.gv-ok__peq { font-size: 14px; }

/* ---------- ficha do produto ---------- */
.ficha { border: 0; padding: 0; border-radius: 18px; width: min(760px, calc(100% - 24px)); max-height: calc(100% - 24px); background: var(--branco); color: var(--tinta); box-shadow: 0 40px 80px -20px rgba(0,0,0,.5); }
.ficha::backdrop { background: rgba(0,0,0,.55); }
.ficha[open] { animation: ficha .24s var(--sai); }
@keyframes ficha { from { opacity: 0; transform: translateY(16px) scale(.98); } }
.ficha .x { position: absolute; top: 12px; right: 12px; z-index: 1; }
.ficha__in { display: grid; grid-template-columns: .9fr 1.1fr; }
.ficha__in > img { width: 100%; height: 100%; object-fit: contain; background: radial-gradient(circle at 50% 60%, #fff 0 40%, #eef0ee 80%); padding: 24px; }
.ficha__txt { padding: 32px 28px 28px; display: grid; gap: 12px; align-content: start; }
.ficha__txt h2 { font-size: 30px; font-weight: 800; font-stretch: 85%; padding-right: 40px; }
.ficha__txt > p:not(.sobre) { color: var(--tinta-2); }
.ficha__txt .sobre { margin-bottom: 0; }
.ficha__txt .lista-ok { font-size: 15px; }
@media (max-width: 620px) {
  .ficha__in { grid-template-columns: 1fr; }
  .ficha__in > img { max-height: 220px; padding: 16px; }
  .ficha__txt { padding: 20px; }
}

/* ---------- aviso + flutuante ---------- */
.aviso {
  position: fixed; left: 50%; bottom: 24px; z-index: 70;
  transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: var(--carvao); color: #fff; font-weight: 700;
  padding: 12px 18px; border-radius: 999px; max-width: calc(100% - 32px);
  box-shadow: 0 12px 30px -10px rgba(0,0,0,.5);
  transition: opacity .2s var(--sai), transform .2s var(--sai);
}
.aviso::before { content: "✓ "; color: var(--ouro); }
.aviso--on { opacity: 1; transform: translate(-50%, 0); }

.zap-flutua {
  position: fixed; right: 18px; bottom: 18px; z-index: 30;
  width: 58px; height: 58px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--verde); color: #fff;
  box-shadow: 0 10px 24px -6px rgba(0,0,0,.4);
  transition: transform .18s var(--sai);
}
.zap-flutua svg { width: 30px; height: 30px; }
.zap-flutua:hover { transform: scale(1.06); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js [data-revela] { opacity: 1; transform: none; }
}

@media print {
  .topo, .faixa, .zap-flutua, .chamada, .gaveta { display: none !important; }
}

/* redes sociais */
.redes { display: flex; gap: 8px; margin-top: 6px; }
.redes a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(255,255,255,.18); color: #e6e6e6; transition: border-color .18s var(--sai), color .18s var(--sai), transform .12s var(--sai); }
.redes a:hover { border-color: var(--ouro); color: var(--ouro); }
.redes a:active { transform: scale(.94); }
.redes svg { width: 22px; height: 22px; }
.redes-dd a + a { margin-left: 4px; }

/* ---------- movimentos pequenos ---------- */
.js [data-revela].visto { transition: opacity .28s var(--sai), transform .28s var(--sai), translate .18s var(--sai), box-shadow .2s var(--sai), border-color .2s var(--sai); transition-delay: calc(var(--i, 0) * 60ms); }
.aval:hover, .prazo:hover, .atalho:hover { translate: 0 -4px; }
.aval:hover, .prazo:hover { border-color: var(--tinta); box-shadow: 0 14px 30px -18px rgba(0,0,0,.35); }
.btn:active, .btn--cot:active { transform: scale(.96); }
.btn:hover { translate: 0 -1px; }
.zap-flutua::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid var(--verde); opacity: 0; animation: anel 1.2s var(--sai) 2.5s 3; pointer-events: none; }
@keyframes anel { from { opacity: .7; transform: scale(1); } to { opacity: 0; transform: scale(1.6); } }
.pop { animation: pop .24s var(--sai); }
@keyframes pop { 40% { transform: scale(1.18); } }
.gv-item { animation: entra .22s var(--sai) both; }
.progresso { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 70; background: var(--ouro); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none; }
@media print { .progresso { display: none; } }

.calc__lista small { display: block; font-weight: 400; color: var(--tinta-2); font-size: 14px; }

/* ---------- aviso de cookies e página de privacidade ---------- */
.cookies { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 55; max-width: 760px; margin: auto; background: var(--carvao); color: #fff; border-radius: var(--raio); box-shadow: 0 16px 40px -10px rgba(0,0,0,.55); }
.cookies--on { animation: entra .22s var(--sai) both; }
.cookies__in { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 14px 16px; flex-wrap: wrap; }
.cookies p { flex: 1 1 280px; font-size: 15px; line-height: 1.5; }
.cookies a { color: var(--ouro); font-weight: 700; }
.cookies__acoes { display: flex; gap: 8px; }
.cookies .btn--linha { color: #fff; border-color: rgba(255,255,255,.4); }
.rodape__ck { all: unset; cursor: pointer; text-decoration: underline; }
.rodape__ck:focus-visible { outline: 3px solid var(--ouro); outline-offset: 2px; }
.rodape__min a { color: inherit; }
.texto-legal { max-width: 760px; }
.texto-legal h2 { font-size: 24px; font-weight: 800; font-stretch: 88%; margin: 32px 0 8px; }
.texto-legal p, .texto-legal li { font-size: 17px; line-height: 1.7; color: var(--tinta); }
.texto-legal ul { padding-left: 20px; display: grid; gap: 10px; margin: 8px 0; }
.texto-legal a { color: var(--vermelho); font-weight: 700; }
.texto-legal__fim { margin-top: 32px; }
@media print { .cookies { display: none !important; } }
