/*
Theme Name: Ofertas Arrasadoras
Theme URI: https://ofertasarrasadoras.net
Description: Tema-filho do Kadence com a identidade visual da marca Ofertas Arrasadoras (portal de ofertas e afiliados). Cores, tipografia, cabeçalho, rodapé, coluna de destaques e layout de produto/oferta.
Author: Ofertas Arrasadoras
Author URI: https://ofertasarrasadoras.net
Template: kadence
Version: 0.9.18
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ofertasarrasadoras
*/

/* ===================================================================
   1. TOKENS DA MARCA  — docs/DECISAO-ARQUITETURA-WORDPRESS.md §5.2
   =================================================================== */
:root {
	--oa-preto: #0E0102;
	--oa-vermelho: #BF0D19;
	--oa-vermelho-escuro: #620907;
	--oa-laranja: #FA943C;
	--oa-laranja-vermelho: #D3431E;
	--oa-dourado: #F5B942;
	--oa-branco: #FFFFFF;
	--oa-cinza-claro: #F5F5F5;

	/* Neutros de apoio */
	--oa-tinta: #333333;          /* texto principal (mais leve/limpo, estilo Mercado Livre) */
	--oa-tinta-suave: #737373;    /* texto secundário */
	--oa-linha: #e6e6e6;          /* bordas */
	--oa-fundo: #ffffff;
	--oa-fundo-alt: #ededed;      /* fundo da imagem do card (mais escuro que o card p/ nitidez) */

	/* Verde de economia (desconto / frete / vantagem) — estilo Mercado Livre */
	--oa-verde: #00a650;
	--oa-verde-escuro: #00834a;

	/* Tipografia — stack de sistema, leve e limpa (substitui a fonte pesada) */
	--oa-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;

	/* Papéis semânticos */
	--oa-cta-bg: var(--oa-vermelho);
	--oa-cta-bg-hover: var(--oa-vermelho-escuro);
	--oa-cta-fg: var(--oa-branco);
	--oa-destaque: var(--oa-laranja);
	--oa-preco: var(--oa-vermelho-escuro);
	--oa-badge-bg: var(--oa-dourado);
	--oa-badge-fg: var(--oa-preto);

	--oa-raio: 12px;
	--oa-raio-sm: 8px;
	--oa-raio-card: 8px;              /* cantos dos cards de seção (estilo Mercado Livre) */
	--oa-sombra: 0 1px 2px rgba(14,1,2,.06), 0 8px 24px -12px rgba(14,1,2,.18);
	--oa-sombra-hover: 0 2px 6px rgba(14,1,2,.08), 0 16px 40px -16px rgba(14,1,2,.28);
	--oa-sombra-card: 0 1px 2px rgba(14,1,2,.08);
	--oa-container: 1200px;
	--oa-fundo-pagina: #ebebeb;       /* fundo cinza da página (contraste com os cards brancos) */
}
/* As cores globais do Kadence (--global-palette*) são definidas no Personalizador,
   não aqui — remapeá-las quebra o contraste do tema. */

/* ===================================================================
   2. BASE
   =================================================================== */
