/* ============================================================
   LOJA DA ALPACK — o CSS do tema. [ALPACK 2026-09-07]

   Paleta: o marinho do logo manda; o laranja aparece UMA vez por tela — na
   ação de comprar. Fundo cinza-azulado, cards brancos. Tipografia: Barlow para
   ler, Barlow Semi Condensed para título e preço.
   ============================================================ */

:root {
  --marinho: #001c73;
  --marinho-2: #00114a;
  --azul: #1739a1;
  --azul-claro: #e8ecf9;
  --laranja: #ff8300;
  --laranja-2: #e07300;
  --fundo: #f3f4f8;
  --card: #ffffff;
  --tinta: #0f1b3d;
  --tinta-2: #4b5670;
  --tinta-3: #8a93a8;
  --linha: #dde1ec;
  --verde: #1f8f4e;
  --verde-claro: #e6f4ec;
  --kraft: #d2a86f;
  --kraft-2: #b98c52;
  --f-txt: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-tit: 'Barlow Semi Condensed', 'Barlow', system-ui, sans-serif;
  --raio: 12px;
  --raio-p: 8px;
  --sombra: 0 1px 2px rgba(15, 27, 61, .06), 0 8px 24px -12px rgba(15, 27, 61, .18);
  --sombra-2: 0 2px 6px rgba(15, 27, 61, .08), 0 18px 40px -16px rgba(15, 27, 61, .28);
  --larg: 1240px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body.alpack {
  margin: 0; background: var(--fundo); color: var(--tinta);
  font-family: var(--f-txt); font-size: 16px; line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
/* (0,1,1) de propósito: .marca h2 e .news h3, declarados depois, precisam vencer */
.alpack h1, .alpack h2, .alpack h3, .alpack h4 {
  font-family: var(--f-tit); color: var(--marinho); margin: 0; line-height: 1.1; font-weight: 800;
}
/* seletor de elemento, de propósito: assim qualquer classe (.catbar a, .rod-links a) vence sem !important */
a { color: var(--azul); text-decoration: none; }
a:hover { text-decoration: none; }
.alpack img { max-width: 100%; height: auto; display: block; }
.alpack button { font-family: inherit; }
:focus-visible { outline: 3px solid var(--laranja); outline-offset: 2px; }
.container { max-width: var(--larg); margin: 0 auto; padding: 0 20px; }
.ico { width: 1.15em; height: 1.15em; flex: none; }
.conteudo { display: block; min-height: 40vh; }

/* botões da casa */
.btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: var(--raio-p);
  font-family: var(--f-txt); font-weight: 600; font-size: .98rem; line-height: 1; border: 2px solid transparent;
  cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.btn-laranja { background: var(--laranja); color: #fff; }
.btn-laranja:hover { background: var(--laranja-2); color: #fff; }
.btn-linha { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.btn-linha:hover { border-color: #fff; color: #fff; }

/* ---------- 1. promessas ---------- */
.promessas { background: var(--marinho-2); color: #c9d2f2; font-size: .82rem; }
.promessas .container { display: flex; justify-content: center; gap: 34px; padding: 7px 20px; }
.pm-item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.pm-ico { color: var(--laranja); width: 1.05em; height: 1.05em; }
.pm-curto { display: none; }

/* ---------- 2. topo ---------- */
.topo { background: #fff; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 60; }
.topo-in { display: flex; align-items: center; gap: 28px; height: 80px; }
.logo img { width: 210px; height: auto; }
.menu-btn { display: none; }
.busca {
  flex: 1 1 auto; display: flex; align-items: center; max-width: 620px;
  border: 2px solid var(--linha); border-radius: 999px; background: var(--fundo); height: 46px; overflow: hidden;
  transition: border-color .15s, background .15s;
}
.busca:focus-within { border-color: var(--azul); background: #fff; }
.busca input {
  flex: 1 1 auto; min-width: 0; border: 0; background: transparent; padding: 0 18px; font: inherit; font-size: .98rem; color: var(--tinta);
}
.busca input:focus { outline: none; }
.busca input::placeholder { color: var(--tinta-3); }
.busca button { border: 0; background: var(--marinho); color: #fff; width: 54px; height: 100%; display: grid; place-items: center; cursor: pointer; }
.busca button:hover { background: var(--azul); }
.busca button .ico { width: 20px; height: 20px; }
.topo-acoes { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.conta-btn, .carrinho-btn { display: inline-flex; align-items: center; gap: 10px; color: var(--tinta); position: relative; }
.conta-btn .ico, .carrinho-btn .ico { width: 28px; height: 28px; color: var(--marinho); }
.ac-txt { display: flex; flex-direction: column; line-height: 1.1; }
.ac-txt small { font-size: .74rem; color: var(--tinta-2); }
.ac-txt b { font-size: .95rem; font-weight: 600; }
.conta-btn.logado .ico { color: var(--laranja); }
.car-count {
  position: absolute; top: -8px; left: 18px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
  background: var(--laranja); color: #fff; font-size: .72rem; font-weight: 700; display: grid; place-items: center;
}

/* ---------- 3. catbar ---------- */
.catbar { background: var(--marinho); color: #fff; }
.catbar-in { display: flex; align-items: stretch; gap: 4px; height: 48px; }
.catbar a { color: #fff; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; font-weight: 500; font-size: .95rem; border-bottom: 3px solid transparent; transition: background .15s; }
.catbar a:hover { background: rgba(255, 255, 255, .08); }
.cb-todos { background: rgba(255, 255, 255, .1); font-weight: 600; margin-right: 6px; }
.cb-ico { width: 18px; height: 18px; }
.cb-marca { margin-left: auto; color: #ffd39a !important; font-weight: 600; }
.cb-marca .cb-ico { color: var(--laranja); }
.catbar-topo-cel { display: none; }
.menu-fundo { display: none; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--marinho-2); }
.hero-track { display: flex; transition: transform .5s ease; }
.hero-slide { flex: 0 0 100%; min-width: 0; }
.hero-slide img { width: 100%; height: auto; aspect-ratio: 3841 / 1301; object-fit: cover; }
.hero-link { display: block; }
.hero-seta {
  position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, .85); color: var(--marinho); display: grid; place-items: center; cursor: pointer;
  box-shadow: var(--sombra); transition: background .15s;
}
.hero-seta:hover { background: #fff; }
.hero-seta.prev { left: 18px; } .hero-seta.prev .ico { transform: rotate(180deg); }
.hero-seta.next { right: 18px; }
.hero-dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 7px; }
.hero-dots button { width: 9px; height: 9px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .5); cursor: pointer; padding: 0; }
.hero-dots button.on { background: var(--laranja); width: 24px; border-radius: 999px; }

/* ---------- benefícios ---------- */
.beneficios { margin-top: -22px; position: relative; z-index: 2; }
.ben-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: var(--raio);
  box-shadow: var(--sombra); overflow: hidden;
}
.ben { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-right: 1px solid var(--linha); }
.ben:last-child { border-right: 0; }
.ben-ico { width: 40px; height: 40px; color: var(--laranja); background: #fff4e6; border-radius: 50%; padding: 9px; }
.ben b { display: block; font-size: .98rem; color: var(--marinho); }
.ben span { font-size: .82rem; color: var(--tinta-2); }

/* ---------- seções ---------- */
.bloco { padding: 44px 0 8px; }
.sec-tit { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.sec-tit h2 { font-size: 1.8rem; position: relative; padding-left: 16px; }
.sec-tit h2::before { content: ''; position: absolute; left: 0; top: .12em; bottom: .05em; width: 5px; border-radius: 3px; background: var(--laranja); }
.sec-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .95rem; color: var(--azul); }
.sec-link .ico { transition: transform .15s; }
.sec-link:hover .ico { transform: translateX(3px); }

/* ---------- grade e card ---------- */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; margin: 0; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important; position: relative;
  background: var(--card); border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px;
  display: flex; flex-direction: column; transition: box-shadow .18s, transform .18s, border-color .18s;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--sombra-2); border-color: transparent; transform: translateY(-2px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; color: inherit; }
.woocommerce ul.products li.product a img {
  aspect-ratio: 1; object-fit: contain; width: 100%; margin: 0 0 10px; border-radius: var(--raio-p); background: #fff;
}
.ap-tag {
  position: absolute; top: 12px; left: 12px; z-index: 2; padding: 4px 9px; border-radius: 6px;
  background: var(--verde-claro); color: var(--verde); font-size: .72rem; font-weight: 700; letter-spacing: .01em;
}
.ap-tag-oferta { background: var(--laranja); color: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--f-txt); font-size: .95rem; font-weight: 600; color: var(--tinta); line-height: 1.3;
  padding: 0; margin: 0 0 8px; min-height: 2.6em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ap-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.ap-chip {
  display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 6px;
  background: var(--azul-claro); color: var(--marinho); font-size: .78rem; font-weight: 600;
}
.ap-chip .ico { width: 14px; height: 14px; }
.ap-chip-un { background: var(--fundo); color: var(--tinta-2); }

.ap-preco { margin: 0 0 12px; }
.ap-de { display: flex; align-items: center; gap: 8px; font-size: .84rem; color: var(--tinta-3); }
.ap-de s { text-decoration: line-through; }
.ap-off { background: var(--laranja); color: #fff; font-size: .72rem; font-weight: 700; padding: 2px 6px; border-radius: 5px; }
.ap-por { display: flex; align-items: baseline; gap: 7px; }
.ap-por b, .ap-por .amount, .ap-por bdi { font-family: var(--f-tit); font-weight: 800; font-size: 1.55rem; color: var(--marinho); line-height: 1; }
.ap-onde { font-size: .82rem; font-weight: 600; color: var(--verde); }
.ap-parc { font-size: .8rem; color: var(--tinta-2); margin-top: 3px; }
.ap-parc b, .ap-parc .amount { font-weight: 700; color: var(--tinta); }
.ap-consulta b { display: block; font-family: var(--f-tit); font-size: 1.15rem; color: var(--marinho); }
.ap-consulta span { font-size: .8rem; color: var(--tinta-2); }
.woocommerce ul.products li.product .price { display: none; }

/* o botão e a quantidade */
.acao { display: flex; align-items: stretch; gap: 8px; }
.acao-cart { margin: auto 0 0; }
.woocommerce ul.products li.product .acao > .button, .woocommerce ul.products li.product .acao > .button.alt {
  flex: 1 1 auto; margin: 0; padding: 12px 14px; border-radius: var(--raio-p); border: 0;
  background: var(--laranja); color: #fff; font-family: var(--f-txt); font-weight: 700; font-size: .95rem; text-align: center;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height: 1; transition: background .15s;
}
.woocommerce ul.products li.product .acao > .button:hover { background: var(--laranja-2); color: #fff; }
.woocommerce ul.products li.product .acao > .button.loading { opacity: .6; }
.woocommerce ul.products li.product .acao > .button.loading::after, .woocommerce ul.products li.product .acao > .button.added::after { display: none; }
.woocommerce ul.products li.product .acao > .ap-orcar { background: var(--marinho); }
.woocommerce ul.products li.product .acao > .ap-orcar:hover { background: var(--azul); }
.acao .added_to_cart { display: none !important; }
.woocommerce ul.products li.product .acao.com-qtd > .button { flex: 0 0 46px; padding-left: 0; padding-right: 0; }
.acao.com-qtd > .button svg { width: 19px; height: 19px; }
.woocommerce ul.products li.product .acao-btn-min {
  display: flex; align-items: center; justify-content: center; padding: 11px 0; border-radius: var(--raio-p);
  background: var(--marinho); color: #fff;
}
.qtd-ctrl { flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; background: #fff; border: 2px solid var(--linha); border-radius: var(--raio-p); overflow: hidden; }
.qc-btn { width: 40px; align-self: stretch; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; font-family: var(--f-tit); font-weight: 700; font-size: 1.2rem; color: var(--marinho); }
.qc-btn:hover { background: var(--fundo); }
.qc-btn svg { width: 17px; height: 17px; }
.qc-btn.qc-lixo { color: var(--laranja-2); }
.qc-num { font-family: var(--f-tit); font-weight: 800; font-size: 1rem; min-width: 1.6em; text-align: center; }
.qtd-ctrl.ocupado { opacity: .5; pointer-events: none; }

/* ---------- categorias (home) ---------- */
.cat-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.cat-card {
  background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px 16px 20px; color: var(--tinta);
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px; transition: box-shadow .18s, transform .18s;
}
.cat-card:hover { box-shadow: var(--sombra-2); transform: translateY(-2px); }
.cat-card img { width: 64px; height: 64px; border-radius: 14px; margin-bottom: 6px; }
.cat-card b { font-family: var(--f-tit); font-size: 1.25rem; color: var(--marinho); }
.cat-card span { font-size: .84rem; color: var(--tinta-2); line-height: 1.35; }

/* ---------- quadro (4 banners) ---------- */
.quadro-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.quadro-item { display: block; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); transition: transform .18s, box-shadow .18s; }
.quadro-item:hover { transform: translateY(-3px); box-shadow: var(--sombra-2); }
.quadro-item img { width: 100%; height: auto; }

/* ---------- a fita (bloco da marca) ---------- */
.marca { position: relative; background: var(--marinho); color: #fff; margin: 48px 0 0; padding: 74px 0 56px; overflow: hidden; }
.marca-in { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.marca h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.1rem); letter-spacing: -.01em; margin-bottom: 14px; }
.marca p { font-size: 1.08rem; color: #c9d2f2; max-width: 56ch; margin: 0 0 22px; }
.marca-acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.marca-fatos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; justify-self: end; }
.marca-fatos li { display: flex; align-items: center; gap: 12px; font-size: 1.05rem; font-weight: 500; }
.marca-fatos .ico { color: var(--laranja); width: 26px; height: 26px; background: rgba(255, 255, 255, .08); border-radius: 50%; padding: 5px; }
/* a tira de fita kraft, torta de leve, com o "impresso" rolando */
.tira {
  position: absolute; left: -4%; right: -4%; top: 10px; height: 44px; transform: rotate(-1.6deg);
  background: var(--kraft); color: var(--marinho-2); box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
  overflow: hidden; display: flex; align-items: center;
  background-image: repeating-linear-gradient(90deg, transparent 0 46px, rgba(0, 0, 0, .05) 46px 48px);
}
.tira::before, .tira::after { content: ''; position: absolute; top: 0; bottom: 0; width: 22px; background: linear-gradient(90deg, rgba(0, 0, 0, .12), transparent); left: 0; }
.tira::after { left: auto; right: 0; transform: scaleX(-1); }
.tira-in { display: flex; white-space: nowrap; will-change: transform; animation: tira-rola 70s linear infinite; }
.tira-in span { font-family: var(--f-tit); font-weight: 800; font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; padding-right: 2em; }
@keyframes tira-rola { from { transform: translateX(0); } to { transform: translateX(-33.33%); } }

/* ---------- duplo ---------- */
.duplo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.duplo-item { display: block; border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); transition: transform .18s; }
.duplo-item:hover { transform: translateY(-3px); }
.duplo { padding-bottom: 56px; }

/* ---------- newsletter ---------- */
.news { background: var(--azul); color: #fff; }
.news-in { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 30px 20px; flex-wrap: wrap; }
.news h3 { color: #fff; font-size: 1.5rem; }
.news p { margin: 4px 0 0; color: #d6ddf7; font-size: .95rem; }
.news-form { display: flex; gap: 8px; flex: 0 1 520px; }
.news-form input { flex: 1 1 auto; min-width: 0; height: 50px; border: 0; border-radius: var(--raio-p); padding: 0 16px; font: inherit; }
.news-form button { height: 50px; padding: 0 22px; border: 0; border-radius: var(--raio-p); background: var(--laranja); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.news-form button:hover { background: var(--laranja-2); }
.news-aviso { width: 100%; margin: 0; font-weight: 600; }
.news-aviso.erro { color: #ffd39a; }

/* ---------- rodapé ---------- */
.rodape { background: var(--marinho); color: #c9d2f2; padding: 46px 0 0; }
.rod-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; }
.rod-col h4 { color: #fff; font-size: 1.15rem; margin-bottom: 14px; }
.rod-logo { width: 190px; margin-bottom: 12px; }
.rod-slogan { font-size: .92rem; margin: 0 0 18px; max-width: 34ch; }
.rod-contato { display: grid; gap: 8px; }
.rod-contato a, .rod-end { display: flex; align-items: center; gap: 10px; color: #fff; font-size: .95rem; margin: 0; }
.rod-end { align-items: flex-start; margin-bottom: 10px; line-height: 1.35; }
.rc-ico { width: 30px; height: 30px; padding: 6px; border-radius: 8px; background: rgba(255, 255, 255, .08); color: var(--laranja); flex: none; }
.rod-redes { display: flex; gap: 8px; margin-top: 16px; }
.rod-redes a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; display: grid; place-items: center; }
.rod-redes a:hover { background: var(--laranja); }
.rod-links { display: grid; gap: 8px; }
.rod-links.duas { grid-template-columns: 1fr 1fr; column-gap: 16px; }
.rod-links a { color: #dfe5fb; font-size: .95rem; }
.rod-links a:hover { color: var(--laranja); }
.rod-mapa { display: inline-flex; align-items: center; gap: 6px; color: #ffd39a; font-weight: 600; margin-top: 4px; }
.rod-selos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.rs { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 6px; background: rgba(255, 255, 255, .08); font-size: .8rem; color: #fff; }
.rs .ico { color: var(--laranja); }
.rod-baixo { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 36px; padding: 16px 0 90px; font-size: .8rem; color: #9fabd6; }

/* ---------- flutuantes ---------- */
.whats-flutuante {
  position: fixed; right: 18px; bottom: 18px; z-index: 50; display: inline-flex; align-items: center; gap: 8px;
  background: #25d366; color: #fff; padding: 12px 18px 12px 14px; border-radius: 999px; font-weight: 700; box-shadow: var(--sombra-2);
}
.whats-flutuante .ico { width: 22px; height: 22px; }
.whats-flutuante:hover { background: #1fb85a; color: #fff; }
.tabbar { display: none; }

/* ============================================================
   PÁGINAS DO WOO — loja, categoria, busca, ficha, carrinho, checkout, conta
   ============================================================ */
.conteudo > .woocommerce, .conteudo #primary.content-area, .conteudo .woocommerce-page #main {
  max-width: var(--larg); margin: 0 auto; padding: 28px 20px 60px; width: 100%;
}
.woocommerce .page-title, .conteudo h1.entry-title { font-size: 2rem; margin: 0 0 18px; }
.woocommerce-breadcrumb { font-size: .84rem; color: var(--tinta-2) !important; margin: 0 0 14px !important; }
.woocommerce-breadcrumb a { color: var(--azul) !important; }
.woocommerce .woocommerce-ordering select {
  font: inherit; padding: 8px 12px; border: 2px solid var(--linha); border-radius: var(--raio-p); background: #fff; color: var(--tinta);
}
.woocommerce .woocommerce-result-count { color: var(--tinta-2); font-size: .9rem; }
.woocommerce nav.woocommerce-pagination { margin-top: 28px; text-align: center; clear: both; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  min-width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--raio-p); background: #fff; border: 1px solid var(--linha); color: var(--marinho); font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--marinho); color: #fff; border-color: var(--marinho); }
.storefront-sorting { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.storefront-sorting:last-of-type .woocommerce-ordering { display: none; }
.storefront-sorting:first-of-type .woocommerce-pagination { display: none; }
.term-description { color: var(--tinta-2); max-width: 70ch; margin-bottom: 18px; }

/* categoria com filhas: a lista delas vira chips no topo */
.woocommerce ul.products li.product-category a { display: block; }
.woocommerce ul.products li.product-category h2 { font-family: var(--f-tit); font-size: 1.1rem; color: var(--marinho); }

/* ---------- a ficha do produto ---------- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-product-gallery, .woocommerce div.product div.images { grid-column: 1; width: 100% !important; float: none !important; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 16px; }
.woocommerce div.product div.summary, .woocommerce div.product .summary { grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .product_title { font-size: 1.9rem; line-height: 1.15; margin-bottom: 10px; }
.woocommerce div.product .product_meta { font-size: .84rem; color: var(--tinta-2); margin-top: 18px; }
.ap-chips-ficha { margin: 6px 0 16px; }
.ap-chips-ficha .ap-chip { font-size: .88rem; padding: 6px 10px; }
.ap-preco-ficha { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px 20px; margin: 0 0 18px; }
.ap-preco-ficha .ap-por b, .ap-preco-ficha .ap-por .amount, .ap-preco-ficha .ap-por bdi { font-size: 2.4rem; }
.ap-preco-ficha .ap-onde { font-size: 1rem; }
.ap-preco-ficha .ap-parc { font-size: .95rem; margin-top: 8px; }
.ap-preco-ficha .ap-de { font-size: 1rem; }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: stretch; margin: 0 0 18px; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { height: 50px; width: 74px; border: 2px solid var(--linha); border-radius: var(--raio-p); font: inherit; font-weight: 700; }
.woocommerce div.product form.cart .button, .woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 auto; height: 50px; border-radius: var(--raio-p); background: var(--laranja); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem;
}
.woocommerce div.product form.cart .button:hover { background: var(--laranja-2); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--tinta-2); }
.woocommerce div.product .woocommerce-tabs { margin-top: 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 18px; border-bottom: 2px solid var(--linha); display: flex; gap: 4px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 0 -2px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 16px; font-weight: 600; color: var(--tinta-2); border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--marinho); border-bottom-color: var(--laranja); }
.woocommerce div.product .woocommerce-tabs .panel { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px 24px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.2rem; margin-bottom: 10px; }
.woocommerce table.shop_attributes th { width: 30%; background: var(--fundo); }
.related.products, .upsells.products { margin-top: 36px; }
.related.products > h2, .upsells.products > h2 { font-size: 1.6rem; margin-bottom: 16px; padding-left: 16px; position: relative; }
.related.products > h2::before, .upsells.products > h2::before { content: ''; position: absolute; left: 0; top: .12em; bottom: .05em; width: 5px; border-radius: 3px; background: var(--laranja); }

/* ---------- carrinho, checkout, conta: o suficiente para não destoar ---------- */
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  font-family: var(--f-txt); font-weight: 700; border-radius: var(--raio-p); background: var(--marinho); color: #fff;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--azul); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce #place_order { background: var(--laranja); color: #fff; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce #place_order:hover { background: var(--laranja-2); color: #fff; }
.woocommerce table.shop_table { border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; border-collapse: separate; }
.woocommerce table.shop_table th { color: var(--marinho); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single {
  border: 2px solid var(--linha); border-radius: var(--raio-p); padding: 10px 12px; font: inherit; background: #fff;
}
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .woocommerce-checkout-review-order {
  background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px 20px;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--marinho); border-radius: var(--raio-p); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--marinho); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; color: var(--tinta); font-weight: 500; border-bottom: 1px solid var(--linha); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--azul-claro); color: var(--marinho); font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px 24px; }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1100px) {
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .quadro-grid { grid-template-columns: repeat(2, 1fr); }
  .rod-grid { grid-template-columns: 1fr 1fr; }
  .marca-in { grid-template-columns: 1fr; }
  .marca-fatos { justify-self: start; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .ben-grid { grid-template-columns: 1fr 1fr; }
  .ben { border-right: 0; border-bottom: 1px solid var(--linha); }
  .ben:nth-child(odd) { border-right: 1px solid var(--linha); }
  .ben:nth-last-child(-n+2) { border-bottom: 0; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-product-gallery, .woocommerce div.product div.summary { grid-column: 1; }
  .ac-txt { display: none; }
  .car-count { left: 14px; }
}
@media (max-width: 760px) {
  .promessas .container { gap: 18px; justify-content: center; font-size: .78rem; }
  .pm-so-desktop, .pm-longo { display: none; }
  .pm-curto { display: inline; }
  .topo-in { height: auto; flex-wrap: wrap; gap: 10px 12px; padding: 10px 0; }
  .menu-btn { display: grid; place-items: center; width: 42px; height: 42px; border: 0; background: var(--fundo); border-radius: var(--raio-p); color: var(--marinho); cursor: pointer; }
  .menu-btn .ico { width: 24px; height: 24px; }
  .logo img { width: 150px; }
  .topo-acoes { gap: 14px; }
  .busca { order: 3; flex: 1 1 100%; max-width: none; height: 44px; }
  /* a catbar vira painel lateral */
  .catbar {
    position: fixed; top: 0; left: 0; bottom: 0; width: min(320px, 86vw); z-index: 80; transform: translateX(-104%);
    transition: transform .25s ease; overflow-y: auto; box-shadow: var(--sombra-2);
  }
  body.menu-aberto .catbar { transform: none; }
  .catbar-in { flex-direction: column; height: auto; gap: 0; padding: 0; }
  .catbar-topo-cel { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; font-family: var(--f-tit); font-size: 1.3rem; font-weight: 800; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .catbar-topo-cel button { border: 0; background: rgba(255, 255, 255, .1); color: #fff; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
  .catbar a { padding: 15px 18px; border-bottom: 1px solid rgba(255, 255, 255, .08); border-left: 3px solid transparent; }
  .cb-todos, .cb-marca { margin: 0; }
  .menu-fundo { display: block; position: fixed; inset: 0; background: rgba(0, 17, 74, .55); z-index: 70; }
  .menu-fundo[hidden] { display: none; }
  .beneficios { margin-top: 12px; }
  .ben { padding: 14px; gap: 10px; }
  .ben-ico { width: 34px; height: 34px; padding: 7px; }
  .ben b { font-size: .9rem; } .ben span { font-size: .76rem; }
  .bloco { padding: 30px 0 4px; }
  .sec-tit h2 { font-size: 1.45rem; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .woocommerce ul.products li.product { padding: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .86rem; }
  .ap-por b, .ap-por .amount, .ap-por bdi { font-size: 1.3rem; }
  .ap-parc { font-size: .74rem; }
  .woocommerce ul.products li.product .acao > .button { padding: 11px 8px; font-size: .9rem; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .cat-card { padding: 14px; } .cat-card img { width: 52px; height: 52px; } .cat-card b { font-size: 1.1rem; } .cat-card span { font-size: .78rem; }
  .quadro-grid { gap: 10px; }
  .marca { padding: 64px 0 40px; }
  .marca-fatos { grid-template-columns: 1fr; }
  .tira-in span { font-size: .95rem; }
  .duplo-grid { grid-template-columns: 1fr; gap: 10px; }
  .news-in { padding: 24px 20px; }
  .news-form { flex-wrap: wrap; }
  .rod-grid { grid-template-columns: 1fr; gap: 28px; }
  .rod-baixo { padding-bottom: 96px; flex-direction: column; gap: 4px; }
  .whats-flutuante { display: none; }
  /* barra de baixo */
  .tabbar {
    display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    background: #fff; border-top: 1px solid var(--linha); padding: 6px 0 max(6px, env(safe-area-inset-bottom));
  }
  .tabbar a, .tabbar button { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; border: 0; background: none; color: var(--tinta-2); font: inherit; font-size: .68rem; font-weight: 600; padding: 4px 0; }
  .tabbar .ico { width: 24px; height: 24px; }
  .tabbar .on { color: var(--marinho); }
  .tb-badge { position: absolute; top: 0; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--laranja); color: #fff; font-size: .68rem; display: none; place-items: center; }
  .tb-badge.on { display: grid; }
  .conteudo > .woocommerce, .conteudo #primary.content-area { padding: 18px 14px 40px; }
  .woocommerce .page-title { font-size: 1.5rem; }
}
@media (max-width: 400px) {
  .promessas .container { gap: 10px; }
}
