/*
Theme Name: Bioporto
Theme URI: https://bioporto.com.br
Author: DNTB Digital
Description: Tema da loja Bioporto (WooCommerce).
Version: 0.5.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: bioporto
*/

/* ---------- Tokens ---------- */
/* Fontes locais (variáveis, subconjunto latino: cobre todos os acentos do português). Licença SIL OFL. */
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fonts/outfit-latin.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 200 900; font-display: swap; src: url("assets/fonts/source-sans-3-latin.woff2") format("woff2"); }

:root {
	--c-primary: var(--wp--preset--color--primary, #008BE8);
	--c-primary-dark: #0069B4;
	--c-light: var(--wp--preset--color--light, #EEF0F2);
	--c-dark: var(--wp--preset--color--dark, #1A1A1A);
	--c-white: var(--wp--preset--color--white, #FFFFFF);
	--c-accent: var(--wp--preset--color--accent, #EB4235);
	--c-muted: #4F5863;
	--c-border: #E3E7EB;
	--c-ok: #1B7F3B;
	--c-low: #8A5A00;
	/* Tons derivados da paleta (antes espalhados como hex soltos) */
	--c-border-strong: #DCE1E6; /* campos, chips e botões secundários */
	--c-surface: #F7F8FA;       /* fundo de painéis */
	--c-subtle: #8A929B;        /* preço riscado e texto sobre fundo escuro; texto pequeno usa --c-muted */
	--c-gray: #B8C0C8;
	--c-primary-soft: #E6F3FD;
	--c-primary-line: #D2E9FB;
	--c-primary-faint: #F2F9FE;
	--c-primary-light: #5CC2FF;
	--c-accent-dark: #B3261E;
	--c-accent-soft: #FDECEA;
	--c-ok-soft: #E7F6EC;
	--c-ok-line: #CDE8D5;
	--c-low-soft: #FFF4DB;
	--c-low-line: #F3E2B3;
	--c-on-dark: #C9CED3;
	--font-display: 'Outfit', system-ui, sans-serif;
	--font-body: 'Source Sans 3', system-ui, sans-serif;
	--radius: 14px;
	--radius-lg: 24px;
	--container: 1280px;
	--gutter: 16px;
	--shadow: 0 10px 30px rgba(26, 26, 26, .10);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h, 146px) + 24px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	background: var(--c-white);
	color: var(--c-dark);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; }
a:hover { color: var(--c-primary-dark); }
h1, h2, h3, h4 { font-family: var(--font-display); margin: 0; line-height: 1.1; letter-spacing: -.02em; }
h1 { font-size: clamp(34px, 4vw, 56px); font-weight: 700; }
h2 { font-size: clamp(26px, 3vw, 36px); font-weight: 700; }
h3 { font-size: 22px; font-weight: 700; }
p { margin: 0; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; font-size: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; background: var(--c-dark); color: #fff; padding: 10px 14px; border-radius: 8px; }
.container { width: min(var(--container), 100% - 2 * var(--gutter)); margin-inline: auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-primary); }
.eyebrow--light { color: var(--c-primary-line); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-accent); display: inline-block; }
.dot--ok { background: var(--c-ok); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 12px; border: 2px solid transparent; font-weight: 700; font-size: 15px; line-height: 1; white-space: nowrap; transition: filter .15s, background .15s; }
.btn:hover { filter: brightness(.92); }
.btn--lg { height: 56px; padding: 0 26px; border-radius: var(--radius); font-size: 17px; }
.btn--primary { background: var(--c-primary); color: #fff; }
.btn--primary:hover { color: #fff; }
.btn--dark { background: var(--c-dark); color: #fff; }
.btn--dark:hover { color: #fff; }
.btn--soft { background: var(--c-light); color: var(--c-dark); }
.btn--soft:hover { color: var(--c-dark); }
.btn--outline { border-color: var(--c-primary); color: var(--c-primary); background: #fff; }
.icon-btn { width: 48px; height: 48px; border-radius: 12px; background: var(--c-light); color: var(--c-dark); display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Barra utilitária ---------- */
.topbar { background: var(--c-dark); color: #fff; font-size: 13px; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 16px; }
.topbar__promo { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; }
.topbar__promo svg { color: var(--c-primary-light); }
.topbar__links { display: flex; align-items: center; gap: 28px; }
.topbar__links a { color: #fff; display: inline-flex; align-items: center; gap: 6px; }
.topbar__cta { font-weight: 600; }
/* faixa de frete: duas mensagens que descem sozinhas, sem botões; pausa ao passar o mouse; sem movimento se o sistema pedir */
.topbar__roll { --h: 20px; display: block; height: var(--h); overflow: hidden; }
.topbar__track { display: flex; flex-direction: column; animation: topbar-roll 9s infinite; }
.topbar__slide { display: block; height: var(--h); line-height: var(--h); white-space: nowrap; }
.topbar__promo--roll:hover .topbar__track, .topbar__promo--roll:focus-within .topbar__track { animation-play-state: paused; }
@keyframes topbar-roll {
	0%, 38% { transform: translateY(calc(var(--h) * -2)); animation-timing-function: cubic-bezier(.65, 0, .35, 1); }
	50%, 88% { transform: translateY(calc(var(--h) * -1)); animation-timing-function: cubic-bezier(.65, 0, .35, 1); }
	100% { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.topbar__roll { height: auto; }
	.topbar__track { animation: none; flex-direction: row; flex-wrap: wrap; gap: 0 12px; }
	.topbar__slide { height: auto; line-height: 1.4; white-space: normal; }
	.topbar__slide[aria-hidden="true"] { display: none; }
}

/* ---------- Cabeçalho ---------- */
.site-header { background: #fff; border-bottom: 1px solid var(--c-border); position: sticky; top: 0; z-index: 50; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
.site-header__inner { display: flex; align-items: center; gap: 32px; min-height: 92px; }
.site-logo img { height: 34px; width: auto; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--c-light); color: var(--c-dark); align-items: center; justify-content: center; }
.search-box { position: relative; flex: 1; display: flex; height: 52px; border: 2px solid var(--c-dark); border-radius: 12px; background: #fff; min-width: 0; }
.search__input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 18px; font-size: 16px; color: var(--c-dark); background: transparent; border-radius: 10px 0 0 10px; }
.search__submit { display: inline-flex; align-items: center; gap: 8px; padding: 0 22px; border: 0; border-radius: 0 9px 9px 0; background: var(--c-dark); color: #fff; font-weight: 700; font-size: 15px; }
.search-box.is-loading .search__submit svg { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.search__results { position: absolute; top: calc(100% + 8px); left: -2px; right: -2px; z-index: 60; padding: 8px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: 0 24px 48px rgba(26, 26, 26, .14); max-height: min(70vh, 540px); overflow-y: auto; }
.search__results[hidden] { display: none; }
.suggest__item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px; border-radius: 10px; color: var(--c-dark); }
.suggest__item:hover, .suggest__item.is-active { background: var(--c-light); color: var(--c-dark); }
.suggest__item img { width: 52px; height: 52px; object-fit: contain; border-radius: 8px; border: 1px solid var(--c-border); background: #fff; }
.suggest__brand { display: block; font-size: 11px; font-weight: 700; color: var(--c-primary); text-transform: uppercase; letter-spacing: .05em; }
.suggest__name { display: block; font-size: 15px; font-weight: 600; line-height: 1.25; }
.suggest__name mark { background: none; color: var(--c-primary); }
.suggest__stock { display: block; font-size: 12px; color: var(--c-muted); }
.suggest__price { font-weight: 700; font-size: 15px; white-space: nowrap; text-align: right; }
.suggest__price .price-from { display: block; font-size: 11px; font-weight: 400; color: var(--c-muted); }
.suggest__price del { font-weight: 400; font-size: 13px; color: var(--c-subtle); margin-right: 4px; }
.suggest__price ins { text-decoration: none; }
.suggest__all { display: block; margin-top: 4px; padding: 12px 8px 6px; border-top: 1px solid var(--c-border); font-size: 14px; font-weight: 700; }
.suggest__all.is-active { text-decoration: underline; }
.suggest__empty { padding: 12px 8px; font-size: 14px; color: var(--c-muted); }
.site-header__actions { display: flex; align-items: center; gap: 10px; }
.btn--cart { position: relative; }
.cart-count { position: absolute; top: -8px; right: -8px; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 12px; background: var(--c-accent); color: #fff; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.cart-count.is-empty { display: none; }
.deptnav { position: relative; border-top: 1px solid var(--c-border); }
.deptnav__inner { display: flex; align-items: stretch; gap: 28px; min-height: 52px; font-size: 15px; font-weight: 600; }
.deptnav__quick, .deptnav__offers { display: inline-flex; align-items: center; gap: 6px; color: var(--c-dark); white-space: nowrap; }
.deptnav__quick:hover { color: var(--c-primary); }
.deptnav__offers { margin-left: auto; color: var(--c-accent); }
.deptnav__offers:hover { color: var(--c-accent-dark); }
.mega__toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 20px 0 0; border: 0; border-right: 1px solid var(--c-border); background: none; color: var(--c-dark); font: inherit; white-space: nowrap; }
.mega__toggle:hover, .mega.is-open .mega__toggle { color: var(--c-primary); }
.mega__chev { transition: transform .2s; }
.mega.is-open .mega__chev { transform: rotate(180deg); }
.mega__panel { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 40; background: #fff; border-top: 1px solid var(--c-border); box-shadow: 0 24px 48px rgba(26, 26, 26, .12); }
.mega.is-open .mega__panel { display: block; }
@media (hover: hover) and (min-width: 769px) {
	.mega:hover .mega__panel { display: block; }
	.mega:hover .mega__chev { transform: rotate(180deg); }
	.mega:hover .mega__toggle { color: var(--c-primary); }
}
.mega__inner { width: min(var(--container), 100% - 2 * var(--gutter)); margin-inline: auto; padding: 28px 0 24px; }
.mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 32px; }
.mega__col { display: flex; flex-direction: column; gap: 8px; }
.mega__title { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--c-dark); }
.mega__title:hover { color: var(--c-primary); }
.mega__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mega__col li a, .mega__blurb { font-size: 14px; font-weight: 400; color: var(--c-muted); }
.mega__col li a:hover { color: var(--c-primary); }
.mega__footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--c-border); font-size: 15px; font-weight: 700; }

/* ---------- Seções ---------- */
.section { padding: 72px 0; }
.section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.section__head > div { display: flex; flex-direction: column; gap: 8px; }
.section__link { font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
.section__note { font-size: 14px; color: var(--c-muted); }

/* ---------- Hero ---------- */
.hero { padding: 56px 0; }
.hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; }
.hero__copy { display: flex; flex-direction: column; gap: 24px; }
.hero__copy p { font-size: 19px; color: var(--c-muted); max-width: 560px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--c-muted); }
.hero__chips span { font-weight: 600; }
.hero__chips a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--c-border-strong); color: var(--c-dark); }
.hero__chips a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.hero__panel { position: relative; min-height: 500px; border-radius: 28px; background: var(--c-light); overflow: hidden; }
.hero__arc { position: absolute; top: -40px; right: -40px; width: 220px; height: 220px; border-radius: 50%; background: var(--c-accent); }
.hero__arc::after { content: ''; position: absolute; inset: 0; margin: 0 0 auto auto; width: 150px; height: 150px; border-radius: 50%; background: var(--c-light); }
.hero__mini { position: absolute; left: 36px; width: 300px; display: flex; gap: 14px; align-items: center; padding: 14px; background: #fff; border-radius: 18px; box-shadow: var(--shadow); color: var(--c-dark); }
.hero__minis { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 18px; min-height: 500px; padding: 36px 36px 84px; }
.hero__minis > .hero__mini { position: relative; top: auto; left: auto; }
.hero__minis > .hero__mini:nth-child(2) { margin-left: 60px; }
.hero__minis > .hero__mini:nth-child(n+4) { display: none; }
.hero__mini img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; flex-shrink: 0; }
.hero__mini-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hero__mini-brand { font-size: 12px; font-weight: 700; color: var(--c-primary); text-transform: uppercase; letter-spacing: .04em; }
.hero__mini-name { font-size: 15px; font-weight: 600; line-height: 1.25; }
.hero__mini-price { font-size: 15px; font-weight: 700; }
.hero__mini-price .price-from { font-weight: 400; font-size: 13px; color: var(--c-muted); }
.hero__mini-price del { color: var(--c-subtle); font-weight: 400; margin-right: 6px; }
.hero__mini-price ins { text-decoration: none; }
.hero__badge { position: absolute; right: 36px; bottom: 28px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; color: var(--c-ok); box-shadow: 0 6px 18px rgba(26, 26, 26, .10); }

/* ---------- Faixa de confiança ---------- */
.trust { background: var(--c-light); padding: 26px 0; }
.trust__grid { display: flex; justify-content: space-between; gap: 24px; }
.trust__item { display: flex; align-items: center; gap: 12px; color: var(--c-dark); }
.trust__item > span:last-child { display: flex; flex-direction: column; }
.trust__item strong { font-size: 15px; }
.trust__item small { font-size: 13px; color: var(--c-muted); }
.trust__icon { width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--c-primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* ---------- Departamentos ---------- */
.departments { padding-bottom: 40px; }
.departments__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.tile { display: flex; flex-direction: column; gap: 12px; color: var(--c-dark); }
.tile:hover { color: var(--c-dark); }
.tile__media { display: block; height: 150px; border-radius: 16px; overflow: hidden; background: var(--c-light); }
.tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.tile:hover .tile__media img { transform: scale(1.04); }
.tile__title { font-weight: 700; font-size: 16px; line-height: 1.25; }
.tile__blurb { font-size: 13px; color: var(--c-muted); line-height: 1.35; }

/* ---------- Destaques / cards ---------- */
.featured { padding-top: 40px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.tab { height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--c-light); color: var(--c-dark); font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.tab span { font-size: 12px; opacity: .7; }
.tab.is-active { background: var(--c-dark); color: #fff; }
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { display: flex; flex-direction: column; border: 1px solid var(--c-border); border-radius: 18px; background: #fff; overflow: hidden; transition: box-shadow .2s, transform .2s; margin: 0; }
.card:hover { box-shadow: 0 12px 32px rgba(26, 26, 26, .10); transform: translateY(-2px); }
.card[hidden] { display: none; }
.card__media { display: block; }
.card__media img { width: 100%; height: 100%; object-fit: contain; }
.onsale { position: absolute; top: 12px; left: 12px; background: var(--c-accent); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; letter-spacing: .04em; text-transform: uppercase; }
.card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.card__brand { font-size: 12px; font-weight: 700; color: var(--c-primary); text-transform: uppercase; letter-spacing: .05em; }
.card__title { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--c-dark); min-height: 44px; }
.card__opts { font-size: 13px; color: var(--c-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__stock { font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.card__stock::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.card__stock.is-ok { color: var(--c-ok); }
.card__stock.is-low { color: var(--c-low); }
.card__stock.is-out { color: var(--c-muted); }
.card__footer { margin-top: auto; display: flex; flex-direction: column; gap: 12px; padding-top: 6px; }
.card .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-family: var(--font-display); font-size: 24px; font-weight: 700; color: var(--c-dark); }
.card .price .price-from { flex-basis: 100%; font-family: var(--font-body); font-size: 12px; font-weight: 400; color: var(--c-muted); }
.card .price del { font-size: 14px; color: var(--c-subtle); font-weight: 400; font-family: var(--font-body); }
.card .price ins { text-decoration: none; }
.card .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; border: 0; border-radius: 12px; background: var(--c-dark); color: #fff; font-size: 15px; font-weight: 700; width: 100%; }
.card .button:hover { filter: brightness(.9); color: #fff; }
.card .button::before { content: '+'; font-size: 20px; line-height: 1; }
.card .added_to_cart { font-size: 13px; text-align: center; }

/* ---------- Marcas ---------- */
.brands { background: var(--c-light); padding: 28px 0; }
.brands__inner { display: flex; align-items: center; gap: 24px; }
.brands__title { font-weight: 700; font-size: 15px; white-space: nowrap; }
/* Marcas: uma linha em giro contínuo (mesmo padrão do carrossel de departamentos); pausa com o mouse ou o foco. */
.brands__viewport { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.brands__track { --gap: 12px; display: flex; gap: var(--gap); width: max-content; margin: 0; padding: 2px 0; list-style: none; animation: brands-roll calc(var(--n) * 5s) linear infinite; }
.brands__viewport:hover .brands__track, .brands__viewport:focus-within .brands__track { animation-play-state: paused; }
@keyframes brands-roll { to { transform: translateX(calc(-50% - var(--gap) / 2)); } } /* 1 de 2 voltas */
.brands__track a { display: flex; align-items: center; justify-content: center; height: 60px; min-width: 128px; padding: 0 20px; border-radius: 14px; background: #fff; color: var(--c-dark); font-weight: 700; font-size: 14px; white-space: nowrap; transition: box-shadow .2s; }
.brands__track a:hover { box-shadow: 0 4px 14px rgba(26, 26, 26, .08); }
.brands__logo { display: block; width: auto; height: 32px; max-width: 132px; object-fit: contain; }
.brands__logo--alto { height: 44px; }
.brands__track a:hover { color: var(--c-primary); }
.brands__track a:focus-visible { outline: 3px solid var(--c-primary); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.brands__track { animation: none; }
	.brands__viewport { overflow-x: auto; }
	.brands__track li[aria-hidden] { display: none; }
}

/* ---------- Compra por lista ---------- */
.lista__panel { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; padding: 56px 64px; border-radius: 28px; background: var(--c-primary); color: #fff; overflow: hidden; }
.lista__arc { position: absolute; right: -60px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; border: 56px solid var(--c-accent); opacity: .9; }
.lista__copy { position: relative; display: flex; flex-direction: column; gap: 22px; }
.lista__copy h2 { font-size: clamp(28px, 3.2vw, 40px); color: #fff; }
.lista__copy p { font-size: 18px; color: var(--c-primary-soft); max-width: 520px; }
.steps { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.steps li { display: flex; gap: 14px; align-items: flex-start; }
.steps li > span:last-child { display: flex; flex-direction: column; }
.steps strong { font-size: 17px; }
.steps small { font-size: 15px; color: var(--c-primary-soft); }
.steps__n { width: 32px; height: 32px; border-radius: 50%; background: #fff; color: var(--c-primary); font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lista__form { position: relative; align-self: start; display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 20px; background: #fff; color: var(--c-dark); }
.lista__form label { font-size: 14px; font-weight: 600; }
.lista__form input[type="text"], .lista__form textarea { width: 100%; border: 1.5px solid var(--c-border-strong); border-radius: 12px; padding: 12px 14px; font-size: 15px; }
.lista__form input[type="text"] { height: 48px; }
.lista__msg { padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; }
.lista__msg.is-ok { background: var(--c-ok-soft); color: var(--c-ok); }
.lista__msg.is-err { background: var(--c-accent-soft); color: var(--c-accent-dark); }
.dropzone { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 132px; border: 2px dashed var(--c-gray); border-radius: var(--radius); background: var(--c-surface); color: var(--c-muted); font-size: 14px; text-align: center; cursor: pointer; padding: 16px; }
.dropzone svg { color: var(--c-primary); }
.dropzone strong { color: var(--c-dark); }
.dropzone__file { font-size: 13px; font-weight: 600; color: var(--c-primary); }
.dropzone__file:empty::before { content: attr(data-empty); font-weight: 400; color: var(--c-muted); }
.lista__wa { font-size: 14px; font-weight: 600; text-align: center; }
.clients { margin-top: 40px; display: flex; flex-direction: column; gap: 20px; }
.clients__title { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-muted); text-align: center; }
.clients__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 16px; }
.clients__logo, .clients__more { height: 76px; border-radius: var(--radius); background: #fff; border: 1px solid var(--c-border); display: flex; align-items: center; justify-content: center; padding: 12px; }
.clients__logo img { max-height: 48px; max-width: 100%; width: auto; object-fit: contain; }
.clients__more { background: var(--c-light); border: 0; font-size: 14px; font-weight: 700; color: var(--c-muted); }

/* ---------- FAQ ---------- */
.faq__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.faq__intro { display: flex; flex-direction: column; gap: 12px; }
.faq__intro p { margin-top: 8px; color: var(--c-muted); }
.faq__list { border-top: 1px solid var(--c-border); }
.faq__item { border-bottom: 1px solid var(--c-border); }
.faq__item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 8px; font-size: 18px; font-weight: 600; cursor: pointer; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary svg { flex-shrink: 0; color: var(--c-primary); transition: transform .2s; }
.faq__item[open] summary svg { transform: rotate(180deg); }
.faq__item summary:hover { background: var(--c-surface); }
.faq__item p { padding: 0 8px 20px; color: var(--c-muted); }

/* ---------- Rodapé ---------- */
.site-footer { background: var(--c-dark); color: #fff; padding: 56px 0 28px; margin-top: 0; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; }
.site-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.site-footer__brand img { height: 30px; width: auto; align-self: flex-start; }
.site-footer__brand p { font-size: 15px; color: var(--c-on-dark); max-width: 360px; }
.site-footer__contacts { display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.site-footer a { color: var(--c-on-dark); }
.site-footer a:hover { color: #fff; }
.site-footer__contacts a { color: #fff; }
.site-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: var(--c-on-dark); }
.site-footer__title { font-weight: 700; color: #fff; margin-bottom: 4px; }
.site-footer__pay { margin-top: 8px; }
.site-footer__bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid #333; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 13px; color: var(--c-subtle); }
.site-footer__legal { display: flex; flex-direction: column; gap: 4px; }
.site-footer__sign { display: flex; align-items: center; gap: 6px; font-size: 12px; line-height: 20px; white-space: nowrap; }
.site-footer__sign span { position: relative; top: 1px; } /* centro das maiúsculas na altura do centro visual do lobo */
.site-footer__sign a { display: inline-flex; }
.site-footer__sign img { display: block; width: 20px; height: 20px; }

/* ---------- Sobrescritas do CSS geral do WooCommerce (páginas com body.woocommerce) ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background-color: var(--c-dark); color: #fff; border-radius: 12px; font-weight: 700; font-family: var(--font-body); line-height: 1.2; padding: 14px 20px;
}
.woocommerce a.button.disabled, .woocommerce button.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.alt.disabled { background-color: var(--c-muted); color: #fff; }
.woocommerce ul.products li.product { margin: 0; }
.woocommerce ul.products li.product a img { margin: 0; }
.woocommerce ul.products li.product .button { margin-top: 0; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--c-dark); }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { opacity: 1; }
.woocommerce span.onsale { min-height: 0; min-width: 0; margin: 0; top: 12px; left: 12px; line-height: 1.4; padding: 4px 10px; border-radius: 999px; background-color: var(--c-accent); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.woocommerce .quantity .qty { height: 48px; border: 1.5px solid var(--c-border-strong); border-radius: 12px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .variations select { height: 44px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; padding: 0 12px; }
.woocommerce div.product .woocommerce-variation-price { margin-bottom: 8px; }

/* ---------- Páginas e WooCommerce ---------- */
.content-page { padding: 48px 0 72px; }
.page__title { font-size: clamp(28px, 3vw, 40px); margin-bottom: 24px; }
.prose { max-width: 800px; font-size: 17px; line-height: 1.6; }
.prose h2 { font-size: 24px; margin: 32px 0 12px; }
.prose h3 { font-size: 19px; margin: 24px 0 8px; }
.prose p, .prose ul, .prose ol { margin: 0 0 14px; }
.prose table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
.prose th, .prose td { border: 1px solid var(--c-border); padding: 8px 10px; text-align: left; vertical-align: top; }
.prose .documentos li { margin-bottom: 10px; }
.wc-page { padding: 40px 0 72px; }
.woocommerce-products-header__title { font-size: clamp(28px, 3vw, 40px); margin-bottom: 8px; }
.woocommerce-breadcrumb { font-size: 14px; color: var(--c-muted); margin-bottom: 12px; }
.woocommerce-result-count, .woocommerce-ordering { margin-bottom: 20px; }
.woocommerce-notices-wrapper { margin-bottom: 16px; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.single-product div.product .woocommerce-product-gallery { position: relative; }
.single-product div.product .summary { display: flex; flex-direction: column; gap: 16px; }
.single-product div.product .product_title { font-size: clamp(26px, 3vw, 36px); }
.single-product div.product .price { font-family: var(--font-display); font-size: 28px; font-weight: 700; }
.single-product div.product .woocommerce-tabs, .single-product div.product .related, .single-product div.product .upsells { grid-column: 1 / -1; }
.woocommerce-pagination ul { display: flex; gap: 6px; list-style: none; padding: 0; margin: 32px 0 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--c-border); }
.woocommerce-pagination .current { background: var(--c-dark); color: #fff; }

/* ---------- Catálogo (listagem com filtros) ---------- */
ul.products::before, ul.products::after { content: none !important; display: none !important; }
.catalog-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.catalog-head__title { font-size: clamp(30px, 3.2vw, 44px); }
.catalog-head .term-description, .catalog-head .page-description { max-width: 760px; font-size: 17px; color: var(--c-muted); }
.catalog-head .term-description p, .catalog-head .page-description p { margin: 0; }
.catalog-head__subcats { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-head__subcats a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--c-border-strong); border-radius: 999px; color: var(--c-dark); font-size: 14px; font-weight: 600; }
.catalog-head__subcats a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.catalog-head__subcats span { font-size: 12px; font-weight: 400; color: var(--c-muted); }
.catalog { display: grid; grid-template-columns: 272px minmax(0, 1fr); gap: 40px; align-items: start; }
.catalog__main { min-width: 0; transition: opacity .15s; }
.catalog-wrap.is-loading .catalog__main { opacity: .45; pointer-events: none; }
.catalog-wrap.is-loading .filters__title::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; border: 2px solid var(--c-border); border-top-color: var(--c-primary); border-radius: 50%; animation: spin .7s linear infinite; vertical-align: 1px; }

/* coluna de filtros */
.filters { position: sticky; top: 166px; max-height: calc(100vh - 186px); overflow-y: auto; overscroll-behavior: contain; padding-right: 8px; scrollbar-width: thin; }
.admin-bar .filters { top: 198px; max-height: calc(100vh - 218px); }
.filters__head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 2px solid var(--c-dark); }
.filters__title { margin-right: auto; font-family: var(--font-display); font-size: 20px; font-weight: 700; }
.filters__clear { font-size: 14px; font-weight: 700; }
.filters__close { display: none; width: 40px; height: 40px; border: 0; border-radius: 10px; background: var(--c-light); color: var(--c-dark); align-items: center; justify-content: center; }
.facet { border-bottom: 1px solid var(--c-border); }
.facet summary { display: flex; align-items: center; gap: 8px; padding: 16px 0; font-size: 15px; font-weight: 700; list-style: none; cursor: pointer; }
.facet summary::-webkit-details-marker { display: none; }
.facet summary:hover { color: var(--c-primary); }
.facet__chev { margin-left: auto; color: var(--c-muted); transition: transform .2s; }
.facet[open] .facet__chev { transform: rotate(180deg); }
.facet__badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--c-primary); color: #fff; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.facet__body { display: flex; flex-direction: column; gap: 2px; padding-bottom: 16px; }
.facet__opt, .facet__range { display: flex; align-items: center; gap: 10px; margin: 0 -8px; padding: 7px 8px; border-radius: 8px; color: var(--c-dark); font-size: 15px; cursor: pointer; }
.facet__opt:hover, .facet__range:hover { background: var(--c-light); color: var(--c-dark); }
.facet__opt input { width: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: var(--c-primary); cursor: pointer; }
.facet__opt input:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.facet__name { flex: 1; min-width: 0; line-height: 1.3; }
.facet__count { flex-shrink: 0; min-width: 28px; padding: 1px 8px; border-radius: 999px; background: var(--c-light); color: var(--c-muted); font-size: 12px; font-weight: 600; text-align: center; }
.facet__opt:hover .facet__count, .facet__range:hover .facet__count { background: #fff; }
.facet__opt.is-on, .facet__range.is-on { font-weight: 700; }
.facet__opt.is-on .facet__count, .facet__range.is-on .facet__count { background: var(--c-primary); color: #fff; }
.facet__opt[hidden] { display: none; }
.facet__radio { width: 18px; height: 18px; flex-shrink: 0; border: 2px solid var(--c-gray); border-radius: 50%; }
.facet__range.is-on .facet__radio { border: 5px solid var(--c-primary); }
.facet__price { display: flex; align-items: flex-end; gap: 8px; margin-top: 10px; }
.facet__price label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--c-muted); }
.facet__price input { width: 100%; height: 40px; padding: 0 10px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; font-size: 15px; color: var(--c-dark); }
.facet__price input::-webkit-outer-spin-button, .facet__price input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.facet__price input:focus, .facet__search:focus { outline: 0; border-color: var(--c-primary); }
.facet__dash { padding-bottom: 10px; color: var(--c-muted); }
.facet__go { height: 40px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--c-dark); color: #fff; font-weight: 700; }
.facet__search { height: 38px; margin-bottom: 6px; padding: 0 12px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; font-size: 14px; }
.facet--many:not(.is-expanded):not(.is-searching) .facet__opt:nth-of-type(n+7) { display: none; }
.facet.is-searching .facet__more { display: none; }
.facet__more { align-self: flex-start; margin-top: 4px; padding: 4px 0; border: 0; background: none; color: var(--c-primary); font-size: 14px; font-weight: 700; }
.facet__cats { list-style: none; margin: 0; padding: 0 0 14px; display: flex; flex-direction: column; gap: 2px; }
.facet__cats ul { list-style: none; margin: 2px 0 4px; padding: 0 0 0 12px; border-left: 2px solid var(--c-border); }
.facet__cats a { display: block; margin: 0 -8px; padding: 6px 8px; border-radius: 8px; color: var(--c-dark); font-size: 15px; }
.facet__cats ul a { margin: 0; font-size: 14px; color: var(--c-muted); }
.facet__cats a:hover { background: var(--c-light); color: var(--c-dark); }
.facet__cats a.is-current { color: var(--c-primary); font-weight: 700; }
.facet__cats a.facet__back { color: var(--c-primary); font-weight: 600; }
.filters__foot { display: flex; flex-direction: column; gap: 8px; padding: 16px 0; }
.js .filters__apply, .filters__done { display: none; }

/* barra acima dos produtos */
.catalog__toolbar { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.catalog__count { margin: 0 auto 0 0; font-size: 15px; color: var(--c-muted); }
.filters-toggle { display: none; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border: 1.5px solid var(--c-dark); border-radius: 10px; background: #fff; color: var(--c-dark); font-size: 15px; font-weight: 700; }
.filters-toggle__n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--c-primary); color: #fff; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select { height: 44px; padding: 0 40px 0 14px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance: none; appearance: none; color: var(--c-dark); font-size: 15px; font-weight: 600; cursor: pointer; }
.woocommerce-ordering select:focus { outline: 0; border-color: var(--c-primary); }
.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; }
.active-filters__chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border-radius: 999px; background: var(--c-primary-soft); color: var(--c-primary-dark); font-size: 14px; font-weight: 600; }
.active-filters__chip:hover { background: var(--c-primary-line); color: var(--c-primary-dark); }
.active-filters__clear { margin-left: 4px; color: var(--c-dark); font-size: 14px; font-weight: 700; text-decoration: underline; }
.catalog-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 56px 24px; border: 2px dashed var(--c-border); border-radius: 20px; color: var(--c-muted); text-align: center; }
.catalog-empty svg { color: var(--c-primary); }
.catalog-empty h2 { font-size: 24px; color: var(--c-dark); }
.catalog-empty p { max-width: 460px; }
.catalog-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }

/* paginação: o woocommerce.css usa .woocommerce nav… (0,2,x); aqui .woocommerce nav… ul.page-numbers vence sem !important */
.woocommerce nav.woocommerce-pagination { margin-top: 32px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; white-space: normal; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li { float: none; display: block; border: 0; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a, .woocommerce nav.woocommerce-pagination ul.page-numbers li span { min-width: 42px; height: 42px; padding: 0 10px; border: 1.5px solid var(--c-border); border-radius: 10px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--c-dark); font-weight: 700; line-height: 1; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a:hover, .woocommerce nav.woocommerce-pagination ul.page-numbers li a:focus-visible { border-color: var(--c-dark); background: #fff; color: var(--c-dark); }
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current { border-color: var(--c-dark); background: var(--c-dark); color: #fff; }

/* cards nas páginas da loja: vence o CSS geral do WooCommerce (.woocommerce ul.products li.product …) */
body ul.products li.card.product { float: none; width: auto; margin: 0; padding: 0; text-align: left; }
body ul.products li.card.product .card__media img { width: 100%; height: 100%; margin: 0; object-fit: contain; box-shadow: none; }
body ul.products li.card.product .onsale { position: absolute; top: 12px; left: 12px; right: auto; margin: 0; min-width: 0; min-height: 0; padding: 4px 10px; border-radius: 999px; background: var(--c-accent); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.4; }
body ul.products li.card.product .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0; color: var(--c-dark); font-family: var(--font-display); font-size: 24px; font-weight: 700; }
body ul.products li.card.product .price del { opacity: 1; color: var(--c-subtle); font-family: var(--font-body); font-size: 14px; font-weight: 400; }
body ul.products li.card.product .price ins { font-weight: 700; text-decoration: none; }
body ul.products li.card.product .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 46px; margin: 0; padding: 0 16px; border: 0; border-radius: 12px; background: var(--c-dark); color: #fff; font-family: var(--font-body); font-size: 15px; font-weight: 700; line-height: 1; text-decoration: none; }
body ul.products li.card.product .button:hover { background: #000; color: #fff; }

@media (max-width: 1180px) {
	.catalog { grid-template-columns: 240px minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 1024px) {
	.catalog ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.catalog { grid-template-columns: 1fr; }
	.catalog ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.filters-toggle { display: inline-flex; }
	.filters { position: fixed; inset: 0; z-index: 200; top: 0; max-height: none; padding: 16px 20px 0; background: #fff; visibility: hidden; transform: translateX(-105%); transition: transform .25s ease, visibility .25s; }
	.admin-bar .filters { top: 0; max-height: none; }
	.filters-open { overflow: hidden; }
	.filters-open .filters { visibility: visible; transform: none; }
	.filters__close, .filters__done { display: inline-flex; }
	.filters__foot { position: sticky; bottom: 0; margin: 0 -20px; padding: 12px 20px 16px; border-top: 1px solid var(--c-border); background: #fff; }
}
@media (max-width: 768px) {
	.catalog-head { margin-bottom: 16px; }
	.catalog-head .term-description, .catalog-head .page-description { font-size: 15px; }
	.catalog ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.catalog__toolbar { flex-wrap: wrap; gap: 10px; }
	.catalog__count { order: 3; flex-basis: 100%; margin: 0; font-size: 14px; }
	.woocommerce-ordering { margin-left: auto !important; }
	.woocommerce-ordering select { max-width: 200px; font-size: 14px; }
	body ul.products li.card.product .price { font-size: 20px; }
	body ul.products li.card.product .button { height: 44px; font-size: 14px; }
}

/* ---------- Recursos de loja: cards, listas, carrinho, produto, checkout ---------- */
@keyframes fade { from { opacity: 0; } }
@keyframes slide-in { from { transform: translateX(100%); } }
@keyframes pop { from { opacity: 0; transform: translateY(12px) scale(.98); } }
@keyframes rise { from { opacity: 0; transform: translate(-50%, 12px); } }
.no-scroll { overflow: hidden; }

/* card: foto com troca no hover + ferramentas */
.card__media { position: relative; height: 232px; border-bottom: 1px solid var(--c-border); background: #fff; overflow: hidden; }
.card__img { position: relative; display: block; width: 100%; height: 100%; }
.card__img-hover { position: absolute; inset: 0; opacity: 0; background: #fff; transition: opacity .25s; }
@media (hover: hover) { .card:hover .card__img-hover { opacity: 1; } }
.card__tools { position: absolute; top: 10px; right: 10px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
.list-btn { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--c-dark); display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 2px 8px rgba(26, 26, 26, .14); transition: transform .15s, color .15s, background .15s, opacity .15s; }
.list-btn:hover { color: var(--c-primary); }
.list-btn:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.list-btn--desejos[aria-pressed="true"] { color: var(--c-accent); }
.list-btn--desejos[aria-pressed="true"] .ico-heart { fill: currentColor; }
.list-btn--comparar[aria-pressed="true"] { background: var(--c-primary); color: #fff; }
.list-btn.is-busy { opacity: .5; pointer-events: none; }
.card__tools .list-btn--comparar, .card__qv { opacity: 0; transform: translateX(6px); }
.card__tools .list-btn[aria-pressed="true"] { opacity: 1; transform: none; }
@media (hover: hover) { .card:hover .card__tools .list-btn, .card:focus-within .card__tools .list-btn { opacity: 1; transform: none; } }
@media (hover: none) { .card__tools .list-btn--comparar:not([aria-pressed="true"]), .card__qv { display: none; } }
.list-btn--label { width: auto; height: 44px; padding: 0 14px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; box-shadow: none; font-size: 14px; font-weight: 700; }
.list-btn--label:hover { border-color: var(--c-dark); color: var(--c-dark); }
.list-btn--label.list-btn--comparar[aria-pressed="true"] { border-color: var(--c-primary); }
.card__rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--c-muted); }
.star-rating span::before, .star-rating::before { color: #F5A623; }
body .card .star-rating { float: none; margin: 0; font-size: 13px; }
.card__excerpt { display: none; margin: 0; font-size: 14px; color: var(--c-muted); line-height: 1.45; }
.card .added_to_cart { display: none !important; }

/* catálogo: por página e grade/lista */
.perpage select { height: 44px; padding: 0 36px 0 12px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; -webkit-appearance: none; appearance: none; font-size: 15px; font-weight: 600; color: var(--c-dark); cursor: pointer; }
.perpage { margin: 0; }
.view-toggle { display: inline-flex; border: 1.5px solid var(--c-border-strong); border-radius: 10px; overflow: hidden; }
.view-toggle button { width: 42px; height: 41px; border: 0; background: #fff; color: var(--c-muted); display: inline-flex; align-items: center; justify-content: center; }
.view-toggle button + button { border-left: 1.5px solid var(--c-border-strong); }
.view-toggle button[aria-pressed="true"] { background: var(--c-dark); color: #fff; }
.catalog.is-list ul.products { grid-template-columns: 1fr !important; }
.catalog.is-list .card { flex-direction: row; }
.catalog.is-list .card__media { width: 240px; height: auto; min-height: 230px; flex-shrink: 0; }
.catalog.is-list .card__body { padding: 20px 24px; }
.catalog.is-list .card__title { min-height: 0; font-size: 19px; }
.catalog.is-list .card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.catalog.is-list .card__footer { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; }
body .catalog.is-list ul.products li.card.product .button { width: auto; min-width: 220px; }

/* cabeçalho: conta e lista de desejos */
.account { position: relative; }
.account__menu { position: absolute; top: calc(100% + 10px); right: 0; z-index: 70; width: 260px; padding: 16px; display: none; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: 0 24px 48px rgba(26, 26, 26, .14); }
.account__menu::before { content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
@media (hover: hover) { .account:hover .account__menu { display: flex; } }
.account:focus-within .account__menu { display: flex; }
.account__hello { margin: 0 0 6px; font-size: 14px; color: var(--c-muted); }
.account__menu > a:not(.btn) { padding: 8px 10px; border-radius: 8px; color: var(--c-dark); font-size: 15px; font-weight: 600; }
.account__menu > a:not(.btn):hover { background: var(--c-light); }
.account__menu .btn { width: 100%; }
.account__menu .account__logout { color: var(--c-accent); }
.wl-link { position: relative; }
.wl-count { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border: 2px solid #fff; border-radius: 11px; background: var(--c-accent); color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.wl-count.is-empty { display: none; }

/* gaveta (mini-carrinho) */
.drawer { position: fixed; inset: 0; z-index: 300; }
.drawer[hidden] { display: none; }
.drawer__overlay { position: absolute; inset: 0; background: rgba(26, 26, 26, .45); animation: fade .2s; }
.drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100%); display: flex; flex-direction: column; background: #fff; box-shadow: -12px 0 40px rgba(0, 0, 0, .15); animation: slide-in .25s ease; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--c-border); }
.drawer__head h2 { font-size: 20px; }
.drawer__close, .modal__close { width: 40px; height: 40px; border: 0; border-radius: 10px; background: var(--c-light); color: var(--c-dark); display: inline-flex; align-items: center; justify-content: center; }
.drawer .widget_shopping_cart_content { flex: 1; min-height: 0; overflow-y: auto; padding: 0 20px 20px; }
body .drawer ul.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
body .drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item { position: relative; margin: 0; padding: 14px 36px 14px 78px; min-height: 92px; border-bottom: 1px solid var(--c-border); font-size: 14px; list-style: none; }
body .drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img { position: absolute; top: 14px; left: 0; float: none; width: 64px; height: 64px; margin: 0; object-fit: contain; border-radius: 10px; background: #fff; }
body .drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove) { display: block; color: var(--c-dark); font-weight: 600; line-height: 1.3; }
body .drawer ul.woocommerce-mini-cart li .variation { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 4px 0 0; padding: 0; border: 0; font-size: 13px; color: var(--c-muted); }
body .drawer ul.woocommerce-mini-cart li .variation dt, body .drawer ul.woocommerce-mini-cart li .variation dd { float: none; margin: 0; padding: 0; }
body .drawer ul.woocommerce-mini-cart li .variation p { margin: 0; }
body .drawer ul.woocommerce-mini-cart li .quantity { display: block; margin-top: 6px; color: var(--c-muted); }
body .drawer ul.woocommerce-mini-cart li .quantity .amount { color: var(--c-dark); font-weight: 700; }
body .drawer ul.woocommerce-mini-cart li a.remove { position: absolute; top: 12px; right: 0; left: auto; width: 28px; height: 28px; border-radius: 50%; color: var(--c-muted) !important; font-size: 20px; line-height: 27px; text-align: center; }
body .drawer ul.woocommerce-mini-cart li a.remove:hover { background: var(--c-accent-soft); color: var(--c-accent) !important; }
.drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0; padding: 16px 0; font-size: 17px; border: 0; }
.drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.drawer .woocommerce-mini-cart__buttons .btn { width: 100%; }
.drawer .woocommerce-mini-cart__empty-message { margin: 0; padding: 48px 0; text-align: center; color: var(--c-muted); }
.ship-bar { margin: 16px 0 4px; padding: 14px 16px; border-radius: 12px; background: var(--c-primary-soft); color: var(--c-dark); font-size: 14px; }
.ship-bar p { margin: 0 0 8px; }
.ship-bar__track { display: block; height: 8px; border-radius: 4px; background: #fff; overflow: hidden; }
.ship-bar__track span { display: block; height: 100%; border-radius: 4px; background: var(--c-primary); transition: width .4s; }
.ship-bar.is-done { background: var(--c-ok-soft); }
.ship-bar.is-done .ship-bar__track span { background: var(--c-ok); }
.mini-cross { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--c-border); }
.mini-cross__title { margin: 0 0 8px; font-weight: 700; }
.mini-cross__item { display: grid; grid-template-columns: 52px minmax(0, 1fr) 36px; gap: 10px; align-items: center; padding: 8px 0; }
.mini-cross__item img { width: 52px; height: 52px; object-fit: contain; border-radius: 8px; border: 1px solid var(--c-border); background: #fff; }
.mini-cross__text { display: flex; flex-direction: column; font-size: 14px; line-height: 1.3; }
.mini-cross__text a { color: var(--c-dark); font-weight: 600; }
.mini-cross__price { font-size: 13px; font-weight: 700; }
.mini-cross__price .price-from { font-weight: 400; color: var(--c-muted); }
.mini-cross__add { width: 36px; height: 36px; border-radius: 50%; background: var(--c-dark); color: #fff; font-size: 20px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.mini-cross__add:hover { color: #fff; background: #000; }
.mini-cross .added_to_cart { display: none; }

/* barra de comparação */
.compare-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; border-top: 1px solid var(--c-border); box-shadow: 0 -10px 30px rgba(26, 26, 26, .10); }
.compare-bar[hidden] { display: none; }
.compare-bar__inner { display: flex; align-items: center; gap: 20px; min-height: 84px; }
.compare-bar__title { font-family: var(--font-display); font-weight: 700; white-space: nowrap; }
.compare-bar__items { flex: 1; display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.compare-bar__slot { position: relative; width: 60px; height: 60px; border: 1px solid var(--c-border); border-radius: 10px; background: #fff; }
.compare-bar__slot.is-empty { border-style: dashed; background: #fff; }
.compare-bar__slot img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.compare-bar__remove { position: absolute; top: -8px; right: -8px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: var(--c-dark); color: #fff; font-size: 14px; line-height: 22px; }
.compare-bar__actions { display: flex; align-items: center; gap: 14px; }
.compare-bar__clear { border: 0; background: none; color: var(--c-muted); font-weight: 700; text-decoration: underline; }
.btn.is-disabled { opacity: .45; pointer-events: none; }
body.has-compare { padding-bottom: 84px; }
.single-product .compare-bar { display: none; }
body.single-product.has-compare { padding-bottom: 0; }

/* páginas: lista de desejos e comparação */
.content-page--wide .page__title { margin-bottom: 20px; }
.list-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.list-toolbar__count { margin: 0; color: var(--c-muted); }
.list-toolbar__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.list-grid ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.list-grid .card.is-removing { opacity: 0; transform: scale(.96); transition: opacity .2s, transform .2s; }
.compare-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.switch { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; cursor: pointer; }
.switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.switch__ui { position: relative; width: 44px; height: 26px; border-radius: 13px; background: var(--c-on-dark); transition: background .2s; }
.switch__ui::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.switch input:checked + .switch__ui { background: var(--c-primary); }
.switch input:checked + .switch__ui::after { transform: translateX(18px); }
.switch input:focus-visible + .switch__ui { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.compare-scroll { overflow-x: auto; border: 1px solid var(--c-border); border-radius: 18px; }
.compare-table { width: 100%; min-width: calc(180px + var(--cols) * 240px); border-collapse: collapse; table-layout: fixed; }
.compare-table th[scope="row"] { position: sticky; left: 0; z-index: 1; width: 180px; padding: 14px 16px; background: var(--c-surface); color: var(--c-muted); font-size: 14px; font-weight: 700; text-align: left; vertical-align: top; }
.compare-table td { padding: 14px 16px; border-left: 1px solid var(--c-border); font-size: 15px; vertical-align: top; }
.compare-table tbody tr td, .compare-table tbody tr th { border-top: 1px solid var(--c-border); }
.compare-table.is-diff tr[data-same="1"] { display: none; }
.compare-table .price { font-family: var(--font-display); font-size: 20px; font-weight: 700; }
.compare-table .price del { font-family: var(--font-body); font-size: 14px; font-weight: 400; color: var(--c-subtle); }
.compare-table .price ins { text-decoration: none; }
.compare-table .price-from { display: block; font-family: var(--font-body); font-size: 12px; font-weight: 400; color: var(--c-muted); }
.compare-na { color: var(--c-gray); }
.compare-product { position: relative; display: flex; flex-direction: column; gap: 10px; }
.compare-product img { width: 100%; height: 180px; object-fit: contain; border-radius: 12px; border: 1px solid var(--c-border); background: #fff; }
.compare-product__name { color: var(--c-dark); font-weight: 700; line-height: 1.3; }
.compare-product__remove { position: absolute; top: 6px; right: 6px; z-index: 1; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(26, 26, 26, .15); font-size: 18px; line-height: 30px; }
.compare-product .button { display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 12px; background: var(--c-dark); color: #fff; font-weight: 700; }
.compare-product .added_to_cart { display: none; }

/* modal: visualização rápida */
.modal { position: fixed; inset: 0; z-index: 310; display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal[hidden] { display: none; }
.modal__overlay { position: absolute; inset: 0; background: rgba(26, 26, 26, .5); animation: fade .2s; }
.modal__panel { position: relative; width: min(980px, 100%); max-height: calc(100vh - 48px); padding: 28px; overflow-y: auto; background: #fff; border-radius: 20px; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); animation: pop .2s ease; }
.modal__close { position: absolute; top: 14px; right: 14px; z-index: 2; }
.modal.is-loading .modal__content { display: flex; align-items: center; justify-content: center; min-height: 360px; }
.modal.is-loading .modal__content::before { content: ''; width: 32px; height: 32px; border: 3px solid var(--c-border); border-top-color: var(--c-primary); border-radius: 50%; animation: spin .7s linear infinite; }
.qv { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.qv__main img { width: 100%; height: 420px; object-fit: contain; border-radius: 16px; border: 1px solid var(--c-border); background: #fff; }
.qv__thumbs { display: flex; gap: 8px; margin-top: 10px; }
.qv__thumb { width: 64px; height: 64px; padding: 0; border: 2px solid var(--c-border); border-radius: 10px; background: #fff; overflow: hidden; }
.qv__thumb img { width: 100%; height: 100%; object-fit: contain; }
.qv__thumb.is-active { border-color: var(--c-primary); }
.qv__summary { display: flex; flex-direction: column; gap: 12px; padding-right: 36px; }
.qv__title { font-size: 26px; }
.qv__title a { color: var(--c-dark); }
.qv .price { margin: 0; font-family: var(--font-display); font-size: 26px; font-weight: 700; color: var(--c-dark); }
.qv__excerpt { color: var(--c-muted); font-size: 15px; }
.qv__excerpt p { margin: 0; }
.qv__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 4px; }
.qv__more { margin-left: auto; font-weight: 700; }

/* avisos */
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 400; max-width: calc(100% - 32px); display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 12px; background: var(--c-dark); color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 12px 32px rgba(0, 0, 0, .25); transform: translateX(-50%); animation: rise .2s ease; }
.toast[hidden] { display: none; }
.toast a { color: #fff; text-decoration: underline; white-space: nowrap; }
body.has-compare .toast { bottom: 100px; }

/* página do produto */
.single-product div.product { position: relative; }
.single-product .product-media > .onsale { position: absolute; top: 16px; left: 16px; z-index: 5; margin: 0; }
.single-product div.product .woocommerce-product-gallery { position: relative; float: none; width: auto; margin: 0; min-width: 0; opacity: 1 !important; }
.woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery__wrapper { border-radius: 20px; background: #fff; }
.woocommerce-product-gallery__image .zoomImg { background: #fff; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
body.single-product div.product div.images .flex-control-thumbs li { float: none; width: auto; margin: 0; }
.woocommerce-product-gallery .flex-control-thumbs img { width: 100%; aspect-ratio: 1; object-fit: contain; border: 2px solid var(--c-border); border-radius: 12px; background: #fff; opacity: 1; cursor: pointer; transition: opacity .15s, border-color .15s; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--c-primary); }
body .woocommerce-product-gallery__trigger { position: absolute; top: 16px; right: 16px; z-index: 4; width: 42px; height: 42px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") no-repeat center; box-shadow: 0 2px 10px rgba(26, 26, 26, .15); font-size: 0; }
body .woocommerce-product-gallery__trigger::before, body .woocommerce-product-gallery__trigger::after, .woocommerce-product-gallery__trigger > span[aria-hidden] { display: none; }
.single-product div.product .summary { display: flex; flex-direction: column; gap: 14px; float: none; width: auto; margin: 0; }
.product-brand { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-primary); }
.single-product .summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }
body.single-product div.product .summary > p.price, body.single-product div.product .summary > span.price { margin: 0; color: var(--c-dark); font-family: var(--font-display); font-size: 34px; font-weight: 700; }
.single-product .summary > .price .price-from { font-family: var(--font-body); font-size: 15px; font-weight: 400; color: var(--c-muted); }
.single-product .summary > .price del { font-family: var(--font-body); font-size: 18px; font-weight: 400; color: var(--c-subtle); }
.single-product .summary > .price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--c-muted); font-size: 16px; }
.woocommerce-product-details__short-description p { margin: 0 0 8px; }
.woocommerce-product-details__short-description ul { margin: 0 0 8px; padding-left: 20px; }
body div.product form.cart { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 4px 0 0; }
body div.product form.cart:not(.variations_form):not(.grouped_form) { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
body div.product form.cart table.variations { width: 100%; margin: 0 !important; border: 0; }
body div.product form.cart table.variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
body div.product form.cart table.variations th, body div.product form.cart table.variations td { display: block; padding: 0; border: 0; text-align: left; line-height: 1.3; }
body div.product form.cart table.variations th label { font-size: 14px; font-weight: 700; }
body div.product form.cart table.variations select { height: 44px; min-width: 220px; padding: 0 12px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; }
.has-swatches { position: relative; }
body div.product form.cart table.variations td.has-swatches { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body div.product form.cart table.variations td.has-swatches .reset_variations { margin: 0; }
body div.product form.cart table.variations .has-swatches select, body .variations .has-swatches select { position: absolute; top: 0; left: 0; width: 1px; min-width: 0; max-width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; overflow: hidden; clip-path: inset(50%); pointer-events: none; }
.swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.swatch { min-width: 48px; height: 42px; padding: 0 14px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff; color: var(--c-dark); font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s; }
.swatch:hover { border-color: var(--c-dark); }
.swatch[aria-checked="true"] { border: 2px solid var(--c-primary); background: var(--c-primary-soft); color: var(--c-primary-dark); }
.swatch:disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.swatch:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
body div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; }
.single-product .summary .woocommerce-variation-price { display: none; }
.woocommerce-variation-availability .stock, .woocommerce-variation-description { margin: 0; font-size: 14px; }
body div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.quantity { display: inline-flex; }
.qty-stepper { display: inline-flex; align-items: center; height: 54px; border: 1.5px solid var(--c-border-strong); border-radius: 12px; overflow: hidden; background: #fff; }
.qty-stepper button { width: 42px; height: 100%; border: 0; background: none; color: var(--c-dark); font-size: 20px; font-weight: 700; }
.qty-stepper button:hover { background: var(--c-light); }
body .qty-stepper input.qty { width: 48px; height: 100%; padding: 0; border: 0; text-align: center; font-size: 16px; font-weight: 700; -moz-appearance: textfield; }
.qty-stepper input::-webkit-outer-spin-button, .qty-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.single-product div.product form.cart .single_add_to_cart_button, .qv form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; height: 54px; margin: 0; padding: 0 24px; border: 0; border-radius: 12px; background: var(--c-primary); color: #fff; font-family: var(--font-body); font-size: 17px; font-weight: 700; float: none; }
body.single-product div.product form.cart .single_add_to_cart_button:hover, .qv form.cart .single_add_to_cart_button:hover { background: var(--c-primary-dark); color: #fff; }
.single_add_to_cart_button.is-loading { opacity: .7; pointer-events: none; }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.product-actions__wa { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: var(--c-ok); font-size: 14px; font-weight: 700; }
.product-trust { display: flex; flex-direction: column; gap: 10px; margin: 4px 0 0; padding: 16px; list-style: none; border-radius: var(--radius); background: var(--c-light); font-size: 14px; }
.product-trust li { display: flex; align-items: center; gap: 10px; }
.product-trust svg { flex-shrink: 0; color: var(--c-primary); }
.single-product .product_meta { display: flex; flex-direction: column; gap: 4px; padding-top: 14px; border-top: 1px solid var(--c-border); color: var(--c-muted); font-size: 14px; }
.single-product .product_meta > span { display: block; }
.single-product .product_meta a { color: var(--c-dark); }
.single-product .woocommerce-tabs { margin-top: 48px; }
.single-product .woocommerce-Tabs-panel { max-width: 880px; font-size: 16px; line-height: 1.65; }
body .single-product table.shop_attributes, body.single-product table.shop_attributes { width: 100%; border: 0; border-collapse: collapse; }
body.single-product table.shop_attributes th { width: 220px; padding: 12px 16px; border: 0; background: var(--c-surface); font-weight: 700; text-align: left; }
body.single-product table.shop_attributes td { padding: 12px 16px; border: 0; font-style: normal; }
body.single-product table.shop_attributes tr + tr th, body.single-product table.shop_attributes tr + tr td { border-top: 1px solid var(--c-border); }
body.single-product table.shop_attributes td p { margin: 0; padding: 0; }
.single-product section.up-sells, .single-product section.related { grid-column: 1 / -1; margin-top: 56px; }
.single-product section.up-sells > h2, .single-product section.related > h2, .cross-sells > h2 { margin-bottom: 20px; font-size: 28px; }
.buy-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: #fff; border-top: 1px solid var(--c-border); box-shadow: 0 -10px 30px rgba(26, 26, 26, .10); transform: translateY(110%); transition: transform .25s ease; }
.buy-bar.is-visible { transform: none; }
.buy-bar__inner { display: flex; align-items: center; gap: 16px; min-height: 76px; }
.buy-bar__inner img { width: 52px; height: 52px; object-fit: contain; border: 1px solid var(--c-border); border-radius: 10px; background: #fff; }
.buy-bar__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.buy-bar__name { overflow: hidden; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.buy-bar__price { font-family: var(--font-display); font-weight: 700; }
.buy-bar__price .price-from { font-family: var(--font-body); font-size: 12px; font-weight: 400; color: var(--c-muted); }
.buy-bar__price del { font-size: 13px; font-weight: 400; color: var(--c-subtle); }
.buy-bar__price ins { text-decoration: none; }

/* formulários do WooCommerce (checkout, conta, avaliações) */
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; line-height: 1.3; }
.woocommerce form .form-row .required { color: var(--c-accent); text-decoration: none; }
body .woocommerce form .form-row input.input-text, body .woocommerce form .form-row textarea, body .woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text, #review_form textarea, #review_form input[type="text"], #review_form input[type="email"], .coupon input.input-text { width: 100%; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff; color: var(--c-dark); font-size: 15px; line-height: 1.4; }
body .woocommerce form .form-row input.input-text:focus, body .woocommerce form .form-row textarea:focus, .coupon input.input-text:focus { outline: 0; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0, 139, 232, .15); }
body .select2-container--default .select2-selection--single { height: 48px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; }
body .select2-container--default .select2-selection--single .select2-selection__rendered { height: 100%; padding: 0 36px 0 14px; line-height: 45px; font-size: 15px; color: var(--c-dark); } /* sem o padding de 8px de fora, que empurrava o texto para baixo */
body .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-billing-fields__field-wrapper > *, .woocommerce-shipping-fields__field-wrapper > *, .woocommerce-address-fields__field-wrapper > *, .woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { grid-column: auto; float: none; width: auto; }
body .woocommerce-notices-wrapper .woocommerce-message, body .woocommerce-notices-wrapper .woocommerce-info, body .woocommerce-notices-wrapper .woocommerce-error, body .woocommerce-message, body .woocommerce-info, body .woocommerce-error { margin: 0 0 20px; padding: 14px 16px 14px 44px; border: 0; border-radius: 12px; background: var(--c-primary-soft); color: var(--c-dark); font-size: 15px; list-style: none; }
body .woocommerce-message { background: var(--c-ok-soft); }
body .woocommerce-error { background: var(--c-accent-soft); }
body .woocommerce-message::before, body .woocommerce-info::before, body .woocommerce-error::before { top: 14px; left: 16px; color: var(--c-primary); }
body .woocommerce-message::before { color: var(--c-ok); }
body .woocommerce-error::before { color: var(--c-accent-dark); }
body .woocommerce-message .button, body .woocommerce-info .button { float: right; padding: 8px 14px; border-radius: 10px; background: var(--c-dark); color: #fff; font-size: 14px; }
/* Checkout: cupom compacto (convite em faixa tracejada; formulário em uma linha) */
body .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 0 12px; padding: 13px 16px 13px 46px; border: 1.5px dashed var(--c-primary-light); background: var(--c-primary-faint); font-size: 15px; }
body .woocommerce-form-coupon-toggle .woocommerce-info::before { content: ""; top: 50%; left: 16px; width: 20px; height: 20px; transform: translateY(-50%); background: var(--c-primary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat; }
body .woocommerce-form-coupon-toggle .showcoupon { margin-left: 4px; color: var(--c-primary); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body .woocommerce form.checkout_coupon { display: flex; align-items: stretch; gap: 10px; max-width: 560px; margin: 0 0 28px; padding: 14px; border: 1px solid var(--c-border); border-radius: 14px; background: var(--c-surface); }
body .woocommerce form.checkout_coupon .form-row { float: none; width: auto; margin: 0; padding: 0; }
body .woocommerce form.checkout_coupon .form-row-first { flex: 1; min-width: 0; }
body .woocommerce form.checkout_coupon .clear { display: none; }
body .woocommerce form.checkout_coupon .button { height: 48px; padding: 0 22px; border-radius: 10px; background: var(--c-primary); color: #fff; font-size: 15px; font-weight: 700; white-space: nowrap; }
body .woocommerce form.checkout_coupon .button:hover { background: var(--c-primary-dark); }
@media (max-width: 520px) {
	body .woocommerce form.checkout_coupon { flex-direction: column; }
	body .woocommerce form.checkout_coupon .button { width: 100%; }
}

/* carrinho */
.woocommerce-cart .content-page .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px 40px; align-items: start; }
.woocommerce-cart .content-page .woocommerce > * { grid-column: 1 / -1; min-width: 0; }
.woocommerce-cart .content-page .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .content-page .woocommerce > .cart-collaterals { grid-column: 2; position: sticky; top: calc(var(--header-h, 146px) + 24px); }
.woocommerce-cart .ship-bar { margin: 0; }
body .woocommerce table.shop_table { border: 1px solid var(--c-border); border-radius: 18px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
body .woocommerce table.shop_table th { padding: 14px 16px; background: var(--c-surface); font-size: 14px; font-weight: 700; }
body .woocommerce table.shop_table td { padding: 16px; border-top: 1px solid var(--c-border); vertical-align: middle; }
body .woocommerce table.cart img { width: 72px; height: 72px; object-fit: contain; border-radius: 10px; border: 1px solid var(--c-border); background: #fff; }
body .woocommerce table.cart td.product-name a { color: var(--c-dark); font-weight: 700; }
body .woocommerce table.cart td.product-name .variation { margin: 4px 0 0; font-size: 13px; color: var(--c-muted); }
body .woocommerce table.cart td.product-name .variation dt, body .woocommerce table.cart td.product-name .variation dd { float: none; display: inline; margin: 0; }
body .woocommerce table.cart td.product-name .variation dd p { display: inline; margin: 0; }
body .woocommerce table.cart a.remove { width: 30px; height: 30px; border-radius: 50%; color: var(--c-muted) !important; font-size: 20px; line-height: 29px; }
body .woocommerce table.cart a.remove:hover { background: var(--c-accent-soft); color: var(--c-accent) !important; }
body .woocommerce table.cart td.actions { background: #fff; }
.woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; float: none; max-width: 420px; }
.woocommerce table.cart td.actions .coupon label { display: none; }
body .woocommerce table.cart td.actions .button { height: 48px; padding: 0 18px; border-radius: 10px; background: var(--c-light); color: var(--c-dark); font-weight: 700; }
body .woocommerce table.cart td.actions button[name="update_cart"] { float: right; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: auto; padding: 24px; border: 1px solid var(--c-border); border-radius: 18px; }
.woocommerce .cart-collaterals .cart_totals h2 { margin-bottom: 14px; font-size: 20px; }
body .woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0; border-radius: 0; }
body .woocommerce .cart-collaterals .cart_totals table.shop_table th, body .woocommerce .cart-collaterals .cart_totals table.shop_table td { padding: 12px 0; background: none; }
body .woocommerce .cart-collaterals .cart_totals .order-total td { font-family: var(--font-display); font-size: 22px; }
body .woocommerce .wc-proceed-to-checkout { padding: 16px 0 0; }
body .woocommerce .wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; height: 56px; margin: 0; border-radius: 12px; background: var(--c-primary); color: #fff; font-size: 17px; font-weight: 700; }
body .woocommerce .wc-proceed-to-checkout a.checkout-button:hover { background: var(--c-primary-dark); }
.woocommerce .cross-sells { float: none; width: auto; }
body .woocommerce .cart-empty { padding: 40px 16px 40px 48px; font-size: 17px; }
.woocommerce-cart .return-to-shop .button { height: 48px; display: inline-flex; align-items: center; padding: 0 20px; border-radius: 12px; background: var(--c-primary); color: #fff; font-weight: 700; }

/* checkout + order bump */
.woocommerce-checkout .content-page form.checkout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 40px; align-items: start; }
.woocommerce-checkout .content-page form.checkout > * { grid-column: 1; min-width: 0; }
.woocommerce-checkout .content-page form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin-bottom: 14px; font-size: 20px; }
.woocommerce-checkout .content-page form.checkout > #customer_details { grid-row: 1 / span 20; }
.woocommerce-checkout .content-page form.checkout > #order_review { grid-column: 2; grid-row: 2 / span 19; position: sticky; top: calc(var(--header-h, 146px) + 24px); padding: 24px; border: 1px solid var(--c-border); border-radius: 18px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
.woocommerce-checkout h3 { margin: 0 0 16px; font-size: 20px; }
.woocommerce-checkout-review-order-table { width: 100%; }
body .woocommerce-checkout #order_review table.shop_table { border: 0; border-radius: 0; }
body .woocommerce-checkout #order_review table.shop_table th, body .woocommerce-checkout #order_review table.shop_table td { padding: 10px 0; background: none; }
body .woocommerce-checkout #order_review .order-total td { font-family: var(--font-display); font-size: 22px; }
body .woocommerce-checkout #payment { border-radius: 14px; background: var(--c-light); }
body .woocommerce-checkout #payment ul.payment_methods { padding: 16px; border-bottom: 1px solid var(--c-border); }
body .woocommerce-checkout #payment div.payment_box { border-radius: 10px; background: #fff; color: var(--c-dark); }
body .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
body .woocommerce-checkout #payment #place_order { width: 100%; height: 56px; float: none; border-radius: 12px; background: var(--c-primary); color: #fff; font-size: 17px; font-weight: 700; }
body .woocommerce-checkout #payment #place_order:hover { background: var(--c-primary-dark); }
.bump { margin: 18px 0; padding: 14px 16px 16px; border: 2px dashed var(--c-accent); border-radius: 16px; background: var(--c-accent-soft); transition: background .2s, border-color .2s; }
.bump.is-on { border-style: solid; border-color: var(--c-ok); background: var(--c-ok-soft); }
.bump.is-loading { opacity: .6; pointer-events: none; }
.bump__tag { display: inline-block; margin-bottom: 10px; padding: 3px 10px; border-radius: 999px; background: var(--c-accent); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bump.is-on .bump__tag { background: var(--c-ok); }
.bump__body { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: start; }
.bump__body img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; background: #fff; }
.bump__check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.35; cursor: pointer; }
.bump__check input { width: 20px; height: 20px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--c-ok); }
.bump__variation { max-width: 100%; height: 40px; margin: 8px 0 0; padding: 0 10px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff; }
.bump__price { margin: 8px 0 0; color: var(--c-muted); font-size: 14px; }
.bump__price strong { color: var(--c-dark); font-size: 16px; }
.bump__price del { margin-right: 4px; }

/* minha conta */
.woocommerce-account .woocommerce form .button { height: 48px; padding: 0 22px; border-radius: 12px; background: var(--c-primary); color: #fff; font-weight: 700; }
.woocommerce-account .content-page .woocommerce:has(.woocommerce-MyAccount-navigation)::before, .woocommerce-account .content-page .woocommerce:has(.woocommerce-MyAccount-navigation)::after { content: none; }
.woocommerce-account .content-page .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 12px; list-style: none; border: 1px solid var(--c-border); border-radius: 18px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--c-dark); font-weight: 600; }
.woocommerce-MyAccount-navigation a:hover { background: var(--c-light); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--c-dark); color: #fff; }

/* barra inferior do celular */
.bottom-nav { display: none; }

@media (max-width: 1100px) {
	.woocommerce-cart .content-page .woocommerce, .woocommerce-checkout .content-page form.checkout { grid-template-columns: 1fr; }
	.woocommerce-cart .content-page .woocommerce > .cart-collaterals, .woocommerce-checkout .content-page form.checkout > #order_review_heading, .woocommerce-checkout .content-page form.checkout > #order_review, .woocommerce-checkout .content-page form.checkout > #customer_details { grid-column: 1; grid-row: auto; position: static; }
	.list-grid ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.qv { grid-template-columns: 1fr; gap: 20px; }
	.qv__main img { height: 280px; }
	.qv__summary { padding-right: 0; }
	.single-product div.product .summary { gap: 12px; }
}
@media (max-width: 768px) {
	.account, .wl-link { display: none; }
	.perpage, .view-toggle { display: none; }
	.catalog.is-list .card { flex-direction: column; }
	.catalog.is-list .card__media { width: auto; min-height: 0; height: 150px; }
	.catalog.is-list .card__excerpt { display: none; }
	.catalog.is-list .card__footer { flex-direction: column; align-items: stretch; }
	.list-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.card__media { height: 150px; }
	.card__tools { top: 6px; right: 6px; }
	.list-btn { width: 34px; height: 34px; }
	.bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: grid; grid-template-columns: repeat(5, 1fr); height: 64px; padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--c-border); }
	.bottom-nav a, .bottom-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 0; border: 0; background: none; color: var(--c-muted); font: 600 11px var(--font-body); }
	.bottom-nav [aria-current="page"] { color: var(--c-primary); }
	.bottom-nav__icon { position: relative; display: inline-flex; }
	.bottom-nav .wl-count { top: -6px; right: -12px; display: inline-flex; }
	.bottom-nav .wl-count.is-empty { display: none; }
	body { padding-bottom: 64px; }
	body.has-compare { padding-bottom: 136px; }
	.compare-bar, .buy-bar { bottom: 64px; }
	.compare-bar__title { display: none; }
	.compare-bar__inner { gap: 10px; min-height: 72px; }
	.compare-bar__slot { width: 46px; height: 46px; }
	.compare-bar__actions { gap: 8px; }
	.toast { bottom: 80px; }
	body.has-compare .toast { bottom: 150px; }
	.modal { align-items: flex-end; padding: 0; }
	.modal__panel { max-height: 92vh; padding: 20px 16px; border-radius: 20px 20px 0 0; }
	.buy-bar__inner { gap: 10px; min-height: 68px; }
	.buy-bar__inner img { display: none; }
	.buy-bar .btn--lg { height: 48px; padding: 0 16px; font-size: 15px; }
	.product-actions__wa { margin-left: 0; }
	.compare-table { min-width: calc(120px + var(--cols) * 170px); }
	.compare-table th[scope="row"] { width: 120px; padding: 12px; font-size: 13px; }
	.compare-table td { padding: 12px; font-size: 14px; }
	.compare-product img { height: 120px; }
	.compare-toolbar { flex-direction: column; align-items: flex-start; }
	body .woocommerce table.shop_table_responsive thead { display: none; }
	body .woocommerce table.shop_table_responsive tr { display: grid; grid-template-columns: 72px 1fr auto; gap: 4px 12px; padding: 14px; border-top: 1px solid var(--c-border); }
	body .woocommerce table.shop_table_responsive tr td { display: block; padding: 0; border: 0; text-align: left; }
	body .woocommerce table.shop_table_responsive tr td::before { content: none; }
	body .woocommerce table.cart td.product-thumbnail { grid-row: 1 / span 3; }
	body .woocommerce table.cart td.product-remove { grid-column: 3; grid-row: 1; }
	body .woocommerce table.cart td.product-name { grid-column: 2; grid-row: 1; }
	body .woocommerce table.cart td.product-price { display: none; }
	body .woocommerce table.cart td.product-quantity { grid-column: 2; }
	body .woocommerce table.cart td.product-subtotal { grid-column: 2 / -1; font-weight: 700; }
	body .woocommerce table.cart tr td.actions { display: flex; flex-direction: column; gap: 10px; grid-column: 1 / -1; }
	body .woocommerce table.cart td.actions button[name="update_cart"] { float: none; width: 100%; }
	.qty-stepper { height: 46px; }
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce-account .content-page .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; gap: 6px; padding: 6px; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
	.hero__grid { grid-template-columns: 1fr; gap: 32px; }
	.hero__panel { min-height: 420px; }
	.departments__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.clients__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.lista__panel { grid-template-columns: 1fr; padding: 40px; }
	.faq__grid { grid-template-columns: 1fr; gap: 24px; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
	.topbar__inner { justify-content: center; }
	.topbar__links { display: none; }
	.site-header__inner { flex-wrap: wrap; gap: 10px; min-height: 0; padding: 12px 0; }
	.nav-toggle { display: inline-flex; }
	.site-logo { margin-right: auto; }
	.site-logo img { height: 26px; }
	.search-box { order: 10; flex-basis: 100%; height: 46px; }
	.search__submit span { display: none; }
	.search__submit { padding: 0 14px; }
	.btn--quote, .btn--cart__label { display: none; }
	.btn--cart { width: 44px; height: 44px; padding: 0; }
	.icon-btn { width: 44px; height: 44px; }
	.deptnav { display: none; max-height: calc(100vh - 140px); overflow-y: auto; }
	.deptnav.is-open { display: block; }
	.deptnav__inner { flex-direction: column; gap: 0; padding: 4px 0 16px; }
	.mega__toggle, .deptnav__quick { display: none; }
	.deptnav__offers { order: -1; margin-left: 0; padding: 14px 0; border-bottom: 1px solid var(--c-border); }
	.mega__panel { display: block; position: static; border: 0; box-shadow: none; }
	.mega__inner { width: auto; padding: 0; }
	.mega__grid { grid-template-columns: 1fr; gap: 0; }
	.mega__col { padding: 12px 0; border-bottom: 1px solid var(--c-border); }
	.mega__footer { flex-direction: column; gap: 10px; margin-top: 12px; padding-top: 0; border-top: 0; }
	.suggest__item { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
	.suggest__item img { width: 44px; height: 44px; }
	.section { padding: 40px 0; }
	.hero { padding: 28px 0; }
	.hero__copy p { font-size: 16px; }
	.hero__actions .btn { width: 100%; }
	.hero__panel { min-height: 0; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
	.hero__arc { width: 120px; height: 120px; top: -30px; right: -30px; }
	.hero__arc::after { width: 82px; height: 82px; }
	.hero__mini { position: relative; z-index: 1; width: auto; padding: 10px; }
	.hero__mini img { width: 56px; height: 56px; }
	.hero__badge { position: relative; z-index: 1; right: auto; bottom: auto; width: auto; align-self: flex-start; }
	.hero__minis > .hero__mini:nth-child(n+3) { display: none; }
	.hero__minis { min-height: 0; padding: 0; gap: 10px; }
	.hero__minis > .hero__mini:nth-child(2) { margin-left: 0; }
	.trust__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.trust__item small { display: none; }
	.trust__icon { width: 40px; height: 40px; }
	.section__head { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 16px; }
	.departments__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.tile__media { height: 104px; }
	.tile__blurb { display: none; }
	ul.products { grid-template-columns: 1fr 1fr; gap: 12px; }
	.card__media { height: 150px; }
	.card__body { padding: 12px; }
	.card__title { font-size: 14px; min-height: 36px; }
	.card__opts { display: none; }
	.card .price { font-size: 20px; }
	.card .button { height: 44px; font-size: 14px; }
	.brands__inner { flex-direction: column; align-items: flex-start; gap: 12px; }
	.brands__viewport { width: 100%; }
	.lista__panel { padding: 24px 20px; border-radius: 20px; }
	.lista__form { padding: 20px; }
	.clients__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.clients__logo, .clients__more { height: 56px; }
	.clients__logo img { max-height: 36px; }
	.faq__item summary { font-size: 16px; padding: 16px 4px; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 24px; }
	.site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- Conversão: dica de pagamento e pagamento seguro ---------- */
.card__prices { display: flex; flex-direction: column; gap: 2px; }
body ul.products li.product .pay-hint strong { display: inline; }
.pay-hint { font-size: 13px; color: var(--c-muted); }
.pay-hint strong { color: var(--c-ok); }
.single-product .summary .pay-hint { font-size: 15px; }
.pay-hint-row td { font-size: 14px; }
.pay-secure { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0 12px; padding: 14px 16px; border: 1px solid var(--c-ok-line); border-radius: 14px; background: var(--c-ok-soft); }
.pay-secure svg { flex-shrink: 0; color: var(--c-ok); }
.pay-secure p { margin: 0; font-size: 13px; color: var(--c-muted); }
.pay-secure strong { display: block; margin-bottom: 2px; color: var(--c-dark); font-size: 15px; }
#payment .place-order .pay-secure { margin: 0 0 14px; }
.coupon-toggle { padding: 0; border: 0; background: none; color: var(--c-primary); font-size: 15px; font-weight: 700; text-decoration: underline; }

/* ---------- Departamentos: destaques estilo Instagram em carrossel automático ---------- */
.highlights { padding-bottom: 32px; }
.highlights .section__head { margin-bottom: 20px; }
.highlights__actions { display: flex; align-items: center; gap: 16px; }
.highlights__pause { width: 36px; height: 36px; border: 1.5px solid var(--c-border-strong); border-radius: 50%; background: #fff; color: var(--c-dark); display: inline-flex; align-items: center; justify-content: center; }
.highlights__pause .i-play, .highlights.is-paused .highlights__pause .i-pause { display: none; }
.highlights.is-paused .highlights__pause .i-play { display: block; }
.highlights__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.section__head > .highlights__actions { flex-direction: row; align-items: center; gap: 16px; }
.highlights__track { --gap: 36px; display: flex; gap: var(--gap); width: max-content; margin: 0; padding: 6px 0 8px; list-style: none; animation: highlights-roll calc(var(--n) * 5s) linear infinite; }
.highlights__viewport:hover .highlights__track, .highlights__viewport:focus-within .highlights__track, .highlights.is-paused .highlights__track { animation-play-state: paused; }
@keyframes highlights-roll { to { transform: translateX(calc(-25% - var(--gap) / 4)); } } /* 1 de 4 voltas */
.highlight { width: 128px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--c-dark); text-align: center; }
.highlight:hover { color: var(--c-primary); }
.highlight__ring { width: 116px; height: 116px; padding: 4px; border-radius: 50%; background: conic-gradient(from 200deg, var(--c-primary), var(--c-primary-light), var(--c-primary), var(--c-accent) 88%, var(--c-primary)); transition: transform .2s; }
.highlight__ring img { width: 100%; height: 100%; object-fit: cover; border: 3px solid #fff; border-radius: 50%; background: var(--c-light); }
.highlight:hover .highlight__ring { transform: scale(1.05); }
.highlight:focus-visible { outline: 0; }
.highlight:focus-visible .highlight__ring { outline: 3px solid var(--c-primary); outline-offset: 3px; }
.highlight__name { font-size: 14px; font-weight: 700; line-height: 1.25; }
@media (prefers-reduced-motion: reduce) {
	.highlights__track { animation: none; }
	.highlights__viewport { overflow-x: auto; }
	.highlights__track li[aria-hidden] { display: none; }
	.highlights__pause { display: none; }
}
@media (max-width: 768px) {
	.highlights__track { --gap: 18px; }
	.highlight { width: 86px; gap: 8px; }
	.highlight__ring { width: 78px; height: 78px; padding: 3px; }
	.highlight__ring img { border-width: 2px; }
	.highlight__name { font-size: 12px; }
	.highlights .section__head { flex-direction: row; align-items: flex-end; }
	.highlights .section__link { display: none; }
}
.bump__note { display: block; margin-top: 2px; font-size: 13px; }

/* ---------- Páginas legais (inspiradas nas do site atual) ---------- */
.legal { padding: 56px 0 80px; }
.legal__head { max-width: 896px; margin: 0 auto 48px; text-align: center; }
.legal__title { font-size: clamp(28px, 3.4vw, 42px); }
.legal__date { margin-top: 10px; color: var(--c-muted); font-size: 15px; }
.legal__layout { display: grid; grid-template-columns: minmax(0, 896px); justify-content: center; gap: 56px; }
.legal--toc .legal__layout { grid-template-columns: 240px minmax(0, 856px); }
.legal__toc { position: sticky; top: calc(var(--header-h, 146px) + 24px); align-self: start; max-height: calc(100vh - var(--header-h, 146px) - 48px); overflow-y: auto; padding: 18px; border: 1px solid var(--c-border); border-radius: 16px; font-size: 14px; }
.legal__toc p { margin: 0 0 10px; color: var(--c-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.legal__toc ol { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.legal__toc a { display: block; padding: 6px 8px; border-radius: 8px; color: var(--c-dark); line-height: 1.3; }
.legal__toc a:hover, .legal__toc a.is-active { background: var(--c-light); color: var(--c-primary); }
.legal__body { min-width: 0; color: var(--c-dark); font-size: 17px; line-height: 1.75; text-align: justify; hyphens: auto; }
.legal__body > :first-child { margin-top: 0; }
.legal__body p { margin: 0 0 16px; }
.legal__body section { margin: 0; }
.legal__body h2 { margin: 44px 0 14px; color: var(--c-dark); font-size: clamp(21px, 2vw, 25px); line-height: 1.25; text-align: left; }
.legal__body h2.is-centered { text-align: center; }
.legal__body h3 { margin: 26px 0 10px; color: var(--c-dark); font-size: 19px; text-align: left; }
.legal__body ul, .legal__body ol { margin: 0 0 16px; padding-left: 24px; }
.legal__body li { margin: 6px 0; }
.legal__body strong { color: var(--c-dark); }
.legal__body a, .legal__contact a { color: var(--c-primary); text-decoration: underline; text-underline-offset: 3px; }
.legal__body a[target="_blank"]:not(.doc-dl)::after { content: ''; display: inline-block; width: 13px; height: 13px; margin-left: 4px; background: currentColor; vertical-align: -1px; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") no-repeat center / contain; }
.legal__body .orgaos a::after { content: none !important; }
.legal__body table { width: 100%; margin: 20px 0 24px; border: 1px solid var(--c-border); border-radius: 14px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 15px; line-height: 1.5; text-align: left; }
.legal__body th, .legal__body td { padding: 12px 16px; vertical-align: top; }
.legal__body thead th { background: var(--c-surface); color: var(--c-muted); font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.legal__body tbody td, .legal__body tbody th { border-top: 1px solid var(--c-border); }
.docs-table td { vertical-align: middle; }
.docs-table td strong { display: block; }
.docs-table td span { display: block; color: var(--c-muted); font-size: 14px; }
.legal__body .docs-table__type { width: 76px; }
.legal__body .docs-table__dl { width: 140px; text-align: center; }
.legal__body .docs-table__dl .doc-dl + .doc-dl { margin-top: 6px; }
.legal__body .docs-table__dl .doc-dl { min-width: 118px; justify-content: center; }
.doc-ico { position: relative; display: inline-block; width: 44px; height: 44px; border-radius: 12px; background: var(--c-primary-soft); vertical-align: middle; }
.doc-ico::after { content: ''; position: absolute; inset: 11px; background: var(--c-primary); -webkit-mask: var(--ico) no-repeat center / contain; mask: var(--ico) no-repeat center / contain; }
.doc-ico--licenca { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpath d='M14 3v6h6M9 15l2 2 4-4'/%3E%3C/svg%3E"); }
.doc-ico--certificado { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='m8.5 14-1.5 7 5-3 5 3-1.5-7'/%3E%3C/svg%3E"); }
.doc-ico--empresa { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V7l7-4 7 4v14M9 21v-6h6v6M9 10h.01M15 10h.01'/%3E%3C/svg%3E"); }
.legal__body a.doc-dl { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border-radius: 10px; background: var(--c-primary); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.legal__body a.doc-dl:hover { background: var(--c-primary-dark); color: #fff; }
.doc-dl::before { content: ''; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain; }
.legal-box { margin: 24px 0; padding: 20px 24px; border-radius: 16px; background: var(--c-light); font-size: 16px; text-align: left; }
.legal-box p { margin: 0 0 6px; }
.legal-box p:last-child { margin-bottom: 0; }
.legal-box__note { color: var(--c-muted); font-size: 14px; }
.legal-box--disclaimer { margin-top: 40px; border: 1px solid var(--c-low-line); background: var(--c-low-soft); }
.legal-box--disclaimer h2 { margin: 0 0 10px; font-size: 20px; }
.orgaos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px 64px; margin: 24px 0 40px; }
.orgaos img { width: auto; height: 64px; filter: grayscale(1); opacity: .75; transition: filter .5s, opacity .5s; }
.orgaos a:hover img, .orgaos a:focus-visible img { filter: none; opacity: 1; }
.legal__contact { max-width: 896px; margin: 48px auto 0; padding-top: 24px; border-top: 1px solid var(--c-border); color: var(--c-muted); text-align: center; }
@media (max-width: 1100px) {
	.legal--toc .legal__layout { grid-template-columns: minmax(0, 896px); }
	.legal__toc { display: none; }
}
@media (max-width: 768px) {
	.legal { padding: 32px 0 56px; }
	.legal__head { margin-bottom: 28px; }
	.legal__body { font-size: 16px; text-align: left; }
	.legal__body .docs-table thead { display: none; }
	.legal__body .docs-table tr { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px 12px; padding: 14px; }
	.legal__body .docs-table tbody tr + tr { border-top: 1px solid var(--c-border); }
	.legal__body .docs-table td { width: auto; padding: 0; border: 0; }
	.legal__body .docs-table__dl { grid-column: 2; text-align: left; }
	.orgaos img { height: 48px; }
}

/* ---------- Minha conta: entrar/criar conta e painel ---------- */
.auth { max-width: 1080px; margin: 0 auto; }
.auth__head { margin-bottom: 32px; text-align: center; }
.auth__head h1 { margin: 8px 0 10px; font-size: clamp(30px, 3.4vw, 42px); }
.auth__head p { color: var(--c-muted); font-size: 17px; }
.auth__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.auth__grid--single { grid-template-columns: minmax(0, 480px); justify-content: center; }
.auth__card { display: flex; flex-direction: column; gap: 18px; padding: 32px; border: 1px solid var(--c-border); border-radius: 20px; background: #fff; }
.auth__card h2 { font-size: 24px; }
.auth__card--register { background: var(--c-primary-faint); border-color: var(--c-primary-line); }
.auth__card--register.is-highlight { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0, 139, 232, .15); }
body .woocommerce form.auth__form { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; border: 0; border-radius: 0; }
body .woocommerce form.auth__form .form-row { margin: 0; }
.auth__label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
body .woocommerce form .auth__label-row label { margin: 0; }
.auth__forgot { font-size: 14px; font-weight: 600; }
body .woocommerce form .auth__remember .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; cursor: pointer; }
body .woocommerce form .auth__remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--c-primary); }
body .auth .auth__form button.auth__submit { width: 100%; height: 52px; margin: 4px 0 0; padding: 0 20px; border: 0; border-radius: 12px; font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 1; }
body .auth .auth__form button.auth__submit--primary { background: var(--c-primary); color: #fff; }
body .auth .auth__form button.auth__submit--primary:hover { background: var(--c-primary-dark); color: #fff; }
body .auth .auth__form button.auth__submit--dark { background: var(--c-dark); color: #fff; }
body .auth .auth__form button.auth__submit--dark:hover { background: #000; color: #fff; }
.auth__benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; }
.auth__benefits li { display: flex; align-items: center; gap: 10px; }
.auth__benefits svg { flex-shrink: 0; padding: 6px; width: 32px; height: 32px; border-radius: 10px; background: #fff; color: var(--c-primary); box-shadow: 0 1px 4px rgba(26, 26, 26, .08); }
.auth__hint, .auth .woocommerce-privacy-policy-text p { margin: 0; color: var(--c-muted); font-size: 14px; line-height: 1.5; }
.auth__guest { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 18px 20px; border-radius: 16px; background: var(--c-light); }
.auth__guest svg { flex-shrink: 0; color: var(--c-primary); }
.auth__guest p { flex: 1; margin: 0; font-size: 15px; }
/* mostrar senha dentro do campo */
body .woocommerce form .password-input { position: relative; display: block; }
body .woocommerce form .password-input input.input-text { padding-right: 52px; }
body .woocommerce form .show-password-input { position: absolute; top: 50%; right: 6px; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; transform: translateY(-50%); cursor: pointer; }
body .woocommerce form .show-password-input::before { content: ''; display: block; width: 20px; height: 20px; margin: 0 auto; background: var(--c-muted); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain; }
body .woocommerce form .show-password-input.display-password::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.8 10.8 0 0 1 12 5c6.4 0 10 7 10 7a18 18 0 0 1-3.2 4.2M6.6 6.6C3.8 8.4 2 12 2 12s3.6 7 10 7a10 10 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.8 10.8 0 0 1 12 5c6.4 0 10 7 10 7a18 18 0 0 1-3.2 4.2M6.6 6.6C3.8 8.4 2 12 2 12s3.6 7 10 7a10 10 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E"); }
body .woocommerce form .show-password-input:hover { background: var(--c-light); }
body .woocommerce form .show-password-input:focus-visible { outline: 2px solid var(--c-primary); }
/* recuperar senha */
body .woocommerce form.lost_reset_password { max-width: 520px; margin: 0 auto; padding: 32px; border: 1px solid var(--c-border); border-radius: 20px; }
body .woocommerce form.lost_reset_password .form-row-first { width: 100%; }
body .woocommerce form.lost_reset_password button { width: 100%; height: 52px; border-radius: 12px; background: var(--c-primary); color: #fff; font-weight: 700; }
/* painel */
.dash { display: flex; flex-direction: column; gap: 24px; }
.dash__hello h2 { font-size: 28px; }
.dash__hello p { margin-top: 6px; color: var(--c-muted); }
.dash__last { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-radius: 18px; background: var(--c-primary-faint); border: 1px solid var(--c-primary-line); }
.dash__last-info { display: flex; flex-direction: column; gap: 4px; }
.dash__last-info strong { font-family: var(--font-display); font-size: 20px; }
.dash__last-info > span:last-child { color: var(--c-muted); font-size: 14px; }
.dash__status { color: var(--c-dark); font-weight: 700; }
.dash__last-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dash__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dash__card { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--c-border); border-radius: 16px; color: var(--c-dark); transition: border-color .15s, box-shadow .15s, transform .15s; }
.dash__card:hover { border-color: var(--c-primary); color: var(--c-dark); box-shadow: 0 8px 24px rgba(26, 26, 26, .08); transform: translateY(-1px); }
.dash__icon { flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px; background: var(--c-primary-soft); color: var(--c-primary); display: inline-flex; align-items: center; justify-content: center; }
.dash__text { display: flex; flex-direction: column; min-width: 0; }
.dash__text small { color: var(--c-muted); font-size: 13px; }
.dash__logout { margin: 0; color: var(--c-muted); font-size: 14px; }
@media (max-width: 900px) {
	.auth__grid { grid-template-columns: 1fr; }
	.dash__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
	.auth__head { margin-bottom: 20px; }
	.auth__card, body .woocommerce form.lost_reset_password { padding: 22px 18px; }
	.auth__benefits { grid-template-columns: 1fr; }
	.auth__guest { flex-direction: column; align-items: flex-start; }
	.auth__guest .btn { width: 100%; }
	.dash__grid { grid-template-columns: 1fr; }
	.dash__last-actions { width: 100%; }
	.dash__last-actions .btn { flex: 1 1 auto; }
}

/* ---------- Minha conta: seções internas (pedidos, pedido, endereços, dados) ---------- */
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { margin: 32px 0 14px; font-size: 22px; line-height: 1.25; }
.woocommerce-MyAccount-content form > h2:first-child, .woocommerce-MyAccount-content form > h3:first-child { margin-top: 0; }
.woocommerce-MyAccount-content > p:first-of-type { color: var(--c-muted); }
.woocommerce-MyAccount-content mark { padding: 0; background: none; color: var(--c-dark); font-weight: 700; }
.woocommerce-MyAccount-content mark.order-status, .status-badge { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--c-light); color: var(--c-dark); font-size: 13px; font-weight: 700; white-space: nowrap; }
.status-badge--completed { background: var(--c-ok-soft); color: var(--c-ok); }
.status-badge--processing { background: var(--c-primary-soft); color: var(--c-primary-dark); }
.status-badge--on-hold, .status-badge--pending { background: var(--c-low-soft); color: var(--c-low); }
.status-badge--cancelled, .status-badge--failed, .status-badge--refunded { background: var(--c-accent-soft); color: var(--c-accent-dark); }
body .woocommerce .woocommerce-MyAccount-content table.shop_table tbody th, body .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot th, body .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot td { background: none; }
body .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot th { color: var(--c-muted); font-weight: 600; }
body .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot tr:last-child th, body .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot tr:last-child td { color: var(--c-dark); font-size: 17px; font-weight: 700; }
body .woocommerce .woocommerce-MyAccount-content table.shop_table td.woocommerce-orders-table__cell-order-actions { text-align: right; }
body .woocommerce .woocommerce-MyAccount-content table.shop_table .button { display: inline-flex; align-items: center; height: 38px; margin: 0; padding: 0 16px; border-radius: 10px; background: var(--c-light); color: var(--c-dark); font-size: 14px; font-weight: 700; }
body .woocommerce .woocommerce-MyAccount-content table.shop_table .button:hover { background: var(--c-border-strong); }
.woocommerce-orders-table__cell-order-number a { font-weight: 700; }
body .woocommerce .woocommerce-MyAccount-content .order-again { margin: 20px 0 0; }
body .woocommerce .woocommerce-MyAccount-content .order-again .button { display: inline-flex; align-items: center; height: 48px; padding: 0 22px; border-radius: 12px; background: var(--c-primary); color: #fff; font-weight: 700; }
body .woocommerce .woocommerce-MyAccount-content .order-again .button:hover { background: var(--c-primary-dark); }
body .woocommerce .woocommerce-customer-details address { padding: 18px 20px; border: 1px solid var(--c-border); border-radius: 16px; font-style: normal; line-height: 1.6; }
body .woocommerce .woocommerce-customer-details .col2-set::before, body .woocommerce .woocommerce-customer-details .col2-set::after { content: none; }
body .woocommerce .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body .woocommerce .woocommerce-customer-details .col2-set .col-1, body .woocommerce .woocommerce-customer-details .col2-set .col-2 { float: none; width: auto; }
/* endereços */
.addr { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.addr__card { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid var(--c-border); border-radius: 16px; }
.addr__card.is-empty { border-style: dashed; background: var(--c-surface); }
.addr__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.woocommerce-MyAccount-content .addr__head h2 { margin: 0; font-size: 18px; }
.addr__edit { padding: 6px 12px; border-radius: 8px; background: var(--c-light); color: var(--c-dark); font-size: 14px; font-weight: 700; }
.addr__edit:hover { background: var(--c-border-strong); color: var(--c-dark); }
.addr address { margin: 0; font-style: normal; line-height: 1.6; }
.addr__empty { color: var(--c-muted); }
.addr__add { align-self: flex-start; margin-top: auto; }
/* dados da conta */
body .woocommerce .woocommerce-EditAccountForm fieldset { margin: 8px 0 20px; padding: 16px 20px 2px; border: 1px solid var(--c-border); border-radius: 16px; }
body .woocommerce .woocommerce-EditAccountForm legend { padding: 0 8px; font-family: var(--font-display); font-size: 17px; font-weight: 700; }
body .woocommerce .woocommerce-MyAccount-content .form-row em, #account_display_name_description { display: block; margin-top: 6px; color: var(--c-muted); font-size: 13px; font-style: normal; }
body .woocommerce .woocommerce-MyAccount-content form .button { margin-top: 4px; }
@media (max-width: 768px) {
	body .woocommerce .woocommerce-customer-details .col2-set { grid-template-columns: 1fr; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 14px 16px; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr td, body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr th { display: block; padding: 0; border: 0; text-align: right; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr td::before { content: attr(data-title); float: left; margin-right: 12px; color: var(--c-muted); font-size: 13px; font-weight: 600; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr th { text-align: left; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive tr > * { grid-column: 1 / -1; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before { content: none; }
	body .woocommerce .woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions .button { width: 100%; justify-content: center; }
}

/* ---------- Produto: redesenho (galeria fixa, compra acima da dobra, seções empilhadas) ---------- */
.single-product div.product { display: block; }
.single-product .product-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.single-product .product-media { position: relative; min-width: 0; align-self: start; }
@media (min-width: 993px) { .single-product .product-media { position: sticky; top: calc(var(--header-h, 120px) + 24px); } }
.single-product div.product div.images .flex-control-thumbs { grid-template-columns: repeat(auto-fill, 76px); gap: 10px; }
.single-product div.product div.images .flex-control-thumbs img { padding: 4px; }
.single-product div.product div.images .flex-viewport { border: 1px solid var(--c-border); }
.single-product div.product .summary { gap: 14px; }
.single-product div.product .summary > .product_title { margin: 0; line-height: 1.15; }
.single-product .summary .card__stock { margin-top: -4px; }
/* opções */
body div.product form.cart table.variations tr { margin-bottom: 6px; }
.swatch-chosen { color: var(--c-muted); font-weight: 600; }
.swatch { min-width: 64px; height: 46px; font-size: 15px; }
.choice-hint { margin: -4px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--c-accent-soft); color: var(--c-accent-dark); font-size: 14px; font-weight: 600; }
.needs-choice .swatches { animation: bp-shake .35s ease; }
@keyframes bp-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .needs-choice .swatches { animation: none; } }
body.single-product div.product form.cart .single_add_to_cart_button.disabled { opacity: 1; cursor: pointer; }
body.single-product div.product .summary form.cart { margin-bottom: 0; }
.single-product .summary > div:empty { display: none; }
body div.product form.cart .reset_variations { margin: 4px 0 0; color: var(--c-muted); }
body .summary form.cart .woocommerce-variation-availability { display: none; }
body div.product form.cart .single_variation_wrap { display: flex; flex-direction: column; gap: 10px; }
body div.product form.cart .single_variation:empty { display: none; }
/* frete (Correios) logo abaixo do botão */
.single-product .summary .infixs-correios-automatico-calculator, .single-product .summary [class*="infixs-correios-automatico-calculate"] { margin: 0; }
.single-product .summary input[name*="postcode" i], .single-product .summary input[id*="postcode" i], .single-product .summary input[placeholder*="CEP"] { min-height: 46px; border: 1.5px solid var(--c-border-strong) !important; border-radius: 10px !important; font-size: 15px; }
/* ações, garantias, resumo e metadados */
body .product-actions .list-btn--label { width: auto; height: 44px; padding: 0 14px; white-space: nowrap; }
.product-trust { gap: 12px; padding: 18px 20px; }
.single-product .summary .woocommerce-product-details__short-description { padding-top: 4px; font-size: 15px; line-height: 1.6; }
.single-product .product_meta .sku--pending { color: var(--c-muted); font-style: italic; }
.single-product .product_meta { flex-direction: row; flex-wrap: wrap; gap: 4px 20px; }
/* seções empilhadas no lugar das abas */
@media (max-width: 768px) {
	.woocommerce-breadcrumb { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
	.single-product .product-top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.single-product div.product form.cart .single_add_to_cart_button { min-width: 0; }
	.single-product div.product div.images .flex-control-thumbs { grid-template-columns: repeat(auto-fill, 60px); }
	.product-actions { gap: 8px; }
}

/* ---------- Rodapé no fim da tela em páginas curtas + página 404 ---------- */
body { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1 0 auto; }
.notfound { padding: 48px 0 72px; background: var(--c-light); }
.notfound__card { max-width: 760px; margin: 0 auto; padding: clamp(28px, 5vw, 48px); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); text-align: center; }
.notfound__code { margin: 0; font-family: var(--font-display); font-size: clamp(72px, 12vw, 120px); font-weight: 800; line-height: 1; letter-spacing: -.04em; color: var(--c-primary); }
.notfound h1 { margin: 8px 0 12px; font-size: clamp(28px, 4vw, 40px); }
.notfound__lead { margin: 0 auto 20px; color: var(--c-muted); font-size: 17px; }
.notfound__redirect { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; margin: 0 auto 28px; padding: 10px 18px; border: 1px solid var(--c-primary-line); border-radius: 999px; background: var(--c-primary-faint); font-size: 14px; }
.notfound__redirect a { font-weight: 700; }
.notfound__redirect button { padding: 0; border: 0; background: none; color: var(--c-muted); font: inherit; text-decoration: underline; }
.notfound__redirect button:hover { color: var(--c-dark); }
.notfound__search { display: flex; gap: 10px; max-width: 560px; margin: 0 auto 36px; }
.notfound__search input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 2px solid var(--c-dark); border-radius: 12px; font-size: 16px; }
.notfound__search input:focus { outline: 0; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0, 139, 232, .15); }
.notfound__search .btn { height: 52px; padding: 0 24px; }
.notfound__label { margin: 0 0 12px; font-size: 14px; font-weight: 700; }
.notfound__deps { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 32px; padding: 0; list-style: none; }
.notfound__deps a { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1.5px solid var(--c-border-strong); border-radius: 999px; color: var(--c-dark); font-size: 14px; font-weight: 600; }
.notfound__deps a:hover { border-color: var(--c-dark); color: var(--c-dark); }
.notfound__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
@media (max-width: 768px) {
	.notfound { padding-top: 32px; padding-bottom: 48px; }
	.notfound__search .btn { padding: 0 16px; }
	.notfound__actions .btn { flex: 1 1 100%; }
	.tabs { flex-wrap: nowrap; margin-right: -16px; padding-right: 16px; overflow-x: auto; scrollbar-width: none; }
	.tabs > * { flex-shrink: 0; }
}

/* ---------- Carrinho e checkout: ajustes da auditoria ---------- */
.woocommerce-cart .content-page .woocommerce > .cross-sells { grid-column: 1 / -1; margin-top: 32px; }
.js .woocommerce-cart-form button[name="update_cart"] { display: none; }
.woocommerce-cart-form .coupon[hidden] { display: none !important; }
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button { width: 100%; }
/* país único (só Brasil): a linha "País: Brasil" não ajuda ninguém */
.woocommerce form #billing_country_field, .woocommerce form #shipping_country_field { display: none !important; }
body .woocommerce-checkout #order_comments { min-height: 96px; padding: 12px 14px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; font-size: 15px; }
body .woocommerce-checkout #ship-to-different-address { margin: 8px 0 14px; font-family: var(--font-body); font-size: 16px; }
body .woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; cursor: pointer; }
body .woocommerce-checkout .woocommerce-account-fields label.checkbox, body .woocommerce-checkout .create-account label { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.woocommerce-checkout input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--c-primary); }
/* checkout fechado: sem menu de departamentos, busca e atalhos que tiram o foco do pagamento */
body.woocommerce-checkout:not(.woocommerce-order-received) .deptnav,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-header .search-box,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-header .btn--quote,
body.woocommerce-checkout:not(.woocommerce-order-received) .site-header .wl-link,
body.woocommerce-checkout:not(.woocommerce-order-received) .nav-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received) .bottom-nav { display: none; }
body.woocommerce-checkout:not(.woocommerce-order-received) .site-header__inner { justify-content: space-between; }
.woocommerce-notices-wrapper [tabindex="-1"]:focus, .woocommerce-message:focus, .woocommerce-error:focus, .woocommerce-info:focus { outline: 2px solid rgba(0, 139, 232, .35); outline-offset: 2px; }
.woocommerce-lost-password .page__title { text-align: center; }
body .woocommerce form.lost_reset_password > p:first-child { margin: 0 0 16px; color: var(--c-muted); }

/* ---------- Checkout: PF/PJ e campos exigidos só para PJ (Infixs Checkout Fields) ---------- */
.persontype-seg .swatch { min-width: 150px; }
body .woocommerce form .form-row select.persontype-select { position: absolute; width: 1px; min-width: 0; height: 1px; min-height: 0; padding: 0; border: 0; opacity: 0; clip-path: inset(50%); pointer-events: none; }
#billing_persontype_field { position: relative; }
body .woocommerce form .form-row.icf-conditionally-required label .optional { display: none; }
body .woocommerce form .form-row.icf-conditionally-required label::after { content: "*"; color: var(--c-accent); font-weight: 700; }

/* ---------- Produto: abas Descrição / Especificações / Avaliações ---------- */
body.single-product div.product .woocommerce-tabs { margin-top: 56px; }
body.single-product div.product .woocommerce-tabs ul.tabs { display: flex; gap: 4px; margin: 0 0 28px; padding: 0; overflow-x: auto; border-bottom: 1px solid var(--c-border); list-style: none; scrollbar-width: none; }
body.single-product div.product .woocommerce-tabs ul.tabs::before, body.single-product div.product .woocommerce-tabs ul.tabs::after { display: none; }
body.single-product div.product .woocommerce-tabs ul.tabs li { flex-shrink: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.single-product div.product .woocommerce-tabs ul.tabs li::before, body.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product div.product .woocommerce-tabs ul.tabs li a { display: block; margin-bottom: -1px; padding: 14px 20px; border-bottom: 3px solid transparent; color: var(--c-muted); font-size: 16px; font-weight: 700; }
body.single-product div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--c-dark); }
body.single-product div.product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--c-primary); color: var(--c-dark); }
body.single-product div.product .woocommerce-tabs ul.tabs li a:focus-visible { outline: 2px solid var(--c-primary); outline-offset: -2px; }
body.single-product div.product .woocommerce-tabs .panel { max-width: 820px; margin: 0; padding: 0; font-size: 16px; line-height: 1.7; }
.woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3, .woocommerce-Tabs-panel h4, .woocommerce-Tabs-panel h5 { margin: 28px 0 10px; font-family: var(--font-display); font-size: 20px; line-height: 1.3; }
.woocommerce-Tabs-panel > :first-child { margin-top: 0; }
.woocommerce-Tabs-panel p { margin: 0 0 14px; }
.woocommerce-Tabs-panel ul, .woocommerce-Tabs-panel ol { margin: 0 0 16px; padding-left: 22px; }
.woocommerce-Tabs-panel li + li { margin-top: 4px; }
.woocommerce-Tabs-panel .woocommerce-Reviews-title { display: none; }
.woocommerce-Tabs-panel #reviews #comments ol.commentlist { padding: 0; }
.woocommerce-Tabs-panel #reviews .woocommerce-noreviews { margin: 0 0 16px; color: var(--c-muted); }
.woocommerce-Tabs-panel #review_form_wrapper { max-width: 640px; padding: 24px; border: 1px solid var(--c-border); border-radius: 16px; }
.woocommerce-Tabs-panel #review_form .comment-reply-title { display: block; margin-bottom: 12px; font-family: var(--font-display); font-size: 20px; font-weight: 700; }
.woocommerce-Tabs-panel #review_form .form-submit input[type="submit"] { height: 48px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--c-dark); color: #fff; font-weight: 700; cursor: pointer; }
.woocommerce-Tabs-panel #review_form p { margin: 0 0 14px; }
.woocommerce-Tabs-panel #review_form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
@media (max-width: 768px) {
	body.single-product div.product .woocommerce-tabs { margin-top: 32px; }
	body.single-product div.product .woocommerce-tabs ul.tabs { margin-bottom: 20px; }
	body.single-product div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px; font-size: 15px; }
}

/* ---------- Calculadora de frete (Correios): sem ícone dentro do campo ---------- */
.infixs-correios-automatico-input-text-prepend { display: none !important; }
body .infixs-correios-automatico-input-text input.infixs-correios-automatico-input { padding-left: 14px !important; }
/* galeria com uma foto só (sem flex-viewport): mesma moldura da galeria com várias */
.single-product div.product div.images > .woocommerce-product-gallery__wrapper { overflow: hidden; border: 1px solid var(--c-border); }

/* ---------- Minha conta > Endereços: ordem fixa dos campos (o script de endereço do WooCommerce embaralhava) ---------- */
.woocommerce-address-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 4%; }
.woocommerce-address-fields__field-wrapper #billing_first_name_field, .woocommerce-address-fields__field-wrapper #shipping_first_name_field { order: 1; }
.woocommerce-address-fields__field-wrapper #billing_last_name_field, .woocommerce-address-fields__field-wrapper #shipping_last_name_field { order: 2; }
.woocommerce-address-fields__field-wrapper #billing_persontype_field, .woocommerce-address-fields__field-wrapper #shipping_persontype_field { order: 3; }
.woocommerce-address-fields__field-wrapper #billing_cpf_field, .woocommerce-address-fields__field-wrapper #shipping_cpf_field { order: 4; }
.woocommerce-address-fields__field-wrapper #billing_company_field, .woocommerce-address-fields__field-wrapper #shipping_company_field { order: 5; }
.woocommerce-address-fields__field-wrapper #billing_cnpj_field, .woocommerce-address-fields__field-wrapper #shipping_cnpj_field { order: 6; }
.woocommerce-address-fields__field-wrapper #billing_ie_field, .woocommerce-address-fields__field-wrapper #shipping_ie_field { order: 7; }
.woocommerce-address-fields__field-wrapper #billing_email_field, .woocommerce-address-fields__field-wrapper #shipping_email_field { order: 8; }
.woocommerce-address-fields__field-wrapper #billing_phone_field, .woocommerce-address-fields__field-wrapper #shipping_phone_field { order: 9; }
.woocommerce-address-fields__field-wrapper #billing_country_field, .woocommerce-address-fields__field-wrapper #shipping_country_field { order: 10; }
.woocommerce-address-fields__field-wrapper #billing_postcode_field, .woocommerce-address-fields__field-wrapper #shipping_postcode_field { order: 11; }
.woocommerce-address-fields__field-wrapper #billing_address_1_field, .woocommerce-address-fields__field-wrapper #shipping_address_1_field { order: 12; }
.woocommerce-address-fields__field-wrapper #billing_number_field, .woocommerce-address-fields__field-wrapper #shipping_number_field { order: 13; }
.woocommerce-address-fields__field-wrapper #billing_address_2_field, .woocommerce-address-fields__field-wrapper #shipping_address_2_field { order: 14; }
.woocommerce-address-fields__field-wrapper #billing_neighborhood_field, .woocommerce-address-fields__field-wrapper #shipping_neighborhood_field { order: 15; }
.woocommerce-address-fields__field-wrapper #billing_city_field, .woocommerce-address-fields__field-wrapper #shipping_city_field { order: 16; }
.woocommerce-address-fields__field-wrapper #billing_state_field, .woocommerce-address-fields__field-wrapper #shipping_state_field { order: 17; }

/* ---------- Estratégias de venda (inc/vendas.php) ---------- */
/* economia e urgência no produto */
.single-product .summary .save-hint { margin: -8px 0 0; color: var(--c-ok); font-size: 15px; font-weight: 600; }
.single-product .summary .save-hint strong { font-weight: 800; }
.deal-timer, .card__deal { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin: 0; padding: 6px 12px; border-radius: 999px; background: var(--c-accent-soft); color: var(--c-accent-dark); font-size: 14px; font-weight: 600; }
.deal-timer strong, .card__deal strong { font-variant-numeric: tabular-nums; font-weight: 800; }
.card__deal { margin-top: 6px; padding: 3px 10px; font-size: 12px; }
.card__deal svg { width: 13px; height: 13px; }
.ship-cutoff { margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--c-ok-soft); color: var(--c-ok); font-size: 14px; }
.ship-cutoff strong { font-weight: 800; }
/* compre junto */
.together { padding: 18px 20px; border: 1px solid var(--c-border); border-radius: var(--radius); }
.together__title { margin: 0; font-size: 18px; }
.together__sub { margin: 2px 0 12px; color: var(--c-muted); font-size: 14px; }
.together__list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.together__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.together__img img { width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--c-border); border-radius: 10px; background: #fff; }
.together__info { display: flex; flex-direction: column; min-width: 0; font-size: 14px; }
.together__name { overflow: hidden; color: var(--c-dark); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.together__price { color: var(--c-dark); font-weight: 700; }
.together__price .price-from { color: var(--c-muted); font-size: 12px; font-weight: 400; }
.together__price del { color: var(--c-subtle); font-size: 12px; font-weight: 400; }
.together__price ins { text-decoration: none; }
.together__add { height: 38px; padding: 0 14px; font-size: 14px; }
.together__add.added { background: var(--c-ok-soft); color: var(--c-ok); }
.together .added_to_cart { display: none; }
/* listas personalizadas */
.personal { padding-top: 24px; }
.content-page .personal { padding: 40px 0 0; }
.content-page .personal .container { max-width: none; padding: 0; }
/* economia no carrinho e checkout */
body .woocommerce table.shop_table tr.savings-row th, body .woocommerce table.shop_table tr.savings-row td { color: var(--c-ok); font-weight: 700; }
/* fidelidade */
.loyalty { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; border: 1.5px dashed var(--c-primary); border-radius: 14px; background: var(--c-primary-faint); }
.loyalty p { flex: 1; margin: 0; font-size: 15px; }
.loyalty__ico { font-size: 22px; line-height: 1; }
.loyalty--cart { margin-bottom: 16px; }
.loyalty--cart .btn { height: 40px; padding: 0 16px; }
.dash__rebuy h2 { margin: 8px 0 14px; font-size: 22px; }
.dash__rebuy ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.thanks-extra { display: flex; flex-direction: column; gap: 12px; margin: 0 0 24px; }
.thanks-extra__save { margin: 0; color: var(--c-ok); font-size: 17px; }
@media (max-width: 768px) {
	.together__item { grid-template-columns: 48px minmax(0, 1fr); }
	.together__img img { width: 48px; height: 48px; }
	.together__add { grid-column: 2; justify-self: start; }
	.dash__rebuy ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.loyalty--cart { flex-wrap: wrap; }
}
.deal-timer[hidden], .card__deal[hidden], .save-hint[hidden], .ship-cutoff[hidden], .personal[hidden] { display: none; }
body .woocommerce table.shop_table tr.cart-discount th { text-transform: uppercase; }

/* ---------- Confirmação do pedido (pedido recebido) ---------- */
.woocommerce-order { display: flex; flex-direction: column; gap: 20px; }
.woocommerce-order > * { margin: 0; }
body .woocommerce .woocommerce-order .woocommerce-thankyou-order-received { display: flex; align-items: center; gap: 12px; margin: 0; padding: 18px 20px; border-radius: 14px; background: var(--c-ok-soft); color: var(--c-ok); font-size: 18px; font-weight: 700; }
body .woocommerce .woocommerce-order .woocommerce-thankyou-order-received::before { content: ""; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--c-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 16px; }
body .woocommerce ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
body .woocommerce ul.woocommerce-order-overview::before, body .woocommerce ul.woocommerce-order-overview::after { content: none; }
body .woocommerce ul.woocommerce-order-overview li { float: none; margin: 0; padding: 14px 16px; border: 1px solid var(--c-border); border-radius: 12px; color: var(--c-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
body .woocommerce ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; color: var(--c-dark); font-size: 16px; letter-spacing: 0; text-transform: none; word-break: break-word; }
.woocommerce-order h2 { margin: 12px 0 0; font-size: 22px; }
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { display: flex; flex-direction: column; gap: 14px; }
body .woocommerce .woocommerce-order table.shop_table tfoot th, body .woocommerce .woocommerce-order table.shop_table tfoot td { background: none; }
body .woocommerce .woocommerce-order table.shop_table tfoot th { color: var(--c-muted); font-weight: 600; }
body .woocommerce .woocommerce-order table.shop_table tfoot tr:last-child th, body .woocommerce .woocommerce-order table.shop_table tfoot tr:last-child td { color: var(--c-dark); font-size: 17px; font-weight: 700; }
body .woocommerce .woocommerce-order .woocommerce-customer-details address { padding: 18px 20px; border: 1px solid var(--c-border); border-radius: 16px; font-style: normal; line-height: 1.6; }
.thanks-next { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 8px; }
.thanks-next__wa { margin-left: auto; color: var(--c-ok); font-weight: 700; }
@media (max-width: 768px) {
	.thanks-next .btn { flex: 1 1 100%; }
	.thanks-next__wa { margin: 4px auto 0; }
}
body .woocommerce ul.woocommerce-order-overview li:last-of-type { border: 1px solid var(--c-border); }

/* ---------- Produto: sem "pulo" no carregamento (CLS) ---------- */
/* Antes do carrossel iniciar, só a primeira foto aparece (depois ele envolve tudo em .flex-viewport). */
body.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }
/* Fileira de miniaturas reservada até o carrossel criá-la (76px + 12px de margem; 60px no celular). */
.single-product .woocommerce-product-gallery.has-thumbs:not(:has(> .flex-control-thumbs)) { padding-bottom: 88px; }
/* Select das opções com a mesma altura dos botões que o substituem. */
body div.product form.cart table.variations select { height: 46px; }
/* Janela do carrossel já no formato das fotos (quadradas): na montagem as fotos empilhadas não esticam a página. */
.single-product div.product div.images .flex-viewport { aspect-ratio: 1; overflow: hidden; }
@media (max-width: 768px) {
	.single-product .woocommerce-product-gallery.has-thumbs:not(:has(> .flex-control-thumbs)) { padding-bottom: 60px; }
}

/* ---------- Rastreio: andamento do pedido e página de rastreio ---------- */
.order-progress { display: flex; flex-direction: column; gap: 18px; margin: 0 0 8px; padding: 22px 24px; border: 1px solid var(--c-border); border-radius: 18px; }
.order-progress__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.order-progress__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 30px; color: var(--c-muted); text-align: center; font-size: 14px; }
.order-progress__step strong { font-weight: 700; }
.order-progress__step small { font-size: 12px; }
.order-progress__step::before { content: ""; position: absolute; top: 10px; left: -50%; width: 100%; height: 3px; background: var(--c-border); }
.order-progress__step:first-child::before { content: none; }
.order-progress__dot { position: absolute; top: 2px; left: 50%; z-index: 1; width: 20px; height: 20px; margin-left: -10px; border: 3px solid var(--c-border); border-radius: 50%; background: #fff; }
.order-progress__step.is-done { color: var(--c-dark); }
.order-progress__step.is-done::before { background: var(--c-primary); }
.order-progress__step.is-done .order-progress__dot { border-color: var(--c-primary); background: var(--c-primary); box-shadow: inset 0 0 0 3px #fff; }
.order-progress__step.is-current strong { color: var(--c-primary); }
.order-progress__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding-top: 14px; border-top: 1px solid var(--c-border); }
.order-progress__foot p { flex: 1 1 280px; margin: 0; color: var(--c-muted); font-size: 15px; }
.order-progress__foot .btn { height: 42px; padding: 0 16px; font-size: 14px; }
.woocommerce-MyAccount-content .muted { color: var(--c-muted); }
/* histórico dos Correios (quando já há código) */
.infixs-caref-order-tracking-box { padding: 18px 20px; border: 1px solid var(--c-border); border-radius: 16px; }
.infixs-caref-order-tracking-info { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 15px; }
/* página de rastreio */
.tracking-page .page__content { max-width: 640px; }
.tracking-intro { margin: 0 0 20px; color: var(--c-muted); }
.infixs-correios-automatico-tracking-search-form { display: flex; flex-direction: column; gap: 8px; margin: 0 0 24px; }
.infixs-correios-automatico-tracking-search-form label { font-size: 14px; font-weight: 700; }
.infixs-correios-automatico-tracking-search-form-input { display: flex; gap: 10px; }
.infixs-correios-automatico-tracking-search-form-input input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 2px solid var(--c-dark); border-radius: 12px; font-size: 16px; text-transform: uppercase; letter-spacing: .04em; }
.infixs-correios-automatico-tracking-search-form-input input:focus { outline: 0; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(0, 139, 232, .15); }
.infixs-correios-automatico-tracking-search-form-input button { height: 52px; padding: 0 24px; border: 0; border-radius: 12px; background: var(--c-primary); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.infixs-correios-automatico-tracking-search-form-input button:hover { background: var(--c-primary-dark); }
.tracking-page--empty .infixs-caref-order-tracking-history { display: none; }
.tracking-page .infixs-caref-order-tracking-info .button { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: 10px; background: var(--c-light); color: var(--c-dark); font-weight: 700; }
@media (max-width: 768px) {
	.order-progress { padding: 18px 16px; }
	.order-progress__steps { grid-template-columns: 1fr; gap: 14px; }
	.order-progress__step { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 0 0 0 32px; text-align: left; }
	.order-progress__step::before { top: -14px; left: 9px; width: 3px; height: 26px; }
	.order-progress__dot { top: 0; left: 0; margin-left: 0; }
	.order-progress__foot .btn { width: 100%; justify-content: center; }
	.infixs-correios-automatico-tracking-search-form-input { flex-direction: column; }
}

/* Rodapé: formas de pagamento (ícones do Mercado Pago em cartões brancos) */
.pay-icons { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0 0; padding: 0; list-style: none; }
.pay-icons li { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 26px; border-radius: 6px; background: #fff; }
.pay-icons img { width: 26px; height: 25px; }

/* ---------- Quem somos (/sobre) ---------- */
.about { padding: 48px 0 72px; }
.about__head { margin-bottom: 32px; }
.about__head h1 { margin: 8px 0 8px; font-size: clamp(32px, 4vw, 48px); }
.about__head p { margin: 0; color: var(--c-muted); }
.about__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.about__text { max-width: 720px; font-size: 17px; line-height: 1.7; }
.about__text .about__lead { font-size: 20px; line-height: 1.55; color: var(--c-dark); }
.about__text h2 { margin: 32px 0 10px; font-size: 24px; }
.about__values { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; padding: 0; list-style: none; }
.about__values li { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--c-border); border-radius: 16px; font-size: 15px; line-height: 1.5; color: var(--c-muted); }
.about__values li strong { color: var(--c-dark); font-family: var(--font-display); font-size: 17px; }
.about__facts { position: sticky; top: calc(var(--header-h, 146px) + 24px); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.about__fact { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 16px; background: var(--c-light); }
.about__fact strong { font-family: var(--font-display); font-size: 26px; line-height: 1.1; color: var(--c-primary); }
.about__fact span { color: var(--c-muted); font-size: 14px; }
.about__docs { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--c-border); }
.about__docs h2, .about__contact h2 { margin: 0 0 12px; font-size: 28px; }
.about__docs p { max-width: 720px; margin: 0 0 16px; color: var(--c-muted); }
.about__docs-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 20px; margin: 0 0 20px; padding: 0; list-style: none; }
.about__docs-list li { position: relative; padding-left: 26px; font-size: 15px; }
.about__docs-list li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--c-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 10px; }
.about__clients { margin-top: 56px; }
.about__contact { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--c-border); scroll-margin-top: calc(var(--header-h, 146px) + 24px); }
.about__channels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.about__channel { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid var(--c-border); border-radius: 16px; color: var(--c-dark); }
a.about__channel:hover { border-color: var(--c-primary); color: var(--c-dark); }
.about__channel span { color: var(--c-muted); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.about__channel strong { font-size: 16px; }
.about__channel--wide { grid-column: 1 / -1; }
.about__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 20px; padding: 20px 24px; border-radius: 16px; background: var(--c-primary-faint); }
.about__cta p { flex: 1 1 320px; margin: 0; }
@media (max-width: 992px) {
	.about__grid { grid-template-columns: 1fr; gap: 28px; }
	.about__facts { position: static; grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.about__channels { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
	.about { padding: 28px 0 48px; }
	.about__values, .about__facts { grid-template-columns: 1fr 1fr; }
	.about__values { grid-template-columns: 1fr; }
	.about__channels { grid-template-columns: 1fr; }
	.about__cta .btn { width: 100%; }
}

/* ---------- Catálogo: barra de filtros (redesenho) ---------- */
.filters__title { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; }
.filters__title svg { color: var(--c-primary); }
.filters__head { margin-bottom: 2px; border-bottom: 1px solid var(--c-border); }
.filters__clear { padding: 4px 10px; border-radius: 999px; background: var(--c-primary-soft); color: var(--c-primary-dark); font-size: 13px; }
.filters__clear:hover { background: var(--c-primary); color: #fff; }
.facet summary { padding: 16px 0 12px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--c-dark); }
.facet summary:hover { color: var(--c-primary); }
.facet:last-of-type { border-bottom: 0; }
.facet__body { gap: 0; }
/* departamentos */
.facet__cats a { margin: 0 -10px; padding: 8px 10px; font-size: 15px; transition: background .15s, color .15s; }
.facet__cats a:hover { background: var(--c-light); color: var(--c-dark); }
.facet__cats a.is-current { background: var(--c-primary-soft); color: var(--c-primary-dark); font-weight: 700; }
.facet__cats ul { margin: 4px 0 6px 2px; padding-left: 10px; }
.facet__cats ul a { padding: 6px 10px; font-size: 14px; }
.facet__cats a.facet__back { margin-bottom: 4px; color: var(--c-primary); font-weight: 700; }
/* caixas de seleção e opções de preço */
.facet__opt, .facet__range { margin: 0 -10px; padding: 8px 10px; font-size: 15px; transition: background .15s; }
.facet__opt input[type="checkbox"] { display: grid; place-content: center; width: 20px; height: 20px; border: 2px solid var(--c-gray); border-radius: 6px; background: #fff; -webkit-appearance: none; appearance: none; transition: border-color .15s, background .15s; }
.facet__opt input[type="checkbox"]:checked { border-color: var(--c-primary); background: var(--c-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 13px; }
.facet__opt:hover input[type="checkbox"]:not(:checked), .facet__range:hover .facet__radio { border-color: var(--c-primary); }
.facet__radio { width: 20px; height: 20px; border-color: var(--c-gray); transition: border-color .15s, border-width .15s; }
.facet__range.is-on .facet__radio { border: 6px solid var(--c-primary); }
.facet__count { min-width: 24px; padding: 1px 7px; background: transparent; color: var(--c-muted); font-size: 13px; font-weight: 600; text-align: right; }
.facet__opt:hover .facet__count, .facet__range:hover .facet__count { background: transparent; }
.facet__opt.is-on .facet__count, .facet__range.is-on .facet__count { background: transparent; color: var(--c-primary); }
.facet__opt.is-on, .facet__range.is-on { color: var(--c-dark); }
/* preço livre */
.facet__price { gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--c-border); }
.facet__price label span:first-child { font-weight: 600; }
.facet__money { position: relative; display: block; }
.facet__money::before { content: "R$"; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--c-muted); font-size: 13px; font-weight: 600; pointer-events: none; }
.facet__price .facet__money input { height: 42px; padding-left: 32px; }
.facet__go { height: 42px; padding: 0 12px; background: var(--c-primary); font-size: 14px; }
.facet__go:hover { background: var(--c-primary-dark); }
.facet__search { width: 100%; height: 40px; }
@media (min-width: 901px) {
	.filters { top: calc(var(--header-h, 146px) + 20px); max-height: calc(100vh - var(--header-h, 146px) - 40px); padding-right: 6px; scrollbar-width: thin; scrollbar-color: transparent transparent; }
	.filters:hover { scrollbar-color: var(--c-on-dark) transparent; }
	.filters::-webkit-scrollbar { width: 6px; }
	.filters::-webkit-scrollbar-thumb { border-radius: 3px; background: transparent; }
	.filters:hover::-webkit-scrollbar-thumb { background: var(--c-on-dark); }
	.filters__form { padding: 18px 20px 8px; border: 1px solid var(--c-border); border-radius: 18px; background: #fff; }
	.filters__head { padding-bottom: 14px; }
	.js .filters__foot { display: none; } /* só existe para a gaveta do celular (e sem JavaScript) */
}

/* Rodapé: selos de segurança e regularidade (todos verificáveis) */
.trust-seals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.trust-seals .seal { display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 10px; border-radius: 8px; background: #fff; color: var(--c-ok); }
.trust-seals a.seal:hover { box-shadow: 0 0 0 2px var(--c-primary); color: var(--c-ok); }
.trust-seals .seal svg { flex-shrink: 0; }
.trust-seals .seal > span { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.trust-seals .seal strong { overflow: hidden; color: var(--c-dark); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.trust-seals .seal small { color: var(--c-muted); font-size: 11px; }
.trust-seals .seal--logo { justify-content: center; }
.trust-seals .seal--logo img { max-width: 100%; max-height: 24px; width: auto; height: auto; }
.trust-seals li:has(> .seal:not(.seal--logo)) { grid-column: 1 / -1; }

/* ---------- Produto: meios de pagamento (inspirado no Mercado Livre) ---------- */
.pay-methods { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px; border: 1px solid var(--c-border); border-radius: var(--radius); }
.pay-methods__title { margin: 0; font-size: 18px; }
.pay-methods__row { display: flex; align-items: flex-start; gap: 12px; }
.pay-methods__icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border: 1px solid var(--c-border); border-radius: 10px; background: #fff; }
.pay-methods__icon--card { color: var(--c-primary); }
.pay-methods__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pay-methods__text strong { font-size: 15px; }
.pay-methods__text strong em { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--c-ok-soft); color: var(--c-ok); font-size: 12px; font-style: normal; font-weight: 700; }
.pay-methods__text > span { color: var(--c-muted); font-size: 14px; }
.pay-methods__brands { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.pay-methods__brands li { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 28px; border: 1px solid var(--c-border); border-radius: 6px; background: #fff; }
.pay-methods__secure { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding-top: 12px; border-top: 1px solid var(--c-border); color: var(--c-muted); font-size: 13px; }
.pay-methods__secure svg { color: var(--c-ok); }
.pay-methods__secure img { height: 18px; width: auto; }

/* ---------- Cabeçalho do celular: logo + lupa; busca ocupa o cabeçalho ao abrir ---------- */
.search-open, .search__close { display: none; }
@media (max-width: 768px) {
	.site-header { position: sticky; }
	.site-header__inner { position: relative; flex-wrap: nowrap; min-height: 60px; padding: 10px 0; }
	.nav-toggle, .site-header__actions { display: none; }
	.site-logo { margin-right: auto; }
	.search-open { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--c-light); color: var(--c-dark); cursor: pointer; }
	.search-box { display: none; }
	.site-header.is-searching .search-box { display: flex; position: absolute; inset: 8px 0; z-index: 5; height: auto; order: 0; flex-basis: auto; }
	.site-header.is-searching .search__close { display: inline-flex; align-items: center; justify-content: center; width: 40px; flex-shrink: 0; border: 0; background: none; color: var(--c-dark); cursor: pointer; }
	.site-header.is-searching .search__input { padding-left: 0; }
	/* barra inferior: carrinho no lugar da busca */
	.bottom-nav .cart-count { position: absolute; top: -6px; right: -10px; }
	/* Minha conta: opções quebram em linhas em vez de cortar na borda */
	.woocommerce-MyAccount-navigation ul { flex-wrap: wrap; overflow: visible; }
}

/* ---------- Compartilhar: botão que se abre numa fileira de redes (estilo Kokonut UI "Social Button") ---------- */
.share-btn { position: relative; display: inline-block; height: 44px; }
.share-btn__trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 160px; height: 44px; padding: 0 16px; border: 1.5px solid var(--c-border-strong); border-radius: 10px; background: #fff; color: var(--c-dark); font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; transition: opacity .2s ease-in-out, background-color .2s; }
.share-btn__trigger:hover { border-color: var(--c-dark); }
.share-btn__items { position: absolute; top: 0; left: 0; display: flex; height: 44px; clip-path: inset(0 100% 0 0); visibility: hidden; transition: clip-path .3s cubic-bezier(.23, 1, .32, 1), visibility 0s .3s; }
.share-btn__item { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; overflow: hidden; border: 0; border-right: 1px solid rgba(255, 255, 255, .1); background: var(--c-dark); color: #fff; cursor: pointer; opacity: 0; transform: translateX(-20px); transition: opacity .3s cubic-bezier(.23, 1, .32, 1), transform .3s cubic-bezier(.23, 1, .32, 1), background-color .2s; }
.share-btn__item:first-child { border-radius: 10px 0 0 10px; }
.share-btn__item:last-child { border-right: 0; border-radius: 0 10px 10px 0; }
.share-btn__item:hover, .share-btn__item:focus-visible { background: #000; color: #fff; }
.share-btn__item::after { content: ""; position: absolute; inset: 0; background: #fff; opacity: 0; transition: opacity .2s ease-in-out; }
.share-btn__item svg { position: relative; z-index: 1; transition: transform .2s ease-in-out; }
.share-btn__item:active svg { transform: scale(.85); }
.share-btn__item:active::after { opacity: .15; }
/* Aberto: toque (.is-open), foco pelo teclado e, onde há mouse, ao passar por cima. */
.share-btn.is-open .share-btn__trigger, .share-btn:has(:focus-visible) .share-btn__trigger { opacity: 0; }
.share-btn.is-open .share-btn__items, .share-btn:has(:focus-visible) .share-btn__items { clip-path: inset(0); visibility: visible; transition-delay: 0s; }
.share-btn.is-open .share-btn__item, .share-btn:has(:focus-visible) .share-btn__item { opacity: 1; transform: none; transition-delay: calc(var(--i) * 50ms), calc(var(--i) * 50ms), 0s; }
@media (hover: hover) {
	.share-btn:hover .share-btn__trigger { opacity: 0; }
	.share-btn:hover .share-btn__items { clip-path: inset(0); visibility: visible; transition-delay: 0s; }
	.share-btn:hover .share-btn__item { opacity: 1; transform: none; transition-delay: calc(var(--i) * 50ms), calc(var(--i) * 50ms), 0s; }
}
@media (prefers-reduced-motion: reduce) { .share-btn *, .share-btn *::after { transition-duration: 0s !important; transition-delay: 0s !important; } }

/* ---------- Estados nativos do WooCommerce nas cores da marca (o padrão é roxo/vermelho #a00) ---------- */
body { --wc-primary: var(--c-primary); --wc-primary-text: #fff; --wc-red: var(--c-accent-dark); --wc-destructive: var(--c-accent-dark); --wc-green: var(--c-ok); --wc-blue: var(--c-primary); --wc-orange: var(--c-low); --wc-secondary: var(--c-light); --wc-secondary-text: var(--c-dark); --wc-subtext: var(--c-muted); --wc-form-border-color: var(--c-border-strong); --wc-form-border-radius: 10px; --wc-form-border-width: 1.5px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--c-primary); color: #fff; }

/* ---------- Loja fechada ("Em breve", coming-soon.php) ---------- */
.soon { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 40px var(--gutter); background: var(--c-light); }
.soon__card { width: min(640px, 100%); padding: clamp(28px, 5vw, 48px); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); }
.soon__logo { height: 34px; width: auto; margin-bottom: 28px; }
.soon h1 { margin: 12px 0 14px; font-size: clamp(30px, 4vw, 42px); }
.soon__lead { color: var(--c-muted); font-size: 18px; }
.soon__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 20px; }
.soon__list { padding: 14px 16px; border: 1px solid var(--c-primary-line); border-radius: 12px; background: var(--c-primary-faint); font-size: 15px; }
.soon__channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 0; padding: 24px 0 0; border-top: 1px solid var(--c-border); list-style: none; }
.soon__channels span { display: block; font-size: 13px; color: var(--c-muted); }
.soon__channels a, .soon__channels strong { font-weight: 700; color: var(--c-dark); overflow-wrap: anywhere; }
.soon__channels a:hover { color: var(--c-primary); }
.soon__legal { max-width: 640px; text-align: center; font-size: 13px; color: var(--c-muted); }
@media (max-width: 520px) { .soon__actions .btn { flex: 1 1 100%; } .soon__channels { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Checkout do Mercado Pago (cartão e Pix) no design system ----------
   O CSS do plugin usa !important e seletores com 2-3 IDs. Por isso: as cores e fontes vêm das variáveis
   dele (declaradas no :root), redefinidas aqui com os tokens; o que ele fixa no código (bordas, cantos,
   tamanho do título do Pix) usa um ID a mais. Número, validade e código de segurança são iframes seguros do
   Mercado Pago: o texto de dentro não muda, só a moldura. */
body.woocommerce-checkout #payment {
	--mp-font-inter: var(--font-body); --mp-font-family: var(--font-body); --andes-font-style: var(--font-body); --primary-font-family: var(--font-body);
	--andes-gray-250: var(--c-border-strong); --mp-color-border: var(--c-border-strong);
	--andes-gray-900: var(--c-dark); --mp-color-black: var(--c-dark); --andes-black: var(--c-dark);
	--andes-gray-550: var(--c-muted); --andes-text-color-secondary: var(--c-muted);
	--andes-error-red: var(--c-accent-dark); --mp-color-error: var(--c-accent-dark); --mp-color-red: var(--c-accent);
	--woocommerce-primary: var(--c-primary); --mp-color-focus: var(--c-primary); --andes-blue-500: var(--c-primary);
	--mp-border-radius: 10px; --mp-border-radius-lg: 14px; --andes-radius-06: 10px;
}
body .woocommerce-checkout #payment .payment_methods > li > label { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
body .woocommerce-checkout #payment .payment_methods > li > label img { display: inline-block; width: auto; height: 22px; margin: 0; }
#payment .mp-input-label b { color: var(--c-accent) !important; } /* o plugin escreve style="color: red" */
#payment #mp-checkout-custom-root .mp-checkout-custom-card-flags-list li:has(img[alt="Hipercard"]) { display: none !important; } /* bandeira fixa no template; a conta não aceita Hipercard */
#payment #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-form .mp-checkout-custom-card-input,
#payment #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-security-code-container .mp-checkout-custom-security-code-input,
#payment .mp-checkout-container .mp-input-document .mp-input { border: 1.5px solid var(--c-border-strong) !important; border-radius: 10px !important; }
#payment #mp-checkout-custom-root #mp-custom-checkout-form-container :is(#form-checkout__cardNumber-container, #form-checkout__expirationDate-container, #form-checkout__securityCode-container).mp-checkout-custom-card-form-focus,
#payment #mp-checkout-custom-root #mp-custom-checkout-form-container #mp-card-holder-div input.mp-checkout-custom-card-input.mp-card-holder-name.mp-focus { border: 1.5px solid var(--c-primary) !important; box-shadow: 0 0 0 3px rgba(0, 139, 232, .15) !important; }
body .woocommerce-checkout #payment .mp-wallet-button-container { border-color: var(--c-border); border-radius: 14px; }
body .woocommerce-checkout #payment :is(.mp-privacy-policy-footer, .mp-terms-and-conditions-container) a, body .woocommerce-checkout #payment .mp-test-mode-link { color: var(--c-primary); }
#payment .mp-checkout-container #mp-checkout-pix-root.mp-checkout-pix-container .mp-pix-template-title { font-family: var(--font-display) !important; font-size: 18px !important; color: var(--c-dark) !important; }

/* ---------- Resultado da calculadora de frete (template do Correios Automático no tema) ---------- */
.ship-results { margin-top: 14px; }
.ship-results__to { margin: 0 0 10px; font-size: 14px; color: var(--c-muted); }
.ship-results__to strong { color: var(--c-dark); }
.ship-results__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ship-opt { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border: 1.5px solid var(--c-border-strong); border-radius: 12px; background: #fff; }
.ship-opt__main { display: grid; gap: 2px; min-width: 0; }
.ship-opt__name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-weight: 700; color: var(--c-dark); }
.ship-opt__tag { padding: 2px 8px; border-radius: 999px; background: var(--c-primary-soft); color: var(--c-primary-dark); font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.4; }
.ship-opt__tag--mais-barato { background: var(--c-ok-soft); color: var(--c-ok); }
.ship-opt__time { font-size: 14px; color: var(--c-muted); }
.ship-opt__time strong { font-weight: 600; color: var(--c-dark); }
.ship-opt__price { flex-shrink: 0; text-align: right; white-space: nowrap; font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--c-dark); }
.ship-opt__price del { display: block; font-family: var(--font-body); font-size: 13px; font-weight: 400; color: var(--c-subtle); }
.ship-opt.is-free { border-color: var(--c-ok-line); background: var(--c-ok-soft); }
.ship-opt.is-free .ship-opt__price { color: var(--c-ok); }
.ship-results__note, .ship-results__empty { margin: 10px 0 0; font-size: 13px; color: var(--c-muted); }

/* ---------- Resumo do pedido: linhas em grade (nome ocupa o espaço, valor no fim); frete em linha inteira ---------- */
body .woocommerce-checkout #order_review table.shop_table, body .woocommerce-checkout #order_review table.shop_table :is(thead, tbody, tfoot) { display: block; width: 100%; }
body .woocommerce-checkout #order_review table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; }
body .woocommerce-checkout #order_review table.shop_table :is(th, td) { display: block; border-top: 0; }
body .woocommerce-checkout #order_review table.shop_table :is(tbody, tfoot) tr { border-top: 1px solid var(--c-border); }
body .woocommerce-checkout #order_review table.shop_table :is(td.product-total, thead th.product-total, tfoot td) { text-align: right; }
body .woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals { grid-template-columns: minmax(0, 1fr); }
body .woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals td { padding-top: 0; border-top: 0; text-align: left; }
/* Resumo do pedido: foto do produto ao lado do nome */
body .woocommerce-checkout #order_review table.shop_table td.product-name { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; }
.review-item__thumb { flex: 0 0 56px; width: 56px; height: 56px; border: 1px solid var(--c-border); border-radius: 10px; background: #fff; overflow: hidden; }
.review-item__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.review-item__name { flex: 1 1 0; min-width: 0; }
body .woocommerce-checkout #order_review td.product-name .variation { flex-basis: 100%; margin: 4px 0 0 68px; font-size: 13px; color: var(--c-muted); }

/* Opções de frete (carrinho e checkout) em cartões, como na calculadora do produto */
body .woocommerce ul#shipping_method { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
body .woocommerce ul#shipping_method li { position: relative; margin: 0; padding: 0; text-indent: 0; }
body .woocommerce ul#shipping_method li input[type="radio"] { position: absolute; top: 50%; left: 14px; margin: 0; transform: translateY(-50%); accent-color: var(--c-primary); }
body .woocommerce ul#shipping_method li label { display: block; padding: 12px 14px; border: 1.5px solid var(--c-border-strong); border-radius: 12px; background: #fff; cursor: pointer; }
body .woocommerce ul#shipping_method li input[type="radio"] + label { padding-left: 40px; }
body .woocommerce ul#shipping_method li input:checked + label { border-color: var(--c-primary); background: var(--c-primary-faint); }
.ship-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ship-line__name { display: grid; font-weight: 700; color: var(--c-dark); }
.ship-line__name small { font-size: 13px; font-weight: 400; color: var(--c-muted); }
.ship-line__price { white-space: nowrap; font-weight: 700; color: var(--c-dark); }

/* ---------- Produto indisponível no card: apagado, com o aviso no meio da imagem ---------- */
.card.is-unavailable .card__img { opacity: .4; filter: grayscale(1); } /* no contêiner, não na <img>: a 2ª foto (troca ao passar o mouse) fica invisível até o hover e não vira "fantasma" sobre a 1ª */
.card.is-unavailable .card__body { opacity: .6; }
.card.is-unavailable .onsale { display: none; }
.card.is-unavailable .button::before { content: none; }
.card__unavailable { position: absolute; top: 50%; left: 50%; z-index: 1; padding: 8px 18px; border-radius: 999px; background: rgba(26, 26, 26, .82); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; pointer-events: none; transform: translate(-50%, -50%); }

/* ---------- Produto indisponível na página do produto ---------- */
.stock-alert { display: flex; align-items: flex-start; gap: 12px; margin: 14px 0 6px; padding: 14px 16px; border: 1px solid rgba(179, 38, 30, .28); border-radius: 14px; background: var(--c-accent-soft); }
.stock-alert[hidden] { display: none; }
.stock-alert svg { flex-shrink: 0; margin-top: 1px; color: var(--c-accent-dark); }
.stock-alert p { margin: 0; font-size: 14px; color: var(--c-dark); }
.stock-alert strong { display: block; margin-bottom: 2px; font-size: 16px; color: var(--c-accent-dark); }
.stock-alert a { font-weight: 700; }
.stock-alert--pj { border-color: var(--c-primary-line); background: var(--c-primary-soft); }
.stock-alert--pj svg, .stock-alert--pj strong { color: var(--c-primary); }
.summary.is-unavailable > .price, .summary.is-unavailable .pay-hint, .summary.is-unavailable .save-hint { opacity: .45; }
.summary.is-unavailable .ship-cutoff { display: none; } /* sem estoque não há prazo de despacho a prometer */
/* O WooCommerce pinta o botão desabilitado de roxo (com [disabled] na regra); aqui volta ao cinza da loja. */
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
body.single-product div.product form.cart button.single_add_to_cart_button.button.alt:disabled[disabled] { background: var(--c-light) !important; color: var(--c-muted) !important; opacity: 1; box-shadow: none; filter: none; cursor: not-allowed; }
.card__stock[hidden] { display: none; }
body.single-product form.cart.is-unavailable .quantity { opacity: .45; }

/* ---------- Conteúdo do produto (h5 nas abas: descrição e perguntas frequentes) ---------- */
.woocommerce-Tabs-panel h5 { margin: 22px 0 8px; font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--c-dark); }
.woocommerce-Tabs-panel h5:first-child { margin-top: 0; }
.product-faq h5 { padding-top: 16px; border-top: 1px solid var(--c-border); }
.product-faq h5:first-child { padding-top: 0; border-top: 0; }
.ship-bar__note { display: block; margin-top: 8px; font-size: 12.5px; color: var(--c-muted); }
.quote-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; }
.stock-alert__body { flex: 1; min-width: 0; }
.avise { margin-top: 12px; }
.avise__row { display: flex; gap: 8px; }
.avise input[type="email"] { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid var(--c-border-strong); border-radius: 10px; background: #fff; font-size: 15px; }
.avise .btn { flex-shrink: 0; height: 44px; }
.avise small { display: block; margin-top: 6px; font-size: 12.5px; color: var(--c-muted); }
.avise__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.avise__msg { margin: 8px 0 0; font-weight: 700; color: var(--c-ok); }
.avise__msg.is-error { color: var(--c-accent-dark); }
.avise.is-done .avise__row, .avise.is-done small { display: none; }
/* Marcas: cabeçalho da marca e índice */
.brand-head { display: flex; align-items: center; gap: 24px; }
.brand-head__logo { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 168px; height: 96px; padding: 12px 16px; border: 1px solid var(--c-border); border-radius: var(--radius); background: #fff; }
.brand-head__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.brand-head__info { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.brand-head__meta { margin: 0; font-size: 15px; color: var(--c-muted); }
.brand-head__meta a { font-weight: 700; }
.brand-noimg { font-family: var(--font-display); font-weight: 700; font-size: 18px; text-align: center; }
.brand-index__intro { margin: 0 0 24px; color: var(--c-muted); font-size: 17px; }
.brand-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.brand-card { display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; padding: 18px 14px 14px; border: 1px solid var(--c-border); border-radius: var(--radius); background: #fff; color: var(--c-dark); text-align: center; }
.brand-card:hover { border-color: var(--c-primary); box-shadow: 0 6px 18px rgba(0, 105, 180, .1); }
.brand-card__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 72px; margin-bottom: 8px; }
.brand-card__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.brand-card__name { font-weight: 700; font-size: 15px; }
.brand-card small { color: var(--c-muted); font-size: 13px; }
@media (max-width: 640px) { .brand-head { flex-direction: column; align-items: flex-start; gap: 14px; } .brand-head__logo { width: 140px; height: 80px; } }
/* Abas do produto */
.product-section > h5:first-child { margin-top: 0; }
a.brands__title { color: inherit; }
a.brands__title:hover { color: var(--c-primary); }
/* Preço no Pix nos cards: um pouco mais de destaque */
.card__prices .pay-hint { font-size: 14px; }
.card__prices .pay-hint strong { font-size: 15px; }
.stock-alert .avise__msg { color: var(--c-ok); }
.stock-alert .avise__msg.is-error { color: var(--c-accent-dark); }
.quote-form { margin-top: 14px; }
.quote-form label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--c-muted); }
.quote-form__row { display: flex; flex-direction: column; gap: 8px; }
.quote-form input[type="text"] { height: 46px; padding: 0 14px; border: 1px solid var(--c-border-strong); border-radius: 10px; background: #fff; font-size: 15px; }
.quote-form .quote-btn { margin-top: 0; width: 100%; }