body {
	color: var(--oa-tinta);
	background: var(--oa-fundo);
	font-family: var(--oa-font);
	-webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea,
.oa-card, .oa-section, .woocommerce, .woocommerce div.product { font-family: var(--oa-font); }
a { color: var(--oa-vermelho); }
a:hover { color: var(--oa-vermelho-escuro); }

/* evita scrollbar horizontal por causa dos elementos de largura total (hero, faixas do rodapé) */
html, body { overflow-x: hidden; }

/* Home estilo Mercado Livre: fundo cinza, seções em cards brancos.
   A página do blog (body.blog) usa o mesmo fundo cinza p/ os cards destacarem. */
body.home,
body.blog { background: var(--oa-fundo-pagina); overflow-x: hidden; }
body.home .site,
body.home #wrapper,
body.home .content-area,
body.home .content-container,
body.home .content-container.site-container,
body.home .site-container.content-container,
body.home .site-main,
body.home #primary,
body.home .entry-content,
body.blog .site,
body.blog #wrapper,
body.blog .content-area,
body.blog .content-container,
body.blog .site-main,
body.blog #primary,
body.blog .entry-content {
	background: transparent;
	box-shadow: none;
}
/* deixa o hero de largura total "vazar" o container do Kadence */
body.home .content-area,
body.home .content-container,
body.home .site-main,
body.home #primary { overflow: visible; }
body.home .content-area,
body.home .site-main { padding-top: 0; }

.oa-container,
.content-container.site-container {
	max-width: var(--oa-container);
}

h1, h2, h3, h4, .entry-title {
	color: var(--oa-tinta);
	letter-spacing: -0.01em;
}

/* Foco visível (acessibilidade — §60) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.button:focus-visible {
	outline: 3px solid var(--oa-laranja);
	outline-offset: 2px;
}

/* ===================================================================
   3. BOTÕES / CTA
   =================================================================== */
.oa-btn,
.wp-block-button.is-style-oa-cta .wp-block-button__link,
.woocommerce a.button.product_type_external,
.woocommerce .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	background: var(--oa-cta-bg);
	color: var(--oa-cta-fg);
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.15;
	padding: .9em 1.5em;
	border: 0;
	border-radius: var(--oa-raio-sm);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
	box-shadow: 0 6px 16px -6px rgba(191,13,25,.5);
}
.oa-btn:hover,
.oa-btn:focus-visible,
.wp-block-button.is-style-oa-cta .wp-block-button__link:hover,
.woocommerce a.button.product_type_external:hover,
.woocommerce .single_add_to_cart_button:hover {
	background: var(--oa-cta-bg-hover);
	color: var(--oa-cta-fg);
	transform: translateY(-1px);
	box-shadow: 0 10px 24px -8px rgba(98,9,7,.55);
}
.oa-btn--ghost {
	background: transparent;
	color: var(--oa-vermelho);
	border: 2px solid var(--oa-vermelho);
	box-shadow: none;
}
.oa-btn--ghost:hover { background: var(--oa-vermelho); color: #fff; }
.oa-btn--block { width: 100%; }

/* ===================================================================
   4. SELOS / PREÇO
   =================================================================== */
.oa-badge {
	display: inline-block;
	background: var(--oa-badge-bg);
	color: var(--oa-badge-fg);
	font-weight: 800;
	font-size: .78rem;
	letter-spacing: .02em;
	padding: .22em .6em;
	border-radius: 999px;
	line-height: 1.3;
}
.oa-badge--fire::before { content: "🔥 "; }

.oa-price { color: var(--oa-preco); font-weight: 800; font-size: 1.15rem; }
.oa-price__old {
	color: var(--oa-tinta-suave);
	text-decoration: line-through;
	font-weight: 500;
	font-size: .9em;
	margin-left: .45em;
}
.oa-price__from { color: var(--oa-tinta-suave); font-weight: 500; font-size: .85em; display: block; }

/* ===================================================================
   5. CABEÇALHO PRÓPRIO (estilo Mercado Livre)
   =================================================================== */
:root { --oa-header: #f6412e; }

/* esconde por completo o cabeçalho do Kadence — usamos o nosso (.oa-hd) */
#masthead, .site-header { display: none !important; }

.oa-skip {
	position: absolute; left: -9999px; top: 0; z-index: 1001;
	background: #fff; color: var(--oa-tinta); padding: 10px 16px; border-radius: 0 0 6px 0;
}
.oa-skip:focus { left: 0; }

.oa-hd {
	position: sticky; top: 0; z-index: 999;
	background: #f6412e;
	color: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.admin-bar .oa-hd { top: 32px; }
@media (max-width: 782px) { .admin-bar .oa-hd { top: 46px; } }

.oa-hd__wrap {
	max-width: var(--oa-container);
	margin: 0 auto;
	padding: 0 clamp(12px, 3vw, 24px);
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
}

/* ---- Linha 1: logo + busca + "Nossas lojas" ---- */
.oa-hd__row--1 .oa-hd__wrap {
	padding-top: 12px; padding-bottom: 12px;
	gap: clamp(16px, 2.6vw, 32px);
}
.oa-hd__logo { flex: 0 0 auto; display: flex; align-items: center; line-height: 0; }
.oa-hd__logo img { height: 50px; width: auto; display: block; }
@media (min-width: 1024px) { .oa-hd__logo img { height: 62px; } }

.oa-hd__search {
	flex: 1 1 auto; max-width: 860px;
	display: flex; align-items: stretch;
	background: #fff; border-radius: 3px; overflow: hidden;
	box-shadow: 0 1px 4px rgba(0,0,0,.18);
}
.oa-hd__search input[type="search"] {
	flex: 1 1 auto; min-width: 0;
	border: 0; outline: 0; background: transparent;
	padding: 12px 16px; font-size: .95rem; color: var(--oa-tinta);
}
.oa-hd__search input[type="search"]::placeholder { color: #9a9a9a; }
.oa-hd__search button {
	flex: 0 0 auto; border: 0; cursor: pointer;
	width: 52px; display: flex; align-items: center; justify-content: center;
	background: transparent; color: #7a7a7a; border-left: 1px solid #ededed;
	transition: color .15s ease;
}
.oa-hd__search button:hover { color: var(--oa-header); }
.oa-hd__search button svg { width: 20px; height: 20px; fill: currentColor; }

/* "Nossas lojas": logo empilhado, rótulo centralizado sobre os botões, perto da busca */
.oa-hd__stores {
	flex: 0 0 auto;
	display: flex; flex-direction: column; align-items: center; gap: 9px; line-height: 1.2;
}
.oa-hd__stores-lbl { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #fff; }
.oa-hd__stores-links { display: flex; gap: 8px; }
.oa-hd__stores-links a {
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: .8rem; font-weight: 700; white-space: nowrap;
	background: rgba(255,255,255,.16); padding: 4px 10px; border-radius: 4px; min-height: 26px;
}
.oa-hd__stores-links a:hover { background: rgba(255,255,255,.32); color: #fff; }
.oa-hd__stores-links a img { height: 20px; width: auto; display: block; }
.oa-hd__stores-links a:has(img) { background: #fff; padding: 4px 9px; }
/* fallback sem PNG: pílula na cor de cada marca */
.oa-hd__store--shopee { background: #fff !important; color: #ee4d2d !important; }
.oa-hd__store--mercadolivre { background: #ffe600 !important; color: #2d3277 !important; }
.oa-hd__store--amazon { background: #232f3e !important; }
.oa-hd__store--amazon .oa-hd__store-txt { border-bottom: 2px solid #ff9900; padding-bottom: 1px; }

/* ---- Linha 2: menu (fonte 14px, padrao ML) ---- */
.oa-hd__row--2 .oa-hd__wrap {
	gap: 0 24px; padding-top: 0; padding-bottom: 0; min-height: 40px;
	flex-wrap: nowrap; justify-content: flex-start;
}
.oa-hd__nav {
	flex: 1 1 auto; min-width: 0;
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	overflow-x: auto; scrollbar-width: none;
}
.oa-hd__nav::-webkit-scrollbar { display: none; }
.oa-hd__nav a {
	color: #fff; font-family: var(--oa-font); font-size: 14px; font-weight: 400;
	white-space: nowrap; padding: 11px 0; line-height: 1; border-bottom: 2px solid transparent;
}
.oa-hd__nav a:hover { color: #fff; }  /* sem efeito de hover no menu */

@media (max-width: 960px) {
	.oa-hd__stores { display: none; }
	.oa-hd__search { max-width: none; }
}
@media (max-width: 600px) {
	.oa-hd__row--1 .oa-hd__wrap { flex-wrap: wrap; gap: 10px; }
	.oa-hd__logo img { height: 40px; }
	.oa-hd__search { flex-basis: 100%; order: 3; }
	.oa-hd__nav { justify-content: flex-start; gap: 18px; }
}

/* ===================================================================
   6. GRID DE OFERTAS / CARDS
   =================================================================== */
.oa-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
@media (min-width: 600px)  { .oa-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
@media (min-width: 1024px) { .oa-grid { grid-template-columns: repeat(4, 1fr); gap: 22px; } }
.oa-grid--wide.oa-grid { }
@media (min-width: 1024px) { .oa-grid--3.oa-grid { grid-template-columns: repeat(3, 1fr); } }

.oa-card {
	display: flex;
	flex-direction: column;
	background: var(--oa-branco);
	border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card);
	overflow: hidden;
	box-shadow: none;
	transition: box-shadow .15s ease, transform .15s ease;
}
.oa-card:hover { box-shadow: 0 6px 20px -6px rgba(0,0,0,.18); transform: translateY(-2px); }
.oa-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--oa-fundo-alt);          /* fundo mais escuro que o card = produto mais nítido */
	border-bottom: 1px solid var(--oa-linha);
}
.oa-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.oa-card__badge {
	position: absolute; top: 10px; left: 10px; z-index: 2;
	display: inline-block; max-width: calc(100% - 20px);
	background: #fff; color: var(--oa-tinta);
	font-size: .68rem; font-weight: 700; line-height: 1.3; letter-spacing: .01em;
	padding: 3px 8px; border-radius: 6px;
	box-shadow: 0 1px 4px rgba(0,0,0,.18);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.oa-card__badge--market { border-left: 3px solid currentColor; padding-left: 7px; }
.oa-card__market { font-size: .72rem; font-weight: 600; color: var(--oa-tinta-suave); }
.oa-card__body { padding: 12px 12px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.oa-card__title {
	font-size: .875rem;
	font-weight: 400;                          /* fonte leve, estilo Mercado Livre */
	line-height: 1.35;
	color: var(--oa-tinta);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}
.oa-card__store { font-size: .76rem; color: var(--oa-tinta-suave); }
.oa-card__foot { margin-top: auto; display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }

/* Preço + desconto (verde) estilo Mercado Livre */
.oa-price-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.oa-price { color: var(--oa-tinta); font-weight: 600; font-size: 1.25rem; letter-spacing: -.01em; }
.oa-price .woocommerce-Price-amount { font-weight: 600; }
.oa-price__old { color: var(--oa-tinta-suave); text-decoration: line-through; font-weight: 400; font-size: .8rem; margin: 0; }
.oa-off { color: var(--oa-verde); font-weight: 600; font-size: .82rem; white-space: nowrap; }

/* Cards do WooCommerce (loja/categoria) herdam o visual */
.woocommerce ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	background: var(--oa-branco);
	border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card);
	box-shadow: none;
	overflow: hidden;
	padding: 0 0 14px;
	margin-bottom: 0;
	transition: box-shadow .15s ease, transform .15s ease;
}
.woocommerce ul.products li.product:hover { box-shadow: 0 6px 20px -6px rgba(0,0,0,.18); transform: translateY(-2px); }
/* área da imagem: fundo cinza, proporção fixa (alinha todos os cards) */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
	width: 100%; aspect-ratio: 1 / 1; object-fit: contain;
	background: var(--oa-fundo-alt); border-bottom: 1px solid var(--oa-linha);
	margin: 0 0 10px; padding: 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 12px; font-size: .875rem; font-weight: 400; line-height: 1.35;
	color: var(--oa-tinta); min-height: 2.5em;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.woocommerce ul.products li.product .price {
	padding: 0 12px; margin: 6px 0 0; color: var(--oa-tinta);
	font-size: 1.2rem; font-weight: 600;
}
.woocommerce ul.products li.product .price del { color: var(--oa-tinta-suave); font-weight: 400; font-size: .8rem; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: 600; }
.woocommerce ul.products li.product .price .oa-off { display: inline-block; margin-left: 6px; }
/* botão "Ver oferta" sempre no rodapé, alinhado */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin: auto 12px 0; align-self: stretch; text-align: center; }
.woocommerce ul.products li.product .star-rating { margin: 6px 12px 0; }

/* Selo "Oferta!" = VERDE / branco. Selo de desconto (%) = VERMELHO / branco. */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute; top: 10px; left: 10px; right: auto; z-index: 2;
	background: var(--oa-verde) !important; color: #fff !important;
	min-height: 0; min-width: 0; line-height: 1.2;
	padding: 4px 9px; border-radius: 4px; margin: 0;
	font-size: .75rem; font-weight: 700; letter-spacing: .01em;
}
.woocommerce span.onsale.oa-onsale--desc,
.woocommerce ul.products li.product .onsale.oa-onsale--desc {
	background: var(--oa-vermelho) !important;
}

/* ===================================================================
   7. SIDEBAR "OFERTAS EM DESTAQUE"
   =================================================================== */
.oa-destaques {
	background: var(--oa-branco);
	border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio);
	overflow: hidden;
}
.oa-destaques__head {
	background: var(--oa-preto);
	color: #fff;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .85rem;
	padding: 12px 14px;
}
.oa-destaques__head::before { content: "🔥 "; }
.oa-destaques__item {
	display: flex;
	gap: 10px;
	padding: 12px 14px;
	border-top: 1px solid var(--oa-linha);
	align-items: center;
}
.oa-destaques__item img { width: 56px; height: 56px; object-fit: contain; background: var(--oa-fundo-alt); border-radius: var(--oa-raio-sm); }
.oa-destaques__t { font-size: .84rem; font-weight: 600; line-height: 1.25; color: var(--oa-tinta); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.oa-destaques__p { font-size: .82rem; color: var(--oa-preco); font-weight: 800; }

/* ---- Blocos de destaque em faixa de largura total (lado a lado) ---- */
.oa-aside {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	align-items: start;
	margin-bottom: 6px;
}
.oa-aside .oa-destaques__meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.oa-aside .oa-destaques__head::before { content: none; }
.oa-aside .oa-destaques__head--alt { background: var(--oa-verde-escuro); }
.oa-aside .oa-destaques__head--plain { background: var(--oa-tinta); }
.oa-aside__sticky { min-width: 0; }
.oa-aside .oa-ad { margin: 0; padding: 0; }
.oa-aside .oa-ad:empty { display: none; }
.oa-aside__cats { list-style: none; margin: 0; padding: 0; column-count: 2; column-gap: 0; }
.oa-aside__cats li { border-top: 1px solid var(--oa-linha); break-inside: avoid; }
.oa-aside__cats li:first-child { border-top: 0; }
.oa-aside__cats a {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	padding: 8px 12px; font-size: .82rem; font-weight: 500; color: var(--oa-tinta);
}
.oa-aside__cats a:hover { background: var(--oa-fundo-alt); color: var(--oa-vermelho); }
.oa-aside__cats a span { color: var(--oa-tinta-suave); font-size: .74rem; font-weight: 400; }
@media (max-width: 560px) {
	.oa-aside { grid-template-columns: 1fr; }
	.oa-aside__cats { column-count: 1; }
}

/* ===================================================================
   8. PÁGINA DE PRODUTO — área de DESTINOS (§53)
   =================================================================== */
.oa-destinos { display: flex; flex-direction: column; gap: 10px; margin: 18px 0; }
.oa-destinos__label { font-weight: 800; font-size: .95rem; margin: 0 0 2px; color: var(--oa-tinta); }
.oa-imported-note {
	background: #fff7ed; border: 1px solid var(--oa-laranja);
	color: var(--oa-vermelho-escuro); font-weight: 600; font-size: .85rem;
	padding: 8px 12px; border-radius: var(--oa-raio-sm); margin: 0 0 4px;
}
.oa-card__badge--import {
	background: var(--oa-preto); color: #fff; left: auto; right: 10px;
	border-left: 0; padding-left: 8px;
	font-size: .68rem; letter-spacing: .01em;
}

/* Cores de marca dos marketplaces (só a "tinta" do selo, fundo branco) */
.oa-mk--shopee        { color: #ee4d2d; }
.oa-mk--mercado-livre { color: #2d3277; }
.oa-mk--amazon        { color: #e47911; }
.oa-mk--aliexpress    { color: #e62e04; }
.oa-mk--magalu        { color: #0086ff; }
.oa-mk--americanas    { color: #e60014; }

/* Nos cards da loja/categoria do WooCommerce o selo "Oferta!" fica à esquerda,
   então o selo de marketplace vai para a direita. */
.woocommerce ul.products li.product .oa-card__badge--market {
	left: auto; right: 10px;
}

/* Página de produto: "Oferta de: Mercado Livre" abaixo do título */
.oa-single-market {
	margin: 2px 0 10px; font-size: .9rem; color: var(--oa-tinta-suave) !important;
	display: inline-flex; align-items: center; gap: 6px;
}
.oa-single-market::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: currentColor; flex: none;
}
.oa-single-market.oa-mk--shopee::before        { background: #ee4d2d; }
.oa-single-market.oa-mk--mercado-livre::before { background: #2d3277; }
.oa-single-market.oa-mk--amazon::before        { background: #e47911; }
.oa-single-market.oa-mk--aliexpress::before    { background: #e62e04; }
.oa-single-market.oa-mk--magalu::before        { background: #0086ff; }
.oa-single-market.oa-mk--americanas::before    { background: #e60014; }
.oa-single-market strong { color: var(--oa-tinta); font-weight: 700; }
.oa-destino__info { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.oa-destino {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1.5px solid var(--oa-linha);
	border-radius: var(--oa-raio);
	background: var(--oa-branco);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.oa-destino:hover { border-color: var(--oa-laranja); box-shadow: var(--oa-sombra); }
.oa-destino--melhor { border-color: var(--oa-laranja); box-shadow: 0 0 0 3px rgba(250,148,60,.15); }
.oa-destino__loja { font-weight: 800; color: var(--oa-tinta); }
.oa-destino__meta { font-size: .82rem; color: var(--oa-tinta-suave); }
.oa-destino__preco { margin-left: auto; text-align: right; }
.oa-destino .oa-btn { flex-shrink: 0; }
@media (max-width: 560px) {
	.oa-destino { flex-wrap: wrap; }
	.oa-destino__preco { margin-left: 0; text-align: left; }
	.oa-destino .oa-btn { width: 100%; }
}

/* ===================================================================
   9. HERO / SEÇÕES DA HOME  (estilo Mercado Livre: cards brancos)
   =================================================================== */
.oa-home { padding: 0 0 36px; }
.oa-block { margin: 0 auto 14px; }

/* Cada seção da home é um card branco sobre o fundo cinza */
.oa-section {
	background: var(--oa-branco);
	border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card);
	box-shadow: var(--oa-sombra-card);
	padding: 18px 16px;
	margin: 0 auto 14px;
	overflow: hidden;
}
@media (min-width: 768px) { .oa-section { padding: 22px 26px; } }

.oa-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.oa-section__head h2 {
	margin: 0; font-size: clamp(1.1rem, 2.4vw, 1.4rem); font-weight: 600; color: var(--oa-tinta);
	padding-left: 12px; border-left: 4px solid var(--oa-vermelho); line-height: 1.15;
}
.oa-section__head a { font-weight: 600; font-size: .875rem; white-space: nowrap; color: #3483fa; }
.oa-section__head a:hover { color: var(--oa-vermelho); }

/* Seção com cabeçalho preenchido (chama atenção — estilo "meli+" do Mercado Livre) */
.oa-section--accent .oa-section__head {
	margin: -18px -16px 16px; padding: 14px 16px;
	background: linear-gradient(90deg, var(--oa-vermelho-escuro), var(--oa-vermelho));
	border-radius: var(--oa-raio-card) var(--oa-raio-card) 0 0;
}
@media (min-width: 768px) { .oa-section--accent .oa-section__head { margin: -22px -26px 18px; padding: 15px 26px; } }
.oa-section--accent .oa-section__head h2 { color: #fff; border-left: 0; padding-left: 0; }
.oa-section--accent .oa-section__head a { color: rgba(255,255,255,.92); text-decoration: underline; }
.oa-section--accent .oa-section__head a:hover { color: #fff; }
/* Variantes de cor do cabeçalho */
.oa-section--accent-dourado   .oa-section__head { background: linear-gradient(90deg, var(--oa-laranja-vermelho), var(--oa-dourado)); }
.oa-section--accent-verde     .oa-section__head { background: linear-gradient(90deg, var(--oa-verde-escuro), #34c26f); }
.oa-section--accent-azul      .oa-section__head { background: linear-gradient(90deg, #1e3a8a, #3483fa); }
.oa-section--accent-roxo      .oa-section__head { background: linear-gradient(90deg, #6b21a8, #d6409f); }
.oa-section--accent-petroleo  .oa-section__head { background: linear-gradient(90deg, #0f3d3e, #1f8a8a); }
.oa-section--accent-grafite   .oa-section__head { background: linear-gradient(90deg, #1f2937, #4b5563); }

/* Hero antigo (fallback, sem slider) */
.oa-hero {
	background: linear-gradient(135deg, var(--oa-preto) 0%, var(--oa-vermelho-escuro) 60%, var(--oa-laranja-vermelho) 100%);
	color: #fff;
	border-radius: var(--oa-raio-card);
	padding: clamp(28px, 6vw, 64px);
	text-align: center;
}
.oa-hero h1 { color: #fff; font-size: clamp(1.6rem, 4.5vw, 2.6rem); margin: 0 0 .4em; }
.oa-hero p { color: rgba(255,255,255,.9); font-size: clamp(1rem, 2.5vw, 1.15rem); margin: 0 0 1.4em; }

/* ---- Banner ESTATICO no topo da categoria (imagem propria do cliente) ---- */
.oa-cathero-static { max-width: var(--oa-container); margin: 0 auto 10px; border-radius: 12px; overflow: hidden; line-height: 0; }
.oa-cathero-static a, .oa-cathero-static img { display: block; width: 100%; height: auto; }

/* ---- Carrossel de banners prontos (imagens enviadas pelo cliente) ---- */
.oa-hero-slider--imgs {
	position: relative; overflow: hidden;
	max-width: var(--oa-container); margin: 0 auto 6px;
	border-radius: 12px;
}
.oa-hero-slider--imgs .oa-hero-slider__track { display: flex; will-change: transform; transition: transform .55s cubic-bezier(.4,0,.2,1); }
.oa-hero-slide--imgbanner { flex: 0 0 100%; display: block; line-height: 0; }
.oa-hero-slide--imgbanner img { width: 100%; height: auto; display: block; }
.oa-hero-slider--imgs .oa-hero-slider__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
	width: 42px; height: 42px; border: 0; border-radius: 50%; cursor: pointer;
	background: rgba(0,0,0,.32); color: #fff; font-size: 24px; line-height: 1;
	display: flex; align-items: center; justify-content: center; transition: background .15s ease; }
.oa-hero-slider--imgs .oa-hero-slider__nav:hover { background: rgba(0,0,0,.55); }
.oa-hero-slider--imgs .oa-hero-slider__nav--prev { left: 12px; }
.oa-hero-slider--imgs .oa-hero-slider__nav--next { right: 12px; }
.oa-hero-slider--imgs .oa-hero-slider__dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 4;
	display: flex; gap: 7px; justify-content: center; }
.oa-hero-slider--imgs .oa-hero-dot { width: 9px; height: 9px; padding: 0; margin: 0; min-width: 0; border: 0; border-radius: 50%;
	background: rgba(255,255,255,.55); cursor: pointer; transition: background .15s ease, transform .15s ease; box-shadow: 0 0 3px rgba(0,0,0,.4); }
.oa-hero-slider--imgs .oa-hero-dot.is-active { background: #fff; transform: scale(1.3); }
@media (max-width: 640px) { .oa-hero-slider--imgs .oa-hero-slider__nav { display: none; } }

/* ---- HERO SLIDER (banner rotativo, desliza da direita p/ a esquerda) ---- */
.oa-hero-slider { position: relative; overflow: hidden; }
.oa-hero-slider--full {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.oa-hero-slider__track {
	display: flex;
	will-change: transform;
	transition: transform .55s cubic-bezier(.4, 0, .2, 1);
}
@media (prefers-reduced-motion: reduce) { .oa-hero-slider__track { transition: none; } }

.oa-hero-slide {
	flex: 0 0 100%;
	position: relative;
	min-height: clamp(300px, 34vw, 460px);
	display: flex; align-items: center; justify-content: center;
	padding: clamp(26px, 5vw, 52px) 20px calc(clamp(26px, 5vw, 52px) + 30px);
	overflow: hidden;
	color: #fff; text-decoration: none;
}
a.oa-hero-slide { cursor: pointer; }
/* texto escuro so nos degrades claros (amarelo / laranja-amarelo) */
.oa-hero-slide--y1, .oa-hero-slide--y2, .oa-hero-slide--o3,
.oa-hero-slide--a, .oa-hero-slide--b, .oa-hero-slide--c { color: #1a1a1a; }

/* Acentos: laranja do menu (o1/o2/o3), amarelo (y1/y2), azul (b1/b2) */
.oa-hero-slide--o1 { background: linear-gradient(115deg, #ff6a3d 0%, #f6412e 55%, #d8351f 100%); }
.oa-hero-slide--o2 { background: linear-gradient(115deg, #ff8a4c 0%, #f6412e 60%, #c9301b 100%); }
.oa-hero-slide--o3 { background: linear-gradient(115deg, #ffd23f 0%, #f97a2e 45%, #f6412e 100%); }
.oa-hero-slide--y1 { background: linear-gradient(115deg, #FFF3C9 0%, #F7C24E 50%, #F79A3C 100%); }
.oa-hero-slide--y2 { background: linear-gradient(115deg, #FFE27A 0%, #FCB24C 60%, #F79A3C 100%); }
.oa-hero-slide--b1 { background: linear-gradient(115deg, #1e63d6 0%, #1746a8 60%, #0f2f78 100%); }
.oa-hero-slide--b2 { background: linear-gradient(115deg, #2b7cf0 0%, #1a56c4 55%, #123c93 100%); }
.oa-hero-slide--g1 { background: linear-gradient(180deg, #808892 0%, #5b636d 52%, #363c44 100%); color: #fff; }
.oa-hero-slide--g2 { background: linear-gradient(180deg, #98a0a9 0%, #6d7581 55%, #454b54 100%); color: #fff; }
.oa-hero-slide--g1 .oa-hero-slide__fade,
.oa-hero-slide--g2 .oa-hero-slide__fade { background: linear-gradient(to top, rgba(0,0,0,.28), rgba(0,0,0,0)); }

/* Degradê na parte de baixo do banner (estilo Mercado Livre) */
.oa-hero-slide__fade {
	position: absolute; left: 0; right: 0; bottom: 0; height: 42%;
	background: linear-gradient(to top, rgba(0,0,0,.16), rgba(0,0,0,0));
	pointer-events: none; z-index: 1;
}
.oa-hero-slide--y1 .oa-hero-slide__fade,
.oa-hero-slide--y2 .oa-hero-slide__fade,
.oa-hero-slide--o3 .oa-hero-slide__fade { background: linear-gradient(to top, rgba(255,255,255,.35), rgba(255,255,255,0)); }

.oa-hero-slide__inner {
	position: relative; z-index: 2;
	width: 100%; max-width: var(--oa-container); margin: 0 auto;
	display: flex; flex-direction: column; align-items: center; text-align: center;
}
.oa-hero-slide__text { display: flex; flex-direction: column; align-items: center; }
.oa-hero-slide__kicker { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; color: inherit; opacity: .82; margin-bottom: .7em; }
.oa-hero-slide__h { display: block; color: inherit; font-weight: 800; font-size: clamp(1.6rem, 3.8vw, 2.7rem); line-height: 1.12; margin: 0 0 .35em; max-width: 20ch; }
.oa-hero-slide__p { display: block; color: inherit; opacity: .9; font-size: clamp(.98rem, 2vw, 1.12rem); margin: 0 0 1.3em; max-width: 46ch; }
.oa-hero-slide__cta { background: var(--oa-vermelho); color: #fff; pointer-events: none; box-shadow: 0 10px 24px -8px rgba(191,13,25,.55); }
a.oa-hero-slide:hover .oa-hero-slide__cta { background: var(--oa-vermelho-escuro); }

/* Slide com foto: texto à esquerda, produto à direita (desktop) */
.oa-hero-slide__img { display: none; }
@media (min-width: 900px) {
	.oa-hero-slide--has-img .oa-hero-slide__inner,
	.oa-hero-slide--anim .oa-hero-slide__inner {
		flex-direction: row; align-items: center; justify-content: space-between;
		gap: clamp(24px, 5vw, 72px); text-align: left;
	}
	.oa-hero-slide--has-img .oa-hero-slide__text,
	.oa-hero-slide--anim .oa-hero-slide__text { align-items: flex-start; flex: 1 1 52%; max-width: 560px; }
	.oa-hero-slide--has-img .oa-hero-slide__h,
	.oa-hero-slide--has-img .oa-hero-slide__p { max-width: none; }
	.oa-hero-slide__img {
		display: block; flex: 0 1 44%; max-width: 460px;
		filter: drop-shadow(0 22px 30px rgba(0,0,0,.35));
	}
	.oa-hero-slide__img img {
		width: 100%; height: clamp(220px, 27vw, 380px); object-fit: contain;
		background: transparent; border: 0; padding: 0;
	}
}

/* Banner de celulares com animação (CSS puro) — trocável por vídeo/GIF depois */
.oa-hero-slide__phone { display: none; }
@media (min-width: 900px) {
	.oa-hero-slide__phone { display: block; flex: 0 0 auto; width: 150px; }
}
.oa-phone {
	position: relative; display: block; width: 132px; height: 264px; margin: 0 auto;
	background: #10131a; border-radius: 24px; border: 3px solid #05070c;
	box-shadow: 0 24px 44px -14px rgba(0,0,0,.45);
	animation: oa-phone-bob 3.4s ease-in-out infinite;
}
.oa-phone__scr {
	position: absolute; inset: 10px; border-radius: 16px;
	background: linear-gradient(160deg, #fff2c2 0%, #ffd34d 45%, #ff9d2e 100%);
	overflow: hidden;
}
.oa-phone__scr::before {
	content: ""; position: absolute; left: 14%; right: 14%; top: 16%; height: 12%;
	border-radius: 6px; background: rgba(255,255,255,.75);
	box-shadow: 0 34px 0 rgba(255,255,255,.55), 0 62px 0 rgba(255,255,255,.4);
}
.oa-phone__hand {
	position: absolute; right: -14px; bottom: 26px; width: 46px; height: 46px;
	border-radius: 50% 50% 46% 46% / 60% 60% 40% 40%;
	background: #f0b98a; box-shadow: inset 0 -6px 10px rgba(0,0,0,.12);
	transform-origin: 60% 90%;
	animation: oa-phone-tap 1.5s ease-in-out infinite;
}
@keyframes oa-phone-bob { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(2deg); } }
@keyframes oa-phone-tap { 0%,100% { transform: translateY(0); } 45% { transform: translateY(-12px); } 55% { transform: translateY(-12px); } }
@media (prefers-reduced-motion: reduce) {
	.oa-phone, .oa-phone__hand { animation: none; }
}

.oa-hero-slider__dots { position: absolute; left: 0; right: 0; bottom: 20px; z-index: 4; display: flex; gap: 8px; justify-content: center; }
.oa-hero-dot {
	width: 9px; height: 9px; padding: 0 !important; margin: 0 !important; min-width: 0 !important;
	border: 0 !important; border-radius: 50% !important; background: rgba(0,0,0,.3);
	cursor: pointer; transition: background .15s ease, transform .15s ease;
}
.oa-hero-dot.is-active { background: #1a1a1a; transform: scale(1.3); }

.oa-hero-slider__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
	width: 46px !important; height: 46px !important; min-width: 0 !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: rgba(0,0,0,.3); color: #fff; font-size: 26px; line-height: 1;
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: background .15s ease;
}
.oa-hero-slider__nav:hover { background: rgba(0,0,0,.55); }
.oa-hero-slider__nav--prev { left: max(12px, calc(50% - 588px)); }
.oa-hero-slider__nav--next { right: max(12px, calc(50% - 588px)); }
.oa-hero-slider__nav[hidden] { display: none; }
@media (max-width: 640px) { .oa-hero-slider__nav { display: none; } }

/* ---- Banner compacto da página de categoria (mesmo motor do hero) ---- */
/* esconde o titulo/hero padrao do Kadence onde usamos o nosso banner
   (loja, categorias, paginas Cupons/Contato) — via classe .oa-hide-hero no body */
.oa-hide-hero .entry-hero,
.oa-hide-hero .page-hero-section,
.oa-hide-hero .entry-hero-container,
.oa-hide-hero .entry-hero-container-inner,
.oa-hide-hero .woocommerce-products-header,
.oa-hide-hero .archive-header,
.oa-hide-hero header.page-header,
.oa-hide-hero .entry-header .entry-title { display: none !important; }

.oa-hero-slider--compact .oa-hero-slide {
	min-height: clamp(260px, 26vw, 360px);
	padding: 24px clamp(16px, 4vw, 48px) 32px;
	color: #fff;
}
.oa-hero-slider--compact .oa-hero-slide--y1,
.oa-hero-slider--compact .oa-hero-slide--y2,
.oa-hero-slider--compact .oa-hero-slide--o3 { color: #1a1a1a; }
.oa-hero-slider--compact .oa-hero-slide__inner {
	flex-direction: row; align-items: center; justify-content: space-between;
	text-align: left; gap: clamp(16px, 3vw, 40px);
}
.oa-hero-slider--compact .oa-hero-slide__text { align-items: flex-start; flex: 1 1 46%; }
.oa-hero-slider--compact .oa-hero-slide__kicker { color: inherit; opacity: .82; margin-bottom: .35em; font-size: .72rem; }
.oa-hero-slider--compact .oa-hero-slide__h { color: inherit; font-size: clamp(1.5rem, 3.6vw, 2.4rem); margin: 0 0 .25em; max-width: 22ch; }
.oa-hero-slider--compact .oa-hero-slide__p {
	color: inherit; opacity: .92; font-size: clamp(.85rem, 1.6vw, 1rem); margin: 0 0 .8em; max-width: 48ch;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.oa-hero-slider--compact .oa-hero-slide__cta { padding: .55em 1.15em; font-size: .85rem; }

/* colar de fotos: grandes, inclinadas, espalhadas e SEM fundo branco (mix-blend) */
.oa-hero-slide__imgs { display: none; }
@media (min-width: 760px) {
	.oa-hero-slider--compact .oa-hero-slide__imgs {
		display: block; position: relative; flex: 0 0 46%; align-self: stretch; min-height: 200px;
	}
	.oa-hero-slide__imgs img {
		position: absolute; object-fit: contain;
		mix-blend-mode: multiply;              /* branco do JPG some no gradiente */
		filter: drop-shadow(0 18px 22px rgba(0,0,0,.34));
	}
	.oa-hero-slide__imgs img:nth-child(1) { width: clamp(150px, 19vw, 250px); right: 30%; top: 50%; transform: translateY(-50%) rotate(-8deg); z-index: 3; }
	.oa-hero-slide__imgs img:nth-child(2) { width: clamp(120px, 15vw, 200px); right: 4%;  top: 12%; transform: rotate(9deg); z-index: 2; }
	.oa-hero-slide__imgs img:nth-child(3) { width: clamp(110px, 13vw, 175px); right: 8%;  bottom: 6%;  transform: rotate(-5deg); z-index: 2; }
	.oa-hero-slide__imgs img:nth-child(4) { width: clamp(90px, 11vw, 150px);  right: 54%; top: 8%;  transform: rotate(6deg); z-index: 1; opacity: .96; }
}
/* nos slides claros (amarelo) o multiply escurece demais — usa a foto normal */
.oa-hero-slide--y1 .oa-hero-slide__imgs img,
.oa-hero-slide--y2 .oa-hero-slide__imgs img,
.oa-hero-slide--o3 .oa-hero-slide__imgs img { mix-blend-mode: normal; }

.oa-hero-slider--compact .oa-hero-slider__dots { bottom: 12px; }
.oa-hero-slider--compact .oa-hero-slider__nav { width: 40px !important; height: 40px !important; font-size: 22px; }

/* Faixa de benefícios sobe e encosta no rodapé do hero (estilo Mercado Livre) */
.oa-block--benefits { margin-top: -30px; position: relative; z-index: 3; }

/* Categorias: tiles horizontais com foto à esquerda (estilo Mercado Livre) */
.oa-cats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 640px) { .oa-cats-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .oa-cats-grid { grid-template-columns: repeat(4, 1fr); } }
.oa-cat {
	display: flex; align-items: center; gap: 12px;
	padding: 10px; text-align: left;
	background: var(--oa-branco); border: 1px solid var(--oa-linha); border-radius: var(--oa-raio-card);
	font-weight: 400; font-size: .92rem; color: var(--oa-tinta); text-decoration: none;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.oa-cat:hover { border-color: var(--oa-vermelho); transform: translateY(-2px); color: var(--oa-tinta); box-shadow: 0 6px 18px -8px rgba(0,0,0,.2); }
.oa-cat__ic {
	flex: none; width: 64px; height: 64px; border-radius: var(--oa-raio-sm);
	background: var(--oa-fundo-alt); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.oa-cat__ic img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.oa-cat__emoji { font-size: 1.7rem; line-height: 1; }
.oa-cat__name { line-height: 1.25; }

/* Espaço de anúncio (AdSense / Site Kit) — some enquanto vazio */
.oa-ad { margin: 0 auto 14px; text-align: center; min-height: 0; overflow: hidden; }
.oa-ad:empty { display: none; margin: 0; }
.oa-ad ins, .oa-ad iframe { max-width: 100%; }

/* Home: wrapper, faixa de benefícios, carrossel */
.oa-home .oa-container { padding-left: 16px; padding-right: 16px; margin-left: auto; margin-right: auto; }

.oa-benefits {
	list-style: none; margin: 0 auto; padding: 12px 16px;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 16px;
	background: var(--oa-branco); border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card); box-shadow: var(--oa-sombra-card);
	font-size: .88rem; font-weight: 600; color: var(--oa-tinta-suave);
}
.oa-benefits li { display: flex; align-items: center; gap: 8px; }
@media (min-width: 760px) { .oa-benefits { grid-template-columns: repeat(4, 1fr); text-align: center; }
	.oa-benefits li { justify-content: center; } }

.oa-row-scroll {
	display: grid; grid-auto-flow: column; grid-auto-columns: 44%;
	gap: 14px; overflow-x: auto; padding-bottom: 4px;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
}
.oa-row-scroll > .oa-card { scroll-snap-align: start; }
@media (min-width: 560px)  { .oa-row-scroll { grid-auto-columns: 30%; } }
@media (min-width: 900px)  { .oa-row-scroll { grid-auto-columns: 22%; } }
/* 6 produtos por vez no desktop (pedido do cliente) */
@media (min-width: 1100px) { .oa-row-scroll { grid-auto-columns: calc((100% - 5 * 14px) / 6); } }
.oa-row-scroll::-webkit-scrollbar { height: 6px; }
.oa-row-scroll::-webkit-scrollbar-thumb { background: var(--oa-linha); border-radius: 999px; }

/* Carrossel com setas de navegação (grandes, estilo Mercado Livre) */
.oa-carousel { position: relative; }
.oa-carousel__nav {
	position: absolute; top: 50%; z-index: 3;
	/* !important: bate os estilos globais de button do Kadence (padding/min-width) */
	box-sizing: border-box !important;
	width: 48px !important; height: 48px !important;
	min-width: 0 !important; min-height: 0 !important;
	padding: 0 !important; margin: 0 !important;
	border-radius: 50% !important;
	border: 1px solid var(--oa-linha); background: var(--oa-branco);
	color: var(--oa-preto); font-size: 26px; font-weight: 700; line-height: 1;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; box-shadow: 0 4px 16px rgba(14,1,2,.22);
	transition: background .15s, color .15s, opacity .15s, box-shadow .15s;
	transform: translateY(-50%);
}
.oa-carousel__nav > * { pointer-events: none; }
.oa-carousel__nav:hover { background: var(--oa-vermelho); color: var(--oa-branco); border-color: var(--oa-vermelho); box-shadow: 0 6px 20px rgba(191,13,25,.4); }
/* meio pra fora da borda do card, como no Mercado Livre */
.oa-carousel__nav--prev { left: -22px; }
.oa-carousel__nav--next { right: -22px; }
.oa-carousel__nav[hidden] { display: none; }
.oa-carousel__nav[disabled] { opacity: .35; cursor: default; }
@media (max-width: 900px) { .oa-carousel__nav--prev { left: -10px; } .oa-carousel__nav--next { right: -10px; } }
@media (max-width: 640px) { .oa-carousel__nav { display: none; } }

.oa-card__cta { font-size: .8rem; font-weight: 600; color: var(--oa-vermelho); margin-top: 2px; }
.oa-card:hover .oa-card__cta { color: var(--oa-vermelho-escuro); }
.oa-card { text-decoration: none; }
.oa-card .oa-card__title { min-height: 2.5em; }

/* Barra de subcategorias na página de categoria */
.oa-subcats {
	display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px;
	padding-bottom: 4px;
}
.oa-subcats a {
	display: inline-block; padding: 6px 12px; border-radius: 999px;
	background: var(--oa-branco); border: 1.5px solid var(--oa-linha);
	font-size: .85rem; font-weight: 600; color: var(--oa-tinta); text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.oa-subcats a:hover { border-color: var(--oa-laranja); color: var(--oa-tinta); }
.oa-subcats a.is-current { background: var(--oa-vermelho); border-color: var(--oa-vermelho); color: #fff; }
.oa-subcats__up { font-weight: 700; color: var(--oa-tinta-suave); }

/* Submenu "Categorias" no cabeçalho */
.oa-menu-cats > a::after { content: " ▾"; font-size: .7em; opacity: .7; }
.main-navigation .oa-menu-cats .sub-menu { min-width: 220px; }

/* ===================================================================
   10. RODAPÉ  (claro e limpo, estilo Mercado Livre)
   =================================================================== */
.site-footer,
.site-footer-row-container-inner {
	background: var(--oa-branco) !important;
	color: var(--oa-tinta-suave);
	border-top: 1px solid var(--oa-linha);
}
.site-footer a { color: var(--oa-tinta-suave); }
.site-footer a:hover { color: var(--oa-vermelho); }
.site-footer h2, .site-footer h3, .site-footer .widget-title { color: var(--oa-tinta); }

/* Faixas do rodapé de largura total, com tons diferentes pra separar */
.oa-fband {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.oa-fband--a { background: #ffffff; }
.oa-fband--b { background: #ececec; border-top: 1px solid var(--oa-linha); border-bottom: 1px solid var(--oa-linha); }
.oa-fband--c { background: #f7f7f7; }

/* Ícones oficiais das redes */
.oa-social a svg { flex: none; width: 18px; height: 18px; }
.oa-social--instagram a:hover { color: #E1306C; }
.oa-social--facebook  a:hover { color: #1877F2; }
.oa-social--youtube   a:hover { color: #FF0000; }
.oa-social--tiktok    a:hover { color: #000; }
.oa-social--whatsapp  a:hover { color: #25D366; }
.oa-social--pinterest a:hover { color: #E60023; }

/* Pagamento + redes sociais */
.oa-footer-blocks {
	max-width: var(--oa-container); margin: 0 auto; padding: 16px 16px 4px;
	display: grid; grid-template-columns: 1fr; gap: 14px;
}
@media (min-width: 640px) { .oa-footer-blocks { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (min-width: 1000px) { .oa-footer-blocks { grid-template-columns: 1.7fr 1fr 1fr; gap: 40px; } }
.oa-footer-block__t { font-size: .74rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--oa-tinta); margin: 0 0 6px; }
.oa-footer-block__hint { font-size: .74rem; color: var(--oa-tinta-suave); margin: 0 0 7px; max-width: 46ch; }
.oa-paylist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.oa-paystrip { display: block; width: 100%; max-width: 300px; height: auto; mix-blend-mode: multiply; }
.oa-paylist { gap: 6px; }
.oa-paylist li.oa-pay {
	font-size: .7rem; font-weight: 700; color: #fff; letter-spacing: .01em;
	border: 0; border-radius: 5px; padding: 5px 9px; line-height: 1.1;
}
.oa-paylist li.oa-pay img { display: block; height: 24px; width: auto; }
.oa-pay--pix { background: #32BCAD; }
.oa-pay--boleto { background: #2b2b2b; }
.oa-pay--visa { background: #1A1F71; }
.oa-pay--mastercard { background: #EB001B; }
.oa-pay--elo { background: #111; }
.oa-pay--amex { background: #2E77BC; }
.oa-pay--hipercard { background: #B3131B; }
.oa-pay--parcelamento { background: #666; }
.oa-social { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.oa-social a { display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; color: var(--oa-tinta-suave); text-decoration: none; }
.oa-social a:hover { color: var(--oa-vermelho); }

/* Linha de confiança acima dos links (como funciona / segurança / grátis) */
.oa-trust {
	max-width: var(--oa-container); margin: 0 auto; padding: 14px 16px 4px;
	display: grid; grid-template-columns: 1fr; gap: 10px; text-align: center;
}
@media (min-width: 760px) { .oa-trust { grid-template-columns: repeat(3, 1fr); gap: 12px; } }
.oa-trust__item { padding: 0 12px; }
.oa-trust__item + .oa-trust__item { border-left: 1px solid var(--oa-linha); }
@media (max-width: 759px) { .oa-trust__item + .oa-trust__item { border-left: 0; border-top: 1px solid var(--oa-linha); padding-top: 20px; } }
.oa-trust__ic { font-size: 1.25rem; line-height: 1; display: block; margin-bottom: 5px; }
.oa-trust__t { font-size: .88rem; font-weight: 600; color: var(--oa-tinta); margin: 0 0 3px; }
.oa-trust__p { font-size: .76rem; color: var(--oa-tinta-suave); margin: 0; line-height: 1.4; }

.oa-footer-links {
	text-align: center; padding: 12px 16px 4px; line-height: 1.85;
	font-size: .78rem; border-top: 1px solid var(--oa-linha); max-width: var(--oa-container);
	margin: 4px auto 0;
}
.oa-footer-links a { color: var(--oa-tinta-suave); text-decoration: none; }
.oa-footer-links a:hover { color: var(--oa-vermelho); text-decoration: underline; }
.oa-footer-links .oa-sep { margin: 0 10px; color: var(--oa-linha); }
.oa-footer-copy {
	text-align: center; color: var(--oa-tinta-suave);
	font-size: .7rem; padding: 0 16px 12px; margin: 0 auto; max-width: 760px;
	line-height: 1.5;
}
.oa-copy-line { display: block; }

.oa-affiliate-note {
	background: var(--oa-fundo-alt);
	color: var(--oa-tinta-suave);
	font-size: .8rem;
	text-align: center;
	padding: 12px 16px;
	line-height: 1.5;
}
.oa-affiliate-note a { color: var(--oa-vermelho); text-decoration: underline; }

/* ===================================================================
   11. UTIL / RESPONSIVO
   =================================================================== */
img { height: auto; }
.oa-only-mobile { display: block; }
.oa-only-desktop { display: none; }
@media (min-width: 1024px) {
	.oa-only-mobile { display: none; }
	.oa-only-desktop { display: block; }
}

/* Página 404 amigável */
.error404 .oa-404-search { max-width: 480px; margin: 24px auto; }
.oa-404 { padding-top: 24px; }
.oa-404__hero {
	text-align: center; padding: clamp(24px,5vw,48px) 16px;
	background: var(--oa-fundo-alt); border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio); margin-bottom: 8px;
}
.oa-404__hero h1 { font-size: clamp(1.4rem,3.5vw,2rem); margin: 0 0 .3em; }
.oa-404__hero p { color: var(--oa-tinta-suave); margin: 0 0 1em; }
.oa-404-search form, .oa-search .search-form, .oa-search form[role="search"] { max-width: 520px; margin: 12px auto 28px; display: flex; gap: 8px; }
.oa-search .search-field, .oa-404-search .search-field { flex: 1; border-radius: 999px; border: 1.5px solid var(--oa-linha); padding: .7em 1.1em; }
.oa-search .search-submit, .oa-404-search .search-submit { border-radius: 999px; background: var(--oa-vermelho); color: #fff; border: 0; font-weight: 800; padding: 0 1.4em; cursor: pointer; }

/* Busca — lista de conteúdo */
.oa-search { padding-top: 24px; }
.oa-search-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.oa-search-list li { border: 1px solid var(--oa-linha); border-radius: var(--oa-raio); padding: 14px 16px; background: var(--oa-branco); }
.oa-search-list a { font-weight: 700; font-size: 1.02rem; }
.oa-search-list p { margin: .4em 0 0; color: var(--oa-tinta-suave); font-size: .9rem; }
.oa-empty { text-align: center; padding: 24px 0 8px; }
.oa-empty p { color: var(--oa-tinta-suave); margin-bottom: 16px; }

.oa-related { margin-top: 8px; }

/* Imagem da origem (produto importado sem download concluído) na página do produto */
.oa-remote-image { margin: 0; }
.oa-remote-image img { width: 100%; height: auto; border-radius: var(--oa-raio); display: block; }

/* ===================================================================
   16. PÁGINA DE PRODUTO — título mais leve e menor (pedido do cliente)
   =================================================================== */
.woocommerce div.product .product_title,
.woocommerce div.product h1.entry-title,
body.single-product .entry-title {
	font-size: clamp(1.15rem, 2.4vw, 1.5rem) !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	margin: 0 0 .4em !important;
	color: var(--oa-tinta);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 1.6rem;
	color: var(--oa-tinta);
	font-weight: 600;
}
.woocommerce div.product p.price del { font-size: .95rem; font-weight: 400; }
.woocommerce div.product p.price ins { text-decoration: none; }

/* ===================================================================
   16b. PÁGINA DE CUPONS  [oa_cupons]
   =================================================================== */
.oa-cupons__intro { font-size: 1rem; line-height: 1.6; color: var(--oa-tinta-suave); max-width: none; }
.oa-cupons h2 { font-size: clamp(1.2rem, 2.6vw, 1.5rem); margin: 1.6em 0 .7em; }
.oa-cupons__stores { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) { .oa-cupons__stores { grid-template-columns: repeat(3, 1fr); } }
.oa-cupons__store {
	display: flex; flex-direction: column; gap: 10px;
	background: var(--oa-branco); border: 1px solid var(--oa-linha); border-radius: var(--oa-raio-card);
	padding: 16px 18px; text-decoration: none; transition: box-shadow .15s ease, transform .15s ease;
}
.oa-cupons__store:hover { box-shadow: 0 10px 24px -10px rgba(0,0,0,.22); transform: translateY(-2px); }
.oa-cupons__store-name { font-weight: 800; color: var(--oa-tinta); }
.oa-cupons__store-media { line-height: 0; border-radius: 8px; overflow: hidden; }
.oa-cupons__store-media img { display: block; width: 100%; height: auto; }

.oa-cupons__store-cta { font-size: .82rem; font-weight: 600; color: #3483fa; }
.oa-cupons__more { margin-top: 1.4em; }

/* ===================================================================
   17. FORMULÁRIO DE CONTATO  [oa_contato]
   =================================================================== */
.oa-contato { max-width: 560px; }
.oa-contato__form { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.oa-contato__form label { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; font-weight: 600; color: var(--oa-tinta); }
.oa-contato__form label em { color: var(--oa-vermelho); font-style: normal; }
.oa-contato__form input,
.oa-contato__form textarea {
	font: inherit; font-weight: 400; padding: 10px 12px;
	border: 1px solid var(--oa-linha); border-radius: var(--oa-raio-sm);
	background: #fff; color: var(--oa-tinta); width: 100%;
}
.oa-contato__form input:focus,
.oa-contato__form textarea:focus { outline: 2px solid var(--oa-laranja); border-color: var(--oa-laranja); }
.oa-contato__form .oa-btn { align-self: flex-start; }
.oa-contato__msg { padding: 12px 14px; border-radius: var(--oa-raio-sm); font-weight: 600; }
.oa-contato__msg--ok { background: #e6f6ec; color: var(--oa-verde-escuro); border: 1px solid var(--oa-verde); }
.oa-contato__msg--err { background: #fdecec; color: var(--oa-vermelho-escuro); border: 1px solid var(--oa-vermelho); }

/* ===================================================================
   12. BOTÃO FLUTUANTE DE WHATSAPP
   =================================================================== */
.oa-wa {
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: max(16px, env(safe-area-inset-bottom));
	z-index: 9999;
	display: inline-flex; align-items: center; gap: 10px;
	background: #25D366; color: #fff;
	font-weight: 800; font-size: .95rem; text-decoration: none;
	padding: 12px 18px 12px 14px;
	border-radius: 999px;
	box-shadow: 0 8px 24px -6px rgba(0,0,0,.35);
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.oa-wa:hover { color: #fff; background: #1ebe5b; transform: translateY(-2px); box-shadow: 0 12px 30px -8px rgba(0,0,0,.45); }
.oa-wa:focus-visible { outline: 3px solid var(--oa-laranja); outline-offset: 3px; }
.oa-wa svg { width: 26px; height: 26px; flex: none; fill: currentColor; }
@media (max-width: 640px) {
	.oa-wa { padding: 14px; }
	.oa-wa__txt { display: none; }
}

/* ===================================================================
   13. MOVIMENTO REDUZIDO
   =================================================================== */
@media (prefers-reduced-motion: reduce) {
	.oa-hero-slide, .oa-carousel__nav, .oa-wa,
	.oa-card, .woocommerce ul.products li.product { transition: none !important; }
	html { scroll-behavior: auto !important; }
}

/* ---- ATALHOS no topo da home (cards estilo Mercado Livre) ---- */
.oa-quick {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
}
@media (min-width: 620px) { .oa-quick { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .oa-quick { grid-template-columns: repeat(6, 1fr); gap: 14px; } }
.oa-quick__card {
	display: flex; flex-direction: column;
	background: var(--oa-branco); border: 1px solid var(--oa-linha);
	border-radius: 10px; padding: 14px 14px 16px;
	text-decoration: none; transition: box-shadow .15s ease, transform .15s ease;
}
.oa-quick__card:hover { box-shadow: 0 10px 24px -10px rgba(0,0,0,.25); transform: translateY(-3px); }
.oa-quick__t {
	font-size: .9rem; font-weight: 700; color: var(--oa-tinta); line-height: 1.25;
}
.oa-quick__media {
	width: 100%; height: 128px; display: flex; align-items: center; justify-content: center;
	margin: 12px 0 10px;
}
.oa-quick__media img { max-width: 100%; max-height: 128px; object-fit: contain; mix-blend-mode: multiply; }
.oa-quick__ic { font-size: 2.4rem; line-height: 1; }
.oa-quick__p {
	font-size: .8rem; line-height: 1.3; color: var(--oa-tinta-suave);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.1em; margin-top: auto;
}
.oa-quick__p--muted { color: #3483fa; font-weight: 600; }
.oa-quick__price { display: block; margin-top: 4px; font-size: .95rem; font-weight: 700; color: var(--oa-tinta); }
.oa-quick__price .woocommerce-Price-amount { font-weight: 700; }

/* ===================================================================
   14. CARDS PROMOCIONAIS (fileira colorida — landing pages internas)
   =================================================================== */
.oa-promos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 900px) { .oa-promos { grid-template-columns: repeat(4, 1fr); } }
.oa-promo {
	position: relative; display: flex; flex-direction: column; justify-content: space-between;
	min-height: 160px; padding: 18px; border-radius: var(--oa-raio-card);
	color: #fff; text-decoration: none; overflow: hidden; isolation: isolate;
	background-size: cover; background-position: center;
	transition: transform .15s ease, box-shadow .15s ease;
}
.oa-promo > * { position: relative; z-index: 2; }
/* véu colorido (não preto) — deixa a foto aparecer e o texto continuar legível */
.oa-promo::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(135deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.32) 100%);
}
.oa-promo:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -10px rgba(0,0,0,.35); color: #fff; }
.oa-promo__kicker { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.oa-promo__title { font-size: 1.15rem; font-weight: 800; line-height: 1.15; margin: 6px 0 12px; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.65); }
.oa-promo__cta { align-self: flex-start; background: #fff; color: #1a1a1a; font-weight: 700; font-size: .8rem; padding: 7px 14px; border-radius: 999px; }
/* cor de base (aparece quando não há imagem) */
.oa-promo--v1 { background-color: #BF0D19; background-image: linear-gradient(135deg, #E23744, #FA943C); }
.oa-promo--v2 { background-color: #2b2d78; background-image: linear-gradient(135deg, #3d3f9e, #6a4bd6); }
.oa-promo--v3 { background-color: #00a650; background-image: linear-gradient(135deg, #12b866, #37c98a); }
.oa-promo--v4 { background-color: #2b6fdb; background-image: linear-gradient(135deg, #3483fa, #5aa0ff); }
/* com imagem: foto por cima da cor base, misturada suave — não escurece demais */
.oa-promo--img { background-blend-mode: soft-light; }

/* ===================================================================
   15. OFERTA DO DIA — dividida (1 destaque grande + carrossel ao lado)
   =================================================================== */
.oa-oferta-dia { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 900px) { .oa-oferta-dia { grid-template-columns: minmax(240px, 300px) 1fr; align-items: stretch; } }
.oa-oferta-dia__hero {
	display: flex; flex-direction: column; border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card); overflow: hidden; background: var(--oa-branco); text-decoration: none;
	transition: box-shadow .15s ease, transform .15s ease;
}
.oa-oferta-dia__hero:hover { box-shadow: 0 8px 24px -8px rgba(0,0,0,.2); transform: translateY(-2px); }
.oa-oferta-dia__media { position: relative; aspect-ratio: 1/1; background: var(--oa-fundo-alt); border-bottom: 1px solid var(--oa-linha); }
.oa-oferta-dia__media img { width: 100%; height: 100%; object-fit: contain; padding: 18px; }
.oa-oferta-dia__badge { position: absolute; top: 12px; left: 12px; background: var(--oa-verde); color: #fff; font-weight: 700; font-size: .78rem; padding: 3px 9px; border-radius: 4px; }
.oa-oferta-dia__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.oa-oferta-dia__kicker { color: var(--oa-verde); font-weight: 700; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.oa-oferta-dia__title { font-size: .95rem; font-weight: 400; line-height: 1.35; color: var(--oa-tinta); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.oa-oferta-dia__price { font-size: 1.6rem; font-weight: 600; color: var(--oa-tinta); }
.oa-oferta-dia__old { color: var(--oa-tinta-suave); text-decoration: line-through; font-size: .85rem; }
.oa-oferta-dia__side { min-width: 0; }
.oa-oferta-dia__side .oa-carousel { height: 100%; }

/* ===================================================================
   18. ARTIGOS DE OFERTAS (blog automático — .oa-rp = roundup post)
       markup gerado por OA_Blog_Generator (plugin importador)
   =================================================================== */
.oa-rp__intro { font-size: 1.05rem; line-height: 1.65; color: var(--oa-tinta); }
.oa-rp__table { width: 100%; overflow-x: auto; margin: 22px 0; }
.oa-rp__table table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.oa-rp__table th, .oa-rp__table td { padding: 8px 10px; border-bottom: 1px solid var(--oa-linha); text-align: left; }
.oa-rp__table th { background: var(--oa-fundo-alt); font-weight: 600; }
.oa-rp__table td a { color: var(--oa-vermelho); text-decoration: none; }
.oa-rp__table figcaption { font-size: .8rem; color: var(--oa-tinta-suave); margin-top: 6px; }
.oa-rp__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 18px 0 8px; }
@media (min-width: 720px) { .oa-rp__grid { grid-template-columns: repeat(3, 1fr); } }
.oa-rp__card {
	display: flex; flex-direction: column; border: 1px solid var(--oa-linha);
	border-radius: var(--oa-raio-card); overflow: hidden; background: var(--oa-branco);
}
.oa-rp__fig { display: block; aspect-ratio: 1/1; background: var(--oa-fundo-alt); }
.oa-rp__fig img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }
.oa-rp__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.oa-rp__name { font-size: .9rem; font-weight: 400; line-height: 1.35; color: var(--oa-tinta); text-decoration: none;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.oa-rp__name:hover { color: var(--oa-vermelho); }
.oa-rp__price { margin: 2px 0 0; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.oa-rp__now { font-size: 1.15rem; font-weight: 600; color: var(--oa-tinta); }
.oa-rp__old { color: var(--oa-tinta-suave); font-size: .82rem; }
.oa-rp__off { background: var(--oa-verde); color: #fff; font-weight: 700; font-size: .74rem; padding: 2px 6px; border-radius: 4px; }
.oa-rp__meta { font-size: .78rem; color: var(--oa-tinta-suave); margin: 0; }
.oa-rp__cta { margin-top: auto; align-self: flex-start; background: var(--oa-vermelho); color: #fff;
	font-weight: 600; font-size: .84rem; padding: 7px 14px; border-radius: 6px; text-decoration: none; }
.oa-rp__cta:hover { filter: brightness(1.06); color: #fff; }
.oa-rp__rel { columns: 2; margin: 8px 0 4px; }
.oa-rp__foot { font-size: .82rem; color: var(--oa-tinta-suave); border-top: 1px solid var(--oa-linha); padding-top: 12px; margin-top: 22px; }

/* artigo de ofertas — mídia (destaque + vídeos) */
.oa-rp__hero { margin: 18px 0 22px; }
.oa-rp__hero-img, .oa-rp__hero img { width: 100%; height: auto; border-radius: var(--oa-raio-card); display: block; background: var(--oa-fundo-alt); }
.oa-rp__hero figcaption { font-size: .82rem; color: var(--oa-tinta-suave); margin-top: 6px; }
.oa-rp__video { margin: 16px 0; }
.oa-rp__video video { width: 100%; height: auto; border-radius: var(--oa-raio-card); background: #000; display: block; }
.oa-rp__video-embed { position: relative; width: 100%; padding-top: 56.25%; border-radius: var(--oa-raio-card); overflow: hidden; }
.oa-rp__video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.oa-rp__video figcaption { font-size: .82rem; color: var(--oa-tinta-suave); margin-top: 6px; }

/* ===================================================================
   19. PÁGINA DO BLOG (home.php) — índice de artigos
   =================================================================== */
.oa-blog { max-width: var(--oa-container); margin: 0 auto; padding: 24px 16px 48px; }
.oa-blog__hero { text-align: center; max-width: 720px; margin: 8px auto 28px; }
.oa-blog__kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; font-weight: 700; color: var(--oa-vermelho); margin: 0 0 6px; }
.oa-blog__title { font-size: clamp(1.6rem, 3.4vw, 2.35rem); line-height: 1.2; font-weight: 700; color: var(--oa-tinta); margin: 0 0 10px; }
.oa-blog__sub { font-size: 1.02rem; line-height: 1.6; color: var(--oa-tinta-suave); margin: 0 0 18px; }
.oa-blog__chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.oa-blog__chip {
	display: inline-block; padding: 6px 14px; border-radius: 999px; font-size: .84rem; font-weight: 600;
	background: var(--oa-branco); border: 1px solid var(--oa-linha); color: var(--oa-tinta); text-decoration: none;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.oa-blog__chip:hover { border-color: var(--oa-vermelho); color: var(--oa-vermelho); }
.oa-blog__chip.is-active { background: var(--oa-vermelho); border-color: var(--oa-vermelho); color: #fff; }

.oa-blog__grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
@media (min-width: 620px) { .oa-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .oa-blog__grid { grid-template-columns: repeat(3, 1fr); } }

.oa-blog__card {
	display: flex; flex-direction: column; background: var(--oa-branco);
	border: 1px solid var(--oa-linha); border-radius: 14px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 16px -12px rgba(0,0,0,.15);
	transition: box-shadow .16s ease, transform .16s ease;
}
.oa-blog__card:hover { box-shadow: 0 12px 30px -12px rgba(0,0,0,.24); transform: translateY(-3px); }
.oa-blog__media { display: block; aspect-ratio: 16/10; background: var(--oa-fundo-alt); overflow: hidden; line-height: 0; }
.oa-blog__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.oa-blog__card:hover .oa-blog__media img { transform: scale(1.04); }
.oa-blog__media-ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
	font-size: 3rem; font-weight: 800; color: var(--oa-linha); }
.oa-blog__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.oa-blog__tag {
	align-self: flex-start; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: var(--oa-vermelho); text-decoration: none;
}
.oa-blog__tag:hover { text-decoration: underline; }
.oa-blog__h { font-size: 1.08rem; line-height: 1.32; font-weight: 700; margin: 0; }
.oa-blog__h a { color: var(--oa-tinta); text-decoration: none; }
.oa-blog__h a:hover { color: var(--oa-vermelho); }
.oa-blog__excerpt { font-size: .9rem; line-height: 1.55; color: var(--oa-tinta-suave); margin: 0;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.oa-blog__meta { font-size: .78rem; color: var(--oa-tinta-suave); margin: 2px 0 0; }
.oa-blog__more { margin-top: auto; font-size: .84rem; font-weight: 600; color: var(--oa-vermelho); }

/* Post em destaque — ocupa a linha toda, imagem ao lado do texto no desktop */
@media (min-width: 980px) {
	.oa-blog__card--feat { grid-column: 1 / -1; flex-direction: row; align-items: stretch; }
	.oa-blog__card--feat .oa-blog__media { flex: 0 0 52%; align-self: stretch; aspect-ratio: auto; min-height: 320px; }
	.oa-blog__card--feat .oa-blog__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
	.oa-blog__card--feat .oa-blog__body { justify-content: center; padding: 30px 34px; }
	.oa-blog__card--feat .oa-blog__h { font-size: 1.6rem; }
	.oa-blog__card--feat .oa-blog__excerpt { -webkit-line-clamp: 4; font-size: .98rem; }
}

.oa-blog__pager { margin-top: 34px; }
.oa-blog__pager .nav-links { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; }
.oa-blog__pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
	border: 1px solid var(--oa-linha); border-radius: 8px; background: var(--oa-branco); color: var(--oa-tinta);
	text-decoration: none; font-weight: 600; font-size: .9rem;
}
.oa-blog__pager .page-numbers:hover { border-color: var(--oa-vermelho); color: var(--oa-vermelho); }
.oa-blog__pager .page-numbers.current { background: var(--oa-vermelho); border-color: var(--oa-vermelho); color: #fff; }
.oa-blog__pager .page-numbers.dots { border: 0; background: transparent; }
.oa-blog__empty { text-align: center; color: var(--oa-tinta-suave); padding: 40px 0; }

/* blog: banner opcional do topo + hero compacto quando há banner */
.oa-blog__banner { margin: 8px 0 22px; }
.oa-blog__hero--compact { margin-top: 0; margin-bottom: 22px; }
.oa-blog__hero--compact .oa-blog__title { font-size: clamp(1.35rem, 2.6vw, 1.8rem); }
.oa-blog__hero--compact .oa-blog__sub { font-size: .96rem; margin-bottom: 14px; }
