/* loc.fit V3 — por cima da V2. Aulas da Fitters, plano em um toque e barra do celular. */

:root {
	--areia: #F2F0EA;
	--aula-fundo: #0A0A0A;
	--aula-cartao: #161616;
	--aula-linha: #2A2A2A;
	--aula-texto2: #B9B5AC;
}

/* ---------- Cabeçalhos menores de seção ---------- */
.v3-sub { font: 800 clamp(26px, 3.4vw, 34px)/1 var(--fonte-t); text-transform: uppercase; }

/* ---------- Herói: poster enquanto o vídeo carrega ---------- */
.v3-heroi .v2-heroi__video { background: var(--preto); }

/* ---------- Vitrine de equipamentos: continua o preto do topo ---------- */
.v3-vitrine { background: var(--preto); color: var(--branco); padding: 12px 0 80px; }
.v3-vitrine .envoltorio { display: grid; gap: 28px; }
.v3-vitrine .v2-titulo { color: var(--branco); }
.v3-vitrine .link-seta { color: var(--amarelo); }
.v3-eqs { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)); }
@media (min-width: 1180px) { .v3-eqs { grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 639px) {
	.v3-eqs { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 64vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
	.v3-eqs::-webkit-scrollbar { display: none; }
	.v3-eqs li { scroll-snap-align: start; }
}
.v3-eq { display: flex; flex-direction: column; height: 100%; padding: 14px 16px 16px; border-radius: 22px; background: var(--branco); color: var(--texto); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.v3-eq:hover, .v3-eq:focus-visible { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(0, 0, 0, .45); color: var(--texto); }
.v3-eq:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }
/* As fotos são 660x960 com sobra branca em cima e embaixo: a janela corta só a sobra, o equipamento fica inteiro e no mesmo tamanho. */
.v3-eq__foto { position: relative; display: block; aspect-ratio: 10 / 11; overflow: hidden; border-radius: 14px; background: #FAFAFA; }
.v3-eq__foto img { position: absolute; left: 0; top: 50%; width: 100%; height: auto; max-width: none; transform: translateY(-50%); transition: transform .35s ease; }
.v3-eq:hover .v3-eq__foto img { transform: translateY(-50%) scale(1.05); }
.v3-eq__selo { position: absolute; z-index: 1; left: 8px; top: 8px; padding: 4px 9px; border-radius: 999px; background: var(--preto); color: var(--branco); font: 700 11px/1.2 var(--fonte); font-style: normal; }
.v3-eq__txt { display: grid; gap: 4px; margin-top: 6px; }
.v3-eq__txt strong { font: 800 27px/1 var(--fonte-t); text-transform: uppercase; }
.v3-eq__frase { font-size: 14px; line-height: 1.4; color: var(--texto2); }
.v3-eq__pe { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; }
.v3-eq__preco { display: grid; font-size: 12px; color: var(--texto2); line-height: 1.2; }
.v3-eq__preco b { font: 800 22px/1.05 var(--fonte-t); color: var(--texto); }
.v3-eq__preco small { font-size: 12px; color: var(--texto2); }
.v3-eq__preco--fila { font-weight: 700; font-size: 13px; color: var(--texto); }
.v3-eq__preco--fila small { font-weight: 500; }
.v3-eq__seta { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--amarelo); color: var(--preto); transition: background .2s ease, color .2s ease; }
.v3-eq:hover .v3-eq__seta { background: var(--preto); color: var(--amarelo); }
@media (prefers-reduced-motion: reduce) { .v3-eq, .v3-eq__foto img { transition: none; } .v3-eq:hover { transform: none; } .v3-eq:hover .v3-eq__foto img { transform: translateY(-50%); } }

/* ---------- Aulas (Fitters) ---------- */
.v3-aulas { background: var(--aula-fundo); color: var(--branco); padding-block: 96px; }
.v3-aulas .envoltorio { display: grid; gap: 56px; }
.v3-aulas .v2-texto { color: #D3CFC6; }
.v3-aulas__topo { display: grid; gap: 40px; align-items: center; }
@media (min-width: 960px) { .v3-aulas__topo { grid-template-columns: 1fr 1.1fr; gap: 64px; } }
.v3-aulas__txt { display: grid; gap: 22px; justify-items: start; }
.v3-aulas__foto { margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 3 / 2; background: var(--aula-cartao); }
.v3-aulas__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Abas por equipamento */
.v3-abas { display: grid; gap: 22px; }
.v3-abas__lista { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.v3-abas__lista::-webkit-scrollbar { display: none; }
.v3-abas__lista [role="tab"] { flex: none; display: inline-flex; align-items: baseline; gap: 8px; min-height: 52px; padding: 0 22px; border-radius: 999px; border: 2px solid var(--aula-linha); background: transparent; color: var(--branco); font: 800 22px/1 var(--fonte-t); text-transform: uppercase; cursor: pointer; }
.v3-abas__lista [role="tab"] small { font: 600 14px/1 var(--fonte); color: var(--aula-texto2); }
.v3-abas__lista [role="tab"]:hover { border-color: #555; }
.v3-abas__lista [role="tab"][aria-selected="true"] { background: var(--amarelo); border-color: var(--amarelo); color: var(--preto); }
.v3-abas__lista [role="tab"][aria-selected="true"] small { color: var(--preto); }
.v3-abas__lista [role="tab"]:focus-visible { outline: 3px solid var(--branco); outline-offset: 2px; }
.v3-abas__painel { display: grid; gap: 18px; }
.v3-abas__painel[hidden] { display: none; }

/* Trilho de aulas: rola na horizontal, encaixa por cartão */
.v3-trilho { display: grid; grid-auto-flow: column; grid-auto-columns: min(78vw, 300px); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #444 transparent; margin-inline: calc(var(--gutter) * -1); padding: 0 var(--gutter) 12px; list-style: none; }
.v3-aula { scroll-snap-align: start; }
.v3-aula a { display: grid; gap: 10px; color: var(--branco); text-decoration: none; }
.v3-aula__capa { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--aula-cartao); }
.v3-aula__capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.v3-aula a:hover .v3-aula__capa img { transform: scale(1.04); }
.v3-aula a:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 4px; border-radius: 16px; }
.v3-aula__tempo { position: absolute; right: 8px; bottom: 8px; padding: 4px 8px; border-radius: 8px; background: rgba(10, 10, 10, .82); font-size: 13px; font-weight: 700; }
.v3-aula strong { font-size: 16px; line-height: 1.3; font-weight: 700; }
.v3-aula__meta { font-size: 14px; color: var(--aula-texto2); }
.link-seta--claro { color: var(--amarelo); justify-self: start; }

/* Como funciona a aula (é uma sequência: numerada) */
.v3-aula-como { display: grid; gap: 24px; }
.v3-passos { display: grid; gap: 14px; counter-reset: passo; list-style: none; }
@media (min-width: 760px) { .v3-passos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .v3-passos { grid-template-columns: repeat(4, 1fr); } }
.v3-passos li { counter-increment: passo; display: grid; gap: 8px; align-content: start; padding: 22px; border-radius: 20px; background: var(--aula-cartao); border: 1px solid var(--aula-linha); }
.v3-passos li::before { content: counter(passo); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--amarelo); color: var(--preto); font: 800 18px/1 var(--fonte-t); }
.v3-passos strong { font: 800 22px/1.05 var(--fonte-t); text-transform: uppercase; }
.v3-passos span { font-size: 15px; line-height: 1.55; color: var(--aula-texto2); }

/* Recursos + dúvidas das aulas */
.v3-aulas__base { display: grid; gap: 40px; align-items: start; }
@media (min-width: 960px) { .v3-aulas__base { grid-template-columns: 1fr 1fr; gap: 56px; } }
.v3-recursos { display: grid; gap: 18px; list-style: none; }
@media (min-width: 560px) { .v3-recursos { grid-template-columns: 1fr 1fr; } }
.v3-recursos li { display: grid; gap: 6px; align-content: start; }
.v3-recursos .ico { color: var(--amarelo); }
.v3-recursos strong { font-size: 17px; }
.v3-recursos span { font-size: 15px; line-height: 1.5; color: var(--aula-texto2); }
.v2-faq--escuro details { background: var(--aula-cartao); border: 1px solid var(--aula-linha); }
.v2-faq--escuro summary { color: var(--branco); }
.v2-faq--escuro p { color: #D3CFC6; }
.v2-faq summary { list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.v2-faq summary::-webkit-details-marker { display: none; }
.v2-faq summary::after { content: "+"; flex: none; font: 700 22px/1 var(--fonte); color: var(--texto3); transition: transform .2s ease; }
.v2-faq details[open] summary::after { transform: rotate(45deg); }

/* Aulas na página do produto */
.v3-aulas--pdp { padding-block: 72px; }
.v3-aulas--pdp .envoltorio { gap: 28px; }
.v3-aulas__cab { display: grid; gap: 20px; align-items: end; }
.v3-aulas__cab > div { display: grid; gap: 14px; }
@media (min-width: 900px) { .v3-aulas__cab { grid-template-columns: 1fr auto; } }

/* ---------- Plano em um toque ---------- */
.v3 .planos__dica { margin: -2px 0 4px; font-size: 14px; color: var(--texto2); }
.v3 .plano { cursor: pointer; }
.v3 .plano__marca { display: none; }
.v3 .plano { grid-template-columns: minmax(0, 1fr) auto; }
.v3 .plano__acao { display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; min-height: 34px; padding: 0 14px; border-radius: 999px; background: var(--preto); color: var(--amarelo); font-size: 14px; font-weight: 700; white-space: nowrap; }
.v3 .plano:hover .plano__acao { background: var(--amarelo); color: var(--preto); }
.v3 .plano:has(input:checked) .plano__acao { background: var(--amarelo); color: var(--preto); }
.v3 .plano--enviando { border-color: var(--preto); box-shadow: 0 0 0 2px var(--preto); }
.v3 .plano--enviando .plano__acao { background: var(--preto); color: var(--amarelo); }
.v3 .plano:has(input:focus-visible) { outline: 3px solid var(--amarelo); outline-offset: 2px; }

/* ---------- Barra fixa no celular ---------- */
.v3-barra { display: none; }
@media (max-width: 899px) {
	.v3-barra { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--preto); border-top: 1px solid var(--aula-linha); padding-bottom: env(safe-area-inset-bottom); }
	.v3-barra ul { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
	.v3-barra a { position: relative; display: grid; justify-items: center; gap: 3px; padding: 9px 2px 8px; color: #BDB9B0; font-size: 11px; font-weight: 600; text-decoration: none; }
	.v3-barra a[aria-current] { color: var(--amarelo); }
	.v3-barra .topo__qtd { position: absolute; top: 4px; left: calc(50% + 6px); }
	body.v3 { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
	/* No produto quem fica embaixo é a barra de alugar. */
	body.v3.single-product .v3-barra { display: none; }
	body.v3.single-product, body.v3.woocommerce-cart, body.v3.woocommerce-checkout { padding-bottom: 0; }
	/* O botão do WhatsApp sobe para não ficar em cima da barra. */
	body.v3:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .lf-wa-fab { bottom: calc(76px + env(safe-area-inset-bottom)); }
	body.v3:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .lf-wa-nudge { bottom: calc(144px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.v3-aula__capa img, .v2-faq summary::after { transition: none; }
}

/* Abas das aulas (abas centradas): texto no meio da pílula; a fonte de título senta alta, o respiro de cima compensa. */
.v3-abas__lista [role="tab"] { align-items: center; justify-content: center; line-height: 1; padding: 4px 26px 0; }

/* Topo centrado (v3.6): impacto da marca, cidade e equipamentos; os cartões sobem para dentro do vídeo, como no site de hoje. */
.v3-heroi { --sobe: 230px; }
.v3-heroi::after { background: radial-gradient(ellipse 70% 60% at 50% 38%, rgba(10, 10, 10, .42) 0%, rgba(10, 10, 10, .8) 75%), linear-gradient(0deg, var(--preto) 0%, rgba(10, 10, 10, 0) 42%); }
.v3-heroi__centro { position: relative; z-index: 1; display: grid; justify-items: center; gap: 22px; text-align: center; padding: clamp(64px, 9vw, 120px) 0 calc(var(--sobe) + clamp(48px, 6vw, 80px)); }
.v3-heroi__selo { padding: 8px 16px; border: 1px solid rgba(255, 207, 0, .55); border-radius: 999px; background: rgba(10, 10, 10, .35); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--amarelo); }
.v3-heroi .v2-heroi__titulo { font-size: clamp(52px, 9vw, 112px); line-height: .92; }
.v3-heroi .v2-heroi__sub { max-width: 600px; margin-inline: auto; font-size: clamp(17px, 1.6vw, 20px); }
.v3-heroi__acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 6px; }
.v3-cidade { position: relative; }
.v3-cidade summary { list-style: none; cursor: pointer; gap: 10px; }
.v3-cidade summary::-webkit-details-marker { display: none; }
.v3-cidade summary .ico:first-child { color: var(--amarelo); }
.v3-cidade[open] summary { background: rgba(255, 255, 255, .16); }
.v3-cidade__lista { position: absolute; z-index: 5; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); min-width: 260px; max-height: 300px; overflow-y: auto; margin: 0; padding: 8px; list-style: none; border-radius: 18px; background: var(--branco); box-shadow: 0 24px 60px rgba(0, 0, 0, .45); text-align: left; }
.v3-cidade__lista a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 12px; color: var(--texto); font-weight: 600; text-decoration: none; }
.v3-cidade__lista a:hover, .v3-cidade__lista a:focus-visible { background: #F4F1EA; color: var(--texto); }
.v3-cidade__lista small { font-size: 12px; font-weight: 700; color: var(--texto2); }
.v3-vitrine--heroi { position: relative; z-index: 2; margin-top: calc(var(--sobe) * -1); padding-top: 0; background: transparent; }
.v3-vitrine--heroi { --sobe: 230px; }
.v3-vitrine--heroi::after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; top: var(--sobe); background: var(--preto); }
@media (max-width: 640px) { .v3-heroi, .v3-vitrine--heroi { --sobe: 150px; } .v3-heroi__acoes .btn, .v3-cidade { flex: 1 1 100%; } .v3-cidade summary { width: 100%; justify-content: center; } }
.v3-heroi__centro { z-index: 3; pointer-events: none; }
.v3-heroi__centro > * { pointer-events: auto; }
.v3-cidade { gap: 10px; }
.v3-cidade .ico:first-child { color: var(--amarelo); }

/* Tipografia inspirada na Peloton (v3.7): Inter em tudo, títulos em frase normal (sem caixa alta), peso 700 e letras mais juntas. */
:root {
	--fonte: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--fonte-t: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
body { letter-spacing: -.005em; }
.v2-heroi__titulo, .v2-titulo, .v2-cat-cab__titulo, .v2-pdp .pdp__titulo, .v2 .pagina__titulo, .v2-loc__sub,
.v2-card__nome, .v3-eq__txt strong, .v2-eq strong, .v2-cxa strong, .v2-rec__txt strong, .v2-heroi__card strong,
.v2-comparar__cab h2, .v2 .plano__nome, .v2 .shop_table .product-name a, .v2:not(.locfit-cart) .cart_totals h2,
.v2 form.checkout h3, .v2 #order_review_heading, .v2-conta h3, .v3-sub, .v3-passos strong, .v2-tabela thead strong,
.v2-tipo strong, .v3-abas__lista [role="tab"] { text-transform: none; font-weight: 700; }
.v3-heroi .v2-heroi__titulo { font-size: clamp(42px, 6.2vw, 80px); line-height: 1.02; letter-spacing: -.035em; }
.v2-titulo { font-size: clamp(30px, 4.2vw, 48px); line-height: 1.08; letter-spacing: -.03em; }
.v2-cat-cab__titulo, .v3 .v2-loc .v2-cat-cab__titulo { font-size: clamp(40px, 7vw, 92px); line-height: 1; letter-spacing: -.035em; }
.v2-pdp .pdp__titulo, .v2 .pagina__titulo { font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.03em; }
.v2-loc__sub { font-size: clamp(28px, 3.6vw, 40px); letter-spacing: -.03em; }
.v2-card__nome { font-size: 18px; line-height: 1.25; letter-spacing: -.015em; }
.v3-eq__txt strong { font-size: 20px; line-height: 1.15; letter-spacing: -.02em; }
.v2-eq strong, .v2-cxa strong, .v2-heroi__card strong, .v2-comparar__cab h2, .v2:not(.locfit-cart) .cart_totals h2, .v2-conta h3 { font-size: 24px; line-height: 1.15; letter-spacing: -.025em; }
.v2-rec__txt strong { font-size: 34px; line-height: 1.08; letter-spacing: -.03em; }
.v2 .plano__nome { font-size: 17px; letter-spacing: -.01em; }
.v2 .shop_table .product-name a, .v2 form.checkout h3, .v2 #order_review_heading { font-size: 19px; line-height: 1.2; letter-spacing: -.015em; }
.v3-sub { font-size: clamp(22px, 2.6vw, 28px); line-height: 1.15; letter-spacing: -.025em; }
.v3-passos strong { font-size: 18px; line-height: 1.25; letter-spacing: -.015em; }
.v2-tabela thead strong { font-size: 15px; letter-spacing: -.01em; }
.v2-card__preco b, .v2-heroi__card-preco b, .v2-rec__preco b, .v2 .plano__preco strong, .v2-pdp .pdp__apartir strong { letter-spacing: -.03em; font-weight: 700; }
.v2-card__preco b { font-size: 26px; }
.v3-eq__preco b { font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.v2-passos4 b, .v2-aulas__cards b { font-weight: 700; letter-spacing: -.04em; }
/* Abas e chips no estilo "segmento": discretos, em frase normal. */
.v2-tipo strong { font-size: 16px; font-weight: 600; }
.v3-abas__lista [role="tab"] { font-size: 16px; font-weight: 600; letter-spacing: -.01em; padding: 0 22px; min-height: 46px; }
/* Botões um pouco mais leves. */
.btn { font-weight: 600; letter-spacing: -.01em; }

/* Acabamento Peloton (v3.8): faixa de benefícios em uma linha, preço dos cards em uma linha, quiz mais leve. */
.v3-faixa { background: var(--fundo); border-bottom: 1px solid var(--linha); }
.v3-faixa__lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 40px; margin: 0 auto; padding-block: 26px; list-style: none; }
.v3-faixa__lista li { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--texto); }
.v3-faixa__lista .ico { flex: none; color: var(--texto2); }
@media (max-width: 640px) { .v3-faixa__lista { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; justify-content: stretch; } .v3-faixa__lista li { align-items: flex-start; font-size: 14px; } }
.v3-eq__preco { display: grid; gap: 2px; font-size: 12px; color: var(--texto2); line-height: 1.2; }
.v3-eq__preco small { font-size: 12px; }
.v3-eq__preco b { font-size: 19px; line-height: 1.1; white-space: nowrap; }
.v3-eq__preco b i { margin-left: 2px; font-style: normal; font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--texto2); }
.v3-eq__preco--consultar { font-size: 14px; font-weight: 600; color: var(--texto); }
.v3 .v2-rec { background: var(--branco); color: var(--texto); border: 1px solid var(--linha); box-shadow: 0 24px 60px -36px rgba(10, 10, 10, .35); }
.v3 .v2-rec__img { background: #F6F4EF; }
.v3 .v2-rec__txt strong { font-size: 30px; }
.v3 .v2-rec__txt > span:not(.sobretitulo):not(.v2-rec__preco) { color: var(--texto2); }
.v3 .v2-rec .sobretitulo--amarelo { color: var(--texto2); }
.v3 .v2-rec__preco { font-size: 14px; color: var(--texto2); }
.v3 .v2-rec__preco b { font-size: 22px; color: var(--texto); margin: 0 2px; }
@media (min-width: 1180px) { .v3-eqs { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.v3-eq { min-width: 0; }
.v3-eq__preco b { font-size: 18px; }

/* Cards como no site de hoje (v3.9): tipo em cima, nome, frase e "Consultar planos" sublinhado; sem preço. */
.v3-eq__tipo { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--texto3); }
.v3-eq__txt { gap: 6px; margin-top: 12px; }
.v3-eq__pe { justify-content: flex-start; padding-top: 18px; }
.v3-eq__link { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 4px; border-bottom: 2px solid var(--linha); font-size: 14px; font-weight: 600; color: var(--texto); transition: border-color .2s; }
.v3-eq__link .ico { color: var(--texto2); }
.v3-eq:hover .v3-eq__link, .v3-eq:focus-visible .v3-eq__link { border-bottom-color: var(--amarelo); }

/* Cards (v3.10): sublinhado amarelo sempre aceso (no celular não existe hover) e a seta redonda de volta, girando para frente no hover. */
.v3-eq__pe { justify-content: space-between; align-items: center; }
.v3-eq__link { border-bottom-color: var(--amarelo); }
.v3-eq__seta { width: 36px; height: 36px; background: var(--amarelo); color: var(--preto); transition: background .25s ease, color .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1); }
.v3-eq__seta svg { transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.v3-eq:hover .v3-eq__seta, .v3-eq:focus-visible .v3-eq__seta { background: var(--preto); color: var(--amarelo); }
.v3-eq:hover .v3-eq__seta svg, .v3-eq:focus-visible .v3-eq__seta svg { transform: rotate(45deg); }
.v3-eq:hover .v3-eq__link { border-bottom-color: var(--preto); }
@media (prefers-reduced-motion: reduce) { .v3-eq__seta, .v3-eq__seta svg { transition: none; } }

/* Cards (v3.11): a bolinha é o sinal principal; a linha amarela fica fina. */
.v3-eq__link { border-bottom-width: 1.5px; padding-bottom: 3px; }
.v3-eq__frase { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1179px) { .v3-eq__frase { white-space: normal; } }

/* Cards (v3.12): sem bolinha; seta pequena junto do texto, como no site de hoje, e ela sobe de leve na diagonal no hover. */
.v3-eq__pe { justify-content: flex-start; }
.v3-eq__link svg { flex: none; color: var(--texto); transition: transform .25s ease; }
.v3-eq:hover .v3-eq__link svg, .v3-eq:focus-visible .v3-eq__link svg { transform: translate(2px, -2px); }
@media (prefers-reduced-motion: reduce) { .v3-eq__link svg { transition: none; } }

/* Topo (v3.13): selo neutro, o amarelo fica só no título e no botão; frase de baixo uma ideia por linha. */
.v3-heroi__selo { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .82); }
.v3-heroi .v2-heroi__sub { max-width: 640px; }
@media (max-width: 640px) { .v3-quebra { display: none; } }

/* Topo da home (v3.14): transparente sobre o vídeo e preto depois de rolar. */
body:has(.v3-heroi) .topo { position: fixed; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); background: transparent; border-bottom-color: transparent; transition: background-color .3s ease, border-color .3s ease; }
body:has(.v3-heroi) .topo.topo--solido { background: rgba(10, 10, 10, .94); border-bottom-color: #1d1d1d; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.v3-heroi .v3-heroi__centro { padding-top: calc(var(--topo) + clamp(56px, 8vw, 104px)); }
.v3-heroi::before { content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 160px; background: linear-gradient(180deg, rgba(10, 10, 10, .6), rgba(10, 10, 10, 0)); pointer-events: none; }

/* Topo (v3.15): ritmo vertical. Selo separado do título, título colado na frase (um bloco só), botões com mais respiro; o bloco fica no meio entre o menu e os cards. */
.v3-heroi .v3-heroi__centro { gap: 0; padding-top: calc(var(--topo) + clamp(40px, 6vw, 72px)); padding-bottom: calc(var(--sobe) + clamp(56px, 6vw, 88px)); }
.v3-heroi__selo { margin: 0 0 28px; }
.v3-heroi .v2-heroi__titulo { margin: 0; line-height: 1.04; }
.v3-heroi .v2-heroi__sub { margin: 20px auto 0; line-height: 1.55; }
.v3-heroi__acoes { margin-top: 36px; }
@media (max-width: 640px) { .v3-heroi__selo { margin-bottom: 20px; } .v3-heroi .v2-heroi__sub { margin-top: 16px; } .v3-heroi__acoes { margin-top: 28px; } }

/* Cabeçalho (v3.16): sem o botão Alugar. No celular ele já não aparecia (lá existe a barra de baixo) e no computador competia com o botão do topo. */
.v2-topo__alugar { display: none !important; }

/* Loja (v3.17): aviso do filtro por endereço, com Trocar e Ver todas as cidades. */
.v3-area { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding: 10px 16px; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha); font-size: 14px; color: var(--texto2); }
.v3-area .ico { color: var(--texto); }
.v3-area strong { color: var(--texto); font-weight: 700; }
.v3-area__link { padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: var(--texto); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--amarelo); text-decoration-thickness: 2px; cursor: pointer; }
.v3-area__link:hover { text-decoration-color: var(--texto); }
@media (max-width: 640px) { .v3-area { border-radius: 16px; } }

/* Loja (v3.18): cidade com pino no card e pílulas de cidade acima da lista. */
.v2-card__cidade { display: inline-flex; align-items: center; gap: 5px; margin-top: 2px; font-size: 13px; color: var(--texto2); }
.v2-card__cidade .ico { flex: none; color: var(--texto3); }
.v2-filtros { row-gap: 14px; }

/* Cabeçalho da loja (v3.19): frase numa linha no computador e a quantidade logo abaixo dela, junto do título, em vez de solta na direita. */
.v2-cat-cab:not(.v2-loc) .v2-cat-cab__linha { display: grid; justify-content: start; gap: 0; }
.v2-cat-cab:not(.v2-loc) .v2-cat-cab__desc { max-width: 760px; font-size: 18px; }
.v2-cat-cab:not(.v2-loc) .v2-cat-cab__qtd { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; font-weight: 600; color: #A9A69E; }
.v2-cat-cab:not(.v2-loc) .v2-cat-cab__qtd::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amarelo); }

/* Cards de produto (v3.20): nome sempre em uma linha; o que não couber vira reticências e o nome inteiro aparece ao passar o mouse. */
.v2-card__nome { min-width: 0; font-size: 17px; }
.v2-card__nome a { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Página das locadoras (v3.21): uma capa por cidade, com os tipos de equipamento e o WhatsApp. */
.v3-lojas-cab .envoltorio { padding-block: clamp(40px, 6vw, 72px) clamp(32px, 4vw, 48px); }
.v3-lojas-cab .v2-cat-cab__desc { max-width: 640px; font-size: 18px; }
.v3-lojas { padding-block: clamp(32px, 5vw, 56px) clamp(56px, 8vw, 96px); }
.v3-lojas__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.v3-loja { display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; background: var(--branco); box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 12px 32px rgba(0, 0, 0, .06); }
.v3-loja__capa { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; aspect-ratio: 16 / 10; padding: 22px; overflow: hidden; background: #161616; color: var(--branco); text-decoration: none; }
.v3-loja__capa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.v3-loja__capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 10, 10, .85) 0%, rgba(10, 10, 10, .15) 60%); }
.v3-loja__capa:hover img { transform: scale(1.04); }
.v3-loja__selo, .v3-loja__nome { position: relative; z-index: 1; }
.v3-loja__selo { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(10, 10, 10, .45); border: 1px solid rgba(255, 255, 255, .22); font-size: 12px; font-weight: 600; }
.v3-loja__selo .ico { color: var(--amarelo); }
.v3-loja__nome { font: 700 clamp(28px, 3vw, 36px)/1.05 var(--fonte); letter-spacing: -.02em; }
.v3-loja__corpo { display: grid; gap: 16px; padding: 18px 22px 22px; }
.v3-loja__tipos { margin: 0; font-size: 15px; font-weight: 500; color: var(--texto2); }
.v3-loja__acoes { display: flex; gap: 10px; }
.v3-loja__acoes .btn { flex: 1; }
.v3-loja__wa { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 52px; border-radius: 999px; border: 1.5px solid #D6D2C8; color: var(--texto); }
.v3-loja__wa:hover { border-color: #25D366; color: #128C4B; }
.v3-lojas__pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; margin-top: 40px; text-align: center; }
.v3-lojas__pe p { margin: 0; font-size: 17px; font-weight: 500; }

/* Topo da locadora (v3.22): a foto da cidade no fundo, nome em branco e as informações de contato numa linha discreta. */
.v2-loc__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: v3-loc-zoom 24s ease-out both; }
@keyframes v3-loc-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.v2-loc:has(.v2-loc__foto)::after { background: radial-gradient(ellipse 60% 70% at 50% 45%, rgba(10, 10, 10, .55) 0%, rgba(10, 10, 10, .72) 70%, rgba(10, 10, 10, .88) 100%), linear-gradient(0deg, rgba(10, 10, 10, .92) 0%, rgba(10, 10, 10, 0) 45%); }
.v2-loc .v2-cat-cab__titulo span { color: var(--branco); }
.v2-loc .v2-cat-cab__titulo { font-size: clamp(52px, 10vw, 128px); letter-spacing: -.035em; text-shadow: 0 2px 30px rgba(0, 0, 0, .35); }
.v2-loc .v2-cat-cab__desc { max-width: 560px; color: #EDEAE3; }
.v2-loc__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 18px; margin-top: 4px; font-size: 14px; font-weight: 500; color: #C9C5BC; }
.v2-loc__meta > span:not(.v2-loc__redes) { display: inline-flex; align-items: center; gap: 18px; }
.v2-loc__meta > span + span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 255, 255, .35); margin-right: 0; }
.v2-loc__meta .v2-loc__redes { gap: 6px; margin: 0; }
.v2-loc__meta .v2-loc__redes::before { display: none; }
.v2-loc__meta .v2-loc__redes a { width: 36px; height: 36px; background: transparent; border-color: rgba(255, 255, 255, .22); }
.v2-loc__meta .v2-loc__redes svg { width: 18px; height: 18px; }
@media (prefers-reduced-motion: reduce) { .v2-loc__foto { animation: none; } }
.v2-loc .v2-cat-cab__desc { max-width: 620px; text-wrap: balance; }

