/**
 * LUOR — Vitrine · Os modelos da loja (Monte sua loja)
 * @modulo   ecommerce
 * @tela     site_modelos_css
 * @build    4
 * @data     28/09/2026
 * @tipo     CORRECAO
 * @desc     Build 4 (28/09): 🔴 saem as alturas cravadas do banner principal em cada arranjo (320 com os departamentos ao lado,
 *           340 com o cartão da loja, 380 com os mini banners, 200 no celular): a caixa passa a seguir a proporção do espaço
 *           (`site-tema.css` b4, medida no `ecom_banner_helper` b2). Os dois mini banners ao lado do banner principal (Premium)
 *           dividem a altura dele, qualquer que seja a largura da tela; no celular, cada um fica na proporção dele.
 * @desc     Build 3 (27/09): o cronômetro da oferta (migration 0241): ao lado do título *Ofertas* nos cinco modelos, e o painel
 *           escuro ao lado da vitrine no Premium (`.ofertas-bloco`), como na prancha. Na página da peça, o *de/por*, o selo
 *           de % e a faixa *Oferta termina em*.
 */

/* ============================================================
   COMUM A TODOS OS MODELOS
   ============================================================ */

/* os realces que eram amarelos cravados passam a seguir a cor da marca */
.section-title::before{ box-shadow:0 2px 6px color-mix(in srgb, var(--brand) 40%, transparent); }
.finder-main::after{ background:radial-gradient(circle, color-mix(in srgb, var(--brand) 26%, transparent), transparent 70%); }

/* ícone do departamento (desenho pelo nome, departamentos_helper.php) */
.dept .ic svg{ width:26px; height:26px; }
.ic-car{ display:inline-flex; width:18px; height:18px; }

/* o código da loja no card: só o Distribuidora o mostra em destaque */
.pn-prodcard .pn-cod{ display:none; }

