/* =========================================================
   Tendas Martins — CSS do tema
   Só o que a loja usa. Organização: tokens → base → layout →
   cabeçalho → blocos da home → cards → rodapé → utilitários.
   ========================================================= */

:root {
	--tm-azul: #0088cc;
	--tm-azul-escuro: #0077b3;
	--tm-azul-hover: #006fa8;
	--tm-marinho: #01112b;
	--tm-texto: #222529;
	--tm-texto-2: #4a4f56;
	--tm-texto-3: #5a5f66;
	--tm-borda: #e6e6e6;
	--tm-fundo-2: #f6f7f9;
	--tm-fundo-3: #e9eef4;
	--tm-verde: #1da851;
	--tm-verde-escuro: #178a42;
	--tm-verde-texto: #1a7f45;
	--tm-branco: #ffffff;
	--tm-claro-1: #c9d4e3;
	--tm-claro-2: #9fb0c8;
	--tm-claro-3: #7cc4ea;

	--tm-fonte: Poppins, "Segoe UI", system-ui, -apple-system, sans-serif;
	--tm-raio: 10px;
	--tm-raio-s: 6px;
	--tm-container: 1200px;
	--tm-gutter: 16px;
	--tm-secao: 56px;
	--tm-cols: 4;
	--tm-destaque-bg: var(--tm-marinho);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; font-family: var(--tm-fonte); font-size: 15px; line-height: 1.55; color: var(--tm-texto); background: var(--tm-branco); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--tm-azul-escuro); text-decoration: none; }