/* Faixa de benefícios da locadora (v3.23): sem cartão branco; vira o rodapé escuro do topo, com ícones amarelos e divisórias finas. */
.v2-loc .v2-loc__grade { padding-bottom: clamp(36px, 4.5vw, 60px); }
.v2-loc__ponte-env { position: relative; z-index: 2; margin-top: 0; background: var(--preto); box-shadow: 0 0 0 100vmax var(--preto); clip-path: inset(0 -100vmax); }
.v2-loc__ponte { max-width: none; background: transparent; border-radius: 0; box-shadow: none; border-top: 1px solid rgba(255, 255, 255, .12); animation: none; }
.v2-loc__ponte li { padding: 26px 24px 30px; }
.v2-loc__ponte li:first-child { padding-left: 0; }
.v2-loc__ponte li + li::before { top: 26px; bottom: 30px; background: rgba(255, 255, 255, .12); }
.v2-loc__ponte li:hover { background: transparent; }
.v2-loc__ponte-ico { width: auto; height: auto; border-radius: 0; background: transparent; color: var(--amarelo); }
.v2-loc__ponte li:hover .v2-loc__ponte-ico { transform: none; background: transparent; color: var(--amarelo); }
.v2-loc__ponte strong { color: var(--branco); font-size: 15px; font-weight: 600; }
.v2-loc__ponte small { color: #A9A69E; }
@media (max-width: 900px) { .v2-loc__ponte li:nth-child(n+3) { border-top-color: rgba(255, 255, 255, .12); } .v2-loc__ponte li:nth-child(3) { padding-left: 0; } }
@media (max-width: 640px) { .v2-loc .v2-loc__grade { padding-bottom: 32px; } .v2-loc__ponte li { padding: 18px 12px 20px; } .v2-loc__ponte-ico { width: auto; height: auto; } }

/* Contato da locadora (v3.24): WhatsApp e redes só como ícones, centralizados; ao clicar o ícone abre deslizando e mostra o número ou o perfil. */
.v2-loc__contato { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
.v2-loc__ic { display: inline-flex; align-items: center; height: 52px; min-width: 52px; padding: 0 15px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .08); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--branco); font-size: 16px; font-weight: 600; text-decoration: none; transition: border-color .25s, color .25s, background .25s; }
.v2-loc__ic:hover, .v2-loc__ic:focus-visible { border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .14); color: var(--branco); }
.v2-loc__ic .ico { flex: none; }
.v2-loc__ic-rot { max-width: 0; margin-left: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width .5s cubic-bezier(.2, .8, .2, 1), margin-left .5s cubic-bezier(.2, .8, .2, 1), opacity .3s .1s; }
.v2-loc__ic--aberto { border-color: var(--amarelo); color: var(--amarelo); }
.v2-loc__ic--aberto:hover, .v2-loc__ic--aberto:focus-visible { border-color: var(--amarelo); color: var(--amarelo); }
.v2-loc__ic--aberto .v2-loc__ic-rot { max-width: 280px; margin-left: 10px; opacity: 1; font-variant-numeric: tabular-nums; }
.v2-loc__meta { margin: 2px 0 0; font-size: 14px; color: #C9C5BC; }
@media (prefers-reduced-motion: reduce) { .v2-loc__ic-rot { transition: none; } }
.v2-loc__ic-rot { display: inline-flex; align-items: center; gap: 8px; }
.v2-loc__ic-ir { flex: none; transition: transform .2s; }
.v2-loc__ic--aberto:hover .v2-loc__ic-ir { transform: translate(2px, -2px); }

/* Janela da cidade (v3.25): o link para a página das locadoras centralizado, como era o botão. */
a.cidade__todas { display: block; box-sizing: border-box; text-align: center; }

/* Faixa de benefícios da locadora (v3.26): ícones próprios em placas amarelas translúcidas. */
.v2-loc__ponte li { gap: 16px; }
.v2-loc__ponte-ico { width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(150deg, rgba(255, 207, 0, .16) 0%, rgba(255, 207, 0, .04) 100%); border: 1px solid rgba(255, 207, 0, .24); color: var(--amarelo); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); transition: transform .25s, border-color .25s, box-shadow .25s; }
.v2-loc__ponte li:hover .v2-loc__ponte-ico { transform: translateY(-2px); background: linear-gradient(150deg, rgba(255, 207, 0, .22) 0%, rgba(255, 207, 0, .06) 100%); border-color: rgba(255, 207, 0, .5); box-shadow: 0 10px 24px -10px rgba(255, 207, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .08); color: var(--amarelo); }
.v2-loc__ponte strong { font-size: 16px; }
.v2-loc__ponte small { font-size: 13.5px; }
@media (max-width: 640px) { .v2-loc__ponte-ico { width: 42px; height: 42px; border-radius: 13px; } .v2-loc__ponte-ico svg { width: 22px; height: 22px; } .v2-loc__ponte strong { font-size: 14px; } .v2-loc__ponte small { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .v2-loc__ponte li:hover .v2-loc__ponte-ico { transform: none; } }

/* Cards de produto (v3.27): botão de ação claro; Alugar quando tem, fila de espera quando está tudo alugado. */
.v2-card__acao { width: 100%; justify-content: center; min-height: 48px; margin-top: 4px; font-size: 15px; font-weight: 700; }
.v2-card__acao--fila { background: transparent; border: 1.5px solid var(--texto); color: var(--texto); }
.v2-card__acao--fila:hover, .v2-card__acao--fila:focus-visible { background: var(--texto); color: var(--branco); }
.v2-card__entrega { margin-top: -2px; }
.v2-card__comparar { margin-top: 2px; }

/* Página do produto (v3.28): prazo de entrega numa linha discreta, sem a caixa preta; a locadora já aparece logo acima. */
.v2-entrega { gap: 10px; margin: 2px 0 22px; padding: 0; border-radius: 0; background: none; color: var(--texto); }
.v2-entrega .ico { width: 20px; height: 20px; padding: 0; border-radius: 0; background: none; color: var(--texto); flex: none; }
.v2-entrega span { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.v2-entrega strong { font-size: 15px; font-weight: 600; }
.v2-entrega small { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--texto2); }
.v2-entrega small::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #C9C5BC; }

/* Planos (v3.29): cada plano numa linha organizada; nome e selo, vantagens em texto, preço e botão alinhados à direita. */
.v3 .plano { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 18px 20px; border-radius: 18px; }
.plano__topo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.v2 .plano__nome { font-size: 18px; font-weight: 700; line-height: 1.2; }
.plano__tag { padding: 4px 9px; border-radius: 999px; background: var(--preto); color: var(--amarelo); font-size: 11px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.v3 .plano__desc { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 6px; font-size: 13.5px; color: var(--texto2); }
.plano__eco { font-weight: 600; color: var(--texto); }
.plano__frete { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; color: #1B7A43; }
.plano__frete .ico { flex: none; }
.v3 .plano__preco { display: grid; justify-items: end; gap: 2px; }
.v3 .plano__preco s { font-size: 12.5px; }
.v2 .plano__preco strong { display: inline-flex; align-items: baseline; gap: 2px; font-size: 26px; line-height: 1; }
.v3 .plano__preco strong small { font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--texto2); }
.v3 .plano__acao { margin-top: 0; min-height: 44px; padding: 0 22px; font-size: 15px; }
.v3 .planos__titulo { margin-bottom: 6px; font-size: 16px; }
.v3 .planos__dica { margin: 4px 0 0; font-size: 13px; color: var(--texto2); }
.v2-entrega span { align-items: center; }
@media (max-width: 520px) { .v3 .plano { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 14px; padding: 16px; } .v3 .plano__acao { grid-column: 1 / -1; width: 100%; } .v2 .plano__preco strong { font-size: 22px; } }

/* Página do produto (v3.30): sem bandeiras de cartão; o que vem no aluguel numa lista única e alinhada. */
.v3 .v2-pdp .locfit-pd { display: none; }
.v3-inclui { display: grid; margin: 22px 0 0; padding: 4px 18px; list-style: none; border-radius: 18px; background: var(--branco); border: 1px solid #E8E4DA; }
.v3-inclui li { display: flex; align-items: center; gap: 14px; padding: 14px 0; }
.v3-inclui li + li { border-top: 1px solid #EFEBE3; }
.v3-inclui__ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--preto); color: var(--amarelo); }
.v3-inclui__ico svg { width: 22px; height: 22px; }
.v3-inclui__txt { display: grid; gap: 1px; line-height: 1.3; }
.v3-inclui strong { font-size: 15px; font-weight: 600; color: var(--texto); }
.v3-inclui small { font-size: 13px; color: var(--texto2); }
.v3 .pdp__outras { margin-top: 14px; font-size: 14px; color: var(--texto2); }

/* Página do produto (v3.31): características básicas logo abaixo da locadora. */
.pdp__specs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; padding: 0; list-style: none; }
.pdp__specs li { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 999px; background: var(--branco); border: 1px solid #E2DED4; font-size: 14px; font-weight: 600; color: var(--texto); }

/* Produto (v3.32): miniaturas de vídeo e "Na sala" na galeria, fotos reais de entrega e tela cheia. */
.v3-mini { position: relative; overflow: hidden; padding: 0; cursor: pointer; }
.v3-mini img { width: 100%; height: 100%; object-fit: cover; }
.v3-mini:hover { border-color: var(--preto); }
.v3-mini__rot { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 2px 4px; background: linear-gradient(0deg, rgba(10, 10, 10, .85), rgba(10, 10, 10, 0)); color: #fff; font-size: 10.5px; font-weight: 700; line-height: 1.1; text-align: center; letter-spacing: .02em; }
.v3-mini--video { display: grid; place-items: center; background: var(--preto); border-color: var(--preto); }
.v3-mini__play { display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: 12px; padding-left: 2px; border-radius: 50%; background: var(--amarelo); color: var(--preto); }

.v3-entregas { padding: clamp(48px, 6vw, 80px) 0 8px; overflow: hidden; }
.v3-entregas__cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.v3-entregas__cab .sobretitulo { margin-bottom: 8px; }
.v3-entregas__cab .v2-texto { margin-top: 10px; max-width: 560px; color: var(--texto2); }
.v3-entregas__nav { display: flex; flex: none; gap: 8px; }
.v3-entregas__nav button { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--texto); background: transparent; color: var(--texto); cursor: pointer; transition: background .2s, color .2s, opacity .2s; }
.v3-entregas__nav button:hover:not(:disabled) { background: var(--texto); color: var(--branco); }
.v3-entregas__nav button:disabled { opacity: .25; cursor: default; }
.v3-entregas__trilho { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(220px, 23vw, 280px); gap: 16px; margin: 0; padding: 0 0 8px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.v3-entregas__trilho::-webkit-scrollbar { display: none; }
.v3-entregas__trilho li { scroll-snap-align: start; }
.v3-entrega { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; padding: 0; border: 0; border-radius: 22px; overflow: hidden; background: #E9E6DE; cursor: zoom-in; }
.v3-entrega img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.v3-entrega:hover img { transform: scale(1.05); }
.v3-entrega::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(0deg, rgba(10, 10, 10, .78), rgba(10, 10, 10, 0)); pointer-events: none; }
.v3-entrega:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }
.v3-entrega__pe { position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 14px; display: flex; align-items: center; gap: 10px; color: #fff; text-align: left; }
.v3-entrega__av, .v3-lb__av { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--amarelo); color: var(--preto); font-size: 14px; font-weight: 800; }
.v3-entrega__pe strong { display: block; font-size: 14px; font-weight: 600; }
.v3-entrega__pe small { display: block; font-size: 12px; color: rgba(255, 255, 255, .75); }
@media (max-width: 640px) { .v3-entregas__nav { display: none; } .v3-entregas__trilho { grid-auto-columns: 74%; margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); scroll-padding-inline: var(--gutter, 16px); } }

.v3-lb { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8, 8, 8, .97); color: #fff; }
.v3-lb::backdrop { background: rgba(8, 8, 8, .97); }
.v3-lb[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.v3-lb__topo { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; }
.v3-lb__cont { font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .7); font-variant-numeric: tabular-nums; }
.v3-lb__fechar, .v3-lb__seta { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.v3-lb__fechar:hover, .v3-lb__seta:hover { background: var(--amarelo); border-color: var(--amarelo); color: var(--preto); }
.v3-lb [hidden] { display: none !important; }
.v3-lb__meio { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 16px; min-height: 0; padding: 0 20px; }
.v3-lb__palco { display: grid; place-items: center; height: 100%; min-height: 0; }
.v3-lb__palco img { max-width: 100%; max-height: calc(100dvh - 190px); border-radius: 16px; object-fit: contain; animation: v3-lb-entra .35s ease both; }
.v3-lb__palco video, .v3-lb__palco iframe { width: min(100%, 1100px); aspect-ratio: 16 / 9; max-height: calc(100dvh - 190px); border: 0; border-radius: 16px; background: #000; }
@keyframes v3-lb-entra { from { opacity: 0; transform: scale(.98); } to { opacity: 1; transform: none; } }
.v3-lb__leg { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 78px; padding: 14px 20px 22px; }
.v3-lb__leg strong { display: block; font-size: 15px; }
.v3-lb__leg small { display: block; font-size: 13px; color: rgba(255, 255, 255, .65); }
html.v3-lb-aberto { overflow: hidden; }
@media (max-width: 640px) { .v3-lb__meio { grid-template-columns: minmax(0, 1fr); padding: 0 10px; } .v3-lb__seta { display: none; } }
@media (prefers-reduced-motion: reduce) { .v3-lb__palco img { animation: none; } .v3-entrega img { transition: none; } }

/* Produto (v3.33): o que vem no aluguel e "Sobre o equipamento / Especificações" embaixo da galeria no computador; no celular, logo depois da compra. */
.v3-pdp-extra { display: grid; gap: 16px; min-width: 0; }
.v3-pdp-extra .v3-inclui { margin: 0; }
.v3-pdp-extra .pdp__detalhes { max-width: none; margin: 0; }
@media (min-width: 1024px) {
	.v3 .pdp__grade { grid-template-areas: "galeria resumo" "extra resumo"; grid-template-rows: auto 1fr; row-gap: 28px; }
	.v3 .pdp__galeria { grid-area: galeria; position: static; }
	.v3 .pdp__resumo { grid-area: resumo; }
	.v3-pdp-extra { grid-area: extra; align-self: start; }
	.v3-pdp-extra .v3-inclui { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 20px 6px; }
	.v3-pdp-extra .v3-inclui li { flex-direction: column; align-items: flex-start; gap: 12px; padding: 0 16px; }
	.v3-pdp-extra .v3-inclui li + li { border-top: 0; border-left: 1px solid #EFEBE3; }
}

/* Produto (v3.35): no computador, embaixo da galeria e da compra: o que vem no aluguel à esquerda e "Sobre o equipamento / Especificações" fechados à direita. */
@media (min-width: 1024px) {
	.v3 .pdp__grade { grid-template-areas: "galeria resumo" "extra extra"; grid-template-rows: auto auto; row-gap: 32px; }
	.v3-pdp-extra { grid-area: extra; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); column-gap: 48px; align-items: start; }
	.v3-pdp-extra .pdp__detalhes { gap: 10px; }
}
.v3-pdp-extra .detalhe__corpo h2:first-child { display: none; }
.v3-pdp-extra .detalhe__corpo p:empty { display: none; }

/* Produto (v3.36): o que vem no aluguel volta para baixo do botão de alugar; "Sobre o equipamento / Especificações" ficam embaixo da galeria. */
.v2-pdp .pdp__resumo .v3-inclui { margin-top: 22px; }
@media (min-width: 1024px) {
	.v3 .pdp__grade { grid-template-areas: "galeria resumo" "extra resumo"; grid-template-rows: auto 1fr; row-gap: 28px; }
	.v3-pdp-extra { grid-template-columns: minmax(0, 1fr); }
}

/* Produto (v3.37): "Sobre o equipamento" e "Especificações" lado a lado; o que for aberto ocupa a largura toda. */
.v3-pdp-extra .pdp__detalhes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.v3-pdp-extra .pdp__detalhes .detalhe[open] { grid-column: 1 / -1; }
@media (max-width: 420px) { .v3-pdp-extra .pdp__detalhes { grid-template-columns: minmax(0, 1fr); } }

/* Produto (v3.38): o que vem no aluguel em três cards lado a lado embaixo do botão. */
@media (min-width: 520px) {
	.v2-pdp .pdp__resumo .v3-inclui { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; border: 0; background: transparent; }
	.v2-pdp .pdp__resumo .v3-inclui li { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; border-radius: 16px; background: var(--branco); border: 1px solid #E8E4DA; }
	.v2-pdp .pdp__resumo .v3-inclui li + li { border-top: 1px solid #E8E4DA; }
	.v2-pdp .pdp__resumo .v3-inclui strong { font-size: 14.5px; }
	.v2-pdp .pdp__resumo .v3-inclui small { font-size: 12.5px; line-height: 1.4; }
}

/* Produto (v3.40): tocar no plano só escolhe; quem leva ao carrinho é o botão grande "Alugar por…". Bolinha de seleção à esquerda de cada plano. */
.v3 .plano__acao { display: none; }
.v3 .plano__marca { display: block; flex: none; }
.v3 .plano, .v3 .plano:not(:has(input:checked)) { grid-template-columns: auto minmax(0, 1fr) auto; }
@media (max-width: 520px) { .v3 .plano { grid-template-columns: auto minmax(0, 1fr) auto; } }

/* Planos (v3.41): selos do mesmo tamanho e alinhados na mesma coluna em todos os planos. */
.v3 .plano__topo { display: grid; grid-template-columns: 5.2em auto; justify-content: start; align-items: center; column-gap: 10px; }
.v3 .plano__tag { display: inline-flex; justify-content: center; min-width: 132px; box-sizing: border-box; }

/* Produto (v3.42): características básicas (peso máximo, Bluetooth, voltagem) no rodapé da foto. */
.v3-galeria-palco { position: relative; }
.v3-foto-specs { position: absolute; z-index: 2; left: 16px; bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.v3-foto-specs li { display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); border: 1px solid #E2DED4; box-shadow: 0 4px 14px rgba(10, 10, 10, .06); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: 13.5px; font-weight: 600; color: var(--texto); }

/* Produto (v3.43): o branco da foto se mistura ao cinza da galeria (sem o "quadro dentro do quadro"); pílulas com mais respiro. */
.v2-pdp .galeria__foto { background: transparent; }
.v2-pdp .galeria__trilho { background: #F9F9F9; }
.v3-foto-specs { left: 24px; bottom: 24px; }

/* Produto (v3.44): estado "Adicionando ao carrinho…" do botão grande. */
.v2-pdp .single_add_to_cart_button.v3-enviando { pointer-events: none; opacity: .9; }
.v3-girando { display: inline-block; width: 16px; height: 16px; margin-right: 10px; vertical-align: -2px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: v3-gira .7s linear infinite; }
@keyframes v3-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .v3-girando { animation: none; } }

/* Carrinho (v3.45): aviso de item adicionado sem o botão de voltar à loja. */
.v3 .woocommerce-message .button.wc-forward { display: none; }

/* ---------- Aulas (v3.46): vitrine da Fitters com modo treino e registros ---------- */
.v3-ft { position: relative; overflow: hidden; background: radial-gradient(1100px 520px at 70% 38%, rgba(255, 214, 0, .10), transparent 70%), var(--aula-fundo); }
.v3-ft .envoltorio { gap: 64px; }
.v3-ft__cab { display: grid; gap: 20px; justify-items: center; text-align: center; max-width: 820px; margin-inline: auto; }
.v3-ft__cab .v2-titulo { text-wrap: balance; }
.v3-ft__cab .v2-texto { max-width: 640px; text-wrap: pretty; }

/* Palco: TV com o modo treino + cartão de registros por cima */
.v3-ft__palco { position: relative; display: grid; gap: 20px; }
@media (min-width: 1000px) { .v3-ft__palco { grid-template-columns: minmax(0, 1fr) 300px; align-items: end; gap: 0; } }
.v3-ft__tela { margin: 0; display: grid; gap: 14px; }
@media (min-width: 1000px) { .v3-ft__tela { margin-right: -48px; } }
.v3-ft__moldura { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; background: #000; border: 10px solid #141414; box-shadow: 0 0 0 1px #2a2a2a, 0 40px 90px -30px rgba(0, 0, 0, .9), 0 0 120px -40px rgba(255, 214, 0, .25); }
.v3-ft__moldura > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.02); }
.v3-ft__hud { position: absolute; inset: 0; display: grid; grid-template-rows: auto 1fr auto auto; gap: 10px; padding: clamp(14px, 2.6vw, 30px); color: var(--branco); background: linear-gradient(90deg, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .45) 48%, rgba(0, 0, 0, .1) 75%), linear-gradient(0deg, rgba(0, 0, 0, .85) 0%, transparent 42%); }
.v3-ft__hud-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.v3-ft__modo { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); backdrop-filter: blur(6px); font: 700 clamp(11px, 1.1vw, 14px)/1 var(--fonte); letter-spacing: .06em; text-transform: uppercase; }
.v3-ft__modo i { width: 8px; height: 8px; border-radius: 50%; background: var(--amarelo); box-shadow: 0 0 0 4px rgba(255, 214, 0, .25); animation: v3-ft-pulso 1.6s ease-in-out infinite; }
@keyframes v3-ft-pulso { 50% { box-shadow: 0 0 0 8px rgba(255, 214, 0, 0); } }
.v3-ft__relogio { font: 800 clamp(14px, 1.6vw, 20px)/1 var(--fonte-t); font-variant-numeric: tabular-nums; }
.v3-ft__relogio small { font-size: .75em; color: rgba(255, 255, 255, .6); }
.v3-ft__bloco { align-self: center; display: grid; gap: 6px; justify-items: start; max-width: 58%; }
.v3-ft__bloco > small { font-size: clamp(11px, 1.1vw, 14px); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.v3-ft__bloco strong { font: 800 clamp(26px, 4.6vw, 60px)/.95 var(--fonte-t); text-transform: uppercase; letter-spacing: -.01em; }
.v3-ft__falta { font-size: clamp(13px, 1.4vw, 18px); color: rgba(255, 255, 255, .85); }
.v3-ft__falta b { font: 800 1.5em/1 var(--fonte-t); color: var(--amarelo); font-variant-numeric: tabular-nums; margin-right: 4px; }
.v3-ft__depois { margin-top: 4px; padding: 6px 12px; border-radius: 10px; background: rgba(255, 255, 255, .1); font-size: clamp(11px, 1.15vw, 15px); font-weight: 600; }
.v3-ft__plano { display: flex; align-items: flex-end; gap: 3px; height: clamp(34px, 5.5vw, 70px); margin: 0; padding: 0; list-style: none; }
.v3-ft__plano li { flex: var(--d) 1 0; min-width: 3px; height: calc(var(--n) * 20%); border-radius: 3px 3px 1px 1px; background: rgba(255, 255, 255, .22); }
.v3-ft__plano li.feito { background: rgba(255, 214, 0, .45); }
.v3-ft__plano li.agora { background: var(--amarelo); box-shadow: 0 0 18px rgba(255, 214, 0, .6); }
.v3-ft__barra { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .2); overflow: hidden; }
.v3-ft__barra i { display: block; height: 100%; background: var(--amarelo); }
.v3-ft__tela figcaption { font-size: 14px; line-height: 1.5; color: var(--aula-texto2); max-width: 720px; }
@media (max-width: 560px) { .v3-ft__depois, .v3-ft__relogio small { display: none; } .v3-ft__moldura { border-width: 6px; border-radius: 16px; } .v3-ft__bloco { max-width: 75%; } }

/* Cartão "Meu progresso" (exemplo) */
.v3-ft__registro { position: relative; z-index: 1; display: grid; gap: 10px; padding: 16px; border-radius: 26px; background: #F7F5F0; color: var(--preto); box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .8); }
@media (min-width: 1000px) { .v3-ft__registro { margin-bottom: 56px; transform: rotate(1.5deg); } }
.v3-ft__reg-topo { display: flex; justify-content: space-between; align-items: center; padding: 4px 4px 2px; }
.v3-ft__reg-topo strong { font: 800 20px/1 var(--fonte-t); text-transform: uppercase; }
.v3-ft__reg-topo span { padding: 4px 9px; border-radius: 999px; background: #E9E5DB; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6b675e; }
.v3-ft__reg-card { display: grid; gap: 10px; padding: 14px; border-radius: 18px; background: var(--branco); border: 1px solid #ECE8DF; }
.v3-ft__reg-card > small { font-size: 12px; font-weight: 600; color: #6b675e; }
.v3-ft__reg-num { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 0; }
.v3-ft__reg-num div { display: grid; gap: 2px; }
.v3-ft__reg-num dt { font-size: 11px; color: #8a867c; }
.v3-ft__reg-num dd { margin: 0; font: 800 24px/1 var(--fonte-t); font-variant-numeric: tabular-nums; }
.v3-ft__reg-num dd small { font: 600 11px/1 var(--fonte); color: #6b675e; }
.v3-ft__elogio { display: inline-flex; align-items: center; gap: 6px; justify-self: start; margin: 0; padding: 6px 10px; border-radius: 999px; background: var(--amarelo); font-size: 13px; font-weight: 700; }
.v3-ft__semanas { display: grid; grid-template-columns: repeat(4, 1fr); align-items: end; gap: 8px; height: 92px; margin: 0; padding: 0; list-style: none; }
.v3-ft__semanas li { position: relative; height: calc(var(--v) / 120 * 100%); border-radius: 8px 8px 3px 3px; background: #E4E0D6; }
.v3-ft__semanas li.agora { background: var(--preto); }
.v3-ft__semanas span { position: absolute; left: 0; right: 0; top: -17px; text-align: center; font-size: 11px; font-weight: 700; color: #6b675e; }
.v3-ft__semanas li.agora span { color: var(--preto); }
.v3-ft__reg-pe { margin: 0; font-size: 12px; font-weight: 600; color: #3d3a34; }

/* Três passos */
.v3-ft__passos { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: ftp; }
@media (min-width: 820px) { .v3-ft__passos { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.v3-ft__passos li { counter-increment: ftp; display: grid; gap: 8px; align-content: start; padding: 24px; border-radius: 22px; background: var(--aula-cartao); border: 1px solid var(--aula-linha); }
.v3-ft__passos li::before { content: "0" counter(ftp); font: 800 40px/1 var(--fonte-t); color: var(--amarelo); }
.v3-ft__passos strong { font: 800 24px/1.05 var(--fonte-t); text-transform: uppercase; }
.v3-ft__passos span { font-size: 15px; line-height: 1.55; color: var(--aula-texto2); }

.v3-ft__lista, .v3-ft__faq { display: grid; gap: 22px; }
.v3-ft__faq .v3-aulas__faq { display: grid; gap: 10px; }
@media (min-width: 900px) { .v3-ft__faq .v3-aulas__faq { grid-template-columns: 1fr 1fr; align-items: start; } }

/* Cartão de aula: miniatura em alta, nível, play */
.v3-ft .v3-trilho, .v3-aulas--pdp .v3-trilho { grid-auto-columns: min(82vw, 380px); gap: 20px; }
.v3-aula__capa { box-shadow: 0 0 0 1px rgba(255, 255, 255, .06); }
.v3-aula__capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .55), transparent 45%); pointer-events: none; }
.v3-aula__nivel { position: absolute; z-index: 1; left: 10px; top: 10px; padding: 5px 9px; border-radius: 8px; background: rgba(10, 10, 10, .78); backdrop-filter: blur(4px); font-size: 12px; font-weight: 700; }
.v3-aula__tempo { z-index: 1; }
.v3-aula__play { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; place-items: center; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: var(--amarelo); color: var(--preto); opacity: 0; transform: scale(.8); transition: opacity .2s ease, transform .2s ease; }
.v3-aula a:hover .v3-aula__play, .v3-aula a:focus-visible .v3-aula__play { opacity: 1; transform: scale(1); }
.v3-aula strong { font-size: 17px; }
@media (hover: none) { .v3-aula__play { opacity: .92; transform: scale(.85); } }
@media (prefers-reduced-motion: reduce) { .v3-ft__modo i { animation: none; } .v3-aula__play { transition: none; } }

/* Aulas (v3.47): a miniatura tem texto gravado; aproxima no instrutor e escurece a esquerda. */
.v3-ft__moldura > img { transform-origin: 92% 40%; transform: scale(1.45); }
.v3-ft__hud { background: linear-gradient(90deg, rgba(0, 0, 0, .97) 0%, rgba(0, 0, 0, .94) 40%, rgba(0, 0, 0, .4) 62%, rgba(0, 0, 0, 0) 78%), linear-gradient(0deg, rgba(0, 0, 0, .85) 0%, transparent 40%); }
.v3-ft__relogio { padding: 6px 12px; border-radius: 999px; background: rgba(0, 0, 0, .55); backdrop-filter: blur(6px); }
@media (min-width: 1000px) { .v3-ft__plano, .v3-ft__barra { margin-right: 48px; } }

/* Equipamentos do topo (v3.48): cartões no tamanho da loc.fit atual, foto de ponta a ponta. */
@media (min-width: 1180px) { .v3-vitrine--heroi .envoltorio { max-width: 1648px; } }
.v3-vitrine--heroi .v3-eqs { gap: 18px; }
.v3-vitrine--heroi .v3-eq { padding: 0 0 20px; border-radius: 18px; overflow: hidden; background: #FAFAFA; }
.v3-vitrine--heroi .v3-eq__foto { aspect-ratio: auto; height: clamp(230px, 15.6vw, 300px); border-radius: 0; background: transparent; }
.v3-vitrine--heroi .v3-eq__foto img { inset: 0; top: 0; width: 100%; height: 100%; object-fit: cover; transform: none; }
.v3-vitrine--heroi .v3-eq:hover .v3-eq__foto img { transform: scale(1.05); }
.v3-vitrine--heroi .v3-eq__txt, .v3-vitrine--heroi .v3-eq__pe { padding-inline: 20px; }
.v3-vitrine--heroi .v3-eq__txt { margin-top: 4px; }
.v3-vitrine--heroi .v3-eq__txt strong { font-size: 22px; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .v3-vitrine--heroi .v3-eq:hover .v3-eq__foto img { transform: none; } }

/* Loja (v3.49): cidade conhecida vira uma linha discreta com "Trocar". */
.v3-area--linha { padding: 0; border: 0; border-radius: 0; background: transparent; }

/* Topo (v3.50): o padding do bloco central zerava a margem lateral; no celular os botões encostavam na borda. */
.v3-heroi .v3-heroi__centro { padding-inline: var(--gutter); }

/* Topo fixo no celular logado (v3.53): a barra do WordPress rola junto com a página abaixo de 600 px;
   depois de rolar, o topo sobe para o 0 em vez de deixar um vão no lugar dela. */
@media (max-width: 600px) { body.admin-bar:has(.v3-heroi) .topo.topo--solido { top: 0; } }

/* Barra de baixo (v3.54): ícones próprios, item atual com fundo amarelo suave e ícone cheio. */
@media (max-width: 899px) {
	.v3-barra { background: rgba(10, 10, 10, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid rgba(255, 255, 255, .08); }
	.v3-barra a { gap: 4px; padding: 8px 2px 7px; color: #8E8A82; font-size: 11px; font-weight: 600; letter-spacing: .01em; transition: color .2s ease; }
	.v3-barra__ico { position: relative; display: grid; place-items: center; width: 54px; height: 30px; border-radius: 999px; transition: background-color .2s ease; }
	.v3-barra a:hover { color: var(--branco); }
	.v3-barra a[aria-current] { color: var(--amarelo); }
	.v3-barra a[aria-current] .v3-barra__ico { background: rgba(255, 207, 0, .14); }
	.v3-barra a[aria-current] .v3-barra__txt { color: var(--branco); font-weight: 700; }
	.v3-barra a:focus-visible { outline: none; }
	.v3-barra a:focus-visible .v3-barra__ico { box-shadow: 0 0 0 2px var(--amarelo); }
	.v3-barra .topo__qtd { position: absolute; top: -2px; left: auto; right: 6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; border: 2px solid #0A0A0A; background: var(--amarelo); color: var(--preto); font: 800 10px/14px var(--fonte); text-align: center; }
}

/* Equipamentos do topo no celular (v3.55): a foto é quadrada; a caixa também, para não cortar guidão e painel. */
@media (max-width: 1179px) { .v3-vitrine--heroi .v3-eq__foto { height: auto; aspect-ratio: 1 / 1; } }

/* Faixa "o que vem junto" (v3.56): cartões com ícone em bloco escuro, título e linha de apoio. */
.v3-faixa { padding-block: 28px; }
.v3-faixa__lista.v3-faixa__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-block: 0; }
.v3-faixa__lista .v3-faixa__item { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; background: var(--branco); border: 1px solid #E8E4DA; box-shadow: 0 1px 2px rgba(10, 10, 10, .04); }
.v3-faixa__ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--preto); color: var(--amarelo); }
.v3-faixa__ico .ico { color: var(--amarelo); }
.v3-faixa__txt { display: grid; gap: 2px; min-width: 0; }
.v3-faixa__txt strong { font-size: 15px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; color: var(--texto); }
.v3-faixa__txt small { font-size: 13px; line-height: 1.35; color: var(--texto2); }
@media (max-width: 1023px) { .v3-faixa__lista.v3-faixa__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.v3-faixa { padding-block: 20px; }
	.v3-faixa__lista.v3-faixa__lista { gap: 10px; }
	.v3-faixa__lista .v3-faixa__item { flex-direction: column; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 16px; }
	.v3-faixa__ico { width: 42px; height: 42px; border-radius: 12px; }
	.v3-faixa__txt strong { font-size: 14px; }
	.v3-faixa__txt small { font-size: 12.5px; }
}

/* Faixa opção 1 (v3.57, comparação): escura, tipografia grande, separadores finos. */
.v3-faixa2 { background: var(--preto); color: var(--branco); }
.v3-faixa2__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; padding-block: 44px; list-style: none; }
.v3-faixa2__lista li { display: grid; gap: 8px; align-content: start; padding: 4px 28px; border-left: 1px solid rgba(255, 255, 255, .14); }
.v3-faixa2__lista li:first-child { padding-left: 0; border-left: 0; }
.v3-faixa2__lista strong { font: 800 clamp(28px, 2.8vw, 40px)/1 var(--fonte-t); letter-spacing: -.03em; color: var(--branco); }
.v3-faixa2__lista span { font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--amarelo); }
@media (max-width: 760px) {
	.v3-faixa2__lista { grid-template-columns: 1fr 1fr; padding-block: 8px; }
	.v3-faixa2__lista li, .v3-faixa2__lista li:first-child { padding: 22px 16px 22px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
	.v3-faixa2__lista li:nth-child(even) { padding-left: 16px; border-left: 1px solid rgba(255, 255, 255, .12); }
	.v3-faixa2__lista li:nth-child(-n+2) { border-top: 0; }
	.v3-faixa2__lista strong { font-size: 26px; }
	.v3-faixa2__lista span { font-size: 13px; }
}

/* Faixa opção 1 (v3.58): colada no bloco preto dos equipamentos, ícone amarelo e apoio em cinza claro. */
.v3-faixa2 { padding-bottom: 64px; }
.v3-faixa2__lista { padding-block: 40px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.v3-faixa2__lista li { gap: 0; }
.v3-faixa2__ico { display: block; margin-bottom: 18px; color: var(--amarelo); }
.v3-faixa2__ico .ico { width: 36px; height: 36px; color: var(--amarelo); }
.v3-faixa2__lista strong { margin-bottom: 8px; }
.v3-faixa2__lista .v3-faixa2__sub { font-size: 15px; font-weight: 500; color: #B5B1A8; }
@media (max-width: 760px) {
	.v3-faixa2 { padding-bottom: 28px; }
	.v3-faixa2__lista { padding-block: 0; border-top: 0; }
	.v3-faixa2__ico { margin-bottom: 12px; }
	.v3-faixa2__ico .ico { width: 30px; height: 30px; }
	.v3-faixa2__lista .v3-faixa2__sub { font-size: 13px; }
}
@media (min-width: 1180px) { .v3-faixa2__lista { max-width: 1648px; } }

/* Faixa opção 1 (v3.59): cada item centralizado na sua coluna. */
.v3-faixa2__lista li, .v3-faixa2__lista li:first-child { justify-items: center; text-align: center; padding-inline: 20px; }
@media (max-width: 760px) { .v3-faixa2__lista li, .v3-faixa2__lista li:first-child, .v3-faixa2__lista li:nth-child(even) { padding-inline: 10px; } }

/* Faixa opção 1 (v3.60): ícone ao lado da palavra, não em cima. */
.v3-faixa2__lista li, .v3-faixa2__lista li:first-child { grid-template-columns: auto auto; justify-content: center; align-items: center; column-gap: 12px; }
.v3-faixa2__ico { margin: 0 0 8px; line-height: 0; }
.v3-faixa2__lista .v3-faixa2__sub { grid-column: 1 / -1; }
@media (max-width: 760px) {
	.v3-faixa2__lista li, .v3-faixa2__lista li:first-child { column-gap: 8px; }
	.v3-faixa2__ico { margin-bottom: 6px; }
	.v3-faixa2__ico .ico { width: 24px; height: 24px; }
	.v3-faixa2__lista strong { font-size: 22px; margin-bottom: 6px; }
}
@media (max-width: 760px) {
	.v3-faixa2__lista li, .v3-faixa2__lista li:first-child, .v3-faixa2__lista li:nth-child(even) { padding-inline: 4px; column-gap: 6px; }
	.v3-faixa2__lista strong { font-size: 20px; white-space: nowrap; }
	.v3-faixa2__ico .ico { width: 22px; height: 22px; }
}

/* Carrinho no celular (v3.61): cada item vira um cartão (foto, nome, cidade, remover e mensalidade), alinhado à esquerda. */
@media (max-width: 768px) {
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 76px minmax(0, 1fr) 32px; grid-template-areas: "foto nome sai" "foto preco preco"; column-gap: 14px; row-gap: 12px; align-items: start; padding: 4px 0 18px; border-bottom: 1px solid #ECE8DF; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td { display: block; padding: 0 !important; margin: 0; border: 0; text-align: left; background: none; min-width: 0; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td::before { display: none; content: none; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-thumbnail { grid-area: foto; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-thumbnail a { display: block; width: 76px; height: 76px; border-radius: 14px; background: #F7F5F0; overflow: hidden; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-thumbnail img { object-fit: contain; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name { grid-area: nome; font-size: 15px; line-height: 1.35; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name > a { display: block; font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--texto); text-decoration: none; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation { display: flex; align-items: center; gap: 4px; margin: 6px 0 0; font-size: 13px; color: var(--texto2); }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dt { display: none; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd,
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation p { margin: 0; padding: 0; font-size: 13px; line-height: 1.3; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation a { font-size: 13px; font-weight: 600; color: var(--texto2); text-decoration: none; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd { display: flex; align-items: center; gap: 4px; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd::before { content: ""; flex: none; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%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'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E") center / contain no-repeat; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-remove { grid-area: sai; justify-self: end; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-remove a.remove { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #F2EFE8; color: var(--texto2) !important; font-size: 20px; line-height: 1; text-decoration: none; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-remove a.remove:hover { background: #E8E3D8; color: var(--texto) !important; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-subtotal { grid-area: preco; display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px !important; border-top: 1px dashed #E4DFD3; font-size: 13px; color: var(--texto2); }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-subtotal::before { display: inline; content: "Mensalidade"; float: none; font-weight: 500; }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-subtotal .amount { font-size: 18px; font-weight: 800; color: var(--texto); }
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-price,
	body.v3.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-quantity { display: none; }
}

/* Passos do carrinho (v3.62): "Entrega" no lugar de "Dados e entrega"; no celular os três cabem numa linha. */
@media (max-width: 640px) {
	body.v3 .v2-passos { flex-wrap: nowrap; gap: 6px; }
	body.v3 .v2-passos li { flex: 0 1 auto; min-width: 0; gap: 6px; padding: 6px 12px 6px 6px; font-size: 14px; white-space: nowrap; }
}

/* Carrinho e finalização (v3.63): sem rodapé e sem barra de baixo; o foco é seguir para o pagamento. */
body.v3.woocommerce-cart .rodape, body.v3.woocommerce-checkout .rodape { display: none; }

/* Topo e barra de baixo (v3.65): conta e carrinho voltam para o topo em todas as páginas;
   a barra de baixo fica com Início, Equipamentos, Aulas e WhatsApp. */
@media (max-width: 899px) { .v3-barra ul { grid-template-columns: repeat(4, 1fr); } }

/* Comprar × alugar (v3.66): uma tabela só, com o lado loc.fit numa coluna preta contínua. Substitui o "Por que alugar". */
.v3-cmp { padding-block: clamp(72px, 9vw, 128px); }
.v3-cmp .envoltorio { display: grid; gap: 44px; }
.v3-cmp__cab { display: grid; gap: 14px; max-width: 760px; }
.v3-cmp__titulo { margin: 0; font: 800 clamp(36px, 5vw, 64px)/1 var(--fonte-t); letter-spacing: -.04em; color: var(--texto); text-wrap: balance; }
.v3-cmp__sub { margin: 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; color: var(--texto2); }
.v3-cmp__tabela { display: grid; }
.v3-cmp__linha { display: grid; grid-template-columns: minmax(130px, 200px) minmax(0, 1fr) minmax(0, 1.15fr); }
.v3-cmp__linha > span { display: flex; align-items: center; gap: 12px; padding: 22px 24px; min-height: 76px; }
.v3-cmp__item { padding-left: 0 !important; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--texto3, #8a867c); border-top: 1px solid var(--linha); }
.v3-cmp__comprar { font-size: 16px; line-height: 1.45; color: #7A766D; border-top: 1px solid var(--linha); }
.v3-cmp__comprar i { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #E6E2D9; color: #9A968D; font-style: normal; font-size: 15px; line-height: 1; }
.v3-cmp__locfit { background: var(--preto); color: var(--branco); font-size: 17px; font-weight: 600; line-height: 1.4; border-top: 1px solid rgba(255, 255, 255, .1); }
.v3-cmp__locfit i { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--amarelo); color: var(--preto); }
.v3-cmp__linha--cab > span { min-height: 0; border-top: 0; }
.v3-cmp__linha--cab .v3-cmp__comprar { padding-top: 0; padding-bottom: 14px; font: 800 22px/1 var(--fonte-t); letter-spacing: -.02em; color: #9A968D; align-items: flex-end; }
.v3-cmp__linha--cab .v3-cmp__locfit { padding-top: 26px; padding-bottom: 14px; border-radius: 24px 24px 0 0; font: 800 22px/1 var(--fonte-t); letter-spacing: -.02em; color: var(--amarelo); border-top: 0; align-items: flex-end; }
.v3-cmp__linha--cab + .v3-cmp__linha .v3-cmp__locfit { border-top-color: rgba(255, 255, 255, .14); }
.v3-cmp__linha:last-child .v3-cmp__locfit { border-radius: 0 0 24px 24px; padding-bottom: 28px; }
.v3-cmp__linha:last-child > span { border-bottom: 0; }
.v3-cmp__cta { justify-self: start; }
@media (max-width: 760px) {
	.v3-cmp .envoltorio { gap: 32px; }
	.v3-cmp__tabela { gap: 12px; }
	.v3-cmp__linha--cab { display: none; }
	.v3-cmp__linha { grid-template-columns: 1fr; border-radius: 20px; overflow: hidden; background: var(--preto); }
	.v3-cmp__linha > span { min-height: 0; padding: 0 18px; border-top: 0 !important; }
	.v3-cmp__item { padding: 18px 18px 8px !important; background: var(--preto); color: rgba(255, 255, 255, .55); }
	.v3-cmp__locfit, .v3-cmp__linha:last-child .v3-cmp__locfit { padding: 0 18px 14px; border-radius: 0; font-size: 16px; }
	.v3-cmp__comprar { padding: 12px 18px 16px !important; background: #1A1A19; color: #8E8A82; font-size: 14px; }
	.v3-cmp__comprar i { width: 18px; height: 18px; font-size: 13px; background: #2B2A28; color: #8E8A82; }
	.v3-cmp__locfit { order: 1; }
	.v3-cmp__comprar { order: 2; }
	.v3-cmp__cta { justify-self: stretch; }
}

/* ===== V4: home enxuta ===== */
/* Trilho de aulas alinhado com o conteúdo também depois de rolar (o snap encostava o card na borda da tela). */
.v3-trilho, .v3-eqs { scroll-padding-inline: var(--gutter); }
.v3-trilho > li { scroll-snap-align: start; }

.v4-titulo { margin: 0; font: 800 clamp(34px, 4.4vw, 56px)/1.02 var(--fonte-t); letter-spacing: -.04em; color: var(--texto); text-wrap: balance; }

/* Como funciona: linha do tempo numerada, uma frase por passo. */
.v4-como { padding-block: clamp(64px, 8vw, 112px); background: var(--branco); }
.v4-como .envoltorio { display: grid; gap: 44px; }
.v4-como__cab { display: grid; gap: 14px; }
.v4-linha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.v4-linha li { position: relative; display: grid; gap: 8px; align-content: start; padding-right: 28px; }
.v4-linha li::before { content: ""; position: absolute; top: 21px; left: 52px; right: 8px; height: 2px; background: var(--linha); }
.v4-linha li:last-child::before { display: none; }
.v4-linha b { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 50%; background: var(--preto); color: var(--branco); font: 800 15px/1 var(--fonte-t); letter-spacing: 0; }
.v4-linha li.on b { background: var(--amarelo); color: var(--preto); }
.v4-linha strong { font: 800 21px/1.15 var(--fonte-t); letter-spacing: -.02em; color: var(--texto); }
.v4-linha span { font-size: 16px; line-height: 1.5; color: var(--texto2); }
@media (max-width: 860px) {
	.v4-como .envoltorio { gap: 32px; }
	.v4-linha { grid-template-columns: 1fr; }
	.v4-linha li { grid-template-columns: 44px 1fr; column-gap: 16px; row-gap: 4px; padding: 0 0 26px; }
	.v4-linha li:last-child { padding-bottom: 0; }
	.v4-linha li::before { top: 48px; bottom: 4px; left: 21px; right: auto; width: 2px; height: auto; }
	.v4-linha b { grid-row: 1 / 3; margin: 0; }
	.v4-linha strong { align-self: end; font-size: 19px; padding-top: 2px; }
}

/* Dúvidas em largura total, com a linha de onde entregamos no cabeçalho. */
.v4-duvidas { padding-block: clamp(64px, 8vw, 112px); background: var(--branco); }
.v4-duvidas .envoltorio { display: grid; gap: 32px; grid-template-areas: "cab" "faq" "todas"; }
.v4-duvidas__cab { grid-area: cab; display: grid; gap: 14px; align-content: start; }
.v4-faq { grid-area: faq; }
.v4-duvidas__todas { grid-area: todas; justify-self: start; }
.v4-onde { display: block; margin: 6px 0 0; font-size: 16px; line-height: 1.55; color: var(--texto2); }
.v4-onde svg { display: inline-block; vertical-align: -3px; margin-right: 6px; color: var(--texto); }
.v4-onde span[aria-hidden] { margin-inline: 8px; }
.v4-onde a { white-space: nowrap; }
.v4-onde strong { color: var(--texto); }
.v4-onde a { font-weight: 700; color: var(--texto); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 961px) {
	.v4-duvidas .envoltorio { grid-template-columns: minmax(280px, 5fr) 7fr; grid-template-areas: "cab faq" "cab todas"; column-gap: clamp(48px, 6vw, 96px); row-gap: 24px; align-items: start; }
	.v4-duvidas__cab { position: sticky; top: calc(var(--topo, 72px) + 24px); }
	.v4-duvidas__todas { align-self: start; }
}
@media (max-width: 899px) { .v3-barra ul { grid-template-columns: repeat(3, 1fr); } }

/* V4: aulas sem a fileira de vídeos; a saída para a Fitters vira um link discreto, centralizado com o texto. */
.v3-ft__cab .v2-texto { text-align: center; }
.v4-aulas__link { justify-self: center; align-self: center; margin-inline: auto; }

/* V4: chamada final clara e rodapé revelado por baixo (efeito do rodapé fixo da loc.fit, só no computador). */
.v4-fim { padding-block: clamp(56px, 7vw, 96px); background: var(--fundo, #F4F2EC); }
.v4-fim__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 48px; }
.v4-fim__txt { display: grid; gap: 10px; }
.v4-fim__titulo { margin: 0; font: 800 clamp(30px, 3.6vw, 48px)/1.05 var(--fonte-t); letter-spacing: -.035em; color: var(--texto); text-wrap: balance; }
.v4-fim .btn svg { margin-left: 8px; }
@media (max-width: 640px) { .v4-fim .btn { width: 100%; justify-content: center; } }
@media (min-width: 1025px) and (min-height: 700px) {
	body:not(.woocommerce-cart):not(.woocommerce-checkout) main#conteudo { position: relative; z-index: 2; background: var(--fundo, #F4F2EC); border-radius: 0 0 32px 32px; overflow: clip; box-shadow: 0 24px 48px rgba(0, 0, 0, .6); }
	body:not(.woocommerce-cart):not(.woocommerce-checkout) footer.rodape { position: sticky; bottom: 0; z-index: 1; margin-top: -32px; border-top: 32px solid transparent; } /* o fundo escuro do rodapé sobe para trás dos cantos arredondados */
}

/* V4 ritmo: um respiro só entre seções, um tamanho só de título e o mesmo espaço do sobretítulo ao título. */
:root { --v4-respiro: clamp(72px, 8vw, 112px); }
main#conteudo > section.v3-ft,
main#conteudo > section.v3-cmp,
main#conteudo > section.v4-como,
main#conteudo > section.v4-duvidas { padding-top: var(--v4-respiro); padding-bottom: var(--v4-respiro); }
main#conteudo > section.v2-quiz { padding-top: var(--v4-respiro); padding-bottom: var(--v4-respiro); }
main#conteudo > section.v4-fim { padding-top: clamp(56px, 6vw, 80px); padding-bottom: clamp(56px, 6vw, 80px); }
/* Equipamentos e aulas estão no mesmo fundo escuro: sem somar dois respiros. */
main#conteudo > section.v3-vitrine--heroi { padding-bottom: 8px; }
.v3-ft__cab .v2-titulo, #quiz .v2-titulo, .v3-cmp__titulo, .v4-titulo { font: 800 clamp(34px, 4vw, 56px)/1.02 var(--fonte-t); letter-spacing: -.04em; text-wrap: balance; }
.v3-ft__cab, .v2-quiz__perg, .v3-cmp__cab, .v4-como__cab, .v4-duvidas__cab { row-gap: 16px; }
.v3-cmp .envoltorio, .v4-como .envoltorio { gap: 48px; }
.v3-ft .envoltorio { gap: 56px; }
@media (max-width: 760px) {
	.v3-cmp .envoltorio, .v4-como .envoltorio { gap: 32px; }
	.v3-ft .envoltorio { gap: 40px; }
}

/* V4 produto: dúvidas de quem está decidindo, logo abaixo das Especificações. */
.v4-pdp-faq { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 32px; }
.v4-pdp-faq .v4-faq { grid-area: auto; }
.v4-pdp-faq .v2-faq details { background: var(--branco); }
.v4-pdp-faq__t { margin: 0; font: 800 24px/1.1 var(--fonte-t); letter-spacing: -.02em; color: var(--texto); }
.v4-pdp-faq .v2-faq summary { font-size: 16px; }
.v4-pdp-faq .v2-faq p { font-size: 15px; }
.v4-pdp-faq .link-seta { justify-self: start; }

/* Produto: a linha do tempo é a última seção; sem a faixa bege de 24px entre ela e o canto arredondado. */
.pdp:has(> .v4-duvidas) { padding-bottom: 0; }
.pdp > .v4-como { background: var(--fundo, #F4F2EC); }

/* V4 produto: textos do produto em lista sanfonada logo abaixo do botão de alugar (coluna da direita), no lugar de cards soltos embaixo da galeria. */
@media (min-width: 1024px) {
	body.single-product .pdp__grade { grid-template-areas: "galeria resumo" "galeria extra"; grid-template-rows: auto 1fr; }
	body.single-product .v3-pdp-extra { align-self: start; }
}
body.single-product .pdp__detalhes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--linha); }
body.single-product .pdp__detalhes .detalhe { background: transparent; border: 0; border-bottom: 1px solid var(--linha); border-radius: 0; box-shadow: none; padding: 0; }
body.single-product .pdp__detalhes .detalhe summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 2px; cursor: pointer; list-style: none; }
body.single-product .pdp__detalhes .detalhe summary::-webkit-details-marker { display: none; }
body.single-product .pdp__detalhes .detalhe summary h2 { margin: 0; font: 700 16px/1.3 var(--fonte); letter-spacing: 0; color: var(--texto); }
body.single-product .pdp__detalhes .detalhe summary svg { flex: none; transition: transform .2s; }
body.single-product .pdp__detalhes .detalhe[open] summary svg { transform: rotate(180deg); }
body.single-product .pdp__detalhes .detalhe__corpo { padding: 0 2px 20px; font-size: 15px; line-height: 1.6; color: var(--texto2); }
body.single-product .pdp__detalhes .detalhe__corpo a { color: var(--texto); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* Os 3 benefícios viram uma lista curta de checagem, sem competir com o botão. */
body.single-product .pdp__resumo .v3-inclui { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 20px 0 8px; padding: 0; }
body.single-product .pdp__resumo .v3-inclui li { display: flex; align-items: center; gap: 10px; padding: 0; background: none; border: 0; box-shadow: none; min-height: 0; }
body.single-product .pdp__resumo .v3-inclui__ico { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; }
body.single-product .pdp__resumo .v3-inclui__ico svg { width: 14px; height: 14px; }
body.single-product .pdp__resumo .v3-inclui__txt { display: block; font-size: 15px; line-height: 1.4; color: var(--texto2); }
body.single-product .pdp__resumo .v3-inclui__txt strong { font-weight: 700; color: var(--texto); }
body.single-product .pdp__resumo .v3-inclui__txt strong::after { content: " · "; font-weight: 400; color: var(--texto3, #8a867c); }
body.single-product .pdp__resumo .v3-inclui__txt small { display: inline; font-size: inherit; }
body.single-product .pdp__resumo .v3-inclui li { flex-direction: row; justify-content: flex-start; text-align: left; }
body.single-product .pdp__resumo .v3-inclui__txt { text-align: left; }
body.single-product .pdp__resumo .v3-inclui, body.single-product .pdp__resumo .v3-inclui li { background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.single-product .pdp__resumo .v3-inclui { padding: 0 !important; }

/* V4 produto: cabeçalhos das seções no padrão da home (sobretítulo + título). */
.v4-sec-cab { display: grid; gap: 16px; }
.v3-disp .v2-secao__cab { align-items: end; }

/* V4 produto: "Mais equipamentos" fecha a linha com um card escuro que leva à locadora, em vez de deixar colunas vazias. */
.v3-disp .v2-grade > li.v4-mais-tile { list-style: none; }
.v3-disp .v2-grade > li.v4-mais-tile:nth-child(2) { grid-column: span 3; }
.v3-disp .v2-grade > li.v4-mais-tile:nth-child(3) { grid-column: span 2; }
.v4-mais-tile a { display: grid; align-content: end; gap: 10px; height: 100%; min-height: 260px; padding: 28px; border-radius: 22px; background: var(--preto); color: var(--branco); text-decoration: none; position: relative; overflow: hidden; transition: transform .2s; }
.v4-mais-tile a:hover { transform: translateY(-2px); }
.v4-mais-tile .sobretitulo { color: var(--amarelo); }
.v4-mais-tile strong { font: 800 clamp(26px, 2.6vw, 36px)/1.05 var(--fonte-t); letter-spacing: -.03em; max-width: 14ch; }
.v4-mais-tile__seta { position: absolute; top: 24px; right: 24px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--amarelo); color: var(--preto); }
@media (max-width: 760px) { .v3-disp .v2-grade > li.v4-mais-tile { grid-column: auto !important; } .v4-mais-tile a { min-height: 100%; } }
.v3-disp:has(.v4-mais-tile) .v2-secao__cab > .link-seta { display: none; }
@media (max-width: 760px) { .v4-mais-tile a { padding: 22px 84px 22px 22px; } .v4-mais-tile__seta { top: 50%; right: 20px; transform: translateY(-50%); } }

/* V4 produto: grade de motivos (bento), ideia do produto da loc.fit atual, refeita sem Elementor. */
.v4-bento { padding-block: clamp(48px, 6vw, 80px) 0; }
.v4-bento__grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.v4-bento__card { position: relative; display: grid; align-content: space-between; gap: 32px; min-height: 280px; padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: var(--branco); color: var(--texto); overflow: hidden; }
.v4-bento__txt { position: relative; z-index: 1; display: grid; gap: 12px; max-width: 46ch; }
.v4-bento__card h3 { margin: 0; font: 800 clamp(24px, 2.4vw, 34px)/1.05 var(--fonte-t); letter-spacing: -.03em; text-wrap: balance; }
.v4-bento__card p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--texto2); }
.v4-bento__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--preto); color: var(--amarelo); }
.v4-bento__card--foto { grid-column: span 2; align-content: start; background: linear-gradient(100deg, #111 0%, #1d1d1c 45%, #ECEAE4 100%); color: var(--branco); min-height: 360px; }
.v4-bento__card--foto p { color: rgba(255, 255, 255, .78); max-width: 38ch; }
.v4-bento__card--foto img { position: absolute; right: -2%; bottom: -6%; width: 58%; height: 108%; object-fit: contain; object-position: right bottom; mix-blend-mode: multiply; filter: grayscale(1) contrast(1.05); }
.v4-bento__card--amarelo { background: var(--amarelo); }
.v4-bento__card--amarelo p { color: rgba(10, 10, 10, .75); }
.v4-bento__card--amarelo .v4-bento__ico { background: var(--preto); }
.v4-bento__card--largo { grid-column: span 2; grid-template-columns: minmax(0, 1fr) auto; align-items: center; align-content: center; }
.v4-bento__icos { display: flex; gap: 14px; }
.v4-bento__icos span { display: grid; place-items: center; width: clamp(88px, 9vw, 128px); aspect-ratio: 1; border-radius: 24px; background: var(--fundo, #F4F2EC); color: var(--texto); }
.v4-bento__icos svg { width: 34px; height: 34px; }
@media (max-width: 860px) {
	.v4-bento__grade { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.v4-bento__card, .v4-bento__card--foto, .v4-bento__card--largo { grid-column: auto; min-height: 0; border-radius: 22px; }
	.v4-bento__card--foto { min-height: 320px; background: linear-gradient(180deg, #111 0%, #1d1d1c 55%, #ECEAE4 100%); }
	.v4-bento__card--foto img { width: 70%; height: 60%; right: -4%; bottom: -4%; }
	.v4-bento__card--largo { grid-template-columns: minmax(0, 1fr); }
	.v4-bento__icos span { width: 72px; border-radius: 18px; }
}
@media (min-width: 861px) { .v4-bento__card--foto img { width: 64%; height: 125%; bottom: -14%; right: -4%; } }

/* V4 produto: a lista de 3 benefícios sai daqui; a grade de motivos logo abaixo já mostra os três. */
body.single-product .pdp__resumo .v3-inclui { display: none !important; }
body.single-product .v3-pdp-extra { margin-top: 8px; }

/* V4 produto: card de aula sem link (div no lugar do a), mesmo empilhamento do card original. */
.v3-aula__corpo { display: grid; gap: 8px; align-content: start; color: inherit; cursor: default; }
.v3-aula__corpo strong, .v3-aula__corpo .v3-aula__meta { display: block; }

/* V4: saída para a franquia, só onde a pessoa não achou a cidade. */
.v4-franquia-card { list-style: none; }
.v4-franquia-card a { display: grid; align-content: end; gap: 12px; height: 100%; min-height: 320px; padding: clamp(24px, 3vw, 36px); border-radius: 24px; background: var(--preto); color: var(--branco); text-decoration: none; }
.v4-franquia-card .sobretitulo { color: var(--amarelo); }
.v4-franquia-card strong { font: 800 clamp(26px, 2.6vw, 34px)/1.05 var(--fonte-t); letter-spacing: -.03em; }
.v4-franquia-card__txt { font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .75); max-width: 30ch; }
.v4-franquia-card .btn { justify-self: start; margin-top: 8px; gap: 8px; }
.v4-franquia-linha { margin: 14px 0 0; font-size: 14px; line-height: 1.5; color: var(--texto2); text-align: center; }
.v4-franquia-linha a { color: var(--texto); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* V4 produto: cards de plano que se adaptam à largura, sem preço por cima do texto.
   Largo: marca | nome + selo / economia + frete | preço. Estreito: o preço desce para uma linha própria. */
body.single-product .pdp__resumo { container: resumo / inline-size; }
body.single-product .planos .plano { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "marca info preco"; align-items: center; column-gap: 16px; row-gap: 10px; }
body.single-product .planos .plano__marca { grid-area: marca; }
body.single-product .planos .plano__info { grid-area: info; min-width: 0; display: grid; gap: 6px; }
body.single-product .planos .plano__topo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
body.single-product .planos .plano__tag { flex: none; }
body.single-product .planos .plano__desc { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; }
body.single-product .planos .plano__frete { white-space: nowrap; }
body.single-product .planos .plano__preco { grid-area: preco; display: grid; justify-items: end; gap: 2px; white-space: nowrap; text-align: right; }
@container resumo (max-width: 500px) {
	body.single-product .planos .plano { grid-template-columns: 22px minmax(0, 1fr); grid-template-areas: "marca info" ". preco"; }
	body.single-product .planos .plano__preco { display: flex; align-items: baseline; justify-content: flex-start; gap: 10px; text-align: left; padding-top: 10px; border-top: 1px solid var(--linha); }
	body.single-product .planos .plano__preco s { order: 2; }
}
/* Selos dos planos alinhados numa coluna só: o nome tem largura mínima (a de "12 meses") e os selos têm o mesmo tamanho. */
body.single-product .planos .plano__nome { display: inline-block; min-width: 4.7em; }
body.single-product .planos .plano__tag { min-width: 132px; justify-content: center; text-align: center; }

/* V4: frase de cobrança mês a mês sob os planos. */
.v4-cobranca { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 4px; padding: 12px 14px; border-radius: 14px; background: #FFF6CC; color: var(--texto); font-size: 14.5px; line-height: 1.45; }
.v4-cobranca[hidden] { display: none; }
.v4-cobranca svg { flex: none; margin-top: 1px; }
.v4-cobranca b { font-weight: 800; }

/* V4 carrinho: a caixa do carrinho abandonado (#locfit-ci, vem do plugin) entrava como item da grade e empurrava
   o carrinho para a coluna estreita da direita. Ela ocupa a linha inteira; carrinho e resumo voltam aos seus lugares. */
body.woocommerce-cart .woocommerce > #locfit-ci { grid-column: 1 / -1; }
#locfit-ci .locfit-ci-submit { background: var(--amarelo) !important; color: var(--preto) !important; border: 0 !important; border-radius: 999px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 800 !important; }
#locfit-ci .locfit-ci-submit:hover { filter: brightness(.95); }

/* V4 checkout: os mesmos passos do carrinho (1 Carrinho · 2 Entrega · 3 Pagamento) no lugar da barra verde do plugin.
   A barra do plugin só fica escondida; quando ela marca o passo de pagamento, os passos do tema acompanham (via :has). */
html body.locfit-checkout--steps .woocommerce > .v2-passos { display: flex; margin: 0 0 24px; }
html body.locfit-checkout--steps .locfit-stepper { display: none; }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .v2-passos li:nth-child(2) { background: var(--branco); color: var(--texto2); }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .v2-passos li:nth-child(2) span { background: var(--verde); color: var(--branco); }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .v2-passos li:nth-child(3) { background: var(--preto); color: var(--branco); }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .v2-passos li:nth-child(3) span { background: var(--amarelo); color: var(--preto); }

/* V4 carrinho: nome do produto e locadora em hierarquia (nome 16px; "Locadora Ponta Grossa - Paraná" pequeno e cinza).
   Antes o link da loja herdava o 19px em negrito do nome e brigava com ele. */
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name > a { font-size: 16px !important; line-height: 1.35 !important; font-weight: 700 !important; letter-spacing: -.005em; color: var(--texto) !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; margin: 6px 0 0 !important; font-size: 13px !important; line-height: 1.4; color: var(--texto2); }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dt.variation-loja { display: none !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd { margin: 0 !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd::before { content: "Locadora "; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd, html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation dd p { display: inline; margin: 0 !important; font-size: 13px !important; }
html body.woocommerce-cart table.shop_table.cart tr.cart_item > td.product-name dl.variation a { font-size: 13px !important; font-weight: 600 !important; color: var(--texto2) !important; text-decoration: underline; text-underline-offset: 2px; }

/* V4: passos concluídos clicáveis (Carrinho; Entrega quando já está no pagamento). */
.v2-passos li > a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.v2-passos li:has(> a) { cursor: pointer; transition: background .15s, box-shadow .15s; }
.v2-passos li:has(> a):hover, html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="0"].is-done) .v2-passos li[data-passo="2"]:hover { box-shadow: 0 0 0 2px var(--preto) inset; }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="0"].is-done) .v2-passos li[data-passo="2"] { cursor: pointer; }

/* V4 carrinho e checkout: título, passos e caixas na mesma borda esquerda (o Elementor da página de checkout somava 10px)
   e título mais contido, para os passos e o formulário serem o foco. */
body.woocommerce-checkout .pagina__corpo .elementor-column-gap-default > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
body.woocommerce-cart .pagina__titulo, body.woocommerce-checkout .pagina__titulo { font-size: clamp(28px, 3vw, 36px) !important; line-height: 1.1 !important; letter-spacing: -.03em; margin-bottom: 16px !important; }
body.woocommerce-cart .v2-passos, body.woocommerce-checkout .v2-passos { margin-bottom: 28px; }

/* V4 carrinho e checkout: título e passos numa linha só (título à esquerda, passos à direita) com um fio embaixo,
   formando o cabeçalho da etapa; antes ficavam soltos acima das caixas. No celular continuam empilhados. */
@media (min-width: 761px) {
	body.woocommerce-cart .pagina__titulo, body.woocommerce-checkout .pagina__titulo { height: 44px; line-height: 44px !important; padding-bottom: 20px; margin-bottom: 28px !important; border-bottom: 1px solid var(--linha); box-sizing: content-box; }
	body.woocommerce-cart .woocommerce > .v2-passos, body.woocommerce-checkout .woocommerce > .v2-passos { justify-content: flex-end; margin-top: -93px; margin-bottom: 49px; position: relative; z-index: 1; }
}
@media (min-width: 761px) {
	/* No checkout a regra dos passos (html body.locfit-checkout--steps …) tem mais peso: repete aqui com o mesmo seletor. */
	html body.locfit-checkout--steps .woocommerce > .v2-passos { margin: -93px 0 77px; }
}

/* V4 carrinho e checkout: título e passos numa faixa preta colada no topo (como o "CARRINHO → CHECKOUT → SUCESSO"
   da loja atual), largura total. Substitui o fio claro do bloco anterior. */
html body.woocommerce-cart .pagina__titulo, html body.woocommerce-checkout .pagina__titulo { position: relative; margin-top: -24px !important; color: var(--branco) !important; background: var(--preto); box-shadow: 0 0 0 100vmax var(--preto); clip-path: inset(0 -100vmax); border-bottom: 0 !important; }
html body.woocommerce-cart .woocommerce > .v2-passos li, html body.woocommerce-checkout .woocommerce > .v2-passos li { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .72); }
html body.woocommerce-cart .woocommerce > .v2-passos li span, html body.woocommerce-checkout .woocommerce > .v2-passos li span { background: rgba(255, 255, 255, .14); color: var(--branco); }
html body.woocommerce-cart .woocommerce > .v2-passos li.atual, html body.woocommerce-checkout .woocommerce > .v2-passos li.atual { background: var(--branco); color: var(--preto); }
html body.woocommerce-cart .woocommerce > .v2-passos li.atual span, html body.woocommerce-checkout .woocommerce > .v2-passos li.atual span { background: var(--amarelo); color: var(--preto); }
html body.woocommerce-cart .woocommerce > .v2-passos li.feito span, html body.woocommerce-checkout .woocommerce > .v2-passos li.feito span { background: var(--verde); color: var(--branco); }
html body.woocommerce-cart .woocommerce > .v2-passos li:has(> a):hover, html body.woocommerce-checkout .woocommerce > .v2-passos li:has(> a):hover { box-shadow: 0 0 0 2px var(--amarelo) inset; }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .woocommerce > .v2-passos li:nth-child(2) { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .72); }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="1"].is-current) .woocommerce > .v2-passos li:nth-child(3) { background: var(--branco); color: var(--preto); }
html body.locfit-checkout--steps:has(.locfit-stepper li[data-step="0"].is-done) .woocommerce > .v2-passos li[data-passo="2"]:hover { box-shadow: 0 0 0 2px var(--amarelo) inset; }
@media (min-width: 761px) {
	html body.woocommerce-cart .pagina__titulo, html body.woocommerce-checkout .pagina__titulo { height: 44px; line-height: 44px !important; padding: 36px 0 !important; margin-bottom: 32px !important; box-sizing: content-box; }
	html body.woocommerce-cart .woocommerce > .v2-passos, html body.woocommerce-checkout .woocommerce > .v2-passos, html body.locfit-checkout--steps .woocommerce > .v2-passos { margin: -112px 0 68px !important; justify-content: flex-end; position: relative; z-index: 1; }
}
@media (max-width: 760px) {
	html body.woocommerce-cart .pagina__titulo, html body.woocommerce-checkout .pagina__titulo { padding: 22px 0 12px !important; margin-bottom: 0 !important; }
	html body.woocommerce-cart .woocommerce > .v2-passos, html body.woocommerce-checkout .woocommerce > .v2-passos, html body.locfit-checkout--steps .woocommerce > .v2-passos { margin: 0 0 24px !important; padding: 0 0 20px !important; background: var(--preto); box-shadow: 0 0 0 100vmax var(--preto); clip-path: inset(0 -100vmax); }
}
@media (min-width: 1024px) {
	/* Com 2 colunas o carrinho é uma grade: a linha dos passos fica com 0px e a grade soma 28px. Encosta o título e sobe os passos o mesmo tanto. */
	html body.woocommerce-cart .pagina__titulo { margin-bottom: 4px !important; }
	html body.woocommerce-cart .woocommerce > .v2-passos { margin: -84px 0 0 !important; }
	html body.woocommerce-cart .pagina__corpo .woocommerce { margin-top: -16px; } /* tira os 16px que sobravam entre o título e a grade */
}

/* V4: as 3 pílulas de etapa com o mesmo tamanho (a maior, "Pagamento", dita a largura); no celular dividem a linha igualmente. */
html body.woocommerce-cart .woocommerce > .v2-passos li, html body.woocommerce-checkout .woocommerce > .v2-passos li { flex: 0 0 148px; justify-content: center; box-sizing: border-box; }
html body.woocommerce-cart .woocommerce > .v2-passos li > a, html body.woocommerce-checkout .woocommerce > .v2-passos li > a { justify-content: center; }
@media (max-width: 760px) {
	html body.woocommerce-cart .woocommerce > .v2-passos li, html body.woocommerce-checkout .woocommerce > .v2-passos li { flex: 1 1 0; min-width: 0; padding-right: 10px; }
}

/* ==========================================================================
   V4 mobile 2 — acabamento do celular (2026-10-11)
   ========================================================================== */

/* Atalho do painel do WCFM (só aparece para lojista/admin) não empurra a grade. */
a:has(> #wcfm_home) { display: none !important; }

/* Carrosséis horizontais: sem a barra cinza do navegador. */
.v3-entregas__trilho, .v3-trilho, .v2-tabela-caixa { scrollbar-width: none; }
.v3-entregas__trilho::-webkit-scrollbar, .v3-trilho::-webkit-scrollbar, .v2-tabela-caixa::-webkit-scrollbar { display: none; }

/* Botões de fechar compra no amarelo da marca, como o resto do site. */
.woocommerce-cart a.checkout-button,
.locfit-btn.locfit-btn--next {
	background: var(--amarelo, #FFCF00) !important;
	border-color: var(--amarelo, #FFCF00) !important;
	color: #0A0A0A !important;
}

/* Caixa do CEP no carrinho: no tom areia do V4, sem o azul do plugin. */
.locfit-cep { background: var(--areia, #F2F0EA) !important; border-color: transparent !important; }
.locfit-cep .locfit-cep__title { color: #0A0A0A !important; }

@media (max-width: 1023px) {
	/* Carrinho: primeiro o que a pessoa está alugando, depois o bônus das aulas, depois o total. */
	.woocommerce-cart .woocommerce { display: flex; flex-direction: column; }
	.woocommerce-cart .woocommerce > #locfit-ci { order: 1; margin-top: 16px; }
	.woocommerce-cart .woocommerce > .cart-collaterals { order: 2; }
}

@media (max-width: 600px) {
	/* Topo: só o alfinete da cidade (o nome cortado "Curiti…" ficava feio); a cidade aparece nas páginas. */
	.topo__cidade { min-width: 40px; min-height: 40px; justify-content: center; }
	.topo__cidade-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

	/* Passos do carrinho/checkout: os três cabem na tela. */
	ol.v2-passos { width: 100%; gap: 6px; }
	ol.v2-passos > li { flex: 1 1 0; min-width: 0; font-size: 13px; padding: 6px 8px 6px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

	/* Categoria / loja: duas colunas de cartões compactos. */
	.v2-cat .v2-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.v2-cat .v2-card__img img { aspect-ratio: 1 / 1; height: auto; object-fit: contain; }
	.v2-cat .v2-card__corpo { padding: 12px; gap: 6px; }
	.v2-cat .v2-card__cat { font-size: 10px; }
	.v2-cat .v2-card__nome { font-size: 14px; line-height: 1.25; }
	.v2-cat .v2-card__nome a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; overflow: hidden; }
	.v2-cat .v2-card__cidade, .v2-cat .v2-card__tags, .v2-cat .v2-card__preco s { display: none; }
	.v2-cat .v2-card__preco b { font-size: 18px; }
	.v2-cat .v2-card__entrega { font-size: 11px; line-height: 1.3; }
	.v2-cat .v2-card__acao { min-height: 40px; padding: 8px 12px; font-size: 14px; }
	.v2-cat .v2-card__comparar { font-size: 12px; }
	.v2-cat .v2-card__selo { font-size: 11px; padding: 4px 8px; }

	/* Produto, "Mais equipamentos": vira uma fileira que desliza, em vez de cartões enormes empilhados. */
	.v3-disp .v2-grade {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%;
		overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px;
		margin-inline: -16px; padding: 0 16px 4px; scroll-padding-inline: 16px; scrollbar-width: none;
	}
	.v3-disp .v2-grade::-webkit-scrollbar { display: none; }
	.v3-disp .v2-grade > * { scroll-snap-align: start; }
	.v3-disp .v2-grade > li.v4-mais-tile:nth-child(n) { grid-column: auto; }
	.v3-disp .v4-mais-tile a { min-height: 0; height: 100%; padding: 22px; }
	.v3-disp .v2-card__img img { aspect-ratio: 1 / 1; height: auto; object-fit: contain; }
	.v3-disp .v2-card__corpo { padding: 14px; }
	.v3-disp .v2-card__tags, .v3-disp .v2-card__cidade { display: none; }

	/* Tabela de comparação: rótulos estreitos e fixos, colunas dos modelos mais enxutas. */
	.v2-tabela { min-width: 0 !important; }
	.v2-tabela th, .v2-tabela td { font-size: 14px; padding: 12px 10px; }
	.v2-tabela tr > :first-child { width: 88px; min-width: 88px; font-size: 12px; position: sticky; left: 0; z-index: 1; background: #fff; }
	.v2-tabela tr > :not(:first-child) { min-width: 128px; }
}

/* V4 mobile: grades não estouram a tela (itens de grid com min-width:auto empurravam a coluna em 360px). */
.v2-secao > *, .v2-grade > * { min-width: 0; }

/* V4 mobile 2b: botão do cartão compacto quebra a linha em vez de estourar. */
@media (max-width: 600px) {
	.v2-cat .v2-card__acao { white-space: normal; line-height: 1.15; text-align: center; font-size: 13px; padding: 8px 10px; }
}

/* V4 mobile 2c: o plugin pinta o botão com var(--lc-brand) !important e seletor mais forte; aqui ganha no mesmo peso. */
html body.locfit-cart .wc-proceed-to-checkout a.checkout-button,
html body.locfit-cart a.checkout-button,
html body .locfit-mobile-bar .locfit-btn.locfit-btn--next,
html body .locfit-btn.locfit-btn--next {
	background: var(--amarelo, #FFCF00) !important;
	border-color: var(--amarelo, #FFCF00) !important;
	color: #0A0A0A !important;
}

/* V4 mobile 2d: Minha conta. Um <br> dentro de cada link do menu dobrava a altura das abas. */
.woocommerce-MyAccount-navigation a br { display: none; }
.woocommerce-MyAccount-navigation ul { align-items: center; gap: 8px; scrollbar-width: none; }
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
.woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; line-height: 1; }
@media (max-width: 600px) {
	.woocommerce-MyAccount-content { padding: 18px; border-radius: 20px; }
}

/* ==========================================================================
   V4 mobile 3 (2026-10-11)
   ========================================================================== */

/* Carrinho e checkout: sem o título ("Seu carrinho", "Finalizar locação"); os passos 1-2-3 já dizem a etapa.
   O título continua para leitor de tela. Os passos ficam direto na faixa preta, sem a faixa branca de 20px entre os dois. */
body.woocommerce-cart .pagina__cab,
body.woocommerce-checkout .pagina__cab {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0 !important; padding: 0 !important;
}
html body.woocommerce-cart .woocommerce > ol.v2-passos,
html body.woocommerce-checkout .woocommerce > ol.v2-passos {
	margin: 0 0 24px !important;
	padding: 14px 0 18px !important;
	background: var(--preto, #0A0A0A);
	box-shadow: 0 0 0 100vmax var(--preto, #0A0A0A);
	clip-path: inset(0 -100vmax);
}
html body.woocommerce-cart .woocommerce,
html body.woocommerce-checkout .woocommerce { margin-top: 0 !important; }

/* Carrinho no celular: o bônus das aulas volta para cima do equipamento (logo abaixo dos passos). */
@media (max-width: 1023px) {
	.woocommerce-cart .woocommerce > ol.v2-passos { order: -2; }
	.woocommerce-cart .woocommerce > #locfit-ci { order: -1; margin-top: 0; margin-bottom: 16px; }
	.woocommerce-cart .woocommerce > .cart-collaterals { order: 0; }
}

@media (max-width: 600px) {
	/* Topo: o nome da cidade volta, em até duas linhas pequenas, sem cortar. */
	.topo__cidade { min-width: 0; gap: 4px; }
	.topo__cidade-txt {
		position: static; width: auto; height: auto; clip: auto; overflow: hidden; white-space: normal;
		max-width: 76px; font-size: 11px; line-height: 1.1; text-align: left;
		display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	}
	.topo__cidade-txt strong { font-weight: 700; }
}

/* Comprar × alugar no celular: a linha de títulos some, então cada parte do cartão ganha a sua etiqueta. */
@media (max-width: 760px) {
	.v3-cmp__locfit, .v3-cmp__comprar { flex-wrap: wrap; row-gap: 8px; }
	.v3-cmp__locfit::before, .v3-cmp__comprar::before {
		flex: 0 0 100%;
		font: 800 10px/1 var(--fonte, sans-serif); letter-spacing: 0.12em; text-transform: uppercase;
	}
	.v3-cmp__locfit::before { content: "Alugando na loc.fit"; color: var(--amarelo, #FFCF00); }
	.v3-cmp__comprar::before { content: "Se comprar"; color: #8e8a82; }
	.v3-cmp__comprar { padding-top: 14px !important; }
}

/* V4 mobile 3b */
/* Barra de baixo com Início de volta: 4 colunas numa linha só. */
.v3-barra ul { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 600px) {
	/* Nome da cidade quebra em duas linhas em vez de cortar. */
	.topo__cidade-txt strong { white-space: normal; overflow: visible; text-overflow: clip; }
}
@media (max-width: 760px) {
	/* Comprar × alugar: etiqueta em cima, ícone e texto lado a lado. */
	.v3-cmp__locfit, .v3-cmp__comprar { display: grid !important; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 8px; align-items: start; }
	.v3-cmp__locfit::before, .v3-cmp__comprar::before { grid-column: 1 / -1; }
}

/* V4 mobile 3c: cartões compactos mostram as características (peso máximo, Bluetooth, voltagem) em etiquetas pequenas. */
@media (max-width: 600px) {
	.v2-cat .v2-card__tags, .v3-disp .v2-card__tags { display: flex !important; flex-wrap: wrap; gap: 4px; }
	.v2-cat .v2-card__tags > span, .v3-disp .v2-card__tags > span { font-size: 11px; line-height: 1.2; padding: 3px 7px; min-height: 0; }
}

/* V4 mobile 3d: sem o título, os 24px de respiro do topo da página viravam um vão claro acima dos passos. */
html body.woocommerce-cart article.pagina,
html body.woocommerce-checkout article.pagina { padding-top: 0 !important; }

/* V4 mobile 3e: no computador, sem o título, os passos ficam à esquerda (antes dividiam a faixa com o título). */
@media (min-width: 1024px) {
	html body.woocommerce-cart .woocommerce > ol.v2-passos,
	html body.woocommerce-checkout .woocommerce > ol.v2-passos { justify-content: flex-start !important; padding: 18px 0 22px !important; }
}

/* V4 mobile 3f: seções de âncora (#quiz, #aulas, #como) não param escondidas atrás do topo fixo. */
#quiz, #aulas, #como { scroll-margin-top: 80px; }

/* V4 cep 1: na caixa "Onde você quer receber?", o botão Consultar vira uma lupa dentro do campo do CEP.
   O texto "Consultar" continua no botão para leitor de tela (fonte 0). */
.cidade__caixa .v2-cep { position: relative; }
.cidade__caixa .v2-cep input[data-cep-campo] { width: 100%; padding-right: 60px; }
.cidade__caixa .v2-cep [data-cep-ok] {
	position: absolute; top: 6px; right: 6px; width: 40px; height: 40px; min-height: 0; padding: 0;
	border-radius: 50%; font-size: 0; line-height: 0; display: grid; place-items: center;
}
.cidade__caixa .v2-cep [data-cep-ok]::before {
	content: ""; width: 18px; height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* V4 cep 2: lista de cidades mais limpa, sem o número de equipamentos; nome e UF numa linha só. */
.cidade__opcao em { display: none; }
.cidade__opcao > span { white-space: nowrap; }

/* V4 linha 1: textos curtos do "Como funciona" numa linha só também em celulares de 360px. */
@media (max-width: 400px) {
	.v4-linha li > span { font-size: 15px; }
}

/* V4 cep 3: lupa centralizada. Campo com altura fixa (52px) e botão de 40px a 6px da borda; ícone centrado no círculo. */
.cidade__caixa .v2-cep input[data-cep-campo] { height: 52px; box-sizing: border-box; }
.cidade__caixa .v2-cep [data-cep-ok] {
	top: 6px !important; right: 6px !important; width: 40px !important; height: 40px !important;
	display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 !important; gap: 0 !important;
}
.cidade__caixa .v2-cep [data-cep-ok]::before { display: block; flex: none; margin: 0; }

/* V4 cartao 1: no celular o nome do produto ocupa sempre a altura de 2 linhas (corta com … se passar),
   para preço, botão e Comparar ficarem na mesma altura em todos os cartões. */
@media (max-width: 600px) {
	.v2-cat .v2-card__nome, .v3-disp .v2-card__nome { font-size: 14px; line-height: 1.25; min-height: 2.5em; margin: 0; }
	.v2-cat .v2-card__nome a, .v3-disp .v2-card__nome a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; overflow: hidden; }
}

/* V4 cartao 2: no celular, cartão compacto sem os selos sobre a foto ("até 31% off", "Todos alugados");
   a foto apagada e o botão já dizem que está alugado. Botão da fila com texto curto, numa linha
   (o texto completo continua no link para leitor de tela). */
@media (max-width: 600px) {
	.v2-cat .v2-card__selo, .v3-disp .v2-card__selo { display: none !important; }
	.v2-cat .v2-card__acao--fila, .v3-disp .v2-card__acao--fila { font-size: 0 !important; white-space: nowrap; }
	.v2-cat .v2-card__acao--fila::after, .v3-disp .v2-card__acao--fila::after { content: "Fila de espera"; font-size: 14px; line-height: 1.2; }
}

/* V4 aperto 1 */
/* Cartão compacto: a locadora volta (com duas locadoras na mesma região, o mesmo modelo aparece duas vezes). */
@media (max-width: 600px) {
	.v2-cat .v2-card__cidade, .v3-disp .v2-card__cidade { display: flex !important; font-size: 11px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* Carrinho/checkout: plano numa linha própria embaixo do nome. */
.locfit-item-plano { display: block; margin-top: 2px; font-size: 13px; font-weight: 500; color: var(--texto2, #5f5b53); }
/* Minha conta, assinatura: tabela sem estourar no celular. */
@media (max-width: 600px) {
	.woocommerce-MyAccount-content table.subscription_details, .woocommerce-MyAccount-content table.order_details { width: 100%; table-layout: fixed; }
	.woocommerce-MyAccount-content table.subscription_details td { padding: 10px 0; word-break: break-word; }
	.woocommerce-MyAccount-content table.subscription_details td:first-child { width: 42%; font-size: 13px; color: var(--texto2, #5f5b53); }
	.woocommerce-MyAccount-content .subscription_details .button { white-space: normal; max-width: 100%; padding: 10px 16px; font-size: 14px; }
}

/* V4 aperto 2 */
/* Quiz da home: a foto preenche a caixa (sem as faixas bege dos lados, que tinham outra cor). */
.v2-rec__img { background: transparent !important; overflow: hidden; }
.v2-rec__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Passos 1-2-3: o círculo do número não encolhe quando o texto aperta. */
ol.v2-passos > li > span { flex: 0 0 auto !important; min-width: 22px; }

/* Botões: texto sempre centralizado na vertical e na horizontal (sem "cair" para baixo). */
.btn, a.button, button.button, .woocommerce-button, .locfit-btn {
	display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.15; vertical-align: middle;
}
.btn--bloco, .v2-card__acao, .wc-proceed-to-checkout a.checkout-button, .woocommerce-MyAccount-content .woocommerce-button { display: flex; }

@media (max-width: 600px) {
	/* Trilha "Início › Equipamentos" some no celular (a barra de baixo já leva ao início). */
	nav.trilha { display: none; }
	/* Assinatura: botão cabe na coluna. */
	.woocommerce-MyAccount-content table.subscription_details td:last-child { text-align: left; }
	.woocommerce-MyAccount-content table.subscription_details .woocommerce-button { width: 100%; padding: 10px 12px; font-size: 14px; white-space: normal; }
}

/* V4 aperto 3 */
/* Logo nunca é espremida: altura fixa, largura pela proporção (233x57). Quem cede espaço é o nome da cidade. */
.topo__marca { flex: 0 0 auto !important; }
.topo__marca img.logo { height: 28px !important; width: auto !important; max-width: none !important; object-fit: contain; flex-shrink: 0; }
.topo__acoes { min-width: 0; }
@media (max-width: 400px) {
	.topo__marca img.logo { height: 24px !important; }
	.topo__cidade-txt { max-width: 64px; }
}

/* Passos 1-2-3 no celular: conteúdo alinhado à esquerda (centralizado, o número saía da pílula quando o texto não cabia). */
@media (max-width: 600px) {
	ol.v2-passos { gap: 5px; }
	ol.v2-passos > li { justify-content: flex-start !important; gap: 6px; padding: 5px 8px 5px 5px !important; font-size: 12.5px !important; }
	ol.v2-passos > li > span { width: 24px !important; height: 24px !important; min-width: 24px; font-size: 12px; }
}

/* Aviso "foi adicionado ao carrinho": o WooCommerce dá foco no aviso e o contorno de foco criava uma segunda borda. */
.woocommerce-notices-wrapper :focus,
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus { outline: none !important; box-shadow: none !important; }

/* V4 aperto 3b: celulares estreitos (até 380px): número em cima e nome embaixo, para "Pagamento" caber inteiro. */
@media (max-width: 380px) {
	ol.v2-passos > li { flex-direction: column; align-items: center; justify-content: center !important; gap: 3px; padding: 6px 4px !important; border-radius: 16px; font-size: 12px !important; line-height: 1.1; text-overflow: clip; }
}

/* V4 aperto 3c: topo em celular estreito — a cidade ocupa o espaço que sobra (sem cortar a logo), botões de ícone mais justos. */
@media (max-width: 400px) {
	.topo > .envoltorio { padding-inline: 10px; gap: 4px; }
	.topo__acoes { flex: 1 1 auto; justify-content: flex-end; gap: 0; }
	.topo__acoes .topo__btn { width: 40px; min-width: 40px; }
	.topo__cidade { flex: 1 1 auto; min-width: 0; padding: 4px; justify-content: flex-end; }
	.topo__cidade-txt { max-width: none; flex: 0 1 auto; min-width: 0; font-size: 11px; }
}
/* Passo que é link ("2 Entrega" no carrinho): o link segue o mesmo arranjo da pílula. */
ol.v2-passos > li > a { display: flex; align-items: center; gap: inherit; color: inherit; text-decoration: none; min-width: 0; }
@media (max-width: 380px) {
	ol.v2-passos > li > a { flex-direction: column; justify-content: center; gap: 3px; }
}

/* V4 aperto 3d (revisto): o nome da cidade aparece sempre (pedido do dono). Em telas até 360px a logo fica um
   pouco menor (mesma proporção), os ícones mais justos e o nome em até duas linhas de 10,5px. */
@media (max-width: 360px) {
	.topo > .envoltorio { padding-inline: 8px; gap: 2px; }
	.topo__marca img.logo { height: 21px !important; }
	.topo__acoes .topo__btn { width: 36px; min-width: 36px; }
	.topo__menu { width: 38px; min-width: 38px; padding: 4px !important; }
	.topo__cidade { gap: 3px; padding: 2px; }
	.topo__cidade svg { width: 15px; height: 15px; flex: 0 0 15px; }
	.topo__cidade-txt { font-size: 10.5px; line-height: 1.1; }
}

/* V4 aperto 4: foto do produto preenche a caixa do cartão (a foto é mais alta que larga; com "contain" sobravam
   faixas laterais num cinza diferente do fundo da foto). O equipamento fica no centro, com folga. */
.v2-card__img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* V4 aperto 4b: no celular a caixa da foto é 4:5 (mais perto do formato da foto 0,69) para cortar pouco. */
@media (max-width: 600px) {
	.v2-cat .v2-card__img img, .v3-disp .v2-card__img img { aspect-ratio: 4 / 5 !important; }
}

/* V4 aperto 5: celular estreito — preço e "/mês" na mesma linha; linha "Entregando em" com o alfinete junto do texto. */
@media (max-width: 600px) {
	.v2-cat .v2-card__preco, .v3-disp .v2-card__preco { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 3px; white-space: nowrap; }
	.v2-cat .v2-card__preco b, .v3-disp .v2-card__preco b { font-size: 17px; }
	.v2-cat .v2-card__preco small, .v3-disp .v2-card__preco small { font-size: 12px; }
	.v3-area--linha { display: block !important; line-height: 1.45; }
	.v3-area--linha > svg { display: inline-block; vertical-align: -2px; margin-right: 6px; }
	.v3-area--linha > * { display: inline; }
}

/* V4 aperto 5b: linha da entrega com altura de 2 linhas reservada no cartão compacto (preços alinhados entre vizinhos). */
@media (max-width: 600px) {
	.v2-cat .v2-card__entrega, .v3-disp .v2-card__entrega { min-height: 2.6em; line-height: 1.3; }
}

/* V4 aperto 5c: no cartão compacto, preço + entrega + botão ficam presos no pé; a diferença de etiquetas vira espaço acima do preço
   e os preços e botões de cartões vizinhos ficam na mesma altura. */
@media (max-width: 600px) {
	.v2-cat .v2-grade > li, .v3-disp .v2-grade > li { display: flex; }
	.v2-cat .v2-card, .v3-disp .v2-card { display: flex; flex-direction: column; width: 100%; }
	.v2-cat .v2-card__corpo, .v3-disp .v2-card__corpo { flex: 1 1 auto; display: flex; flex-direction: column; }
	.v2-cat .v2-card__preco, .v3-disp .v2-card__preco { margin-top: auto; }
}


/* V4 aperto 5d: no cartão compacto a linha da entrega fica acima do preço; preço, botão e Comparar sempre juntos no pé
   (o equipamento alugado não tem linha de entrega e empurrava o botão). */
@media (max-width: 600px) {
	.v2-cat .v2-card__corpo > *, .v3-disp .v2-card__corpo > * { order: 0; }
	.v2-cat .v2-card__entrega, .v3-disp .v2-card__entrega { order: 1; min-height: 0; }
	.v2-cat .v2-card__preco, .v3-disp .v2-card__preco { order: 2; }
	.v2-cat .v2-card__acao, .v3-disp .v2-card__acao { order: 3; }
	.v2-cat .v2-card__comparar, .v3-disp .v2-card__comparar { order: 4; }
}


/* V4 aulas enxutas (2026-10-13): sai a legenda embaixo da imagem do modo treino (pedido do dono). */
.v3-ft .v3-ft__tela figcaption { display: none !important; }


/* V4 abertura (2026-10-13): abertura da home no celular mais leve; botão da cidade secundário e com a cidade escolhida. */
@media (max-width: 600px) {
	.v3-heroi .v3-heroi__centro { padding-top: 88px !important; }
	.v3-heroi .v3-heroi__selo { display: block !important; width: fit-content !important; max-width: 100% !important; box-sizing: border-box; margin: 0 auto 18px !important; padding: 6px 14px !important; font-size: 11px !important; letter-spacing: 0.16em !important; line-height: 1.4 !important; }
	.v3-heroi .v2-heroi__titulo { font-size: 40px !important; line-height: 1.04 !important; letter-spacing: -0.02em; } /* 40 e não 44: a Poppins é mais larga que a Inter */
	.v3-heroi .v2-heroi__sub { font-size: 16px !important; line-height: 1.5 !important; margin: 14px auto 0 !important; max-width: none !important; color: rgba(255, 255, 255, 0.82) !important; }
	.v3-heroi .v3-heroi__acoes { margin-top: 26px !important; gap: 10px !important; }
	.v3-heroi .v3-heroi__acoes .btn--amarelo { min-height: 54px !important; padding: 0 24px !important; font-size: 16.5px !important; font-weight: 700 !important; }
	.v3-heroi .v3-heroi__acoes .v3-cidade { min-height: 46px !important; padding: 0 18px !important; font-size: 15px !important; font-weight: 500 !important; background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.22) !important; backdrop-filter: none !important; }
	.v3-cidade__trocar { color: rgba(255, 255, 255, 0.72); font-weight: 500; }
	.v3-heroi .v3-heroi__centro > * { min-width: 0; max-width: 100%; }
}
@media (max-width: 360px) {
	.v3-heroi .v3-heroi__selo { letter-spacing: 0.1em !important; padding: 6px 12px !important; }
	.v3-heroi .v2-heroi__titulo { font-size: 33px !important; }
	.v3-heroi .v3-heroi__acoes .v3-cidade { font-size: 14px !important; padding: 0 14px !important; }
}
@media (max-width: 350px) {
	.v3-cidade__pre { display: none; }
}

/* V4 abertura: pílula da cidade no topo do tamanho do conteúdo, texto no meio (no hover sobrava espaço à esquerda). */
@media (max-width: 400px) {
	.topo__cidade { flex: 0 1 auto !important; margin-left: auto !important; justify-content: center !important; padding: 4px 10px !important; }
}
@media (max-width: 360px) {
	.topo__cidade { padding: 2px 8px !important; }
}


/* V4 foto modo treino (2026-10-13): a foto do professor já vem enquadrada (ele à direita); sem a ampliação de 1,45x feita para a foto antiga. */
.v3-ft .v3-ft__moldura > img { transform: none !important; object-position: 50% 40%; }
@media (max-width: 600px) {
	/* Na moldura pequena do celular o texto ocupa mais espaço: amplia e empurra o professor para a direita. */
	.v3-ft .v3-ft__moldura > img { transform: scale(1.3) !important; transform-origin: 15% 30%; }
}


/* V4 aula inteira (2026-10-13): segunda moldura do modo treino, abaixo da primeira, com o professor de corpo inteiro à direita e o mesmo texto da primeira. */
/* Esta virou a moldura definitiva (a primeira saiu): ocupa o lugar dela, com o Meu progresso ao lado. */
.v3-ft .v3-ft__tela--inteira .v3-ft__moldura > img { transform: none !important; object-position: 50% 50%; }


/* V4 aulas clicáveis (2026-10-13): a moldura do modo treino leva à página inicial da Fitters (pedido do dono).
   Computador: botão "Ver as aulas na Fitters" embaixo do bloco. Celular: play redondo à direita. "Ver as aulas" virou botão. */
.v3-ft .v3-ft__moldura .v3-ft__hud { pointer-events: none; }
.v3-ft__play { position: absolute; inset: 0; z-index: 3; display: block; border-radius: inherit; -webkit-tap-highlight-color: transparent; }
.v3-ft__play:focus-visible { outline: 3px solid var(--amarelo, #FFCF00); outline-offset: 3px; }
.v3-ft__play-ico { display: none; }
.v3-ft__assistir { display: inline-flex; align-items: center; gap: 8px; justify-self: start; margin-top: 14px; padding: 11px 18px 11px 14px; border-radius: 999px; background: var(--amarelo, #FFCF00); color: #0A0A0A; font-weight: 700; font-size: 15px; line-height: 1; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); transition: transform 0.2s ease; }
.v3-ft__assistir svg { width: 18px; height: 18px; fill: currentColor; }
.v3-ft__play:hover ~ .v3-ft__hud .v3-ft__assistir { transform: scale(1.05); }
.v4-aulas__btn { margin-top: 22px; min-height: 48px; }
@media (max-width: 600px) {
	.v3-ft__assistir { display: none; }
	.v3-ft__play-ico { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; background: var(--amarelo, #FFCF00); display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), 0 0 0 6px rgba(255, 207, 0, 0.18); }
	.v3-ft__play-ico svg { width: 22px; height: 22px; margin-left: 3px; fill: #0A0A0A; }
}


/* V4 tipografia e logo (2026-10-13): títulos em Poppins (a fonte de display do site atual), texto segue em Inter.
   Logo maior no computador (44px; era 28). A Poppins é carregada no functions.php junto com a Inter. */
:root { --fonte-t: Poppins, Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
h1, h2, h3, .v2-titulo, .v3-cmp__titulo, .v3-sub, .v2-heroi__titulo { font-family: var(--fonte-t); letter-spacing: -0.02em; }
.v2-heroi__titulo { font-weight: 700; }
@media (min-width: 1024px) {
	.topo .topo__marca img.logo { height: 44px !important; }
}


/* ===== V5 avaliações: bloco geral (Google), discreto, na home e nos produtos ===== */
.v5-aval { padding-block: clamp(56px, 7vw, 96px); background: var(--fundo); border-top: 1px solid var(--linha); }
.v5-aval .envoltorio { display: grid; gap: 32px; }
.v5-aval__cab { display: grid; gap: 10px; justify-items: start; }
.v5-aval__nota { display: inline-flex; align-items: center; gap: 10px; }
.v5-aval__g { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--branco); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.v5-aval__num { font: 800 28px/1 var(--fonte-t); letter-spacing: -.03em; color: var(--texto); }
.v5-aval__estrelas { display: inline-flex; gap: 2px; color: #F5B301; }
.v5-aval__estrelas svg { width: 16px; height: 16px; }
.v5-aval__titulo { margin: 0; font: 800 clamp(26px, 3vw, 36px)/1.08 var(--fonte-t); letter-spacing: -.03em; color: var(--texto); text-wrap: balance; }
.v5-aval__link { display: inline-flex; align-items: center; gap: 6px; font: 600 15px/1 var(--fonte); color: var(--texto2); text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s, border-color .15s; }
.v5-aval__link:hover { color: var(--texto); border-color: currentColor; }
.v5-aval__lista { display: flex; gap: 16px; margin: 0; padding: 0; list-style: none; }
.v5-aval__item { display: grid; gap: 14px; align-content: start; padding: 24px; border-radius: 20px; background: var(--branco); border: 1px solid var(--linha); }
.v5-aval__item .v5-aval__estrelas svg { width: 14px; height: 14px; }
.v5-aval__texto { margin: 0; font: 400 16px/1.55 var(--fonte); color: var(--texto); }
.v5-aval__texto::before { content: "\201C"; }
.v5-aval__texto::after { content: "\201D"; }
.v5-aval__nome { display: grid; gap: 2px; margin: 0; font: 700 14px/1.2 var(--fonte); color: var(--texto); }
.v5-aval__nome span { font-weight: 500; font-size: 12px; color: var(--texto3); }
@media (max-width: 639px) {
	.v5-aval .envoltorio { gap: 24px; }
	.v5-aval__lista { display: flex; gap: 12px; margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.v5-aval__lista::-webkit-scrollbar { display: none; }
	.v5-aval__item { flex: 0 0 82%; scroll-snap-align: start; padding: 20px; }
	.v5-aval__texto { font-size: 15px; }
}


/* ===== V5 pronta entrega, garantias e assinatura inteligente ===== */
/* Abertura: selo vira pílula verde "Pronta entrega em {cidade}" (preenchida pelo JS). */
.v3-heroi__selo.v5-selo--pronta { display: inline-flex; align-items: center; gap: 8px; background: rgba(16, 185, 129, .16); color: #6EE7B7; border: 1px solid rgba(110, 231, 183, .35); }
.v3-heroi__selo.v5-selo--pronta i { width: 8px; height: 8px; border-radius: 50%; background: #34D399; box-shadow: 0 0 0 4px rgba(52, 211, 153, .22); }
.v3-heroi__selo.v5-selo--pronta small { font-weight: 500; opacity: .8; }
@media (max-width: 480px) { .v3-heroi__selo.v5-selo--pronta small { display: none; } }

/* Garantias: cartão branco que sobe sobre o fim da abertura. */
.v5-gar { position: relative; z-index: 2; padding: 18px 0 64px; background: var(--preto); }
@media (min-width: 1180px) { .v5-gar .envoltorio { max-width: 1648px; } }
.v5-gar__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 36px; margin: 0; padding: 26px 30px; list-style: none; background: var(--branco); border-radius: 22px; box-shadow: 0 18px 50px rgba(0, 0, 0, .14), 0 1px 0 rgba(0,0,0,.04); }
.v5-gar__item { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.v5-gar__item > div { display: grid; gap: 3px; }
.v5-gar__item strong { font: 700 16px/1.25 var(--fonte-t); letter-spacing: -.01em; color: var(--texto); }
.v5-gar__item span:last-child { font: 400 13.5px/1.45 var(--fonte); color: var(--texto2); }
.v5-gar__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: var(--preto); }
.v5-gar__ico svg { width: 22px; height: 22px; }
.v5-gar__ico--laranja { background: #FDE7D3; color: #B45309; }
.v5-gar__ico--roxo { background: #E6E4FA; color: #4F46E5; }
.v5-gar__ico--verde { background: #D7F3E6; color: #047857; }
.v5-gar__ico--amarelo { background: #FFF1B8; color: #92400E; }
@media (max-width: 1023px) { .v5-gar__lista { gap: 18px 24px; padding: 22px; } }
@media (max-width: 639px) {
	.v5-gar { padding-bottom: 40px; }
	.v5-gar__lista { grid-template-columns: 1fr; gap: 16px; padding: 18px; border-radius: 18px; }
	.v5-gar__item { grid-template-columns: 40px 1fr; gap: 12px; }
	.v5-gar__ico { width: 40px; height: 40px; }
	.v5-gar__item strong { font-size: 15px; }
}

/* Catálogo: contagem de equipamentos prontos. */
.v5-prontas { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; padding: 6px 12px; border-radius: 999px; background: rgba(16, 185, 129, .14); color: #A7F3D0; font: 700 12px/1 var(--fonte); letter-spacing: .06em; text-transform: uppercase; }
.v5-prontas i { width: 7px; height: 7px; border-radius: 50%; background: #34D399; }

/* Produto: pílula + nota abaixo do nome. */
.v5-pdp-selos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: -4px 0 12px; }
.v5-pronta { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; background: #D7F3E6; color: #047857; font: 600 13px/1 var(--fonte); }
.v5-pronta i { width: 7px; height: 7px; border-radius: 50%; background: #10B981; }
.v5-nota { display: inline-flex; align-items: center; gap: 5px; color: var(--texto2); font: 500 14px/1 var(--fonte); text-decoration: none; }
.v5-nota svg { color: #F5B301; }
.v5-nota b { color: var(--texto); font-weight: 800; }
.v5-nota:hover { color: var(--texto); }

/* Produto: "Assinatura inteligente loc.fit". */
.v5-intel { display: grid; gap: 12px; margin: 22px 0 8px; padding: 18px 20px; border-radius: 18px; background: var(--fundo); border: 1px solid var(--linha); }
.v5-intel__titulo { display: flex; align-items: center; gap: 8px; margin: 0; font: 700 15px/1.2 var(--fonte-t); letter-spacing: -.01em; color: var(--texto); }
.v5-intel__titulo i { width: 8px; height: 8px; border-radius: 50%; background: var(--amarelo); }
.v5-intel__lista { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v5-intel__lista li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; padding: 12px 14px; border-radius: 12px; background: var(--branco); border: 1px solid var(--linha); }
.v5-intel__lista b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--branco); border: 1px solid var(--linha); font: 700 12px/1 var(--fonte-t); color: #B45309; }
.v5-intel__lista div { display: grid; gap: 2px; }
.v5-intel__lista strong { font: 700 14.5px/1.3 var(--fonte); color: var(--texto); }
.v5-intel__lista span { font: 400 13px/1.45 var(--fonte); color: var(--texto2); }


/* ===== V5 ficha do equipamento (produto) ===== */
.v5-ficha { padding-block: clamp(48px, 6vw, 80px); background: var(--branco); }
.v5-ficha .envoltorio { display: grid; gap: 28px; }
.v5-ficha__cab { display: grid; gap: 10px; }
.v5-ficha__titulo { margin: 0; font: 800 clamp(26px, 3vw, 36px)/1.08 var(--fonte-t); letter-spacing: -.03em; color: var(--texto); }
.v5-ficha__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.v5-ficha__item { display: grid; gap: 6px; align-content: start; padding: 22px; border-radius: 18px; background: var(--fundo); border: 1px solid var(--linha); }
.v5-ficha__ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 8px; border-radius: 12px; background: var(--branco); color: var(--texto); border: 1px solid var(--linha); }
.v5-ficha__rotulo { font: 600 12px/1.2 var(--fonte); letter-spacing: .06em; text-transform: uppercase; color: var(--texto2); }
.v5-ficha__valor { font: 700 18px/1.25 var(--fonte-t); letter-spacing: -.01em; color: var(--texto); }
@media (max-width: 1023px) { .v5-ficha__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) {
	.v5-ficha__lista { gap: 10px; }
	.v5-ficha__item { padding: 16px; border-radius: 14px; }
	.v5-ficha__ico { width: 38px; height: 38px; margin-bottom: 4px; }
	.v5-ficha__valor { font-size: 16px; }
}

/* V5: no cartão "Equipamento de qualidade" a foto fica na parte clara do degradê, em cor, sem ficar apagada. */
@media (min-width: 861px) {
	.v4-bento__card--foto { background: linear-gradient(100deg, #111 0%, #1b1b1a 36%, #fff 60%, #fff 100%); }
	.v4-bento__card--foto img { filter: brightness(1.07); width: 56%; height: 112%; bottom: -8%; right: 0; }
}
@media (max-width: 860px) {
	.v4-bento__card--foto { background: linear-gradient(180deg, #111 0%, #1b1b1a 36%, #fff 58%, #fff 100%); }
	.v4-bento__card--foto img { filter: brightness(1.07); }
}

@media (min-width: 861px) { .v4-bento__card--foto .v4-bento__txt { max-width: 46%; } .v4-bento__card--foto h3 { text-wrap: balance; } }

/* V5: nota do Google como cinco estrelas (o cliente não sabe que a nota máxima é 5). */
.v5-nota__estrelas { display: inline-flex; gap: 1px; color: #F5B301; }

/* V5: linha "Disponibilidade" na tabela de comparação do produto. */
.v5-cmp-est { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 999px; font: 600 13px/1 var(--fonte); white-space: nowrap; }
.v5-cmp-est i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.v5-cmp-est--sim { background: #D7F3E6; color: #047857; }
.v5-cmp-est--nao { background: #EEEDE8; color: var(--texto2); }

.v5-aval .v5-aval__lista { display: flex !important; }


/* ===== V5 avaliações: trilho horizontal com todas as avaliações (setas no desktop, deslize no celular) ===== */
.v5-aval__cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.v5-aval__txt { display: grid; gap: 10px; justify-items: start; }
.v5-aval__setas { display: flex; gap: 8px; flex: 0 0 auto; }
.v5-aval__seta { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); background: var(--branco); color: var(--texto); cursor: pointer; transition: background .15s, transform .15s, opacity .15s; }
.v5-aval__seta:hover { background: var(--amarelo); border-color: var(--amarelo); }
.v5-aval__seta:active { transform: scale(.95); }
.v5-aval__seta[disabled] { opacity: .35; cursor: default; }
.v5-aval__seta[disabled]:hover { background: var(--branco); border-color: var(--linha); }
.v5-aval__lista { display: flex; grid-template-columns: none; gap: 16px; margin-inline: calc(var(--gutter, 16px) * -1); padding-inline: var(--gutter, 16px); padding-bottom: 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.v5-aval__lista::-webkit-scrollbar { display: none; }
.v5-aval__lista:focus-visible { outline: 2px solid var(--amarelo); outline-offset: 6px; }
.v5-aval__item { flex: 0 0 300px; scroll-snap-align: start; }
.v5-aval__item--fim { display: grid; place-content: center; gap: 14px; text-align: center; background: var(--preto); border-color: var(--preto); }
.v5-aval__fim-txt { margin: 0; font: 700 18px/1.3 var(--fonte-t); letter-spacing: -.02em; color: var(--branco); }
@media (min-width: 640px) { .v5-aval__lista { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); } }
@media (min-width: 1180px) { .v5-aval__item { flex-basis: 320px; } }
@media (max-width: 1023px) { .v5-aval__lista { grid-template-columns: none; } }
@media (max-width: 639px) {
	.v5-aval__setas { display: none; }
	.v5-aval__item { flex: 0 0 82%; }
}

/* V5: pílula de pronta entrega abaixo da locadora; a linha "Disponível (últimas unidades)" do Woo sai; nota do Google (cinco estrelas) na linha da locadora, movida pelo JS. */
.v5-pdp-selos { margin: 0 0 10px; }
.v5-pronta small { font-size: 12px; font-weight: 500; opacity: .85; }
.single-product .pdp__resumo p.stock { display: none; }
.pdp__loja { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.pdp__loja .v5-nota { margin-left: auto; }
@media (max-width: 639px) { .pdp__loja .v5-nota { margin-left: 0; flex-basis: 100%; } }

/* V5: hover do botão amarelo (opção 5): cor não muda; sobe, ganha sombra e a seta desliza. */
.btn--amarelo, .single_add_to_cart_button { transition: transform .12s, box-shadow .15s, background-color .15s, border-color .15s; }
.btn--amarelo::after, .single_add_to_cart_button::after { content: ""; display: inline-block; width: 18px; height: 18px; margin-left: 8px; 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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .15s; vertical-align: -3px; }
.btn--amarelo:hover, .btn--amarelo:focus-visible, .single_add_to_cart_button:hover, .single_add_to_cart_button:focus-visible { background: var(--amarelo) !important; color: var(--preto) !important; transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0, 0, 0, .16); }
.btn--amarelo:hover::after, .single_add_to_cart_button:hover::after { transform: translateX(5px); }
.btn--amarelo:active, .single_add_to_cart_button:active { transform: translateY(0); box-shadow: none; }

/* V5: o fundo cinza-claro da foto do produto vira branco (brightness) e some no degradê. */

/* V5: o rodapé "revelado" na rolagem (conteúdo passa por cima do rodapé fixo) vale também no celular e tablet. */
@media (max-width: 1024px), (max-height: 699px) {
	body.v5-rodape-cabe:not(.woocommerce-cart):not(.woocommerce-checkout) main#conteudo { position: relative; z-index: 2; background: var(--fundo, #F4F2EC); border-radius: 0 0 24px 24px; overflow: clip; box-shadow: 0 18px 40px rgba(0, 0, 0, .55); }
	body.v5-rodape-cabe:not(.woocommerce-cart):not(.woocommerce-checkout) footer.rodape { position: sticky; bottom: 0; z-index: 1; margin-top: -24px; border-top: 24px solid transparent; }
}

/* V5: no celular o play redondo sai da moldura (ficava em cima do professor e do título); a moldura inteira continua clicável e a pílula "Ver as aulas na Fitters" é o botão. */
@media (max-width: 640px) { .v3-ft .v3-ft__play-ico { display: none !important; } }

/* V5: a seção "Comprar × alugar" (comparativo) sai do celular; a home fica mais curta. */
@media (max-width: 640px) { main#conteudo > section.v3-cmp { display: none !important; } }

/* V5: cartões de equipamento menores no celular — dois por tela em vez de um e meio. */
@media (max-width: 639px) {
	.v3-vitrine--heroi .v3-eqs { grid-auto-columns: 54vw; gap: 12px; }
	.v3-vitrine--heroi .v3-eq { padding-bottom: 14px; border-radius: 16px; }
	/* Foto em retrato (as originais são 660×960): o equipamento preenche o quadro sem corte e sem ampliar (nítido). */
	.v3-vitrine--heroi .v3-eq__foto { aspect-ratio: 3 / 4; }
	.v3-vitrine--heroi .v3-eq__foto img { object-fit: cover; object-position: 50% 50%; padding: 0; transform: scale(1.08); }
	.v3-vitrine--heroi .v3-eq:hover .v3-eq__foto img { transform: scale(1.08); }
	.v3-vitrine--heroi .v3-eq__txt, .v3-vitrine--heroi .v3-eq__pe { padding-inline: 14px; }
	.v3-vitrine--heroi .v3-eq__txt strong { font-size: 18px; }
	.v3-vitrine--heroi .v3-eq__txt { margin-top: 2px; }
}

/* V5: botão amarelo = opção 5 (seta) + opção 6 (reflexo de luz atravessa no hover). */
.btn--amarelo, .single_add_to_cart_button { position: relative; overflow: hidden; isolation: isolate; }
.btn--amarelo::before, .single_add_to_cart_button::before { content: ""; position: absolute; top: 0; left: -70%; width: 50%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); transition: left .5s ease; pointer-events: none; z-index: 0; }
.btn--amarelo:hover::before, .btn--amarelo:focus-visible::before, .single_add_to_cart_button:hover::before, .single_add_to_cart_button:focus-visible::before { left: 120%; }
.btn--amarelo::after, .single_add_to_cart_button::after { position: relative; z-index: 1; }

/* V5: no celular os dois botões da abertura ficam do mesmo tamanho — o amarelo desce para 48px, a pílula da cidade não cresce. */
@media (max-width: 640px) {
	.v3-heroi .v3-heroi__acoes .btn--amarelo, .v3-heroi .v3-heroi__acoes .v3-cidade { min-height: 48px !important; padding: 0 20px !important; font-size: 16px !important; }
	.v3-heroi .v3-heroi__acoes .v3-cidade { font-weight: 600 !important; }
}

/* V5: no celular os botões da abertura têm a largura do título "Treine em casa" (medida pelo JS). */
@media (max-width: 640px) { .v3-heroi .v3-heroi__acoes { width: var(--v5-acoes-w, 100%); max-width: 100%; margin-inline: auto; } }

@media (max-width: 640px) {
	.v3-heroi .v3-heroi__acoes .btn--amarelo, .v3-heroi .v3-heroi__acoes .v3-cidade { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; flex: 0 0 100%; }
	.v3-heroi .v3-heroi__acoes .v3-cidade { padding-inline: 16px !important; }
	.v3-heroi .v3-heroi__acoes .v3-cidade > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.v3-heroi .v3-heroi__acoes .v3-cidade .v3-cidade__pre { display: none; }
}

/* V5: nos botões principais (Escolher equipamento na abertura e Alugar no produto) o brilho passa sozinho a cada 4s — assim aparece no celular, onde não há hover. */
@keyframes v5-brilho { 0%, 70% { left: -70%; } 100% { left: 120%; } }
.v3-heroi .v3-heroi__acoes .btn--amarelo::before, .single_add_to_cart_button::before { animation: v5-brilho 4s ease-in-out 1.2s infinite; }
.v3-heroi .v3-heroi__acoes .btn--amarelo:hover::before, .single_add_to_cart_button:hover::before { animation: none; }
@media (prefers-reduced-motion: reduce) { .v3-heroi .v3-heroi__acoes .btn--amarelo::before, .single_add_to_cart_button::before { animation: none; } }

/* V5 avaliações: cabeçalho mais rico (frase + temas mais elogiados) e nome do cliente fixo no pé do cartão. */
.v5-aval__sub { margin: 2px 0 0; font: 400 15px/1.5 var(--fonte); color: var(--texto2); max-width: 46ch; }
.v5-aval__temas { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; }
.v5-aval__temas li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--branco); border: 1px solid var(--linha); font: 600 13px/1 var(--fonte); color: var(--texto); }
.v5-aval__temas li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--amarelo); }
.v5-aval__item { grid-template-rows: auto 1fr auto; }
.v5-aval__nome { align-self: end; }
@media (max-width: 639px) { .v5-aval__sub { font-size: 14px; } .v5-aval__temas { gap: 6px; } .v5-aval__temas li { padding: 6px 10px; font-size: 12.5px; } }

/* V5: "Como funciona" no celular vira cartões encadeados — número sobreposto ao cartão, linha amarela ligando os passos. */
@media (max-width: 860px) {
	.v4-linha { gap: 12px; padding-left: 0; }
	.v4-linha li { grid-template-columns: 1fr; gap: 4px; padding: 16px 16px 16px 60px; margin: 0; border-radius: 16px; background: var(--fundo); border: 1px solid var(--linha); }
	.v4-linha li::before { top: auto; bottom: -13px; left: 31px; right: auto; width: 2px; height: 14px; background: var(--amarelo); }
	.v4-linha li:last-child::before { display: none; }
	.v4-linha b { position: absolute; left: 14px; top: 14px; width: 34px; height: 34px; margin: 0; font-size: 13px; }
	.v4-linha strong { font-size: 18px; }
	.v4-linha span { font-size: 14.5px; line-height: 1.45; }
	.v4-linha li:last-child { background: var(--preto); border-color: var(--preto); }
	.v4-linha li:last-child strong { color: var(--branco); }
	.v4-linha li:last-child span { color: rgba(255,255,255,.75); }
	.v4-linha li:last-child b { background: var(--amarelo); color: var(--preto); }
}

/* V5: no celular os cartões do "Como funciona" têm a mesma altura (a do maior), com o número centralizado. */
@media (max-width: 860px) {
	.v4-linha { grid-auto-rows: 1fr; }
	.v4-linha li { min-height: 84px; align-content: center; }
	.v4-linha b { top: 50%; transform: translateY(-50%); }
}

/* V5: no celular o botão "Ver bikes/esteira…" do quiz ocupa a largura do cartão. */
@media (max-width: 640px) { .v2-quiz .v2-rec__txt .btn { width: 100%; justify-content: center; box-sizing: border-box; } }


/* ===== V5 pílulas de pronta entrega no celular: uma linha só (a cidade já está no cabeçalho) ===== */
.v5-prontas, .v5-pronta { white-space: nowrap; }
.v5-prontas i, .v5-pronta i { flex: 0 0 auto; }
@media (max-width: 639px) {
	.v5-prontas__eq, .v5-prontas__cid, .v5-pronta__cid { display: none; }
}


/* ===== V5 disponíveis na cidade: com cidade escolhida a vitrine mostra o que dá para alugar lá (trilho horizontal) ===== */
.v5-disp__cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.v5-disp__titulo { margin: 4px 0 0; }
.v5-disp__todos { flex: 0 0 auto; font: 700 15px/1 var(--fonte); color: var(--texto); text-decoration: none; padding-bottom: 6px; border-bottom: 2px solid var(--amarelo); white-space: nowrap; }
.v5-disp__todos::after { content: " \2192"; }
.v5-disp__chips { display: flex; gap: 8px; margin: 0 calc(var(--gutter, 16px) * -1) 18px; padding: 0 var(--gutter, 16px) 2px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.v5-disp__chips::-webkit-scrollbar { display: none; }
.v5-disp__chips li { flex: 0 0 auto; }
.v5-disp__chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--linha); background: var(--branco); color: var(--texto); font: 600 14px/1 var(--fonte); text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s; }
.v5-disp__chips a:hover { background: var(--amarelo); border-color: var(--amarelo); }
.v5-disp__lista { display: flex; gap: 16px; margin: 0 calc(var(--gutter, 16px) * -1); padding: 0 var(--gutter, 16px) 8px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.v5-disp__lista::-webkit-scrollbar { display: none; }
.v5-disp__item { flex: 0 0 300px; scroll-snap-align: start; display: flex; }
.v5-disp__item > .v2-card { width: 100%; }
@media (min-width: 640px) {
	.v5-disp__chips, .v5-disp__lista { margin-inline: 0; padding-inline: 0; }
}
@media (max-width: 639px) {
	.v5-disp__item { flex-basis: 72vw; }
}


/* ===== V5 disponíveis: acabamento (texto escuro no cartão branco, cartões iguais, foto quadrada) ===== */
.v5-disp__lista { align-items: stretch; }
.v5-disp__item { align-self: stretch; }
.v5-disp .v2-card, .v5-disp__item .v2-card { color: var(--texto); background: var(--branco); border-radius: 22px; overflow: hidden; height: 100%; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(0, 0, 0, .28); }
.v5-disp__item .v2-card__img { flex: 0 0 auto; display: block; aspect-ratio: 1 / 1; height: auto; width: 100%; background: #F7F7F7; }
.v5-disp__item .v2-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v5-disp__item .v2-card__corpo { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; color: var(--texto); }
.v5-disp__item .v2-card__nome, .v5-disp__item .v2-card__nome a { color: var(--texto); font-size: 17px; line-height: 1.25; }
.v5-disp__item .v2-card__cat, .v5-disp__item .v2-card__cidade { color: #5E5B54; }
.v5-disp__item .v2-card__tags span { color: var(--texto); background: #F4F2EC; }
.v5-disp__item .v2-card__preco { color: var(--texto); margin-top: auto; }
.v5-disp__item .v2-card__preco b { color: var(--texto); font-size: 22px; }
.v5-disp__item .v2-card__preco s, .v5-disp__item .v2-card__preco small { color: #6b675f; }
.v5-disp__item .v2-card__entrega { color: #1E7A45; }
.v5-disp__item .v2-card__acao { margin-top: 8px; width: 100%; justify-content: center; }
.v5-disp__item .v2-card__comparar { display: none; }
@media (max-width: 639px) {
	.v5-disp__item { flex-basis: 74vw; }
	.v5-disp__item .v2-card__corpo { padding: 14px 16px 16px; }
}

/* V5 disponíveis: foto fixa (a altura da imagem não empurra o cartão) */
.v5-disp__item .v2-card__img { position: relative; overflow: hidden; }
.v5-disp__item .v2-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v5-disp__item .v2-card__preco { margin-top: auto; }

/* ===== V5 disponíveis: foto padronizada (inteira, centralizada, mesma linha de base) e respiro na borda ===== */
.v5-disp__lista, .v5-disp__chips { scroll-padding-inline: var(--gutter, 16px); }
.v5-disp__lista::after, .v5-disp__chips::after { content: ""; flex: 0 0 1px; }
.v5-disp__item .v2-card__img { background: #fff; }
.v5-disp__item .v2-card__img::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #F0EEE8; z-index: 1; }
.v5-disp__item .v2-card__img img { inset: 6% 6% 3% 6%; width: 88%; height: 91%; object-fit: contain; object-position: 50% 100%; mix-blend-mode: multiply; transform: none; filter: none; }
.v5-disp__item .v2-card__selo { z-index: 2; }
@media (min-width: 640px) {
	.v5-disp__lista, .v5-disp__chips { scroll-padding-inline: 0; }
}

/* V5 disponíveis: foto vence regra antiga com !important (mesmo enquadramento em todos os cartões) */
.v5-disp__item .v2-card__img img { object-fit: contain !important; object-position: 50% 100% !important; width: 88% !important; height: 91% !important; transform: none !important; }

/* V5 disponíveis: largura travada (nome longo não estica o cartão) e nome em até 2 linhas */
.v5-disp__item { min-width: 0; max-width: 100%; }
.v5-disp__item .v2-card, .v5-disp__item .v2-card__corpo { min-width: 0; }
.v5-disp__item .v2-card__nome, .v5-disp__item .v2-card__nome a { white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.v5-disp__item .v2-card__nome { min-height: 2.5em; }
.v5-disp__item .v2-card__tags { flex-wrap: wrap; }

/* ===== V5 disponíveis: grade no desktop (mesmo formato do catálogo: colunas lado a lado, sem rolar; mostra as 8 primeiras) ===== */
.v5-disp__rodape { display: none; }
@media (min-width: 900px) {
	.v5-disp__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 20px; overflow: visible; scroll-snap-type: none; margin: 0; padding: 0 0 8px; }
	.v5-disp__item { flex: none; min-width: 0; }
	.v5-disp__lista::after { display: none; }
	.v5-disp__item:nth-child(n+9) { display: none; }
	.v5-disp__rodape { display: flex; justify-content: center; margin: 28px 0 0; }
	.v5-disp__chips { flex-wrap: wrap; overflow: visible; }
}
@media (min-width: 1180px) {
	.v5-disp__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ===== V5 disponíveis: foto igual ao catálogo (cinza #F7F7F7 no card todo, foto ocupa a área inteira, sem moldura branca) ===== */
.v5-disp__item .v2-card__img { aspect-ratio: auto !important; background: #F7F7F7 !important; overflow: hidden; }
.v5-disp__item .v2-card__img::before { display: none !important; }
.v5-disp__item .v2-card__img img { position: static !important; inset: auto !important; display: block; width: 100% !important; height: auto !important; object-fit: cover !important; object-position: center !important; mix-blend-mode: normal !important; transform: none !important; }
.v5-disp__item .v2-card:hover .v2-card__img img { transform: scale(1.03) !important; }
@media (max-width: 639px) {
	.v5-disp__item .v2-card__img { aspect-ratio: 4 / 5 !important; }
	.v5-disp__item .v2-card__img img { height: 100% !important; object-fit: contain !important; }
}

/* ===== V5 disponíveis: quatro cartões numa linha, foto 4:5 e um só "Ver todos" por tela ===== */
.v5-disp__item .v2-card__img { aspect-ratio: 4 / 5 !important; }
.v5-disp__item .v2-card__img img { height: 100% !important; object-fit: contain !important; }
@media (min-width: 900px) {
	.v5-disp__item:nth-child(n+4) { display: none; }
	.v5-disp__todos { display: none; }
}
@media (min-width: 1180px) {
	.v5-disp__item:nth-child(n+4) { display: flex; }
	.v5-disp__item:nth-child(n+5) { display: none; }
}

/* ===== V5 cabeçalho mobile: logo imponente (maior que a da V3) e pino do tamanho dos outros ícones ===== */
@media (max-width: 1023px) {
	.topo__marca img.logo { height: 34px !important; }
	.topo__cidade svg.ico--pino { width: 22px; height: 22px; flex: 0 0 auto; }
	.topo__cidade { gap: 5px; }
}
@media (max-width: 400px) {
	.topo__marca img.logo { height: 31px !important; }
	.topo__cidade-txt { max-width: 56px; }
}
@media (max-width: 340px) {
	.topo__marca img.logo { height: 28px !important; }
}

/* V5 disponíveis: cabeçalho quebra linha em telas estreitas (título longo + "Ver todos" não estouram a largura) */
.v5-disp__cab { flex-wrap: wrap; row-gap: 10px; }
.v5-disp__cab > div { flex: 1 1 200px; min-width: 0; }
.v5-disp__titulo { overflow-wrap: anywhere; }

/* V5 revisão geral: fontes mínimas 12px e áreas de toque */
.v3-eq__tipo,.v3-heroi__selo,.v2-card__cat,.v2-card__entrega,.v3-barra__txt,.plano__tag,.v3-mini__rot{font-size:12px!important}
.v3-area__link{min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
@media(max-width:1023px){.v4-duvidas summary,details > summary{min-height:44px;display:flex;align-items:center}}

.v2-card__tags span{font-size:12px!important}

/* V5 revisão: botão longo em 320px */
@media(max-width:360px){.btn{white-space:normal;text-align:center;line-height:1.25;padding-left:16px;padding-right:16px}.v3-heroi .v3-heroi__selo{font-size:12px!important}}


/* V5 ajustes (2026-10-14 noite): títulos centralizados com respiro, afiliados escuro, menu da conta em botões iguais, sem Comparar no celular */
.pagina { padding-block: 56px 72px; }
.pagina .pagina__cab { margin-bottom: 32px; text-align: center; }
.pagina .pagina__titulo { margin: 0; text-align: center; }
@media (max-width: 767px) { .pagina { padding-block: 32px 56px; } .pagina .pagina__cab { margin-bottom: 24px; } }
html body.locfit-aff-noite { background: #000 !important; }
body.locfit-aff-noite .pagina__titulo { color: #fff; }
/* V5 afiliados: página escura, centralizada, sem título visível, seções alinhadas e com espaçamento uniforme */
html body.locfit-aff-noite .conteudo { background: #000 !important; }
body.locfit-aff-noite .pagina { padding-block: 0 72px !important; }
body.locfit-aff-noite .pagina__cab { position: absolute !important; width: 1px; height: 1px; margin: -1px !important; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.locfit-aff-noite .pagina__corpo { max-width: 1120px !important; margin-inline: auto !important; padding-inline: 20px; }
body.locfit-aff-noite .locfit-aff-pagina { display: flex; flex-direction: column; gap: clamp(48px, 6vw, 88px); }
body.locfit-aff-noite .locfit-aff-pagina > * { margin-block: 0 !important; }
body.locfit-aff-noite .locfit-aff-pagina__passos, body.locfit-aff-noite .locfit-aff-pagina__beneficios { padding: 0 !important; margin: 0 !important; list-style: none; gap: 20px !important; }
body.locfit-aff-noite .locfit-aff-perfis__abas { width: 100%; max-width: none; box-sizing: border-box; }
body.locfit-aff-noite .locfit-aff-perfis__abas > * { flex: 1 1 0; text-align: center; }
body.locfit-aff-noite .locfit-aff-pagina__secao-titulo { margin-top: 8px !important; margin-bottom: 28px !important; }
body.locfit-aff-noite .locfit-aff-pagina__nota { margin-top: 24px !important; }
@media (max-width: 767px) {
	body.locfit-aff-noite .pagina__corpo { padding-inline: 0 !important; }
	body.locfit-aff-noite .pagina__corpo .elementor-element { padding-inline: 0 !important; }
	body.locfit-aff-noite .locfit-aff-pagina { gap: 44px; }
	body.locfit-aff-noite .locfit-aff-pagina__passos, body.locfit-aff-noite .locfit-aff-pagina__beneficios { gap: 14px !important; }
	body.locfit-aff-noite .locfit-aff-perfis__abas > * { padding-inline: 8px; font-size: 14px; }
}
@media (min-width: 1024px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column !important; align-items: stretch !important; overflow: visible; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { width: 100%; box-sizing: border-box; text-align: center; border-radius: 14px; }
}
@media (max-width: 767px) { .v2-card__comparar, .v2-bandeja, .v2-comparar { display: none !important; } }

/* V5: sem ordenação "Ordenar por" no catálogo (2026-10-14) */
.catalogo__ordem, .v2-filtros .woocommerce-ordering, .woocommerce-ordering { display: none !important; }

/* Heroi (v5.1): imagem fixa primeiro (LCP); video entra depois do load, com fade. */
.v2-heroi__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.v3-heroi .v2-heroi__video { opacity: 0; transition: opacity .6s ease; }
.v3-heroi .v2-heroi__video.v2-heroi__video--on { opacity: 1; }

/* v5-pagamento-limpo: pagina /pagamento/<pedido> (body.clean-checkout) */
body.clean-checkout .clean-checkout-logo{display:inline-block;margin:0 auto 16px}
body.clean-checkout .one-click-buy-option{display:flex;align-items:center;gap:10px}
body.clean-checkout .one-click-buy-option input.input-radio{display:inline-block!important;width:auto!important;flex:none;margin:0}
body.clean-checkout .one-click-buy-option label.radio{flex:1;margin:0}
body.clean-checkout table.shop_table th,body.clean-checkout table.shop_table td,body.clean-checkout #order_review table.shop_table th,body.clean-checkout #order_review table.shop_table td{padding:10px 12px}
body.clean-checkout table.shop_table .product-quantity,body.clean-checkout table.shop_table .product-total{white-space:nowrap}
body.clean-checkout table.shop_table th:last-child,body.clean-checkout table.shop_table td:last-child{text-align:right}
body.clean-checkout .credit-card-notice{justify-content:flex-start;gap:12px;text-align:left}

/* v5-login-sucesso: formulario de login do WooCommerce (tela de pedido recebido para visitante) */
.woocommerce-form-login .form-row>br{display:none}
.woocommerce-form-login .password-input{position:relative;display:block}
.woocommerce-form-login .show-password-input{display:none!important}
.woocommerce-form-login .form-row label{margin-bottom:6px}

/* v5-sucesso-pagamento: tela Pagamento Completo (body.clean-thankyou) */
body.clean-thankyou .clean-thankyou-header{text-align:center}
body.clean-thankyou .clean-thankyou-logo{display:inline-block;margin-left:auto;margin-right:auto}
body.clean-thankyou .clean-thankyou-icon{display:flex;justify-content:center}
body.clean-thankyou .clean-thankyou-icon svg{display:block;margin:0 auto}

/* v5-carregando */
.lf-carregando{position:fixed;top:0;left:0;height:3px;width:0;background:#ffd200;box-shadow:0 0 8px rgba(255,210,0,.7);z-index:100000;pointer-events:none;opacity:0}
.lf-carregando--on{opacity:1;width:85%;transition:width 9s cubic-bezier(.1,.6,.2,1)}
.lf-busy{position:relative;pointer-events:none;color:transparent!important;cursor:progress}
.lf-busy::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:lf-gira .7s linear infinite}
input.lf-busy::after{display:none}
@keyframes lf-gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lf-carregando--on{transition:none;width:60%}.lf-busy::after{animation-duration:1.6s}}

/* v5-pagamento-mobile */
body.clean-checkout .one-click-buy-option{flex-wrap:wrap}
body.clean-checkout .one-click-buy-option>div,body.clean-checkout .one-click-buy-option .asaas-cc-form-wrapper{flex:0 0 100%;min-width:0;max-width:100%}
body.clean-checkout .wc-item-meta{list-style:none;margin:6px 0 0;padding:0;font-size:13px;line-height:1.4}
body.clean-checkout .wc-item-meta li,body.clean-checkout .wc-item-meta a,body.clean-checkout .wc-item-meta strong{font-size:13px!important;line-height:1.4}
body.clean-checkout .wc-item-meta a{font-weight:600}
@media(max-width:600px){
body.clean-checkout .clean-checkout-container{padding:16px 12px}
body.clean-checkout .payment_methods li,body.clean-checkout .payment_box{padding:10px 0!important}
body.clean-checkout table.shop_table th,body.clean-checkout table.shop_table td{padding:8px 6px;font-size:13px}
}

/* v5-pagamento-novo */
body.clean-checkout{background:#f4f2ed!important;font-family:Poppins,system-ui,sans-serif;color:#111}
body.clean-checkout .clean-checkout-container{max-width:640px!important;width:100%;margin:0 auto!important;padding:24px 16px 56px!important;background:transparent!important;box-shadow:none!important;border:0!important;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
body.clean-checkout .clean-checkout-header{display:flex!important;align-items:center;gap:14px;position:relative;text-align:left!important;padding:0!important;margin:0!important;border:0!important}
body.clean-checkout .clean-checkout-logo{width:44px!important;height:44px!important;margin:0!important;border-radius:50%;flex:none}
body.clean-checkout .clean-checkout-header h2{flex:1;margin:0!important;font-size:22px!important;line-height:1.25;font-weight:700;letter-spacing:-.01em}
body.clean-checkout .clean-checkout-back{position:static!important;order:3;font-size:13px;color:#5f5b52;text-decoration:none;white-space:nowrap}
body.clean-checkout .clean-checkout-order-details{background:#fff!important;border:1px solid #e6e2d9!important;border-radius:16px!important;box-shadow:none!important;padding:14px 18px!important;margin:0!important}
body.clean-checkout .clean-checkout-order-details h3{font-size:14px!important;font-weight:600;margin:0 0 8px!important;padding:0!important}
body.clean-checkout .clean-checkout-order-details h3 svg{display:none}
body.clean-checkout .clean-checkout-order-details p{display:flex!important;justify-content:space-between;gap:12px;margin:0!important;padding:6px 0!important;border:0!important;font-size:13px;line-height:1.4}
body.clean-checkout .clean-checkout-order-details p:nth-of-type(n+4){display:none!important}
body.clean-checkout .clean-checkout-order-details p strong{font-weight:500;color:#5f5b52}
body.clean-checkout form#order_review{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
body.clean-checkout .clean-checkout-payment{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
body.clean-checkout form#order_review table.shop_table{display:block;background:#fff;border:1px solid #e6e2d9!important;border-radius:16px;padding:6px 18px;margin:0 0 16px!important;width:auto}
body.clean-checkout form#order_review table.shop_table thead,body.clean-checkout form#order_review table.shop_table td.product-quantity{display:none}
body.clean-checkout form#order_review table.shop_table tbody,body.clean-checkout form#order_review table.shop_table tfoot{display:block}
body.clean-checkout form#order_review table.shop_table tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border:0}
body.clean-checkout form#order_review table.shop_table th,body.clean-checkout form#order_review table.shop_table td{display:block;padding:0!important;border:0!important;background:none!important;font-size:14px;text-align:left}
body.clean-checkout form#order_review table.shop_table td.product-name{flex:1;min-width:0}
body.clean-checkout form#order_review table.shop_table td.product-subtotal,body.clean-checkout form#order_review table.shop_table tfoot td{text-align:right;white-space:nowrap}
body.clean-checkout form#order_review table.shop_table tfoot tr:nth-child(2){display:none}
body.clean-checkout form#order_review table.shop_table tfoot tr:last-child{border-top:1px solid #eeebe3;font-size:17px;font-weight:700}
body.clean-checkout .credit-card-notice{background:#fff8d6!important;border:0!important;border-radius:12px!important;padding:12px 14px!important;margin:0 0 14px!important;font-size:13px;color:#111;box-shadow:none!important}
body.clean-checkout .credit-card-notice::before{display:none!important}
body.clean-checkout .clean-checkout-payment ul.payment_methods{list-style:none;margin:0!important;padding:0!important;border:0!important}
body.clean-checkout .clean-checkout-payment .payment_methods li{position:relative;background:#fff!important;border:1px solid #e6e2d9!important;border-radius:16px!important;padding:0!important;margin:0 0 12px!important;box-shadow:none!important}
body.clean-checkout .clean-checkout-payment .payment_methods li:has(>input.input-radio:checked){border:2px solid #111!important}
body.clean-checkout .clean-checkout-payment .payment_methods li>input.input-radio{position:absolute;left:18px;top:21px;margin:0!important;width:18px!important;height:18px!important;accent-color:#111}
body.clean-checkout .clean-checkout-payment .payment_methods li>label{display:block;padding:18px 18px 18px 48px!important;margin:0!important;font-size:15px;font-weight:600;cursor:pointer}
body.clean-checkout .clean-checkout-payment .payment_box{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 18px 18px!important;margin:0!important;font-size:13px;color:#5f5b52}
body.clean-checkout .clean-checkout-payment .payment_box::before{display:none!important}
body.clean-checkout .payment_method_asaas-pix>label::after{content:"";display:inline-block;width:20px;height:20px;margin-left:10px;vertical-align:-4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 554 554' fill='%2332BCAD' aria-hidden='true'%3E%3Cpath d='M112 130H125C160 130 182 146 206 170L262 226Q277 240 292 226L348 170C372 146 394 130 429 130H442L340 28Q277-28 214 28Z'/%3E%3Cpath d='M112 130H125C160 130 182 146 206 170L262 226Q277 240 292 226L348 170C372 146 394 130 429 130H442L340 28Q277-28 214 28Z' transform='rotate(180 277 277)'/%3E%3Cpath d='M88 155L28 215Q0 245 0 277Q0 309 28 339L88 400H125C160 400 182 385 206 361L262 307Q270 298 270 290V264Q270 258 262 250L206 194C182 170 160 155 125 155Z'/%3E%3Cpath d='M88 155L28 215Q0 245 0 277Q0 309 28 339L88 400H125C160 400 182 385 206 361L262 307Q270 298 270 290V264Q270 258 262 250L206 194C182 170 160 155 125 155Z' transform='rotate(180 277 277)'/%3E%3C/svg%3E") no-repeat center/contain}
body.clean-checkout .one-click-buy-label label{font-size:14px;font-weight:600;color:#111}
body.clean-checkout .one-click-buy-option{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid #e6e2d9;border-radius:12px;padding:0 14px;margin:0 0 10px!important;min-height:52px;background:#fff}
body.clean-checkout .one-click-buy-option:has(>input.input-radio:checked){border:2px solid #111;background:#fffbe6;padding:0 13px}
body.clean-checkout .one-click-buy-option>input.input-radio{display:inline-block!important;width:18px!important;height:18px!important;margin:0!important;flex:none;accent-color:#111}
body.clean-checkout .one-click-buy-option>label.radio{flex:1;margin:0!important;padding:14px 0!important;font-size:14px;font-weight:500;letter-spacing:.04em;color:#111}
body.clean-checkout .one-click-buy-option>.asaas-cc-form-wrapper{flex:0 0 100%;min-width:0;max-width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 14px;padding:4px 0 16px}
body.clean-checkout .one-click-buy-option>input.input-radio:checked~.asaas-cc-form-wrapper{display:grid}
body.clean-checkout .asaas-cc-form-wrapper>*{grid-column:1/-1}
body.clean-checkout .asaas-cc-form-wrapper #assas-cc-expiration-label_field{display:none}
body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-expiration-month_field,body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-expiration-year_field,body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-security-code_field{grid-column:span 2}
body.clean-checkout .asaas-cc-form-field{margin:0 0 14px!important;padding:0!important}
body.clean-checkout .asaas-cc-form-field label{display:block;font-size:13px;font-weight:600;color:#111;margin:0 0 6px!important}
body.clean-checkout .asaas-cc-form-field input.input-text{width:100%;height:50px;box-sizing:border-box;border:1px solid #cfcabd;border-radius:10px;padding:0 14px;font-size:16px;background:#fff;box-shadow:none}
body.clean-checkout .asaas-cc-form-field input.input-text:focus{outline:2px solid #ffd200;outline-offset:1px;border-color:#111}
body.clean-checkout #payment div.form-row{margin:4px 0 0!important;padding:0!important}
body.clean-checkout #place_order{width:100%;height:56px;margin:0!important;min-height:0!important;padding:0 16px!important;font-size:16px!important;letter-spacing:.04em!important;border:0!important;border-radius:14px!important;background:linear-gradient(90deg,#4361ee,#4cc9f0)!important;color:#fff!important;font-weight:700;box-shadow:0 8px 20px rgba(67,97,238,.28)!important;cursor:pointer}
body.clean-checkout #place_order[disabled],body.clean-checkout #place_order:disabled{opacity:.5;cursor:not-allowed}
body.clean-checkout .clean-checkout-footer{text-align:center;font-size:12px;color:#5f5b52;border:0!important;margin:0!important;padding:0!important}
@media(max-width:600px){
body.clean-checkout .clean-checkout-container{padding:16px 12px 40px!important}
body.clean-checkout .clean-checkout-header h2{font-size:20px!important}
body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-expiration-month_field,body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-expiration-year_field{grid-column:span 3}
body.clean-checkout .asaas-cc-form-wrapper #asaas-cc-security-code_field{grid-column:1/-1}
body.clean-checkout #payment div.form-row:has(#place_order){position:sticky;bottom:0;z-index:20;background:#f4f2ed;padding:10px 0 14px!important;margin:0!important}
}

/* v5-pagamento-pix */
body.clean-checkout #payment:has(#payment_method_asaas-pix:checked) .credit-card-notice{display:none!important}
body.clean-checkout #payment:has(#payment_method_asaas-pix:checked) li.payment_method_asaas-credit-card .payment_box{display:none!important}
body.clean-checkout #payment:has(#payment_method_asaas-pix:checked) #place_order{font-size:0!important;line-height:0}
body.clean-checkout #payment:has(#payment_method_asaas-pix:checked) #place_order::after{content:"Gerar código Pix";font-size:16px;line-height:1.2;letter-spacing:.04em}

/* v5-pagamento-ajuste */
body.clean-checkout #payment .payment_methods li>label{display:block!important;padding:18px 18px 18px 48px!important;margin:0!important;font-size:15px!important;font-weight:600;line-height:1.3!important;cursor:pointer}
body.clean-checkout #payment .one-click-buy-option>label.radio{background:transparent!important;border:0!important;padding:14px 0!important;margin:0!important;box-shadow:none!important;border-radius:0!important}
body.clean-checkout .clean-checkout-order-details p{flex-direction:row!important;align-items:baseline!important}
body.clean-checkout .clean-checkout-order-details p span{margin:0!important;text-align:right}


/* ===== WhatsApp da locadora no produto (mobile): A link inline, B icone na barra, C respiro do rodape ===== */
.v3-duvida{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 2px;padding:11px 14px;max-width:343px;border:1px solid #E3ECE9;border-radius:12px;background:#fff;font-size:13.5px;font-weight:600;color:#0B2B26!important;text-decoration:none!important}
.v3-duvida:active{background:#F3FBF6}
.v3-duvida svg{width:18px;height:18px;flex:none;color:#128C4A}
.v3-duvida i{font-style:normal;font-weight:500;color:#5C7A75}
.barra-alugar{gap:10px!important}
.barra-alugar__info{flex:none!important;white-space:nowrap}
.barra-alugar .btn--amarelo{flex:1 1 auto;min-width:0;padding-left:14px;padding-right:14px}
.barra-alugar__wa{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:999px;background:#25D366;border:0;color:#fff;box-shadow:0 2px 8px rgba(37,211,102,.45);text-decoration:none!important}
.barra-alugar__wa:active{background:#1EBE5A;transform:scale(.96)}
.barra-alugar__wa svg{width:28px;height:28px;stroke-width:2}
@media (min-width:768px){.barra-alugar__wa{display:none}}
@media (max-width:1023px){body.single-product:has(.barra-alugar:not([hidden])){padding-bottom:69px}}