/* selo de frete grátis (produtos.frete_gratis — Roadmap item 120) */
.pn-selo{ display:inline-flex; align-items:center; gap:5px; align-self:flex-start; margin-top:7px; padding:3px 9px;
  border-radius:999px; background:#e7f6ee; color:#0f7a3d; font-size:11px; font-weight:700; letter-spacing:.01em; }
.pn-selo i{ font-size:12px; }

/* faixa da prévia — só quem está logado no LUOR a vê */
.previa-bar{ background:#111418; color:#f1f2f4; font-family:system-ui, sans-serif; font-size:13.5px; }
.previa-bar .wrap{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:10px 16px; }
.previa-bar b{ color:#fff; }
.previa-bar .sp{ flex:1; }
.previa-bar button, .previa-bar a{ font:inherit; font-weight:700; border-radius:8px; padding:7px 14px; cursor:pointer; }
.previa-bar .usar{ background:#fff; color:#111418; border:0; }
.previa-bar .sair{ background:transparent; color:#f1f2f4; border:1px solid #3a3f47; }
.previa-bar .msg{ color:#9fe3b8; }

/* ---------- a coluna de departamentos (home do Distribuidora) ---------- */
.home-lateral{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:22px; align-items:start; }
.home-main{ min-width:0; }
.dept-aside{ position:sticky; top:96px; min-width:0; }
.dept-list{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.dept-list .hd{ display:block; padding:12px 16px; font-family:var(--fdisp); font-weight:700; font-size:13px; letter-spacing:.06em;
  text-transform:uppercase; border-bottom:1px solid var(--line); color:var(--ink); }
.dept-list a{ display:flex; align-items:center; gap:10px; padding:9px 16px; font-size:13.5px; color:var(--ink-soft);
  border-bottom:1px solid var(--line); transition:background .15s, color .15s; }
.dept-list a:last-child{ border-bottom:0; }
.dept-list a:hover{ background:color-mix(in srgb, var(--brand) 7%, var(--card)); color:var(--ink); }
.dept-list .ic{ display:inline-flex; width:20px; height:20px; color:var(--brand); flex:0 0 auto; }
.dept-list .ic svg{ width:20px; height:20px; }
.dept-list .qt{ margin-left:auto; color:var(--muted); font-size:12px; }
.home-lateral .pn-hero{ width:auto; max-width:none; margin:0 0 6px; border-radius:var(--radius); }

/* ---------- o cartão da loja ao lado do banner (Bairro) ---------- */
.home-topo.com-cartao{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:20px; align-items:stretch; }
.home-topo.com-cartao .pn-hero{ width:auto; max-width:none; margin:0; border-radius:var(--radius); }
.home-topo.com-cartao > .loja-card:only-child{ grid-column:1 / -1; }
.loja-card{ background:var(--card); border:1.5px solid var(--line); border-radius:var(--radius); padding:26px 28px;
  display:flex; flex-direction:column; gap:12px; }
.loja-card h2{ margin:0 0 2px; font-family:var(--fdisp); font-weight:700; font-size:24px; letter-spacing:-.01em; color:var(--ink); }
.loja-card .ln{ display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.45; color:var(--ink-soft); }
.loja-card .ln i{ color:var(--brand); font-size:17px; line-height:1.3; }
.loja-card .acoes{ margin-top:auto; padding-top:6px; display:flex; gap:10px; flex-wrap:wrap; }
.btn.btn-linha{ background:transparent; color:var(--brand); border:1.5px solid var(--brand); }
.btn.btn-linha:hover{ background:color-mix(in srgb, var(--brand) 8%, transparent); }

@media (max-width: 980px){
  .home-lateral{ grid-template-columns:1fr; gap:14px; }
  .dept-aside{ position:static; }
  .dept-list{ display:flex; gap:8px; overflow-x:auto; background:none; border:0; border-radius:0; scrollbar-width:none; }
  .dept-list .hd{ display:none; }
  .dept-list a{ flex:0 0 auto; border:1px solid var(--line); border-radius:999px; background:var(--card); white-space:nowrap; padding:8px 14px; }
  .dept-list a:last-child{ border-bottom:1px solid var(--line); }
  .home-topo.com-cartao{ grid-template-columns:1fr; }
}


/* ---------- o painel do menu: os departamentos e os sub-grupos (todos os modelos) ---------- */
.menu-bar{ position:relative; }
.mega{ position:absolute; left:0; right:0; top:100%; z-index:45; }
.mega[hidden]{ display:none; }
/* .mega-in também é .wrap, e o .wrap do menu é uma fila centralizada que rola de lado: aqui ele volta a ser caixa */
.mega .mega-in{ display:grid; grid-template-columns:260px minmax(0,1fr); align-items:stretch; gap:0; max-width:1148px; padding:0; background:var(--card); color:var(--ink);
  border:1px solid var(--line); border-top:0; border-radius:0 0 var(--radius) var(--radius); box-shadow:0 24px 48px rgba(0,0,0,.18); overflow:hidden; min-height:300px; }
.mega-grupos{ border-right:1px solid var(--line); padding:8px 0; max-height:460px; overflow:auto; }
.mega-g{ display:flex; align-items:center; gap:10px; padding:9px 18px; font-size:14px; font-weight:600; color:var(--ink-soft); }
.mega-g .ic{ display:inline-flex; width:20px; height:20px; color:var(--brand-text); flex:0 0 auto; }
.mega-g .ic svg{ width:20px; height:20px; }
.mega-g .bi{ margin-left:auto; font-size:11px; color:var(--muted); }
.mega-g.on{ background:color-mix(in srgb, var(--brand) 10%, var(--card)); color:var(--ink); font-weight:800; box-shadow:inset 4px 0 0 var(--brand); }
.mega-subs{ padding:22px 28px; min-width:0; }
.mega-hd{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
.mega-hd b{ font-family:var(--fdisp); font-size:22px; font-weight:800; color:var(--ink); }
.mega-hd a{ font-size:13.5px; font-weight:700; color:var(--brand-text); }
.mega-hd a .bi{ font-size:11px; }
.mega-lista{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); column-gap:24px; }
.mega-lista a{ display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink-soft); }
.mega-lista a:hover{ color:var(--brand-text); }
.mega-lista .qt{ color:var(--muted); font-size:12.5px; }
@media (max-width: 980px){ .mega{ display:none !important; } }

/* ---------- a logo no centro (Personalização) ---------- */
.top-header.logo-centro .wrap{ grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.top-header.logo-centro .brand-box{ order:2; justify-content:center; }
.top-header.logo-centro .searchbox{ order:1; }
.top-header.logo-centro .icons{ order:3; }
@media (max-width: 980px){
  .top-header.logo-centro .wrap{ grid-template-columns:1fr auto; }
  .top-header.logo-centro .brand-box{ order:0; justify-content:flex-start; }
  .top-header.logo-centro .icons{ order:1; }
  .top-header.logo-centro .searchbox{ order:3; }
}

/* ---------- os mini banners ao lado do banner (Premium) ---------- */
.home-topo.com-minis{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; align-items:stretch; }
.home-topo.com-minis .pn-hero{ width:auto; max-width:none; margin:0; border-radius:var(--radius); }
/* os dois mini banners dividem a altura do banner principal: a foto fica por cima da caixa, sem empurrar a altura */
.minis-lado{ display:grid; grid-template-rows:repeat(2, minmax(0,1fr)); gap:16px; }
.minis-lado .mini{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:none; }
.minis-lado .mini img{ position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.minis-lado .mini:only-child{ grid-row:1 / -1; }

/* ---------- as vitrines em abas (Premium) ---------- */
.abas-hd{ display:flex; gap:26px; align-items:flex-end; border-bottom:1px solid var(--line); margin:30px 0 16px; overflow-x:auto; scrollbar-width:none; }
.abas-hd::-webkit-scrollbar{ display:none; }
.aba{ font-family:var(--fdisp); font-weight:700; font-size:21px; color:var(--muted); background:none; border:0; border-bottom:3px solid transparent;
  padding:0 0 10px; margin-bottom:-1px; cursor:pointer; white-space:nowrap; }
.aba:hover{ color:var(--ink); }
.aba[aria-selected="true"]{ color:var(--ink); font-weight:800; border-bottom-color:var(--brand); }
.aba[hidden]{ display:none; }
.abas-grid{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
.abas-grid[hidden]{ display:none; }

/* ---------- o vídeo da loja e os depoimentos ---------- */
.home-duo{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:22px; align-items:start; }
.home-duo > section{ min-width:0; }
.video-home{ position:relative; display:block; width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:#111; border:0; padding:0; cursor:pointer; }
.video-home img{ width:100%; height:100%; object-fit:cover; opacity:.9; transition:opacity .2s; }
.video-home:hover img{ opacity:1; }
.video-home .play{ position:absolute; left:50%; top:50%; width:74px; height:74px; margin:-37px 0 0 -37px; border-radius:50%; background:var(--brand); color:var(--brand-ink);
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.video-home .play svg{ width:30px; height:30px; margin-left:4px; }
.video-home iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.rv-card.depo .rv-text{ font-size:14px; color:var(--ink); }
.rv-card.depo .rv-aspas{ width:26px; height:26px; color:var(--brand-text); opacity:.35; }
/* lado a lado com o vídeo, os depoimentos e as avaliações empilham (até três), como na prancha */
.home-duo .reviews .rail-inner{ flex-direction:column; overflow:visible; scroll-snap-type:none; padding:0; }
.home-duo .reviews .rv-card{ width:auto; min-width:0; }
.home-duo .reviews .rv-card:nth-child(n+4){ display:none; }

/* ---------- perguntas frequentes ---------- */
.faq{ display:grid; gap:10px; max-width:880px; }
.faq details{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:15px 18px; }
.faq summary{ display:flex; justify-content:space-between; gap:14px; font-weight:700; font-size:15px; cursor:pointer; list-style:none; color:var(--ink); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:20px; line-height:1; color:var(--brand-text); flex:0 0 auto; }
.faq details[open] summary::after{ content:"\2013"; }
.faq .resp{ margin:10px 0 0; color:var(--ink-soft); font-size:14px; line-height:1.6; white-space:pre-line; }

@media (max-width: 980px){
  .home-topo.com-minis{ grid-template-columns:1fr; }
  .minis-lado{ grid-template-rows:none; grid-template-columns:repeat(2, minmax(0,1fr)); }
  .minis-lado .mini{ aspect-ratio:var(--bn-ar-cel, 2/1); }
  .minis-lado .mini:only-child{ grid-row:auto; grid-column:1 / -1; }
  .abas-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .aba{ font-size:17px; }
  .home-duo{ grid-template-columns:1fr; }
}


/* ---------- o cronômetro da oferta (0241) ---------- */
.of-prazo[hidden]{ display:none !important; }
.section-title .of-prazo{ margin-left:auto; display:flex; align-items:center; gap:8px; font-family:var(--fbody); font-size:13px; font-weight:600; color:var(--muted); letter-spacing:0; text-transform:none; }
.section-title .of-crono{ display:inline-flex; }
.section-title .of-crono .cr-cx{ background:var(--ink); color:var(--card); min-width:38px; padding:5px 4px 4px; margin-right:4px; }
.section-title .of-crono .cr-cx b{ font-size:15px; }
.section-title .of-crono .cr-cx small{ font-size:9.5px; }
.ofertas-bloco{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:16px; align-items:stretch; margin-top:30px; }
.ofertas-bloco .rail{ min-width:0; }
.ofertas-bloco .rail-inner{ padding-top:0; }
.of-painel{ background:#1b1f24; color:#fff; border-radius:var(--radius); padding:28px 26px; display:flex; flex-direction:column; gap:12px; margin-bottom:14px; }
.of-painel .of-tag{ align-self:flex-start; background:var(--brand); color:var(--brand-ink); border-radius:999px; padding:4px 12px; font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.of-painel h2{ margin:0; font-family:var(--fdisp); font-weight:800; font-size:30px; line-height:1.08; }
.of-painel .of-prazo{ display:flex; flex-direction:column; gap:8px; margin-top:auto; }
.of-painel .of-rot{ font-size:13px; color:#aeb5bd; }
.of-painel .cr-cx{ background:#2a3038; }
.of-painel .of-ate{ font-size:12.5px; color:#aeb5bd; }
/* na página da peça: o de/por, o % e a faixa do cronômetro */
.p-info .p-de{ font-size:14px; color:var(--muted); text-decoration:line-through; margin-top:12px; }
.p-info .p-de + .price{ margin-top:2px; }
.p-info .p-pct{ display:inline-block; vertical-align:middle; margin-left:10px; background:var(--brand); color:var(--brand-ink); border-radius:8px; padding:3px 9px; font-family:var(--fdisp); font-weight:800; font-size:15px; }
.p-crono{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:#1b1f24; color:#fff; border-radius:12px; padding:10px 14px; margin:0 0 14px; }
.p-crono .rot{ font-weight:700; font-size:14px; }
.p-crono .of-crono{ margin-left:auto; display:inline-flex; }
.p-crono .cr-cx{ background:#2a3038; min-width:40px; padding:5px 4px 4px; margin-right:4px; }
.p-crono .cr-cx b{ font-size:17px; }
@media (max-width: 980px){
  .ofertas-bloco{ grid-template-columns:1fr; gap:0; }
  .of-painel{ padding:20px; }
  .of-painel h2{ font-size:22px; }
  .section-title .of-prazo .of-rot{ display:none; }
}

/* ============================================================
   LIMPA — branco, respiro, a marca só onde se clica
   ============================================================ */
.m-limpa .topbar{ background:#f6f7f9; color:var(--muted); border-bottom:1px solid var(--line); }
.m-limpa .topbar a{ color:var(--ink-soft); }
.m-limpa .topbar a:hover{ color:var(--brand); }
.m-limpa .top-header{ background:#fff; border-bottom:1px solid var(--line); }
.m-limpa .top-header .stripe{ display:none; }
.m-limpa .top-header .wrap{ padding:14px 16px; }
.m-limpa .brand-box img{ height:56px; margin:0; }
.m-limpa .brand-box .brand-text{ color:var(--ink); font-weight:800; letter-spacing:-.03em; }
.m-limpa .searchbox{ background:#f3f5f8; border:1px solid var(--line); box-shadow:none; }
.m-limpa .searchbox .search-go{ background:var(--brand); color:var(--brand-ink); border-radius:999px; margin:4px; padding:0 22px;
  text-transform:none; letter-spacing:0; font-weight:600; font-family:var(--fbody); font-size:14px; }
.m-limpa .searchbox .search-go:hover{ background:var(--brand-deep); }
.m-limpa .icons{ color:var(--ink); }
.m-limpa .ico:hover{ background:#f3f5f8; }
.m-limpa .menu-bar{ box-shadow:none; }
.m-limpa .menu-item{ text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; }
.m-limpa .menu-item.is-cat{ background:transparent; color:var(--brand); }
.m-limpa .section-title{ font-weight:700; font-size:24px; letter-spacing:-.02em; }
.m-limpa .section-title::before{ display:none; }
.m-limpa .btn{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0; font-family:var(--fbody);
  font-weight:600; font-size:14px; border-radius:999px; }
.m-limpa .btn-outline{ background:#fff; color:var(--ink); }
.m-limpa .pn-hero{ width:auto; max-width:none; margin:0 0 6px; border-radius:var(--radius); box-shadow:none; }
.m-limpa .dept{ box-shadow:none; }
.m-limpa .dept .ic{ background:color-mix(in srgb, var(--brand) 11%, #fff); color:var(--brand); }
.m-limpa .dept .nm{ text-transform:none; letter-spacing:0; font-size:13px; font-weight:600; color:var(--ink); }
.m-limpa .regua .adv{ box-shadow:none; }
.m-limpa .finder-main{ background:#f3f6fb; color:var(--ink); border:1px solid var(--line); }
.m-limpa .finder-main p{ color:var(--ink-soft); }
.m-limpa .pn-prodcard{ box-shadow:none; }
.m-limpa .pn-prodcard .pn-thumb{ border:0; }
.m-limpa .pn-prodcard .pn-btn{ border-radius:999px; font-weight:600; }
.m-limpa .footer{ background:#f6f7f9; }

/* ============================================================
   DISTRIBUIDORA — cabeçalho escuro, lista, código em destaque
   ============================================================ */
.m-distribuidora .topbar{ background:#09121f; color:#8d9bb0; }
.m-distribuidora .topbar a{ color:#aab6c8; }
.m-distribuidora .top-header{ background:var(--ink); border-bottom:0; }
.m-distribuidora .top-header .stripe{ display:none; }
.m-distribuidora .top-header .wrap{ padding:14px 16px; }
.m-distribuidora .brand-box img{ height:52px; margin:0; background:#fff; border-radius:6px; padding:4px 8px; }
.m-distribuidora .brand-box .brand-text{ color:#fff; font-weight:700; letter-spacing:.01em; }
.m-distribuidora .searchbox{ border-radius:var(--radius-sm); box-shadow:none; }
.m-distribuidora .searchbox input{ padding:13px 16px; font-size:14px; }
.m-distribuidora .searchbox .search-go{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0;
  font-family:var(--fbody); font-weight:700; font-size:14px; }
.m-distribuidora .searchbox .search-go:hover{ background:var(--brand-deep); }
.m-distribuidora .icons{ color:#fff; }
.m-distribuidora .ico:hover{ background:rgba(255,255,255,.08); }
.m-distribuidora .menu-bar{ box-shadow:none; }
.m-distribuidora .menu-item{ text-transform:none; letter-spacing:.01em; font-size:13.5px; font-weight:600; padding:13px 12px; }
.m-distribuidora .menu-item.is-cat{ background:var(--brand); color:var(--brand-ink); }
.m-distribuidora .section-title{ font-weight:700; font-size:21px; letter-spacing:0; }
.m-distribuidora .section-title::before{ width:4px; border-radius:0; box-shadow:none; background:var(--brand); }
.m-distribuidora .btn{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0; font-family:var(--fbody);
  font-weight:700; font-size:14px; }
.m-distribuidora .dept{ box-shadow:none; }
.m-distribuidora .dept .ic{ background:transparent; color:var(--brand); }
.m-distribuidora .dept .nm{ text-transform:none; letter-spacing:0; font-size:13px; color:var(--ink); }
.m-distribuidora .regua .adv{ box-shadow:none; }
.m-distribuidora .pn-prodcard{ box-shadow:none; padding:10px; }
.m-distribuidora .pn-prodcard .pn-thumb{ border:0; height:130px; }
.m-distribuidora .pn-prodcard .pn-cod{ display:block; margin-top:9px; font-family:var(--fdisp); font-weight:700; font-size:15px; color:var(--ink); letter-spacing:.01em; }
.m-distribuidora .pn-prodcard .pn-title{ margin-top:3px; }
.m-distribuidora .pn-prodcard .pn-price{ font-weight:700; font-size:18px; }
.m-distribuidora .pn-prodcard .pn-btn{ border-radius:var(--radius-sm); background:var(--ink); color:#fff; }
.m-distribuidora .pn-prodcard .pn-btn:hover{ background:var(--brand); color:var(--brand-ink); }
.m-distribuidora .footer{ background:var(--ink); border-top:0; }
.m-distribuidora .footer h4{ color:#7d8aa0; }
.m-distribuidora .footer a, .m-distribuidora .footer div{ color:#c3cedd; }
.m-distribuidora .footer a:hover{ color:#fff; }
.m-distribuidora .footer .footer-bottom{ border-top-color:rgba(255,255,255,.08); color:#8d9bb0; }

/* ============================================================
   PISTA — escuro, condensado, a marca acesa
   ============================================================ */
.m-pista{ color-scheme:dark; }
.m-pista .topbar{ background:#000; color:#8a9099; }
.m-pista .topbar a{ color:#a9aeb6; }
.m-pista .top-header{ background:var(--paper); border-bottom:1px solid var(--line); }
.m-pista .top-header .stripe{ display:none; }
.m-pista .top-header .wrap{ padding:16px; }
.m-pista .brand-box img{ height:52px; margin:0; background:#fff; padding:4px 8px; }
.m-pista .brand-box .brand-text{ color:var(--ink); text-transform:uppercase; letter-spacing:.04em; font-weight:800; }
.m-pista .searchbox{ background:var(--card); border:1px solid var(--line-2); box-shadow:none; }
.m-pista .searchbox input{ color:var(--ink); letter-spacing:.04em; }
.m-pista .searchbox input::placeholder{ color:var(--muted); text-transform:uppercase; }
.m-pista .searchbox .search-go{ background:var(--brand); color:var(--brand-ink); font-size:16px; letter-spacing:.08em; }
.m-pista .searchbox .search-go:hover{ background:var(--brand-deep); }
.m-pista .icons{ color:var(--ink); }
.m-pista .ico:hover{ background:rgba(255,255,255,.06); }
.m-pista .menu-bar{ background:var(--paper); box-shadow:none; }
.m-pista .menu-item{ font-family:var(--fdisp); font-size:15px; letter-spacing:.1em; color:#a9aeb6; }
.m-pista .menu-item:hover, .m-pista .menu-item.is-active{ color:#fff; }
.m-pista .menu-item.is-cat{ background:transparent; color:var(--brand); }
.m-pista .section-title{ font-size:30px; text-transform:uppercase; letter-spacing:.04em; }
.m-pista .section-title::before{ display:none; }
.m-pista .btn{ background:var(--brand); color:var(--brand-ink); font-size:16px; letter-spacing:.08em; }
.m-pista .btn-outline, .m-pista .btn.btn-outline{ background:transparent; color:var(--ink); border:1px solid var(--line-2); }
.m-pista .pn-hero{ background:var(--card); border-left:6px solid var(--brand); }
.m-pista .pn-hero-btn, .m-pista .rail-btn{ background:var(--card); color:var(--ink); border:1px solid var(--line-2); }
.m-pista .dept{ box-shadow:none; }
.m-pista .dept:hover{ border-color:var(--brand); }
.m-pista .dept .ic{ background:transparent; color:var(--brand); }
.m-pista .dept .nm{ font-family:var(--fdisp); font-size:14px; letter-spacing:.08em; color:var(--ink-soft); }
.m-pista .regua .adv{ box-shadow:none; }
.m-pista .finder-main{ background:var(--card); border-left:6px solid var(--brand); }
.m-pista .finder-main h2{ text-transform:uppercase; letter-spacing:.01em; font-size:34px; }
.m-pista .pn-prodcard{ box-shadow:none; }
.m-pista .pn-prodcard .pn-thumb{ border:0; }
.m-pista .pn-prodcard .pn-title{ color:var(--ink-soft); font-weight:500; }
.m-pista .pn-prodcard .pn-price{ color:var(--brand); font-size:24px; }
.m-pista .pn-prodcard .pn-btn{ border-radius:0; text-transform:uppercase; letter-spacing:.08em; font-family:var(--fdisp); }
.m-pista .pn-selo{ background:rgba(52,199,89,.14); color:#7ee2a3; }
.m-pista .brand-card img{ filter:grayscale(1) invert(1); opacity:.7; }
.m-pista .brand-card:hover img{ filter:none; opacity:1; }
.m-pista .footer{ background:var(--paper); }
.m-pista .lgpd-bar{ background:#000; }
.m-pista .lgpd-bar .btn{ font-size:14px; }
/* campos das páginas internas (categoria, carro) que nasceram com fundo branco cravado */
.m-pista input:not([type=checkbox]):not([type=radio]), .m-pista select, .m-pista textarea{
  background:var(--card) !important; color:var(--ink) !important; border-color:var(--line-2) !important; }

/* ============================================================
   BAIRRO — quente, redondo, a loja ao lado do banner
   ============================================================ */
.m-bairro .topbar{ background:var(--ink); color:#cfd8d2; }
.m-bairro .top-header{ background:var(--paper); border-bottom:0; }
.m-bairro .top-header .stripe{ display:none; }
.m-bairro .top-header .wrap{ padding:18px 16px; }
.m-bairro .brand-box img{ height:60px; margin:0; }
.m-bairro .brand-box .brand-text{ color:var(--ink); font-weight:800; letter-spacing:-.01em; font-size:24px; }
.m-bairro .brand-box .brand-text small{ letter-spacing:.04em; text-transform:none; font-size:12.5px; font-weight:500; }
.m-bairro .searchbox{ border:1.5px solid var(--line); box-shadow:none; }
.m-bairro .searchbox .search-go{ background:transparent; color:var(--brand); text-transform:none; letter-spacing:0;
  font-family:var(--fbody); font-weight:700; font-size:15px; }
.m-bairro .searchbox .search-go:hover{ background:color-mix(in srgb, var(--brand) 8%, #fff); }
.m-bairro .ico{ background:var(--brand); color:var(--brand-ink); border-radius:999px; padding:9px 18px; }
.m-bairro .ico:hover{ background:var(--brand-deep); }
.m-bairro .menu-bar{ background:var(--paper); box-shadow:none; border-bottom:1.5px solid var(--line); }
.m-bairro .menu-item{ text-transform:none; letter-spacing:0; font-size:15px; font-weight:600; }
.m-bairro .menu-item.is-cat{ background:transparent; color:var(--brand); }
.m-bairro .section-title{ font-weight:700; font-size:28px; letter-spacing:-.01em; }
.m-bairro .section-title::before{ display:none; }
.m-bairro .btn{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0; font-family:var(--fbody);
  font-weight:700; font-size:15px; border-radius:999px; }
.m-bairro .btn.btn-linha{ background:transparent; color:var(--brand); }
.m-bairro .pn-hero{ width:auto; max-width:none; margin:4px 0 6px; border-radius:var(--radius); box-shadow:none; }
.m-bairro .home-topo.com-cartao .pn-hero{ margin:0; }
.m-bairro .home-topo{ margin-top:4px; }
.m-bairro .dept{ border-width:1.5px; box-shadow:none; }
.m-bairro .dept .ic{ background:color-mix(in srgb, var(--brand) 10%, #fff); color:var(--brand); }
.m-bairro .dept .nm{ text-transform:none; letter-spacing:0; font-size:14px; color:var(--ink); }
.m-bairro .regua .adv{ border-width:1.5px; box-shadow:none; }
.m-bairro .finder-main{ background:var(--brand); color:var(--brand-ink); }
.m-bairro .finder-main p{ color:inherit; opacity:.88; }
.m-bairro .finder-tag{ color:inherit; opacity:.85; }
.m-bairro .finder-main .btn{ background:var(--paper); color:var(--ink); }
.m-bairro .pn-prodcard{ border-width:1.5px; box-shadow:none; padding:14px; }
.m-bairro .pn-prodcard .pn-thumb{ border:0; border-radius:16px; }
.m-bairro .pn-prodcard .pn-price{ font-weight:700; font-size:22px; }
.m-bairro .pn-prodcard .pn-btn{ background:transparent; color:var(--brand); border:1.5px solid var(--brand); border-radius:999px; }
.m-bairro .pn-prodcard .pn-btn:hover{ background:var(--brand); color:var(--brand-ink); }
.m-bairro .footer{ background:var(--paper); border-top:1.5px solid var(--line); }

/* ============================================================
   PREMIUM — busca em destaque, menu escuro, departamentos em círculos
   ============================================================ */
.m-premium .topbar{ background:var(--brand); color:var(--brand-ink); }
.m-premium .topbar a{ color:var(--brand-ink); }
.m-premium .topbar a:hover{ color:var(--brand-ink); text-decoration:underline; }
.m-premium .top-header{ background:#fff; border-bottom:1px solid var(--line); }
.m-premium .top-header .stripe{ display:none; }
.m-premium .top-header .wrap{ padding:16px; }
.m-premium .brand-box img{ height:58px; margin:0; }
.m-premium .brand-box .brand-text{ color:var(--ink); font-weight:800; letter-spacing:.01em; }
.m-premium .brand-box .brand-text small{ color:var(--muted); opacity:1; }
.m-premium .searchbox{ background:#f4f5f7; border:1.5px solid #e1e4e8; border-radius:12px; box-shadow:none; }
.m-premium .searchbox input{ padding:14px 18px; }
.m-premium .searchbox .search-go{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0; font-family:var(--fdisp);
  font-weight:700; font-size:15px; padding:0 24px; }
.m-premium .searchbox .search-go:hover{ background:var(--brand-deep); }
.m-premium .icons{ color:var(--ink); }
.m-premium .ico:hover{ background:#f4f5f7; }
.m-premium .ico .i{ color:#16803f; }
.m-premium .menu-bar{ background:#1b1f24; border-bottom:0; box-shadow:none; }
.m-premium .menu-item{ color:#d9dde2; text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; padding:15px 14px; }
.m-premium .menu-item::after{ left:14px; right:14px; bottom:8px; }
.m-premium .menu-item:hover, .m-premium .menu-item.is-active, .m-premium .menu-item[aria-expanded="true"]{ color:#fff; }
.m-premium .menu-item.is-cat{ background:var(--brand); color:var(--brand-ink); font-family:var(--fdisp); font-weight:700; padding:15px 20px; }
.m-premium .section-title{ font-weight:800; font-size:26px; letter-spacing:0; margin:32px 0 16px; }
.m-premium .section-title::before{ display:none; }
.m-premium .btn{ background:var(--brand); color:var(--brand-ink); text-transform:none; letter-spacing:0; font-family:var(--fdisp); font-weight:700; font-size:15px; }
.m-premium .btn:hover{ background:var(--brand-deep); filter:none; }
.m-premium .btn-outline, .m-premium .btn.btn-outline{ background:#fff; color:var(--ink); border:1.5px solid var(--line-2); }
.m-premium .pn-hero{ width:auto; max-width:none; margin:0 0 6px; border-radius:16px; box-shadow:none; }
.m-premium .home-topo.com-minis .pn-hero{ margin:0; }
.m-premium .regua{ gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px 6px; margin-top:22px; }
.m-premium .regua .adv{ border:0; border-right:1px solid #eef0f2; border-radius:0; box-shadow:none; padding:4px 20px; background:transparent; }
.m-premium .regua .adv:last-child{ border-right:0; }
.m-premium .regua .adv .tx b{ font-family:var(--fbody); font-weight:800; font-size:14.5px; }
.m-premium .depts{ grid-template-columns:repeat(8, minmax(0,1fr)); gap:12px; }
.m-premium .dept{ background:transparent; border:0; box-shadow:none; padding:6px 0; gap:10px; }
.m-premium .dept:hover{ transform:none; box-shadow:none; }
.m-premium .dept .ic{ width:96px; height:96px; background:#fff; border:1px solid #e1e4e8; color:var(--brand-text); transition:border-color .15s, transform .15s; }
.m-premium .dept:hover .ic{ border-color:var(--brand); transform:translateY(-3px); }
.m-premium .dept .ic svg{ width:40px; height:40px; }
.m-premium .dept .nm{ text-transform:none; letter-spacing:0; font-size:14px; color:#262b31; }
.m-premium .finder-main{ background:#1b1f24; border-radius:16px; }
.m-premium .finder-main h2{ font-weight:800; }
.m-premium .pn-prodcard{ box-shadow:none; border-radius:14px; }
.m-premium .pn-prodcard:hover{ transform:none; border-color:var(--line-2); box-shadow:var(--shadow-md); }
.m-premium .pn-prodcard .pn-thumb{ height:170px; border:0; border-radius:10px; background:#f4f5f7; }
.m-premium .pn-prodcard .pn-thumb img{ mix-blend-mode:multiply; padding:8px; }
.m-premium .pn-prodcard .pn-cod{ display:block; margin-top:10px; font-size:12px; color:var(--muted); }
.m-premium .pn-prodcard .pn-cod::before{ content:"Cód. "; }
.m-premium .pn-prodcard .pn-title{ margin-top:4px; font-size:13.5px; color:#262b31; }
.m-premium .pn-prodcard .pn-fab{ display:none; }
.m-premium .pn-prodcard .pn-price{ font-weight:800; font-size:23px; letter-spacing:0; }
.m-premium .pn-prodcard .pn-btn{ background:transparent; color:var(--brand-text); border:1.5px solid var(--brand-text); font-weight:700; }
.m-premium .pn-prodcard .pn-btn:hover{ background:var(--brand); border-color:var(--brand); color:var(--brand-ink); }
.m-premium .abas-grid .pn-prodcard{ min-width:0; }
.m-premium .brand-card{ box-shadow:none; }
.m-premium .rv-head, .m-premium .rv-card{ box-shadow:none; }
.m-premium .footer{ background:#14171b; border-top:0; }
.m-premium .footer h4{ color:#fff; letter-spacing:.04em; text-transform:none; font-size:14px; }
.m-premium .footer a, .m-premium .footer div{ color:#aeb5bd; }
.m-premium .footer a:hover{ color:#fff; }
.m-premium .footer .footer-bottom{ border-top-color:#2a3038; color:#8a929c; }
.m-premium .wa-float{ background:#16803f; }
/* a página da peça no Premium: título forte e os botões dos canais num bloco "onde comprar" */
.m-premium .gal-main{ border-radius:16px; box-shadow:none; }
.m-premium .gal-main img{ background:#fff; }
.m-premium .gal-thumb{ border-radius:10px; }
.m-premium .p-info h1{ font-weight:800; font-size:30px; letter-spacing:0; line-height:1.12; }
.m-premium .p-info .price{ font-weight:800; letter-spacing:0; }
.m-premium .p-info .actions{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; gap:10px; }
.m-premium .p-info .actions::before{ content:"Escolha onde comprar"; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:var(--muted); text-transform:uppercase; }
.m-premium .mkt-btn, .m-premium .badge-wa{ padding:15px 18px; border-radius:12px; font-size:15.5px; }
.m-premium .badge-wa{ background:#16803f; }
.m-premium .btn-canal-preco{ font-weight:800; font-size:21px; }
.m-premium .compat, .m-premium .prod-block{ box-shadow:none; }
.m-premium .prod-block h3{ font-weight:800; font-size:17px; }

@media (max-width: 980px){
  .m-premium .depts{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; }
  .m-premium .dept .ic{ width:64px; height:64px; }
  .m-premium .dept .ic svg{ width:28px; height:28px; }
  .m-premium .dept .nm{ font-size:12px; }
  .m-premium .regua{ padding:6px; }
  .m-premium .regua .adv{ border-right:0; border-bottom:1px solid #eef0f2; padding:10px 12px; }
  .m-premium .regua .adv:last-child{ border-bottom:0; }
  .m-premium .section-title{ font-size:21px; margin:24px 0 12px; }
  .m-premium .pn-prodcard .pn-thumb{ height:130px; }
  .m-premium .pn-prodcard .pn-price{ font-size:19px; }
}