a:hover { color: var(--tm-azul-hover); }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; font-weight: 700; color: var(--tm-texto); }
p { margin: 0; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--tm-azul); outline-offset: 2px; border-radius: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tm-pular { position: absolute; left: -9999px; top: 8px; background: var(--tm-marinho); color: #fff; padding: 8px 14px; border-radius: 6px; z-index: 1000; }
.tm-pular:focus { left: 8px; }

.tm-container { width: 100%; max-width: var(--tm-container); margin-left: auto; margin-right: auto; padding-left: var(--tm-gutter); padding-right: var(--tm-gutter); }
.tm-main { display: block; min-height: 40vh; }
.tm-home > * + * { margin-top: 24px; }
.tm-home > .tm-secao, .tm-home > .tm-quem, .tm-home > .tm-perso, .tm-home > .tm-banners, .tm-home > .tm-area { margin-top: var(--tm-secao); }
.tm-home > .tm-confianca { margin-top: 24px; }
.tm-home > :last-child { margin-bottom: 72px; }

/* ---------- Botões ---------- */
.tm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 44px; padding: 0 18px; border-radius: var(--tm-raio-s); font-weight: 600; font-size: 14px; line-height: 1; border: 2px solid transparent; cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.tm-btn--g { height: 52px; padding: 0 26px; font-size: 15px; }
.tm-btn--primario { background: var(--tm-azul); color: #fff; }
.tm-btn--primario:hover { background: var(--tm-azul-hover); color: #fff; }
.tm-btn--wa { background: var(--tm-verde); color: #fff; }
.tm-btn--wa:hover { background: var(--tm-verde-escuro); color: #fff; }
.tm-btn--wa-contorno { width: 44px; padding: 0; border-color: var(--tm-verde); color: var(--tm-verde); background: #fff; }
.tm-btn--wa-contorno:hover { background: var(--tm-verde); color: #fff; }
.tm-btn--contorno-claro { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.tm-btn--contorno-claro:hover { border-color: #fff; color: #fff; }
.tm-icon { flex-shrink: 0; }

/* ---------- Barra superior ---------- */
.tm-topo { background: var(--tm-marinho); color: #fff; font-size: 13px; }
.tm-topo__linha { display: flex; align-items: center; justify-content: space-between; min-height: 36px; gap: 16px; }
.tm-topo__esq { display: flex; gap: 24px; }
.tm-topo__horario { color: var(--tm-claro-2); }
.tm-topo__dir { display: flex; gap: 24px; }
.tm-topo__dir a { color: #fff; }
.tm-topo__dir a:hover { color: var(--tm-claro-3); }

/* ---------- Cabeçalho ---------- */
.tm-header { background: #fff; border-bottom: 1px solid #ececec; position: sticky; top: 0; z-index: 50; }
.tm-header__linha { display: flex; align-items: center; gap: 32px; min-height: 92px; }
.tm-header__menu-btn { display: none; width: 44px; height: 44px; border: 0; background: none; color: var(--tm-texto); cursor: pointer; align-items: center; justify-content: center; padding: 0; }
.tm-header__logo img { max-height: 66px; width: auto; }
.tm-logo-texto { display: flex; flex-direction: column; line-height: 1; color: var(--tm-texto); }
.tm-logo-texto span { font-size: 12px; font-weight: 500; letter-spacing: 2px; color: #555; }
.tm-logo-texto strong { font-size: 24px; letter-spacing: 1px; }
.tm-logo-texto--claro span { color: var(--tm-claro-2); } .tm-logo-texto--claro strong { color: #fff; }
.tm-busca { flex: 1 1 auto; max-width: 620px; display: flex; height: 48px; border: 2px solid #e2e2e2; border-radius: var(--tm-raio-s); overflow: hidden; background: #fff; }
.tm-busca:focus-within { border-color: var(--tm-azul); }
.tm-busca input { flex: 1; min-width: 0; border: 0; padding: 0 16px; color: var(--tm-texto); outline: none; background: transparent; }
.tm-busca button { width: 56px; border: 0; background: var(--tm-azul); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.tm-header__acoes { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.tm-header__icone { width: 48px; height: 48px; border: 2px solid #e2e2e2; border-radius: var(--tm-raio-s); display: flex; align-items: center; justify-content: center; color: var(--tm-texto); position: relative; }
.tm-header__icone:hover { border-color: var(--tm-azul); color: var(--tm-azul); }
.tm-header__qtd { position: absolute; top: -8px; right: -8px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--tm-azul); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

/* ---------- Menu de categorias ---------- */
.tm-nav { border-top: 1px solid #ececec; }
.tm-nav__linha { display: flex; align-items: stretch; min-height: 56px; gap: 0; }
.tm-nav__todas { display: flex; align-items: center; gap: 10px; background: var(--tm-azul); color: #fff; padding: 0 22px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; flex-shrink: 0; }
.tm-nav__todas:hover { background: var(--tm-azul-hover); color: #fff; }
.tm-nav__itens { display: flex; align-items: center; gap: 28px; padding: 0 28px; overflow: hidden; flex: 1; }
.tm-nav__item { color: var(--tm-texto); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; padding: 18px 0; border-bottom: 2px solid transparent; }
.tm-nav__item:hover, .tm-nav__item.is-atual { color: var(--tm-azul); border-bottom-color: var(--tm-azul); }
.tm-nav__item[hidden] { display: none; }
.tm-nav__blog { display: flex; align-items: center; color: var(--tm-azul-escuro); font-size: 13px; font-weight: 600; text-transform: uppercase; white-space: nowrap; margin-left: auto; padding-left: 16px; }

/* ---------- Menu mobile ---------- */
.tm-menu-mobile { position: fixed; inset: 0; z-index: 100; background: #fff; overflow-y: auto; padding: 0 16px 24px; display: flex; flex-direction: column; }
.tm-menu-mobile[hidden] { display: none; }
.tm-menu-mobile__topo { display: flex; align-items: center; justify-content: space-between; height: 60px; border-bottom: 1px solid var(--tm-borda); font-size: 16px; }
.tm-menu-mobile__fechar { width: 44px; height: 44px; border: 0; background: none; color: var(--tm-texto); cursor: pointer; }
.tm-menu-mobile__lista, .tm-menu-mobile__lista ul { list-style: none; margin: 0; padding: 0; }
.tm-menu-mobile__lista > li > a { display: block; padding: 14px 0; font-weight: 600; border-bottom: 1px solid var(--tm-borda); color: var(--tm-texto); }
.tm-menu-mobile__lista ul a { display: block; padding: 10px 0 10px 16px; color: var(--tm-texto-2); }
.tm-menu-mobile__rodape { margin-top: auto; padding-top: 24px; }
.tm-menu-mobile__rodape .tm-btn { width: 100%; }
body.tm-menu-aberto { overflow: hidden; }

/* ---------- Seções ---------- */
.tm-secao__cabecalho { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.tm-secao__titulo { font-size: 28px; }
.tm-secao__link { font-size: 14px; font-weight: 600; white-space: nowrap; }
.tm-secao__link::after { content: " →"; }
.tm-eyebrow { display: block; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--tm-claro-3); }
.tm-eyebrow--azul { color: var(--tm-azul-escuro); }

/* ---------- Destaque ---------- */
.tm-destaque { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--tm-raio); overflow: hidden; background: var(--tm-destaque-bg); color: #fff; min-height: 440px; padding-left: 0; padding-right: 0; margin-top: 24px; }
.tm-destaque__texto { padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.tm-destaque__titulo { font-size: clamp(30px, 3vw, 44px); line-height: 1.12; color: #fff; }
.tm-destaque__p { font-size: 17px; line-height: 1.55; color: var(--tm-claro-1); max-width: 520px; }
.tm-destaque__botoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.tm-destaque__midia { background: var(--tm-fundo-3); position: relative; }
.tm-destaque__midia img { width: 100%; height: 100%; object-fit: cover; }
.tm-destaque__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; color: var(--tm-texto-3); font-size: 14px; }
.tm-destaque--cheio { grid-template-columns: 1fr; }
.tm-destaque--cheio .tm-destaque__midia { position: absolute; inset: 0; }
.tm-destaque--cheio .tm-destaque__midia::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,17,43,.85) 0%, rgba(1,17,43,.35) 100%); }
.tm-destaque--cheio { position: relative; }
.tm-destaque--cheio .tm-destaque__texto { position: relative; z-index: 1; max-width: 640px; }

/* ---------- Faixa de confiança ---------- */
.tm-confianca { display: grid; grid-template-columns: repeat(var(--tm-cols), minmax(0, 1fr)); gap: 16px; }
.tm-confianca__item { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border: 1px solid var(--tm-borda); border-radius: 8px; }
.tm-confianca__icone { width: 44px; height: 44px; border-radius: 22px; background: #eaf5fb; color: var(--tm-azul-escuro); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tm-confianca__item strong { display: block; font-size: 14px; }
.tm-confianca__item span:not(.tm-confianca__icone) { font-size: 12.5px; color: var(--tm-texto-3); }

/* ---------- Filtro por área ---------- */
.tm-area { display: flex; align-items: center; gap: 16px; padding-top: 20px; padding-bottom: 20px; background: var(--tm-fundo-2); border-radius: var(--tm-raio); flex-wrap: wrap; }
.tm-area__titulo { font-size: 15px; font-weight: 600; white-space: nowrap; }
.tm-area__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.tm-chip { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 18px; border-radius: 20px; background: #fff; border: 1px solid #d9dde3; color: var(--tm-texto); font-size: 14px; font-weight: 500; white-space: nowrap; }
.tm-chip small { color: #6b7078; font-size: 13px; }
.tm-chip:hover { border-color: var(--tm-azul); color: var(--tm-azul); }
.tm-chip--acao { background: var(--tm-azul); border-color: var(--tm-azul); color: #fff; font-weight: 600; }
.tm-chip--acao:hover { background: var(--tm-azul-hover); color: #fff; }

/* ---------- Categorias ---------- */
.tm-categorias { display: grid; grid-template-columns: repeat(var(--tm-cols), minmax(0, 1fr)); gap: 16px; }
.tm-categorias__item { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 20px 8px 18px; background: var(--tm-fundo-2); border-radius: var(--tm-raio); color: var(--tm-texto); text-align: center; transition: background-color .15s; }
.tm-categorias__item:hover { background: var(--tm-fundo-3); color: var(--tm-texto); }
.tm-categorias__img { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; color: var(--tm-azul); }
.tm-categorias__img img { width: 72px; height: 72px; object-fit: contain; }
.tm-categorias__nome { font-size: 13px; font-weight: 600; line-height: 1.3; }
.tm-categorias__item--todas { background: var(--tm-azul); color: #fff; justify-content: center; }
.tm-categorias__item--todas:hover { background: var(--tm-azul-hover); color: #fff; }
.tm-categorias__item--todas .tm-categorias__img { color: #fff; }

/* ---------- Grade e card de produto ---------- */
.tm-grade-produtos { display: grid; grid-template-columns: repeat(var(--tm-cols), minmax(0, 1fr)); gap: 20px; }
.tm-card { display: flex; flex-direction: column; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); overflow: hidden; background: #fff; }
.tm-card__img { display: block; aspect-ratio: 1; background: #fafafa; }
.tm-card__img img { width: 100%; height: 100%; object-fit: contain; }
.tm-card__corpo { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.tm-card__cat { font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: #6b7078; }
.tm-card__nome { font-size: 16px; line-height: 1.3; font-weight: 600; }
.tm-card__nome a { color: var(--tm-texto); }
.tm-card__nome a:hover { color: var(--tm-azul); }
.tm-card__resumo { font-size: 12.5px; color: var(--tm-texto-3); }
.tm-card__preco { display: flex; align-items: baseline; gap: 8px; margin-top: 6px; font-size: 22px; font-weight: 700; }
.tm-card__preco .woocommerce-Price-amount { font-size: 22px; font-weight: 700; color: var(--tm-texto); }
.tm-card__preco del { font-size: 14px; color: #8a8f96; font-weight: 500; }
.tm-card__preco ins { text-decoration: none; }
.tm-card__pix { font-size: 12px; font-weight: 400; color: var(--tm-texto-3); }
.tm-card__parcela { font-size: 12.5px; color: var(--tm-verde-texto); font-weight: 500; }
.tm-card__parcela .woocommerce-Price-amount { font-weight: 600; }
.tm-card__prazo { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--tm-azul-escuro); }
.tm-card__acoes { display: flex; gap: 8px; margin-top: auto; padding-top: 10px; }
.tm-card__acoes .tm-btn--primario { flex: 1; }

/* ---------- Banners secundários ---------- */
.tm-banners { display: grid; grid-template-columns: repeat(var(--tm-cols), minmax(0, 1fr)); gap: 20px; }
.tm-banner { position: relative; min-height: 200px; border-radius: var(--tm-raio); overflow: hidden; display: flex; align-items: center; padding: 32px 36px; color: #fff; }
.tm-banner__conteudo { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 8px; }
.tm-banner__conteudo strong { font-size: 26px; line-height: 1.2; }
.tm-banner__conteudo span:last-child { font-size: 14px; opacity: .9; }
.tm-banner__fundo { position: absolute; inset: 0; }
.tm-banner__fundo img { width: 100%; height: 100%; object-fit: cover; }
.tm-banner--azul { background: var(--tm-azul); } .tm-banner--azul .tm-eyebrow { color: #cbe8f7; }
.tm-banner--escuro { background: var(--tm-marinho); }
.tm-banner--claro { background: var(--tm-fundo-2); color: var(--tm-texto); border: 1px solid var(--tm-borda); }
.tm-banner--claro .tm-eyebrow { color: var(--tm-azul-escuro); } .tm-banner--claro .tm-banner__conteudo span:last-child { color: var(--tm-texto-3); }
.tm-banner--imagem { background: var(--tm-marinho); }
.tm-banner--imagem .tm-banner__fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,17,43,.8), rgba(1,17,43,.2)); }
.tm-banner:hover { color: inherit; }

/* ---------- Quem somos ---------- */
.tm-quem { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: center; }
.tm-quem__midia { position: relative; min-height: 360px; background: var(--tm-fundo-3); border-radius: var(--tm-raio); overflow: hidden; }
.tm-quem__midia img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.tm-quem__texto { display: flex; flex-direction: column; gap: 18px; }
.tm-quem__texto h2 { font-size: 32px; line-height: 1.15; }
.tm-quem__texto p { font-size: 16px; line-height: 1.65; color: var(--tm-texto-2); }
.tm-quem__numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm-quem__numeros div { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: var(--tm-fundo-2); border-radius: 8px; }
.tm-quem__numeros strong { font-size: 22px; }
.tm-quem__numeros span { font-size: 12.5px; color: var(--tm-texto-3); }

/* ---------- Personalização ---------- */
.tm-perso { background: var(--tm-marinho); color: #fff; padding: 64px 0; }
.tm-perso__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; }
.tm-perso__texto { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.tm-perso__texto h2 { font-size: 34px; line-height: 1.15; color: #fff; }
.tm-perso__texto p { font-size: 16px; line-height: 1.6; color: var(--tm-claro-1); }
.tm-perso__passos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.tm-perso__passos li { display: flex; gap: 18px; padding: 20px 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--tm-raio); }
.tm-perso__n { width: 40px; height: 40px; border-radius: 20px; background: var(--tm-azul); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tm-perso__passos strong { display: block; font-size: 16px; }
.tm-perso__passos li span:not(.tm-perso__n) { font-size: 14px; color: var(--tm-claro-1); line-height: 1.5; }

/* ---------- Blog ---------- */
.tm-posts { display: grid; grid-template-columns: repeat(var(--tm-cols, 3), minmax(0, 1fr)); gap: 20px; }
.tm-post-card { display: flex; flex-direction: column; gap: 12px; color: var(--tm-texto); }
.tm-post-card__img { aspect-ratio: 3/2; background: var(--tm-fundo-3); border-radius: var(--tm-raio); overflow: hidden; }
.tm-post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tm-post-card__cat { font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--tm-azul-escuro); }
.tm-post-card h3 { font-size: 17px; line-height: 1.35; font-weight: 600; }
.tm-post-card:hover h3 { color: var(--tm-azul); }

/* ---------- Páginas e posts ---------- */
.tm-pagina { padding-top: 40px; padding-bottom: 72px; }
.tm-pagina__cabecalho { margin-bottom: 28px; }
.tm-pagina__cabecalho h1 { font-size: 32px; }
.tm-conteudo { max-width: 800px; }
.tm-conteudo p, .tm-conteudo ul, .tm-conteudo ol { margin: 0 0 1.1em; font-size: 16px; line-height: 1.7; color: var(--tm-texto-2); }
.tm-conteudo h2 { font-size: 26px; margin: 1.6em 0 .6em; } .tm-conteudo h3 { font-size: 20px; margin: 1.4em 0 .5em; }
.tm-conteudo img { border-radius: var(--tm-raio); }
.tm-post { padding-top: 40px; padding-bottom: 72px; }
.tm-post__cabecalho { margin-bottom: 24px; display: flex; flex-direction: column; gap: 10px; }
.tm-post__cabecalho h1 { font-size: 36px; }
.tm-post__cat { font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.tm-post__meta { font-size: 13px; color: var(--tm-texto-3); }
.tm-post__capa { border-radius: var(--tm-raio); margin-bottom: 28px; }
.tm-404 { text-align: center; padding-top: 80px; padding-bottom: 100px; }
.tm-404 p { margin: 12px 0 24px; color: var(--tm-texto-3); }
.pagination, .woocommerce-pagination { margin-top: 32px; }
.nav-links, .woocommerce-pagination ul { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; }
.nav-links a, .nav-links span, .woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--tm-borda); border-radius: 6px; padding: 0 10px; color: var(--tm-texto); }
.nav-links .current, .woocommerce-pagination .current { background: var(--tm-azul); color: #fff; border-color: var(--tm-azul); }

/* ---------- Rodapé ---------- */
.tm-footer { margin-top: 72px; background: var(--tm-marinho); color: var(--tm-claro-1); padding-top: 56px; font-size: 14px; }
.tm-footer__grade { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: 40px; }
.tm-footer__marca { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.tm-footer__marca img { max-height: 48px; width: auto; filter: brightness(0) invert(1); }
.tm-footer__marca p { line-height: 1.6; }
.tm-footer__cnpj { font-size: 13px; color: var(--tm-claro-2); }
.tm-footer__tel { color: #fff; font-weight: 600; }
.tm-footer__wa { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; margin-top: 4px; }
.tm-footer__coluna h2 { color: #fff; font-size: 14px; font-weight: 600; margin-bottom: 14px; }
.tm-footer__coluna ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tm-footer__coluna a { color: var(--tm-claro-1); }
.tm-footer__coluna a:hover { color: #fff; }
.tm-footer__base { margin-top: 40px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 24px; padding-bottom: 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--tm-claro-2); }
.tm-footer__pagamentos { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tm-footer__pagamentos em { font-style: normal; background: rgba(255,255,255,.1); color: #fff; padding: 6px 10px; border-radius: 4px; font-weight: 600; }

/* ---------- WhatsApp flutuante ---------- */
.tm-wa-flutuante { position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; border-radius: 28px; background: var(--tm-verde); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.25); z-index: 60; }
.tm-wa-flutuante:hover { background: var(--tm-verde-escuro); color: #fff; }

/* ---------- Responsivo ---------- */
@media (max-width: 1023px) {
	:root { --tm-secao: 44px; }
	.tm-secao__titulo { font-size: 24px; }
	.tm-header__linha { gap: 16px; min-height: 72px; }
	.tm-header__wa span { display: none; }
	.tm-header__wa { width: 48px; padding: 0; }
	.tm-confianca { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-categorias { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.tm-grade-produtos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tm-destaque__texto { padding: 40px 32px; }
	.tm-quem, .tm-perso__grade { gap: 32px; }
	.tm-footer__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	:root { --tm-secao: 36px; }
	.tm-topo__horario, .tm-topo__dir { display: none; }
	.tm-topo__linha { justify-content: center; }
	.tm-header__linha { flex-wrap: wrap; min-height: 64px; padding-top: 8px; padding-bottom: 12px; gap: 8px 12px; }
	.tm-header__menu-btn { display: flex; order: 1; }
	.tm-header__logo { order: 2; flex: 1; display: flex; justify-content: center; }
	.tm-header__logo img { max-height: 44px; }
	.tm-logo-texto strong { font-size: 17px; } .tm-logo-texto span { font-size: 13px; letter-spacing: .4px; }
	.tm-header__acoes { order: 3; margin-left: 0; gap: 4px; }
	.tm-header__wa { display: none; }
	.tm-header__icone { width: 44px; height: 44px; border: 0; }
	.tm-header__qtd { top: 2px; right: 0; }
	.tm-busca { order: 4; flex-basis: 100%; max-width: none; height: 46px; }
	.tm-nav__todas, .tm-nav__blog { display: none; }
	.tm-nav__linha { min-height: 0; }
	.tm-nav__itens { padding: 10px 0; gap: 8px; overflow-x: auto; scrollbar-width: none; }
	.tm-nav__itens::-webkit-scrollbar { display: none; }
	.tm-nav__item { height: 36px; padding: 0 14px; border-radius: 18px; background: #f1f3f6; text-transform: none; letter-spacing: 0; font-weight: 500; display: inline-flex; align-items: center; border-bottom: 0; }
	.tm-nav__item[hidden] { display: inline-flex; }
	.tm-nav__item.is-atual { background: var(--tm-azul); color: #fff; }
	.tm-destaque { grid-template-columns: 1fr; min-height: 0; margin-top: 16px; }
	.tm-destaque__midia { order: -1; aspect-ratio: 16/9; }
	.tm-destaque__texto { padding: 22px 20px 24px; gap: 12px; }
	.tm-destaque__titulo { font-size: 26px; }
	.tm-destaque__p { font-size: 14px; }
	.tm-destaque__botoes .tm-btn { width: 100%; height: 48px; }
	.tm-destaque--cheio .tm-destaque__midia { order: 0; aspect-ratio: auto; }
	.tm-confianca__item { padding: 12px; gap: 10px; }
	.tm-confianca__icone { width: 36px; height: 36px; }
	.tm-confianca__item span:not(.tm-confianca__icone) { display: none; }
	.tm-confianca__item strong { font-size: 13px; }
	.tm-area { padding: 16px; flex-direction: column; align-items: flex-start; gap: 10px; border-radius: 0; margin-left: 0; margin-right: 0; width: auto; }
	.tm-area__chips { flex-wrap: nowrap; overflow-x: auto; width: 100%; scrollbar-width: none; padding-bottom: 2px; }
	.tm-area__chips::-webkit-scrollbar { display: none; }
	.tm-chip { height: 36px; font-size: 13px; padding: 0 14px; }
	.tm-chip small { display: none; }
	.tm-categorias { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
	.tm-categorias__item { padding: 12px 4px; gap: 8px; }
	.tm-categorias__img, .tm-categorias__img img { width: 48px; height: 48px; }
	.tm-categorias__nome { font-size: 13px; letter-spacing: .4px; }
	.tm-categorias__item--todas { grid-column: span 2; }
	.tm-grade-produtos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tm-card__corpo { padding: 12px 12px 14px; gap: 6px; }
	.tm-card__cat, .tm-card__resumo { display: none; }
	.tm-card__nome { font-size: 13.5px; }
	.tm-card__preco, .tm-card__preco .woocommerce-Price-amount { font-size: 17px; }
	.tm-card__pix { display: none; }
	.tm-card__parcela { font-size: 11.5px; }
	.tm-card__prazo { font-size: 13px; }
	.tm-card__acoes .tm-btn--wa-contorno { display: none; }
	.tm-banners { grid-template-columns: 1fr; gap: 12px; }
	.tm-banner { min-height: 0; padding: 20px; }
	.tm-banner__conteudo strong { font-size: 19px; }
	.tm-quem { grid-template-columns: 1fr; gap: 20px; }
	.tm-quem__midia { min-height: 200px; }
	.tm-quem__texto h2 { font-size: 22px; }
	.tm-quem__texto p { font-size: 14px; }
	.tm-quem__numeros { gap: 8px; }
	.tm-quem__numeros div { padding: 10px; } .tm-quem__numeros strong { font-size: 18px; } .tm-quem__numeros span { font-size: 13px; }
	.tm-perso { padding: 36px 0; }
	.tm-perso__grade { grid-template-columns: 1fr; gap: 20px; }
	.tm-perso__texto h2 { font-size: 24px; }
	.tm-perso__texto .tm-btn { width: 100%; }
	.tm-perso__passos li { padding: 14px 16px; align-items: center; }
	.tm-perso__passos li span:not(.tm-perso__n) { display: none; }
	.tm-posts { grid-template-columns: 1fr; gap: 14px; }
	.tm-post-card { flex-direction: row; align-items: center; gap: 12px; }
	.tm-post-card__img { width: 110px; height: 80px; aspect-ratio: auto; flex-shrink: 0; }
	.tm-post-card h3 { font-size: 14px; }
	.tm-footer { margin-top: 40px; padding-top: 28px; }
	.tm-footer__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.tm-footer__marca { grid-column: span 2; }
	.tm-footer__base { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
	.tm-pagina__cabecalho h1, .tm-post__cabecalho h1 { font-size: 26px; }
}
@media (min-width: 1440px) {
	:root { --tm-container: 1280px; }
}
@media (min-width: 1920px) {
	:root { --tm-container: 1400px; }
	body { font-size: 16px; }
}

/* =========================================================
   Loja: listagem (categoria, busca, faixa de área)
   ========================================================= */
.tm-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--tm-texto-3); padding: 16px 0 0; }
.tm-breadcrumb a { color: var(--tm-texto-3); } .tm-breadcrumb a:hover { color: var(--tm-azul); }
.tm-arquivo { padding-bottom: 72px; }
.tm-arquivo__cabecalho { margin: 20px 0 24px; }
.tm-arquivo__cabecalho h1 { font-size: 30px; }
.tm-arquivo__descricao { max-width: 800px; margin-top: 10px; color: var(--tm-texto-2); font-size: 15px; line-height: 1.65; }
.tm-arquivo__categorias { margin-bottom: 36px; }
.tm-arquivo__barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; font-size: 14px; color: var(--tm-texto-3); }
.tm-arquivo__barra .woocommerce-result-count { margin: 0; }
.tm-arquivo__barra .orderby { height: 40px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio-s); padding: 0 12px; color: var(--tm-texto); background: #fff; }
.tm-arquivo__vazio { text-align: center; padding: 60px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; color: var(--tm-texto-3); }

/* =========================================================
   Página do produto
   ========================================================= */
.tm-produto { padding-bottom: 72px; }
.tm-produto__topo { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; margin-top: 20px; align-items: start; }
.tm-produto__galeria { position: sticky; top: 168px; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); overflow: hidden; background: #fff; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce-product-gallery .flex-control-thumbs { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.woocommerce-product-gallery .flex-control-thumbs li { margin: 0; }
.woocommerce-product-gallery .flex-control-thumbs img { border: 2px solid var(--tm-borda); border-radius: var(--tm-raio-s); cursor: pointer; opacity: .7; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: var(--tm-azul); opacity: 1; }
.woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 20px; background: rgba(255,255,255,.9); border: 1px solid var(--tm-borda); display: flex; align-items: center; justify-content: center; }

.tm-produto__resumo { display: flex; flex-direction: column; gap: 18px; }
.tm-produto__titulo { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.15; }
.tm-produto__preco { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 10px; }
.tm-produto__preco .price { font-size: 30px; font-weight: 700; color: var(--tm-texto); margin: 0; }
.tm-produto__preco .price del { font-size: 18px; color: #8a8f96; font-weight: 500; margin-right: 6px; }
.tm-produto__preco .price ins { text-decoration: none; }
.tm-produto__pix { font-size: 14px; color: var(--tm-texto-3); }
.tm-produto__parcela { flex-basis: 100%; font-size: 14px; color: var(--tm-verde-texto); font-weight: 500; }
.tm-produto__preco .price:empty { display: none; }
.tm-produto__consulta { flex-basis: 100%; margin: 0; font-size: 20px; font-weight: 600; color: var(--tm-texto-2); }
.tm-produto__icones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
.tm-produto__icones li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--tm-texto-2); }
.tm-produto__icones .tm-icon { color: var(--tm-azul); }
.tm-produto__prazo { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--tm-azul-escuro); }
.tm-produto__beneficios h3, .tm-produto__beneficios h2 { font-size: 15px; margin: 0 0 8px; }
.tm-produto__beneficios ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--tm-texto-2); line-height: 1.5; }
.tm-produto__beneficios p { font-size: 14px; color: var(--tm-texto-2); margin-bottom: 8px; }

/* Formulário de compra (Woo) */
.tm-produto__compra { display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: var(--tm-fundo-2); }
.tm-produto__compra form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.tm-produto__compra .variations { width: 100%; border-collapse: collapse; }
.tm-produto__compra .variations th, .tm-produto__compra .variations td { padding: 4px 0; vertical-align: middle; text-align: left; border: 0; }
.tm-produto__compra .variations th { font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--tm-texto-3); width: 70px; }
.tm-produto__compra .variations select { height: 44px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; background: #fff; min-width: 200px; }
.tm-produto__compra .reset_variations { font-size: 12px; margin-left: 10px; }
.tm-cores { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tm-cor { width: 32px; height: 32px; border-radius: 16px; border: 2px solid #fff; box-shadow: 0 0 0 1px #c9ced6; padding: 0; background: var(--cor); cursor: pointer; position: relative; }
.tm-cor.is-ativa { box-shadow: 0 0 0 2px var(--tm-azul); }
.tm-cores__nome { font-size: 13px; color: var(--tm-texto-2); margin-left: 4px; }
.woocommerce-variation-price .price { font-size: 22px; font-weight: 700; }
.woocommerce-variation-availability .stock { font-size: 13px; margin: 4px 0 0; }
.woocommerce-variation-availability .in-stock { color: var(--tm-verde-texto); }
.woocommerce-variation-availability .out-of-stock { color: #c8102e; }
.tm-produto__compra .woocommerce-variation-add-to-cart, .tm-produto__compra form.cart:not(.variations_form) { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tm-produto__compra .quantity { display: flex; align-items: center; height: 48px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); background: #fff; overflow: hidden; }
.tm-produto__compra .quantity .qty { width: 64px; height: 100%; border: 0; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.tm-produto__compra .quantity .qty::-webkit-inner-spin-button { opacity: 1; height: 40px; }
.tm-produto__compra .single_add_to_cart_button { flex: 1; height: 48px; border: 0; border-radius: var(--tm-raio-s); background: var(--tm-azul); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; padding: 0 22px; }
.tm-produto__compra .single_add_to_cart_button:hover { background: var(--tm-azul-hover); }
.tm-produto__compra .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }
.tm-produto__wa { width: 100%; height: 48px; }
.tm-produto__garantias { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--tm-texto-2); }
.tm-produto__garantias li { display: flex; align-items: center; gap: 10px; }
.tm-produto__garantias .tm-icon { color: var(--tm-azul); }
.tm-produto .product_meta { font-size: 13px; color: var(--tm-texto-3); display: flex; flex-wrap: wrap; gap: 6px 18px; }
.tm-produto .product_meta > span { display: inline-flex; gap: 4px; }

/* Abas */
.tm-abas { margin-top: 56px; }
.tm-abas__lista { display: flex; gap: 4px; border-bottom: 2px solid var(--tm-borda); overflow-x: auto; scrollbar-width: none; }
.tm-abas__lista::-webkit-scrollbar { display: none; }
.tm-abas__aba { border: 0; background: none; padding: 14px 20px; font-weight: 600; font-size: 14px; color: var(--tm-texto-3); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; white-space: nowrap; text-transform: uppercase; letter-spacing: .3px; }
.tm-abas__aba:hover { color: var(--tm-texto); }
.tm-abas__aba.is-ativa { color: var(--tm-azul); border-bottom-color: var(--tm-azul); }
.tm-abas__painel { padding: 32px 0 8px; max-width: 900px; }
.tm-abas__painel[hidden] { display: none; }
.tm-abas__acordeao { display: none; }
.tm-abas__corpo h1, .tm-abas__corpo h2 { font-size: 24px; margin: 0 0 16px; }
.tm-abas__corpo h3 { font-size: 18px; margin: 28px 0 10px; }
.tm-abas__corpo h4 { font-size: 15px; margin: 18px 0 6px; color: var(--tm-texto); }
.tm-abas__corpo h2 + h3, .tm-abas__corpo h1 + h3 { margin-top: 12px; }
.tm-abas__corpo table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 1.2em; }
.tm-abas__corpo td, .tm-abas__corpo th { padding: 10px 12px; border: 1px solid var(--tm-borda); text-align: left; vertical-align: top; }
.tm-abas__corpo tr:nth-child(even) td { background: var(--tm-fundo-2); }
.tm-abas__corpo td:first-child { width: 36%; font-weight: 600; color: var(--tm-texto); }

/* Relacionados */
.tm-produto .related.products { margin-top: 64px; }
.tm-produto .related > h2 { font-size: 28px; margin-bottom: 24px; }
.tm-produto .related ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tm-produto .related ul.products li { margin: 0; }

/* Mensagens do Woo */
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 16px 0; padding: 14px 18px; border-radius: var(--tm-raio-s); border: 1px solid var(--tm-borda); background: var(--tm-fundo-2); font-size: 14px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.woocommerce-message { border-color: #b7e4c7; background: #eef9f1; }
.woocommerce-error { border-color: #f5c2c7; background: #fdf1f2; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: var(--tm-raio-s); background: var(--tm-azul); color: #fff; font-weight: 600; font-size: 13px; }

@media (max-width: 1023px) {
	.tm-produto__topo { gap: 28px; }
	.tm-produto__galeria { position: static; }
	.tm-produto .related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tm-arquivo__cabecalho h1 { font-size: 24px; }
	.tm-arquivo__barra { flex-direction: column; align-items: flex-start; gap: 10px; }
	.tm-produto__topo { grid-template-columns: 1fr; gap: 20px; margin-top: 12px; }
	.tm-produto__preco .price { font-size: 24px; }
	.tm-produto__icones { gap: 8px 12px; } .tm-produto__icones li { font-size: 13px; }
	.tm-produto__compra { padding: 14px; }
	.tm-produto__compra .single_add_to_cart_button { flex-basis: 100%; }
	.tm-abas { margin-top: 32px; }
	.tm-abas__lista { display: none; }
	.tm-abas__painel { padding: 0; border-bottom: 1px solid var(--tm-borda); }
	.tm-abas__painel[hidden] { display: block; }
	.tm-abas__acordeao { display: flex; width: 100%; align-items: center; justify-content: space-between; border: 0; background: none; padding: 16px 0; font-weight: 600; font-size: 15px; color: var(--tm-texto); cursor: pointer; text-align: left; }
	.tm-abas__acordeao .tm-icon { transform: rotate(90deg); transition: transform .2s; color: var(--tm-texto-3); }
	.tm-abas__acordeao[aria-expanded="true"] .tm-icon { transform: rotate(-90deg); }
	.tm-abas__acordeao[aria-expanded="false"] + .tm-abas__corpo { display: none; }
	.tm-abas__corpo { padding: 0 0 20px; }
	.tm-abas__corpo h1, .tm-abas__corpo h2 { font-size: 20px; }
	.tm-abas__corpo td:first-child { width: 42%; }
	.tm-produto .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tm-produto .related > h2 { font-size: 22px; }
}

/* Sobrescreve o CSS padrão do WooCommerce na página do produto */
.woocommerce div.product .tm-produto__galeria div.images, .tm-produto__galeria .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .tm-produto__galeria div.images .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 12px 0 0; padding: 0; }
.woocommerce div.product .tm-produto__galeria div.images .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .tm-produto__galeria .flex-control-nav { position: static; }
.woocommerce div.product form.cart .button, .woocommerce div.product form.cart .single_add_to_cart_button { background: var(--tm-azul) !important; color: #fff !important; border-radius: var(--tm-raio-s) !important; height: 48px; line-height: 48px; padding: 0 22px; font-weight: 600; font-size: 15px; }
.woocommerce div.product form.cart .button:hover { background: var(--tm-azul-hover) !important; }
.woocommerce div.product form.cart .quantity .qty { height: 46px; border: 0; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product .tm-produto__titulo { font-size: clamp(22px, 2.4vw, 32px); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tm-texto); }
.woocommerce div.product .woocommerce-tabs { display: none; }

/* Celular: miniaturas da galeria em 4 colunas. */
@media (max-width: 767px) {
	.woocommerce-product-gallery .flex-control-thumbs,
	.woocommerce div.product .tm-produto__galeria div.images .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* =========================================================
   Área do cliente (Minha conta)
   ========================================================= */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .tm-login { grid-column: 1 / -1; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { content: none; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }

.tm-conta__menu ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); overflow: hidden; background: #fff; }
.tm-conta__menu li + li { border-top: 1px solid var(--tm-borda); }
.tm-conta__menu a { display: flex; align-items: center; gap: 10px; padding: 14px 16px; color: var(--tm-texto-2); font-weight: 500; font-size: 15px; }
.tm-conta__menu a:hover { background: var(--tm-fundo-2); color: var(--tm-texto); }
.tm-conta__menu .is-active a { background: var(--tm-azul); color: #fff; }
.tm-conta__menu .tm-icon { flex: 0 0 auto; }

.tm-conta__titulo { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; margin: 0 0 6px; }
.tm-conta__nota { font-size: 14px; color: var(--tm-texto-3); margin: 0 0 20px; }
.tm-conta__voltar { margin-bottom: 10px; font-size: 14px; }
.tm-conta__bloco { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 20px; margin-top: 20px; }
.tm-conta__bloco > h2 { display: flex; align-items: center; gap: 8px; font-size: 18px; margin: 0 0 14px; }
.tm-conta__bloco > h2 .tm-icon { color: var(--tm-azul); }
.tm-conta__vazio { border: 1px dashed var(--tm-borda); border-radius: var(--tm-raio); padding: 32px; text-align: center; color: var(--tm-texto-2); }
.tm-conta__vazio-linha { margin: 0; color: var(--tm-texto-3); font-size: 14px; }
.tm-conta__paginas { display: flex; gap: 10px; margin-top: 20px; }

.tm-pedidos { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.tm-pedido { display: grid; grid-template-columns: minmax(0, 1.4fr) auto auto auto; align-items: center; gap: 16px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 16px 18px; }
.tm-pedido__numero { display: block; font-weight: 600; }
.tm-pedido__id time { font-size: 13px; color: var(--tm-texto-3); }
.tm-pedido__total { font-weight: 700; }
.tm-pedido-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tm-pedido-topo__data { margin: 0; font-size: 14px; color: var(--tm-texto-3); }

.tm-selo { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; border: 1px solid transparent; white-space: nowrap; }
.tm-selo--ok { background: #eef9f1; color: #1a7f45; border-color: #b7e4c7; }
.tm-selo--andamento { background: #eaf4fb; color: #0b6390; border-color: #b8ddf2; }
.tm-selo--espera { background: #fff7e6; color: #8a6100; border-color: #f2dca8; }
.tm-selo--cancelado { background: #fdf1f2; color: #a4243b; border-color: #f5c2c7; }
.tm-selo--neutro { background: var(--tm-fundo-2); color: var(--tm-texto-2); border-color: var(--tm-borda); }

.tm-rastreio { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 6px 14px; margin: 0 0 14px; font-size: 15px; }
.tm-rastreio dt { color: var(--tm-texto-3); font-size: 13px; text-transform: uppercase; letter-spacing: .6px; }
.tm-rastreio dd { margin: 0; font-weight: 500; }
.tm-rastreio code { background: var(--tm-fundo-2); padding: 3px 8px; border-radius: 6px; font-size: 14px; }

.tm-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tm-doc { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: center; gap: 14px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio-s); padding: 12px 14px; }
.tm-doc__tipo { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--tm-azul); }
.tm-doc__tipo--cliente { color: var(--tm-texto-3); }
.tm-doc__nome { min-width: 0; font-weight: 500; }
.tm-doc__nome small { display: block; font-weight: 400; font-size: 13px; color: var(--tm-texto-3); }

.tm-envio { display: grid; gap: 14px; margin-bottom: 8px; }
.tm-envio__campo { margin: 0; display: grid; gap: 6px; }
.tm-envio__campo label { font-weight: 600; font-size: 14px; }
.tm-envio__campo small { font-size: 13px; color: var(--tm-texto-3); }
.tm-envio textarea { width: 100%; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 10px 12px; font: inherit; resize: vertical; }
.tm-envio input[type="file"] { font-size: 14px; }
.tm-envio__acoes { margin: 0; }
.tm-envio__sub { font-size: 15px; margin: 22px 0 10px; }

.tm-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 40px; align-items: start; }
.tm-login h2 { font-size: 22px; margin: 0 0 10px; }
.tm-login__aviso p { color: var(--tm-texto-2); }
.tm-login__destaque { display: flex; gap: 10px; align-items: flex-start; background: var(--tm-fundo-2); border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); padding: 14px 16px; }
.tm-login__destaque .tm-icon { flex: 0 0 auto; color: var(--tm-azul); margin-top: 2px; }
.tm-login__form { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 24px; }
.tm-login__form .form-row { display: grid; gap: 6px; margin: 0 0 14px; }
.tm-login__form label { font-weight: 600; font-size: 14px; }
.tm-login__form input[type="text"], .tm-login__form input[type="password"] { height: 44px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; font: inherit; }
.tm-login__acoes { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.tm-login__lembrar { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; margin: 0; }
.tm-login__esqueci { margin: 12px 0 0; font-size: 14px; }

@media (max-width: 1023px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 20px; }
	.tm-login { grid-template-columns: 1fr; gap: 24px; }
	.tm-conta__menu ul { display: flex; overflow-x: auto; scrollbar-width: thin; }
	.tm-conta__menu li + li { border-top: 0; border-left: 1px solid var(--tm-borda); }
	.tm-conta__menu a { white-space: nowrap; padding: 12px 16px; }
}
@media (max-width: 767px) {
	.tm-pedido { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; }
	.tm-pedido__acao { grid-column: 1 / -1; }
	.tm-pedido__acao .tm-btn { width: 100%; justify-content: center; }
	.tm-doc { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.tm-doc .tm-btn { justify-self: start; }
	.tm-rastreio { grid-template-columns: 1fr; gap: 2px 0; }
	.tm-rastreio dd { margin-bottom: 8px; }
	.tm-conta__bloco { padding: 16px; }
}

/* Área do cliente — dossiê, observações e envios (v0.4.0) */
.tm-conta__bloco > h2 .tm-conta__link-pedido { margin-left: auto; font-size: 13px; font-weight: 500; }
.tm-observacoes p { margin: 0 0 8px; font-size: 15px; color: var(--tm-texto-2); }
.tm-observacoes p:last-child { margin-bottom: 0; }
.tm-docs--envios .tm-doc { grid-template-columns: 110px minmax(0, 1fr) auto; align-items: start; }
.tm-docs--envios .tm-selo { margin-top: 2px; }
.tm-doc--recusado { background: #fdf7f8; }
.tm-doc--pendente { background: var(--tm-fundo-2); }
.tm-doc__obs { display: block; margin-top: 6px; font-weight: 400; font-size: 14px; color: var(--tm-texto-2); }
.tm-doc__motivo { display: block; margin-top: 4px; font-weight: 400; font-size: 13px; color: #a4243b; }
.tm-doc__semacao { font-size: 13px; color: var(--tm-texto-3); white-space: nowrap; }
.tm-envio__aviso { margin-left: 12px; font-size: 13px; color: var(--tm-texto-3); }
@media (max-width: 767px) {
	.tm-docs--envios .tm-doc { grid-template-columns: minmax(0, 1fr); }
	.tm-conta__bloco > h2 .tm-conta__link-pedido { margin-left: 0; flex-basis: 100%; }
}

/* =========================================================
   Carrinho, checkout e pedido recebido (v0.5.0)
   ========================================================= */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { max-width: none; }
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas: "avisos avisos" "itens resumo";
	column-gap: 32px; row-gap: 0;
	align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-area: avisos; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-area: itens; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-area: resumo; }
.woocommerce-cart .woocommerce::before, .woocommerce-cart .woocommerce::after { content: none; }
.woocommerce-cart .woocommerce-cart-form { min-width: 0; margin: 0; }
.woocommerce-cart .cart-collaterals { width: auto !important; float: none !important; margin: 0; }
.woocommerce-cart .cart-collaterals .cart_totals { width: auto !important; float: none !important; }
.woocommerce-cart .cart-collaterals::after { content: none; }

/* Itens do carrinho em cartão */
.woocommerce-cart table.cart { border: 0; margin: 0; width: 100%; }
.woocommerce-cart table.cart thead { display: none !important; }
.woocommerce-cart table.cart tbody, .woocommerce-cart table.cart tr { display: block; }
.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item {
	display: grid; grid-template-columns: 96px minmax(0, 1fr) auto auto auto 32px;
	align-items: center; gap: 8px 18px;
	border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff;
	padding: 14px 16px; margin-bottom: 12px;
}
.woocommerce-cart table.cart td { border: 0 !important; padding: 0 !important; display: block; }
.woocommerce-cart td.product-thumbnail { order: 1; }
.woocommerce-cart td.product-thumbnail img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--tm-raio-s); border: 1px solid var(--tm-borda); }
.woocommerce-cart td.product-name { order: 2; min-width: 0; overflow-wrap: anywhere; }
.woocommerce-cart td.product-name a { font-weight: 600; color: var(--tm-texto); }
.woocommerce-cart td.product-name .variation { margin: 6px 0 0; font-size: 13px; color: var(--tm-texto-3); display: flex; flex-wrap: wrap; gap: 2px 8px; }
.woocommerce-cart td.product-name .variation dt, .woocommerce-cart td.product-name .variation dd { margin: 0; }
.woocommerce-cart td.product-name .variation dd p { margin: 0; }
.woocommerce-cart td.product-price { order: 3; }
.woocommerce-cart td.product-quantity { order: 4; }
.woocommerce-cart td.product-subtotal { order: 5; font-weight: 700; }
.woocommerce-cart td.product-remove { order: 6; text-align: right; }
.woocommerce-cart td.product-price, .woocommerce-cart td.product-quantity, .woocommerce-cart td.product-subtotal {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; white-space: nowrap;
}
.woocommerce-cart td.product-price::before, .woocommerce-cart td.product-quantity::before, .woocommerce-cart td.product-subtotal::before {
	content: attr(data-title); font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--tm-texto-3); font-weight: 500;
}
.woocommerce-cart td.product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 14px; background: var(--tm-fundo-2); color: var(--tm-texto-3) !important; font-size: 18px; line-height: 1; text-decoration: none; }
.woocommerce-cart td.product-remove a.remove:hover { background: #fdf1f2; color: #a4243b !important; }

/* Quantidade com − e + */
.woocommerce-cart .quantity { display: inline-flex; align-items: center; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); overflow: hidden; background: #fff; }
.tm-qtd__btn { width: 34px; height: 40px; border: 0; background: var(--tm-fundo-2); color: var(--tm-texto-2); font-size: 17px; line-height: 1; cursor: pointer; }
.tm-qtd__btn:hover { background: #e9edf2; color: var(--tm-texto); }
.woocommerce-cart .quantity input.qty { width: 46px; height: 40px; border: 0; text-align: center; font: inherit; background: #fff; -moz-appearance: textfield; }
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button, .woocommerce-cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Linha de ações: esconde cupom e "atualizar" padrão (o cupom vive no resumo) */
.woocommerce-cart td.actions { display: block !important; padding: 0 !important; }
.woocommerce-cart td.actions .coupon { display: none; }
.woocommerce-cart td.actions > button[name="update_cart"] { position: absolute; left: -9999px; }

/* Resumo do pedido (carrinho e checkout) */
.cart_totals, .woocommerce-checkout-review-order { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 20px; }
.cart_totals h2, #order_review_heading { font-size: 18px; margin: 0 0 14px; }
.cart_totals table.shop_table, .woocommerce-checkout-review-order-table { border: 0; margin: 0; width: 100%; border-collapse: collapse; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { border: 0; border-bottom: 1px solid var(--tm-borda); padding: 12px 0; font-size: 15px; vertical-align: top; }
.cart_totals table.shop_table th, .woocommerce-checkout-review-order-table th { font-weight: 500; color: var(--tm-texto-2); text-align: left; }
.cart_totals table.shop_table td, .woocommerce-checkout-review-order-table td { text-align: right; }
.cart_totals .order-total th, .cart_totals .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td { border-bottom: 0; padding-top: 16px; font-size: 18px; font-weight: 700; color: var(--tm-texto); }
.cart_totals .woocommerce-shipping-destination, .woocommerce-checkout-review-order .woocommerce-shipping-destination { font-size: 13px; color: var(--tm-texto-3); }
.cart_totals ul#shipping_method, .woocommerce-checkout-review-order ul#shipping_method { list-style: none; margin: 0; padding: 0; text-align: left; }
.cart_totals ul#shipping_method li, .woocommerce-checkout-review-order ul#shipping_method li { margin: 0 0 6px; display: flex; align-items: center; gap: 8px; }
.tm-sem-frete, .tm-sem-frete-linha td { font-size: 14px; color: var(--tm-texto-3); text-align: left; }
.woocommerce-shipping-calculator { margin-top: 8px; font-size: 14px; }

/* Cupom dentro do resumo */
.tm-cupom-linha th { padding: 12px 0 !important; }
.tm-cupom label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.tm-cupom__linha { display: flex; gap: 8px; }
.tm-cupom input.input-text { flex: 1 1 auto; min-width: 0; height: 44px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; font: inherit; }
.tm-cupom .tm-btn { flex: 0 0 auto; }

/* Botões do resumo */
.wc-proceed-to-checkout { padding: 16px 0 0; display: grid; gap: 10px; }
.wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; min-height: 50px; height: auto; border-radius: var(--tm-raio-s); background: var(--tm-azul) !important; color: #fff !important; font-weight: 600; font-size: 16px; line-height: 1.25; margin: 0; padding: 12px 20px; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--tm-azul-hover) !important; }
.tm-carrinho__wa { justify-content: center; }
.tm-confianca-compra { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--tm-borda); display: grid; gap: 10px; }
.tm-confianca-compra li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--tm-texto-2); }
.tm-confianca-compra .tm-icon { color: var(--tm-azul); flex: 0 0 auto; }

/* Carrinho vazio */
.tm-carrinho-vazio { border: 1px dashed var(--tm-borda); border-radius: var(--tm-raio); padding: 48px 24px; text-align: center; }
.tm-carrinho-vazio h1 { font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 10px; }
.tm-carrinho-vazio p { color: var(--tm-texto-2); max-width: 46ch; margin: 0 auto; }
.tm-carrinho-vazio__acoes { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 20px; }
.woocommerce-cart .cart-empty, .woocommerce-cart .return-to-shop { display: none; }
.tm-carrinho-vazio-pagina .woocommerce { grid-template-columns: 1fr; }

/* Barra fixa do celular */
.tm-barra-total { display: none; }

/* Checkout em duas colunas */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	grid-template-areas: "dados resumo-titulo" "dados resumo";
	grid-template-rows: min-content 1fr;
	column-gap: 32px; align-items: start;
}
.woocommerce-checkout form.checkout::before, .woocommerce-checkout form.checkout::after { content: none; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout > .tm-resumo-toggle { grid-area: toggle; }
.woocommerce-checkout form.checkout #customer_details { grid-area: dados; min-width: 0; }
.woocommerce-checkout form.checkout #order_review_heading { grid-area: resumo-titulo; margin: 0 0 12px; }
.woocommerce-checkout form.checkout #order_review { grid-area: resumo; position: sticky; top: 120px; }
.woocommerce-checkout .col2-set, .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto !important; float: none !important; }
.woocommerce-checkout .col2-set::after { content: none; }
.woocommerce-checkout .col-2 { margin-top: 8px; }

/* Campos */
.tm-checkout__secao { font-size: 16px; margin: 26px 0 12px; padding-top: 18px; border-top: 1px solid var(--tm-borda); }
.tm-checkout__secao:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper {
	display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 16px;
}
.woocommerce-checkout .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 6px; flex: 1 1 100%; }
.woocommerce-checkout .form-row::before, .woocommerce-checkout .form-row::after { content: none; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { flex: 1 1 calc(50% - 8px); }
.woocommerce-checkout .form-row-wide, .woocommerce-checkout .tm-checkout__secao, .woocommerce-checkout .form-row.notes { flex: 1 1 100%; }
.woocommerce-checkout .form-row label { font-size: 14px; font-weight: 600; color: var(--tm-texto); }
.woocommerce-checkout .form-row label .optional { font-weight: 400; color: var(--tm-texto-3); }
.woocommerce-checkout .form-row .input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .select2-container .select2-selection--single {
	height: 48px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; font: inherit; background: #fff; width: 100%; color: var(--tm-texto);
}
.woocommerce-checkout .form-row textarea.input-text { height: auto; min-height: 96px; padding: 12px; resize: vertical; }
.woocommerce-checkout .form-row .input-text:focus, .woocommerce-checkout .form-row select:focus { outline: 0; border-color: var(--tm-azul); box-shadow: 0 0 0 3px rgba(0, 136, 204, .15); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0; color: var(--tm-texto); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout .form-row .description { font-size: 13px; color: var(--tm-texto-3); }
.woocommerce-checkout .form-row.woocommerce-invalid .input-text, .woocommerce-checkout .form-row.woocommerce-invalid select { border-color: #c8102e; }
.woocommerce-checkout .form-row.woocommerce-invalid::after { content: "Confira este campo."; font-size: 13px; color: #c8102e; }
.woocommerce-checkout .form-row.woocommerce-validated .input-text { border-color: #b7e4c7; }
.woocommerce-checkout .woocommerce-shipping-fields > h3 { font-size: 16px; margin: 26px 0 12px; padding-top: 18px; border-top: 1px solid var(--tm-borda); }
.woocommerce-checkout .woocommerce-shipping-fields > h3 label { display: flex; align-items: center; gap: 10px; font-weight: 600; cursor: pointer; }
.woocommerce-checkout .woocommerce-additional-fields > h3 { font-size: 16px; margin: 26px 0 12px; padding-top: 18px; border-top: 1px solid var(--tm-borda); }

/* Resumo e pagamento */
.woocommerce-checkout-review-order-table .product-name { text-align: left; font-weight: 500; }
.woocommerce-checkout-review-order-table .product-total { white-space: nowrap; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; margin-top: 18px; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0 0 14px; list-style: none; display: grid; gap: 8px; }
.woocommerce-checkout #payment ul.payment_methods li { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio-s); padding: 12px 14px; background: #fff; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-checkout #payment div.payment_box { background: var(--tm-fundo-2); border-radius: var(--tm-raio-s); margin: 10px 0 0; padding: 12px 14px; font-size: 14px; color: var(--tm-texto-2); }
.woocommerce-checkout #payment div.payment_box::before { content: none; }
.woocommerce-checkout #payment .place-order { padding: 0; margin: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; height: 52px; border: 0; border-radius: var(--tm-raio-s); background: var(--tm-azul) !important; color: #fff !important; font-weight: 600; font-size: 16px; cursor: pointer; float: none; }
.woocommerce-checkout #payment #place_order:hover { background: var(--tm-azul-hover) !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--tm-texto-3); }
.tm-checkout__recado { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--tm-texto-3); margin: 12px 0 10px; }
.tm-checkout__recado .tm-icon { flex: 0 0 auto; color: var(--tm-azul); margin-top: 1px; }
.tm-checkout__wa { justify-content: center; width: 100%; }
.woocommerce-checkout .tm-confianca-compra { border-top: 0; margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-resumo-toggle { display: none; }

/* Pedido recebido */
.woocommerce-order { max-width: 860px; }
.woocommerce-notice--success, .woocommerce-thankyou-order-received { display: block; font-size: clamp(20px, 2.2vw, 26px); font-weight: 700; color: var(--tm-texto); background: #eef9f1; border: 1px solid #b7e4c7; border-radius: var(--tm-raio); padding: 18px 22px; margin: 0 0 20px; }
.woocommerce-order-overview { list-style: none; margin: 0 0 24px; padding: 18px 22px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.woocommerce-order-overview::before, .woocommerce-order-overview::after { content: none !important; display: none !important; }
.woocommerce-order-overview li { font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: var(--tm-texto-3); border: 0 !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--tm-texto); }
.tm-recebido { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 22px; margin: 0 0 24px; }
.tm-recebido h2 { font-size: 18px; margin: 0 0 14px; }
.tm-recebido__passos { list-style: none; counter-reset: passo; margin: 0; padding: 0; display: grid; gap: 14px; }
.tm-recebido__passos li { counter-increment: passo; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px 12px; }
.tm-recebido__passos li::before { content: counter(passo); grid-row: 1 / 3; width: 30px; height: 30px; border-radius: 15px; background: var(--tm-azul); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.tm-recebido__passos strong { font-size: 15px; }
.tm-recebido__passos span { font-size: 14px; color: var(--tm-texto-2); }
.tm-recebido__acoes { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0 0; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 24px; }
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 18px; margin: 0 0 12px; }
.woocommerce-order-details table.shop_table { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); border-collapse: separate; width: 100%; overflow: hidden; }
.woocommerce-order-details table.shop_table th, .woocommerce-order-details table.shop_table td { border: 0; border-bottom: 1px solid var(--tm-borda); padding: 12px 16px; font-size: 15px; }
.woocommerce-order-details table.shop_table tfoot tr:last-child th, .woocommerce-order-details table.shop_table tfoot tr:last-child td { border-bottom: 0; font-size: 17px; font-weight: 700; }
.woocommerce-customer-details address { border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); padding: 16px; font-style: normal; background: #fff; }

@media (max-width: 1023px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; grid-template-areas: "avisos" "itens" "resumo"; row-gap: 20px; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; grid-template-areas: "toggle" "resumo" "dados"; row-gap: 8px; }
	.woocommerce-checkout form.checkout #order_review { position: static; }
	.woocommerce-checkout #order_review_heading { display: none; }
	.tm-resumo-toggle { display: flex; align-items: center; gap: 10px; width: 100%; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 14px 16px; font: inherit; font-weight: 600; cursor: pointer; margin-bottom: 8px; }
	.tm-resumo-toggle strong { margin-left: auto; }
	.tm-resumo-toggle .tm-icon { transform: rotate(90deg); transition: transform .2s; color: var(--tm-texto-3); }
	.tm-resumo-toggle[aria-expanded="true"] .tm-icon { transform: rotate(-90deg); }
	.woocommerce-checkout form.checkout #order_review { display: none; }
	body.tm-resumo-aberto .woocommerce-checkout form.checkout #order_review,
	.tm-resumo-aberto .woocommerce-checkout form.checkout #order_review { display: block; }
	.woocommerce-checkout .tm-confianca-compra { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item { grid-template-columns: 80px minmax(0, 1fr) 32px; gap: 10px 14px; padding: 12px; }
	.woocommerce-cart td.product-thumbnail img { width: 80px; height: 80px; }
	.woocommerce-cart td.product-price { order: 3; grid-column: 1 / 3; }
	.woocommerce-cart td.product-quantity { order: 4; grid-column: 1 / 2; }
	.woocommerce-cart td.product-subtotal { order: 5; grid-column: 2 / 4; text-align: right; }
	.woocommerce-cart td.product-remove { order: 6; grid-row: 1; grid-column: 3; align-self: start; }
	.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { flex: 1 1 100%; }
	.woocommerce-cart .woocommerce { padding-bottom: 88px; }
	.tm-barra-total { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; align-items: center; gap: 14px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--tm-borda); box-shadow: 0 -4px 16px rgba(0, 0, 0, .08); }
	.tm-barra-total__valor { display: flex; flex-direction: column; line-height: 1.2; }
	.tm-barra-total__valor span { font-size: 13px; color: var(--tm-texto-3); }
	.tm-barra-total__valor strong { font-size: 18px; }
	.tm-barra-total .tm-btn { margin-left: auto; height: 46px; }
	.tm-recebido__acoes .tm-btn { width: 100%; justify-content: center; }
}

/* ---- Correções da conferência visual (v0.5.1) ---- */

/* Páginas da loja usam woocommerce.php: largura do site, nunca .tm-conteudo. */
.tm-loja-pagina > .woocommerce { margin-top: 4px; }

/* O Woo já escreve "Detalhes de cobrança"; quem organiza aqui são os nossos títulos. */

/* Título de seção sempre na linha inteira e no fluxo dos campos. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .tm-checkout__secao,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .tm-checkout__secao {
	flex: 1 1 100%; float: none; width: 100%;
}

/* O Brazilian Market recria alguns asteriscos por JS; o CSS fecha a porta. */
.woocommerce-checkout .required, .woocommerce-checkout abbr.required { display: none; }
.woocommerce-checkout label.required_field::after { content: none; }

/* Altura de campo: 48px em input, select, select2 e no wrapper do Woo. */
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single {
	height: 48px; min-height: 48px; line-height: normal; box-sizing: border-box;
}
.woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.woocommerce-checkout .form-row .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout .form-row textarea.input-text { height: auto; min-height: 96px; }
.woocommerce-checkout .woocommerce-input-wrapper { display: block; width: 100%; }

/* Pedido recebido: h1 do tema em cima, aviso verde logo abaixo. */
.woocommerce-order .woocommerce-notice--success, .woocommerce-order .woocommerce-thankyou-order-received {
	font-size: 16px; font-weight: 500; padding: 14px 18px;
}
.woocommerce-order-overview li strong { white-space: normal; }

@media (max-width: 767px) {
	.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Elemento invisível do Woo (atribuição do pedido) não pode virar célula do grid. */
.woocommerce-checkout form.checkout > wc-order-attribution-inputs { display: contents; }

/* =========================================================
   Blog e arquivos (v0.6.0)
   ========================================================= */
.tm-arquivo__termo { color: var(--tm-azul); }
.tm-arquivo__vazio { border: 1px dashed var(--tm-borda); border-radius: var(--tm-raio); padding: 40px 24px; text-align: center; display: grid; gap: 16px; justify-items: center; color: var(--tm-texto-2); }
.tm-arquivo__vazio p { margin: 0; }
.tm-arquivo__barra { flex-wrap: wrap; }
.tm-arquivo__barra .woocommerce-ordering { margin: 0; }
.tm-arquivo__barra .woocommerce-ordering select { height: 44px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; font: inherit; background: #fff; color: var(--tm-texto); }

.tm-post-card__data { font-size: 13px; color: var(--tm-texto-3); }

/* Post: coluna de leitura de 760px, centralizada dentro do container */
.tm-post { padding-top: 32px; padding-bottom: 64px; }
.tm-post__coluna { max-width: 760px; margin-left: auto; margin-right: auto; }
.tm-post__texto { max-width: none; }
.tm-post__capa { width: 100%; height: auto; border-radius: var(--tm-raio); margin-bottom: 28px; }
.tm-post__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--tm-borda); }
.tm-post__nav-item { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); padding: 14px 16px; background: #fff; color: var(--tm-texto); }
.tm-post__nav-item:hover { border-color: var(--tm-azul); }
.tm-post__nav-item span { font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: var(--tm-texto-3); }
.tm-post__nav-item strong { font-size: 15px; font-weight: 600; line-height: 1.3; }
.tm-post__nav-item--prox { text-align: right; grid-column: 2; }
.tm-post__nav-item--ant { grid-column: 1; }
.tm-post + .tm-secao { padding-top: 8px; border-top: 1px solid var(--tm-borda); }

@media (max-width: 767px) {
	.tm-post__nav { grid-template-columns: 1fr; }
	.tm-post__nav-item--prox, .tm-post__nav-item--ant { grid-column: 1; text-align: left; }
	.tm-arquivo__barra { flex-direction: column; align-items: stretch; gap: 10px; }
	.tm-arquivo__barra .woocommerce-ordering select { width: 100%; }
}

/* =========================================================
   Auditoria de celular (≤767px) — v0.6.0
   Piso de 13px em texto e de 44px em alvo de toque.
   ========================================================= */
@media (max-width: 767px) {
	/* Texto: nada abaixo de 13px. Nos rótulos em caixa alta o
	   letter-spacing cai junto, senão 13px estoura a linha. */
	.tm-logo-texto span,
	.tm-card__cat,
	.tm-card__pix,
	.tm-card__prazo,
	.tm-post-card__cat,
	.tm-post-card__data,
	.tm-post__cat,
	.tm-post__meta,
	.tm-confianca__item strong,
	.tm-categorias__nome,
	.tm-quem__numeros span,
	.tm-produto__compra .variations th,
	.tm-produto__compra .reset_variations,
	.tm-doc__tipo,
	.tm-doc__nome small,
	.tm-doc__semacao,
	.tm-conversa__cabecalho,
	.tm-envio__campo small,
	.tm-envio__aviso,
	.tm-selo,
	.tm-pedido__id time,
	.woocommerce-order-overview li,
	.tm-barra-total__valor span,
	.tm-post__nav-item span,
	.tm-checkout__recado,
	.tm-rastreio dt,
	.woocommerce-cart td.product-price::before,
	.woocommerce-cart td.product-quantity::before,
	.woocommerce-cart td.product-subtotal::before,
	.tm-conta__nota,
	.tm-conta__vazio-linha { font-size: 13px; }

	.tm-logo-texto span,
	.tm-card__cat,
	.tm-post-card__cat,
	.tm-post__cat,
	.tm-categorias__nome,
	.tm-produto__compra .variations th,
	.tm-doc__tipo,
	.woocommerce-order-overview li,
	.tm-post__nav-item span,
	.woocommerce-cart td.product-price::before,
	.woocommerce-cart td.product-quantity::before,
	.woocommerce-cart td.product-subtotal::before { letter-spacing: .4px; }

	/* O contador do carrinho cresce junto com o número. */
	.tm-header__qtd { min-width: 22px; height: 22px; border-radius: 11px; font-size: 13px; padding: 0 4px; }

	/* Alvos de toque com pelo menos 44px. */
	.tm-cor { width: 44px; height: 44px; border-radius: 22px; }
	.tm-qtd__btn { height: 44px; width: 40px; }
	.woocommerce-cart .quantity input.qty { height: 44px; width: 52px; }
	.woocommerce div.product form.cart .quantity .qty { height: 46px; }
	.woocommerce-message .button, .woocommerce-info .button { height: 44px; }
	.tm-abas__aba, .tm-conta__menu a, .tm-nav__itens a, .tm-area__chips a { min-height: 44px; display: inline-flex; align-items: center; }

	/* Nada deve empurrar a página para os lados. */
	.tm-conteudo table, .tm-post__texto table, .woocommerce-order-details table.shop_table { display: block; width: 100%; overflow-x: auto; }
	pre, code { overflow-x: auto; max-width: 100%; }
	.tm-breadcrumb { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
}

/* Citação e figuras no corpo do post (vindas da conversão dos campos antigos) */
.tm-citacao { margin: 28px 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--tm-azul); }
.tm-citacao p { margin: 0; font-size: 19px; line-height: 1.5; font-weight: 600; color: var(--tm-azul-escuro); }
.tm-post__figura { margin: 28px 0; }
.tm-post__figura img { width: 100%; height: auto; border-radius: var(--tm-raio); }
.tm-post__figura figcaption { margin-top: 8px; font-size: 13px; color: var(--tm-texto-3); }
@media (max-width: 767px) {
	.tm-citacao p { font-size: 17px; }
}
.tm-chip__n { font-weight: 400; color: var(--tm-texto-3); }
.tm-chip.is-ativo .tm-chip__n, .tm-chip:hover .tm-chip__n { color: inherit; }

/* =========================================================
   Minha conta — correções de largura e do painel (v0.6.3)
   O Woo põe width:30% no menu e width:68% no conteúdo, com float.
   Dentro do nosso grid isso vira 72px de menu e conteúdo pela metade.
   ========================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .tm-conta__menu {
	width: 100% !important; min-width: 0; float: none !important; margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content {
	width: 100% !important; max-width: none !important; min-width: 0; float: none !important; margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content::before,
.woocommerce-account .woocommerce-MyAccount-content::after { content: none; }

.tm-conta__menu ul { width: 100%; min-width: 0; display: flex; flex-direction: column; }
.tm-conta__menu li { width: 100%; }
.tm-conta__menu a { display: flex; align-items: center; gap: 10px; width: 100%; padding: 14px 16px; }
.tm-conta__menu a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.tm-conta__menu .is-active a,
.tm-conta__menu .woocommerce-MyAccount-navigation-link.is-active a {
	background: #eaf5fb; color: var(--tm-azul);
}
.tm-conta__menu .is-active a .tm-icon { color: var(--tm-azul); }

/* Painel inicial da conta */
.tm-painel__texto { max-width: 62ch; color: var(--tm-texto-2); }
.tm-painel__acoes { margin: 18px 0 26px; }
.tm-painel__atalhos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-atalho { display: flex; align-items: center; gap: 14px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 18px; color: var(--tm-texto); }
.tm-atalho:hover { border-color: var(--tm-azul); }
.tm-atalho__icone { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 23px; background: #eaf5fb; color: var(--tm-azul); display: flex; align-items: center; justify-content: center; }
.tm-atalho__nome { display: block; font-weight: 600; font-size: 16px; }
.tm-atalho__n { display: block; font-size: 14px; color: var(--tm-texto-3); }

@media (max-width: 1023px) {
	.tm-conta__menu ul { flex-direction: row; }
	.tm-conta__menu li { width: auto; }
	.tm-conta__menu a { width: auto; }
}
@media (max-width: 767px) {
	.tm-painel__atalhos { grid-template-columns: 1fr; }
}

/* Login da conta com o mesmo padrão de campo do checkout */
.tm-login__form .form-row { display: flex; flex-direction: column; gap: 6px; }
.tm-login__form .form-row label { font-size: 14px; font-weight: 600; color: var(--tm-texto); }
.tm-login__form .required, .tm-login__form abbr.required { display: none; }
.tm-login__form input[type="text"],
.tm-login__form input[type="password"],
.tm-login__form input[type="email"] {
	height: 48px; min-height: 48px; box-sizing: border-box; width: 100%;
	border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px;
	font: inherit; line-height: normal; background: #fff; color: var(--tm-texto);
}
.tm-login__form input:focus { outline: 0; border-color: var(--tm-azul); box-shadow: 0 0 0 3px rgba(0, 136, 204, .15); }
/* O olho de "mostrar senha" entra por JS do Woo; aqui ele fica dentro do campo. */
.tm-login__form .password-input { position: relative; display: block; width: 100%; }
.tm-login__form .password-input input { padding-right: 46px; }
.tm-login__form .show-password-input {
	position: absolute; top: 50%; right: 12px; transform: translateY(-50%);
	width: 24px; height: 24px; cursor: pointer; color: var(--tm-texto-3);
}
/* Em coluna: a caixa de "continuar conectado" fica logo abaixo da senha, à
   esquerda, e o botão vem embaixo ocupando a largura toda. */
.tm-login__form .tm-login__acoes {
	flex-direction: column; align-items: flex-start; justify-content: flex-start;
	gap: 14px; flex-wrap: nowrap;
}
.tm-login__lembrar { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; margin: 0; cursor: pointer; }
.tm-login__lembrar input { width: 18px; height: 18px; margin: 0; }
.tm-login__form .tm-btn--primario { width: 100%; flex: 0 0 auto; justify-content: center; height: 48px; }
.tm-login__esqueci { margin: 14px 0 0; font-size: 14px; }

/* Bloco de ajuda e aba "Enviar documento" (v0.6.4) */
.tm-ajuda { margin-top: 16px; border: 1px solid var(--tm-borda); border-radius: var(--tm-raio); background: #fff; padding: 16px; }
.tm-ajuda__titulo { display: block; font-size: 15px; margin-bottom: 6px; }
.tm-ajuda__texto { margin: 0 0 12px; font-size: 13px; color: var(--tm-texto-3); }
.tm-ajuda .tm-btn {
	width: 100%; justify-content: center;
	height: auto; min-height: 44px; padding: 10px 10px;
	white-space: normal; text-align: center; line-height: 1.25; gap: 8px;
}
.tm-ajuda .tm-btn .tm-icon { flex: 0 0 auto; }
.tm-ajuda .tm-btn span { min-width: 0; }
.tm-ajuda--fim { display: none; }

.tm-painel__atalhos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-envio__campo select { height: 48px; border: 1px solid #d9dde3; border-radius: var(--tm-raio-s); padding: 0 12px; font: inherit; background: #fff; color: var(--tm-texto); width: 100%; }
.tm-envio__campo select:focus { outline: 0; border-color: var(--tm-azul); box-shadow: 0 0 0 3px rgba(0, 136, 204, .15); }

@media (max-width: 1023px) {
	/* Menu vira tira: a ajuda sai do lado e vai para o fim do conteúdo. */
	.tm-ajuda--lado { display: none; }
	.tm-ajuda--fim { display: block; margin-top: 24px; }
	.tm-ajuda .tm-btn { width: auto; padding: 10px 18px; }
	.tm-painel__atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tm-painel__atalhos { grid-template-columns: 1fr; }
	.tm-ajuda .tm-btn { width: 100%; padding: 10px 12px; }
}

/* =========================================================
   Correções do teste em celular real (v0.7.1)
   ========================================================= */

/* --- 3. Cabeçalho: no desktop os dois grudam; no celular só a linha do logo.
   O .tm-nav saiu de dentro do <header> (é irmão agora), então os dois usam
   sticky com "top" escalonado para manter o comportamento de antes. --- */
.tm-nav { position: sticky; top: 92px; z-index: 49; background: #fff; }
@media (max-width: 1023px) {
	/* a linha do logo encurta aqui; o nav acompanha */
	.tm-nav { top: 72px; }
}

/* --- 6. Galeria: a linha cinza à esquerda era a borda do viewport do flexslider. --- */
.woocommerce div.product .tm-produto__galeria .flex-viewport,
.woocommerce div.product .tm-produto__galeria .woocommerce-product-gallery__wrapper,
.woocommerce div.product .tm-produto__galeria ul.flex-direction-nav {
	border: 0 !important; box-shadow: none !important; padding-left: 0 !important; margin-left: 0 !important;
}

/* --- 2. Relacionados: o Woo põe float e width de 48% nos li. Nosso grid manda. --- */
.woocommerce ul.products { list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important; clear: none !important;
}
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last { clear: none !important; }

/* --- 5. Aviso "adicionado ao carrinho": espaço para o ícone e botão com estilo. --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { position: relative; padding-left: 46px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
	margin: 0; padding: 0; line-height: 1;
}
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 44px; padding: 0 18px; border: 2px solid var(--tm-azul);
	border-radius: var(--tm-raio-s); background: #fff !important; color: var(--tm-azul) !important;
	font-weight: 600; font-size: 14px; line-height: 1; white-space: nowrap; text-decoration: none;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover {
	background: var(--tm-azul) !important; color: #fff !important;
}

@media (max-width: 767px) {
	/* --- 3. Só a linha do logo fica presa no topo (~64px). Barra superior,
	   busca e chips de categoria rolam com a página. --- */
	.tm-nav { position: static; top: auto; }

	/* --- 1. Sem a folha woocommerce-smallscreen, o CSS de desktop do Woo
	   deixava a coluna de compra com 48% e flutuando. Aqui ela ocupa a largura
	   toda, e a caixa de compra volta a se comportar. --- */
	.woocommerce div.product div.summary,
	.woocommerce div.product .entry-summary,
	.woocommerce div.product div.images,
	.woocommerce div.product .woocommerce-product-gallery {
		width: 100% !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important;
	}
	.woocommerce div.product::after, .woocommerce div.product::before { content: none; }

	/* Swatches em linha, quebrando quando não couber */
	.tm-cores { flex-wrap: wrap; }

	/* Botões de compra com largura total e texto numa linha */
	.tm-produto__compra .single_add_to_cart_button,
	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100% !important; flex: 1 1 100%; min-width: 0;
		padding: 0 14px; font-size: 15px; white-space: nowrap;
		display: flex; align-items: center; justify-content: center;
	}
	.tm-produto__compra .woocommerce-variation-add-to-cart,
	.tm-produto__compra form.cart:not(.variations_form) { flex-wrap: wrap; }
	.tm-produto__wa, .tm-produto__compra .tm-btn--wa {
		width: 100%; justify-content: center; white-space: normal;
		height: auto; min-height: 48px; padding: 10px 14px; line-height: 1.25;
	}
	.tm-produto__compra .variations select { min-width: 0; width: 100%; }
	.tm-produto__compra .variations th { width: auto; }

	/* --- 4. Carrinho e checkout: o botão flutuante do WhatsApp sobe para cima
	   da barra fixa, e o botão da barra ganha espaço para o texto inteiro. --- */
	.woocommerce-cart .tm-wa-flutuante,
	.woocommerce-checkout .tm-wa-flutuante,
	.woocommerce-cart .joinchat,
	.woocommerce-checkout .joinchat,
	.woocommerce-cart .joinchat__button,
	.woocommerce-checkout .joinchat__button {
		bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
	}
	.woocommerce-cart .joinchat, .woocommerce-checkout .joinchat { --bottom: 88px; }
	.tm-barra-total { gap: 10px; padding-left: 12px; padding-right: 12px; }
	.tm-barra-total .tm-btn {
		padding: 0 14px; font-size: 14px; white-space: nowrap; flex: 0 0 auto;
	}
	.tm-barra-total__valor strong { font-size: 17px; }

	/* O aviso do carrinho empilha o botão embaixo, sem aperto */
	.woocommerce-message, .woocommerce-info, .woocommerce-error { flex-direction: column; align-items: flex-start; }
	.woocommerce-message .button, .woocommerce-info .button { order: 2; width: 100%; }
}
