/* ==========================================================
   Tua Flor · estilos do tema
   ========================================================== */

:root {
	--marca: #00706C;
	--marca-escura: #00524F;
	--marca-clara: #EAF6F5;
	--coral: #F38480;
	--coral-texto: #B4453F;
	--tinta: #1F2A2A;
	--tinta-forte: #12302F;
	--tinta-suave: #3E4F4E;
	--cinza: #5B6B6A;
	--linha: #E3ECEB;
	--borda: #C9D8D6;
	--fundo-suave: #F6FAF9;
	--raio: 20px;
	--fonte-titulo: 'Nunito', system-ui, sans-serif;
	--fonte-texto: 'Nunito Sans', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: #fff; color: var(--tinta); font-family: var(--fonte-texto); font-size: 16px; line-height: 1.5; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--marca); }
a:hover { color: var(--marca-escura); }
h1, h2, h3, h4 { font-family: var(--fonte-titulo); color: var(--tinta-forte); line-height: 1.2; }
button { font-family: inherit; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 2px; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }
.estreito { max-width: 860px; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -9999px; }
.pular:focus { left: 16px; top: 16px; z-index: 100; background: #fff; padding: 8px 14px; border-radius: 8px; }

/* ---------- Topo ---------- */
.barra-aviso { background: var(--marca); color: #fff; font-size: 13px; font-weight: 700; text-align: center; padding: 8px 16px; }
.topo { border-bottom: 1px solid var(--linha); background: #fff; position: sticky; top: 0; z-index: 30; }
.topo-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-top: 10px; padding-bottom: 10px; }
.logo { display: flex; align-items: center; text-decoration: none; }
.logo img { height: 40px; width: auto; }
.logo-texto { font-family: var(--fonte-titulo); font-weight: 800; font-size: 24px; color: var(--marca); }
.busca { flex: 1 1 320px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--borda); border-radius: 999px; padding: 2px 4px 2px 16px; background: var(--fundo-suave); }
.busca input[type="search"] { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 15px; padding: 8px 0; outline: none; color: var(--tinta); }
.busca button { width: 44px; height: 44px; border-radius: 999px; border: 0; background: var(--marca); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.topo-icones { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.icone-botao { width: 44px; height: 44px; border: 0; background: transparent; color: var(--tinta); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 12px; position: relative; text-decoration: none; }
.icone-botao:hover { background: var(--fundo-suave); color: var(--tinta); }
.cor-marca { color: var(--marca); }
.carrinho-contador { position: absolute; top: 4px; right: 2px; background: var(--coral); color: var(--tinta); font-weight: 700; border-radius: 999px; min-width: 18px; height: 18px; font-size: 11px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
@media (max-width: 760px) {
	.busca { order: 3; flex-basis: 100%; }
}

/* ---------- Gavetas (menu lateral, filtros, CEP) ---------- */
.gaveta { position: fixed; inset: 0; z-index: 60; display: flex; }
.gaveta[hidden] { display: none; }
.gaveta-direita { justify-content: flex-end; }
.gaveta-fundo { position: absolute; inset: 0; background: rgba(18, 48, 47, 0.35); }
.gaveta-painel { position: relative; width: 320px; max-width: 88%; height: 100%; background: #fff; display: flex; flex-direction: column; overflow-y: auto; box-shadow: 0 0 40px rgba(18, 48, 47, 0.2); }
.gaveta-topo { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 20px; border-bottom: 1px solid var(--linha); }
.gaveta-titulo { margin: 0; font-family: var(--fonte-titulo); font-weight: 800; font-size: 18px; color: var(--tinta-forte); }
.gaveta-corpo { padding: 20px; display: flex; flex-direction: column; gap: 20px; }
.menu-lateral { list-style: none; margin: 0; padding: 0; }
.menu-lateral a { display: block; padding: 14px 20px; font-family: var(--fonte-titulo); font-weight: 700; font-size: 16px; color: var(--tinta); text-decoration: none; border-bottom: 1px solid #F0F4F3; }
.menu-lateral .current-menu-item > a, .menu-lateral .current-cat > a { color: var(--marca); }
.menu-lateral .sub-menu, .menu-lateral .children { list-style: none; margin: 0; padding: 0 0 0 14px; }
.menu-lateral .sub-menu a, .menu-lateral .children a { font-weight: 600; font-size: 15px; }
.gaveta-rodape { margin-top: auto; padding: 12px 0; display: flex; flex-direction: column; }
.gaveta-rodape a { padding: 12px 20px; color: var(--tinta-suave); text-decoration: none; font-size: 15px; }
body.gaveta-aberta { overflow: hidden; }
.filtro-bloco { margin-bottom: 8px; }
.filtro-titulo { font-size: 15px; margin: 0 0 10px; }

/* ---------- Botões ---------- */
.botao, .button, button.button, a.button, .single_add_to_cart_button, .checkout-button, #place_order {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
	border-radius: 999px; border: 0; background: var(--marca) !important; color: #fff !important;
	font-family: var(--fonte-titulo); font-weight: 800; font-size: 16px; text-decoration: none; cursor: pointer;
}
.botao:hover, .button:hover, .single_add_to_cart_button:hover { background: var(--marca-escura) !important; }
.botao-contorno { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid var(--borda); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 700; color: var(--tinta); cursor: pointer; }

/* ---------- Banners ---------- */
.carrossel-banners { position: relative; padding-top: 12px; }
.slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 24px; }
.slides::-webkit-scrollbar { display: none; }
.banner { display: block; border-radius: 24px; overflow: hidden; }
.slide { flex: 0 0 100%; scroll-snap-align: start; border-radius: 0; }
.banner-img { width: 100%; height: auto; aspect-ratio: 16 / 5; object-fit: cover; }
/* Celular: banner quadrado quando existe a versão de celular; senão mantém a proporção do computador.
   A proporção fixa evita o bloco gigante enquanto a imagem ainda está carregando. */
@media (max-width: 760px) {
	.banner picture:has(source) .banner-img { aspect-ratio: 1 / 1; }
	.slides, .banner { border-radius: 18px; }
}
.banner-meio { margin-top: 8px; margin-bottom: 8px; }
.seta { width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--borda); background: #fff; color: var(--tinta-forte); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.seta-banner { position: absolute; top: calc(50% - 16px); transform: translateY(-50%); border: 0; background: rgba(255, 255, 255, 0.92); width: 48px; height: 48px; }
.seta-esq { left: 30px; }
.seta-dir { right: 30px; }
.pontos { display: flex; justify-content: center; gap: 4px; padding-top: 10px; }
.pontos button { width: 44px; height: 32px; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.pontos span { display: block; width: 8px; height: 8px; border-radius: 999px; background: var(--borda); transition: width .2s; }
.pontos button[aria-current="true"] span { width: 28px; background: var(--marca); }
@media (max-width: 760px) { .seta-banner { display: none; } }

.intro { text-align: center; padding-top: 12px; }
.intro h1 { margin: 0; font-size: 18px; font-weight: 700; color: var(--tinta-suave); letter-spacing: .02em; }
.intro p { margin: 6px 0 0; font-size: 14px; color: var(--cinza); }
.intro p.intro-selos { margin-top: 4px; font-size: 12px; letter-spacing: .02em; }

/* ---------- Vitrines em carrossel ---------- */
.vitrine { padding-top: 40px; padding-bottom: 40px; }
.secao-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.secao-titulo { margin: 0; font-size: 24px; font-weight: 800; }
.secao-acoes { display: flex; align-items: center; gap: 8px; }
.ver-todos { font-weight: 700; font-size: 15px; margin-right: 8px; }
.carrossel-produtos { list-style: none; margin: 0; padding: 0 0 4px; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.carrossel-produtos::-webkit-scrollbar { display: none; }
.carrossel-produtos > li { flex: 0 0 clamp(160px, calc((100% - 60px) / 4), 300px); scroll-snap-align: start; }
@media (max-width: 760px) { .secao-acoes .seta { display: none; } }

/* ---------- Card de produto ---------- */
.card-produto { list-style: none; min-width: 0; }
.card-link { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--tinta); }
.card-foto { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--fundo-suave); }
.card-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.card-link:hover .card-foto img { transform: scale(1.03); }
.card-nome { font-size: 15px; font-weight: 600; line-height: 1.3; }
.card-preco { font-family: var(--fonte-titulo); font-size: 18px; font-weight: 800; color: var(--tinta-forte); }
.card-preco del { font-size: 14px; font-weight: 600; color: var(--cinza); margin-right: 6px; }
.card-preco ins { text-decoration: none; }
.selo-hoje, .selo-oferta { position: absolute; top: 10px; left: 10px; background: #fff; color: var(--marca); font-weight: 700; font-size: 12px; padding: 4px 10px; border-radius: 999px; }
.selo-oferta { left: auto; right: 10px; background: var(--coral-texto); color: #fff; }

/* ---------- Categoria ---------- */
.loja { padding-top: 16px; padding-bottom: 40px; }
.migalhas { font-size: 13px; color: var(--cinza); margin-bottom: 8px; }
.categoria-titulo { margin: 0; font-size: 24px; font-weight: 800; }
.chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 14px -16px 0; padding: 0 16px; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: none; min-height: 38px; display: inline-flex; align-items: center; padding: 0 14px; background: #F4F6F6; border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--tinta); text-decoration: none; }
.chip:hover { background: var(--marca-clara); color: var(--marca); }
.barra-loja { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 0; }
.barra-loja .woocommerce-ordering { margin: 0; }
.barra-loja select { min-height: 42px; padding: 0 12px; border: 1px solid var(--borda); border-radius: 999px; font: inherit; font-size: 14px; font-weight: 700; background: #fff; color: var(--tinta); }
.woocommerce-result-count { display: none; }
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; }
@media (max-width: 760px) { ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; } }
/* Anula o layout padrão do WooCommerce (float + largura fixa), que encolhia as fotos e deixava um espaço vazio no início da grade */
.woocommerce ul.products, .woocommerce-page ul.products { margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after,
ul.products::before, ul.products::after { content: none; display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product,
.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
	float: none; width: auto; margin: 0; padding: 0; clear: none; display: block;
}
.woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img { width: 100%; height: 100%; margin: 0; box-shadow: none; }
.card-nome, .card-preco { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
	.card-nome { font-size: 14px; }
	.card-preco { font-size: 16px; }
	.carrossel-produtos { gap: 12px; }
	.carrossel-produtos > li { flex-basis: calc((100% - 12px) / 2.15); }
}
.rolagem-infinita { min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; color: var(--tinta-suave); margin-top: 16px; }
.girando { width: 18px; height: 18px; border-radius: 999px; border: 3px solid var(--linha); border-top-color: var(--marca); animation: girar .8s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
.paginacao-oculta { position: absolute; left: -9999px; }
.texto-seo { background: var(--fundo-suave); padding: 36px 16px 44px; margin-top: 24px; border-radius: var(--raio); color: var(--tinta-suave); line-height: 1.7; }
.texto-seo h2 { font-size: 20px; }
.texto-seo details { background: #fff; border: 1px solid var(--linha); border-radius: 14px; padding: 14px 18px; margin: 10px 0; }
.texto-seo summary { font-weight: 700; cursor: pointer; color: var(--tinta); }

/* ---------- Produto ---------- */
.single-product div.product { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.single-product div.product .woocommerce-product-gallery { flex: 1 1 480px; min-width: 0; }
.single-product div.product .summary { flex: 1 1 420px; min-width: 0; }
.single-product .woocommerce-product-gallery img { border-radius: 24px; }
.single-product .product_title { font-size: 30px; margin: 0 0 8px; }
.single-product .summary .price { font-family: var(--fonte-titulo); font-size: 30px; font-weight: 800; color: var(--tinta-forte); }
.single-product .woocommerce-tabs, .single-product .related { flex-basis: 100%; }
.single-product .related ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 760px) {
	.single-product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product .single_add_to_cart_button { flex: 1; }
}
.quantity input { min-height: 52px; width: 70px; border: 1px solid var(--borda); border-radius: 12px; text-align: center; font: inherit; }
form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* ---------- Carrinho e checkout ---------- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #order_review { background: #fff; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	min-height: 48px; padding: 10px 14px; border: 1px solid var(--borda); border-radius: 12px; font: inherit; width: 100%;
}
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; background: var(--marca-clara); border-radius: 14px; padding: 14px 18px; margin: 0 0 16px; }
.woocommerce-error { background: #FBEBEB; }

/* ---------- Rodapé ---------- */
.rodape { background: linear-gradient(165deg, #00706C 0%, #005B58 100%); color: rgba(255, 255, 255, .88); margin-top: 56px; font-size: 14px; }
.rodape a { color: rgba(255, 255, 255, .88); text-decoration: none; transition: color .15s; }
.rodape a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.rodape-colunas { display: grid; grid-template-columns: 1fr; gap: 32px; padding-top: 48px; padding-bottom: 36px; }
@media (min-width: 640px) { .rodape-colunas { grid-template-columns: 1fr 1fr; } .rodape-marca { grid-column: 1 / -1; } }
@media (min-width: 1000px) { .rodape-colunas { grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 40px; } .rodape-marca { grid-column: auto; } }
.rodape-logo { display: inline-block; font-family: var(--fonte-titulo); font-weight: 800; font-size: 24px; color: #fff; }
.rodape-logo-img { width: 140px; height: auto; }
.rodape-desc { margin: 14px 0 16px; max-width: 340px; line-height: 1.6; }
.rodape-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rodape-chips li { padding: 5px 12px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; font-size: 12px; font-weight: 700; color: #fff; }
.rodape-titulo { font-family: var(--fonte-titulo); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #FFD3D0; margin: 6px 0 16px; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rodape-horario { color: rgba(255, 255, 255, .7); line-height: 1.5; }
.rodape-base { background: rgba(0, 0, 0, .14); padding: 16px 0; font-size: 12.5px; color: rgba(255, 255, 255, .75); }
.rodape-empresa { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; }
.whatsapp-flutuante { position: fixed; right: 16px; bottom: 16px; z-index: 40; width: 56px; height: 56px; border-radius: 999px; background: #fff; color: var(--marca); border: 1px solid var(--borda); box-shadow: 0 6px 18px rgba(18, 48, 47, .18); display: flex; align-items: center; justify-content: center; }
.single-product .whatsapp-flutuante { bottom: 96px; }

/* ---------- Páginas ---------- */
.pagina { padding-top: 24px; padding-bottom: 40px; }
.pagina-titulo { font-size: 28px; }

/* ---------- Produto: cabeçalho, preço, CEP e compra ---------- */
.produto-cabeca { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.produto-cabeca .product_title { margin: 0 0 8px; }
.compartilhar { position: relative; flex: none; }
.compartilhar-botao { color: var(--tinta-forte); }
.compartilhar-menu { position: absolute; right: 0; top: 48px; z-index: 30; min-width: 180px; background: #fff; border: 1px solid var(--linha); border-radius: 14px; box-shadow: 0 10px 30px rgba(18, 48, 47, .14); padding: 6px; display: flex; flex-direction: column; }
.compartilhar-menu[hidden] { display: none; }
.compartilhar-menu a, .compartilhar-menu button { text-align: left; padding: 10px 12px; border-radius: 10px; font: inherit; font-size: 15px; font-weight: 600; color: var(--tinta); text-decoration: none; background: none; border: 0; cursor: pointer; }
.compartilhar-menu a:hover, .compartilhar-menu button:hover { background: var(--fundo-suave); }
.single-product .summary .price { margin: 4px 0 2px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.single-product .summary .price del { order: -1; font-size: 16px; font-weight: 600; color: var(--cinza); }
.single-product .summary .price ins { text-decoration: none; }
.parcelas { margin: 0 0 18px; font-size: 15px; color: var(--tinta-suave); }
.parcelas strong { color: var(--tinta-forte); }
.produto-cep { margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--linha); }
.produto-cep .tfe-cep-linha { position: relative; gap: 0; }
.produto-cep-icone { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--cinza); pointer-events: none; }
.produto-cep .tfe-cep-linha input { padding-left: 42px; border-radius: 12px 0 0 12px; border-right: 0; font-size: 16px; letter-spacing: 0; }
.produto-cep .tfe-cep-linha .button { border-radius: 0 12px 12px 0; min-width: 72px; font-weight: 800; }
.produto-cep-ajuda { display: inline-block; margin-top: 8px; font-size: 14px; color: var(--tinta); }

/* Botão fixo e gaveta de compra (celular) */
.barra-comprar { display: none; }
.compra-gaveta-topo { display: none; }
@media (max-width: 760px) {
	.barra-comprar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); box-shadow: 0 -4px 16px rgba(18, 48, 47, .08); }
	.barra-comprar-botao { width: 100%; min-height: 54px; font-size: 16px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
	.single-product { padding-bottom: 84px; }
	.single-product .whatsapp-flutuante { bottom: 92px; }
	.compra-gaveta { position: fixed; inset: 0; z-index: 60; visibility: hidden; }
	.compra-gaveta.aberta { visibility: visible; }
	.compra-gaveta-fundo { position: absolute; inset: 0; background: rgba(18, 48, 47, .45); opacity: 0; transition: opacity .2s; }
	.compra-gaveta.aberta .compra-gaveta-fundo { opacity: 1; }
	.compra-gaveta-painel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 92vh; overflow-y: auto; background: #fff; border-radius: 22px 22px 0 0; padding: 0 16px calc(16px + env(safe-area-inset-bottom)); transform: translateY(100%); transition: transform .25s ease; }
	.compra-gaveta.aberta .compra-gaveta-painel { transform: none; }
	.compra-gaveta-topo { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; background: #fff; padding: 12px 0 6px; z-index: 1; font-family: var(--fonte-titulo); font-size: 18px; }
	.compra-gaveta .tfe-agenda { border: 0; padding: 0; background: none; }
	.compra-gaveta .tfe-titulo { display: none; }
	.compra-gaveta form.cart { position: sticky; bottom: 0; }
	.compra-gaveta .single_add_to_cart_button { min-height: 54px; font-size: 16px; font-weight: 800; }
	body.compra-aberta { overflow: hidden; }
}
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce div.product p.price ins { color: var(--tinta-forte); }
.aviso-admin { background: #FFF4E5; border: 1px dashed #E0A040; border-radius: 12px; padding: 12px 14px; font-size: 14px; }
.card-parcelas { font-size: 13px; color: var(--tinta-suave); margin-top: -4px; }
.card-parcelas strong, .woocommerce ul.products li.product .card-parcelas strong { display: inline; font-weight: 700; color: var(--tinta); }

/* ---------- Carrinho (lista limpa com foto) ---------- */
.woocommerce-cart .pagina-titulo, .woocommerce-cart .entry-title { font-size: 26px; margin-bottom: 14px; }
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: 90px; }
}
.woocommerce-cart table.shop_table.cart { border: 0; margin: 0; border-radius: 0; background: none; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart, .woocommerce-cart table.shop_table.cart tbody { display: block; width: 100%; }
.woocommerce-cart table.shop_table.cart tr.cart_item {
	display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "foto nome remover" "foto preco preco" "foto qtd subtotal";
	column-gap: 14px; row-gap: 4px; align-items: center; background: #fff; border: 1px solid var(--linha); border-radius: 18px; padding: 12px; margin-bottom: 12px;
}
.woocommerce-cart table.shop_table.cart tr.cart_item td { display: block; border: 0 !important; padding: 0 !important; background: none !important; text-align: left !important; }
.woocommerce-cart table.shop_table.cart tr.cart_item td::before { content: none !important; display: none !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { display: block !important; grid-area: foto; align-self: stretch; }
.woocommerce-cart td.product-thumbnail a { display: block; width: 84px; height: 84px; border-radius: 14px; overflow: hidden; background: var(--fundo-suave); }
.woocommerce-cart td.product-thumbnail img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0 !important; }
.woocommerce-cart td.product-name { grid-area: nome; font-weight: 700; font-size: 15px; line-height: 1.3; }
.woocommerce-cart td.product-name a { color: var(--tinta-forte); text-decoration: none; }
.woocommerce-cart td.product-name .variation, .woocommerce-cart td.product-name dl { font-size: 12px; font-weight: 400; color: var(--cinza); margin: 2px 0 0; }
.woocommerce-cart td.product-price { grid-area: preco; font-size: 13px; color: var(--cinza); }
.woocommerce-cart td.product-price::after { content: " cada"; }
.woocommerce-cart td.product-quantity { grid-area: qtd; }
.woocommerce-cart td.product-subtotal { grid-area: subtotal; text-align: right !important; font-family: var(--fonte-titulo); font-weight: 800; font-size: 17px; color: var(--tinta-forte); }
.woocommerce-cart td.product-remove { grid-area: remover; align-self: start; text-align: right !important; }
.woocommerce-cart td.product-remove a.remove { display: inline-flex !important; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50% !important; font-size: 20px !important; line-height: 1; color: var(--cinza) !important; background: var(--fundo-suave) !important; font-weight: 400 !important; }
.woocommerce-cart td.product-remove a.remove:hover { color: #fff !important; background: var(--coral-texto, #B4453F) !important; }
/* Quantidade: − 1 + */
.qtd-passo { display: inline-flex; align-items: center; border: 1px solid var(--borda); border-radius: 999px; overflow: hidden; background: #fff; }
.qtd-passo button { width: 36px; height: 36px; border: 0; background: none; font-size: 18px; font-weight: 700; color: var(--tinta-forte); cursor: pointer; }
.qtd-passo button:hover { background: var(--fundo-suave); }
.woocommerce-cart .qtd-passo .quantity { margin: 0 !important; }
.woocommerce-cart .qtd-passo input.qty { width: 36px !important; min-height: 36px !important; height: 36px; border: 0 !important; padding: 0 !important; text-align: center; font-weight: 700; font-size: 15px; background: none; -moz-appearance: textfield; appearance: textfield; }
.woocommerce-cart .qtd-passo input.qty::-webkit-outer-spin-button, .woocommerce-cart .qtd-passo input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Linha de ações: cupom recolhido e sem botão "Atualizar" */
.woocommerce-cart table.shop_table.cart tr:not(.cart_item) { display: block; }
.woocommerce-cart table.shop_table.cart td.actions { display: block; padding: 4px 2px !important; border: 0 !important; background: none !important; text-align: left !important; }
.woocommerce-cart td.actions > button[name="update_cart"] { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0 !important; border: 0 !important; }
.cupom-abrir { background: none; border: 0; padding: 4px 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--marca); text-decoration: underline; cursor: pointer; }
.woocommerce-cart td.actions .coupon { display: none; float: none !important; width: 100%; gap: 8px; margin-top: 8px; }
.woocommerce-cart td.actions .coupon.aberto { display: flex; }
.woocommerce-cart td.actions .coupon input.input-text { flex: 1; width: auto !important; min-height: 46px; border: 1px solid var(--borda); border-radius: 12px; padding: 0 14px; font: inherit; margin: 0 !important; }
.woocommerce-cart td.actions .coupon .button { min-height: 46px; border-radius: 12px; padding: 0 18px; width: auto !important; }
/* Resumo */
.woocommerce-cart .cart-collaterals { width: 100%; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100% !important; background: var(--fundo-suave); border-radius: 20px; padding: 18px; }
.woocommerce-cart .cart_totals h2 { font-size: 18px; margin: 0 0 8px; }
.woocommerce-cart .cart_totals p.tfe-carrinho { margin: 0 0 12px; background: #fff; border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.woocommerce-cart .cart_totals table.shop_table { border: 0; margin: 0 0 12px; background: none; }
.woocommerce-cart .cart_totals table.shop_table tbody { display: block; }
.woocommerce-cart .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { display: block !important; border: 0 !important; padding: 0 !important; background: none !important; font-size: 15px; }
.woocommerce-cart .cart_totals table.shop_table th { font-weight: 600; color: var(--tinta); }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right !important; }
.woocommerce-cart .cart_totals table.shop_table td::before { content: none !important; display: none !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination { font-size: 12px; color: var(--cinza); margin: 4px 0 0; }
.woocommerce-cart .cart_totals .shipping-calculator-button { font-size: 12px; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { font-size: 18px; font-weight: 800; color: var(--tinta-forte); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin: 0 !important; border-radius: 999px; background: var(--marca) !important; color: #fff !important; font-size: 16px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.carrinho-continuar { display: block; text-align: center; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--marca); }
.woocommerce-cart .cart_totals .parcelas-carrinho { margin: -4px 0 12px; text-align: right; font-size: 13px; color: var(--tinta-suave); }
.woocommerce-cart .cart_totals tr.parcelas-tr { border-bottom: 0 !important; padding-top: 0 !important; }
.woocommerce-cart .cart_totals tr.parcelas-tr td { font-size: 13px !important; color: var(--tinta-suave); width: 100%; }

/* Textos para leitor de tela dentro dos carrosséis não criam rolagem lateral */
.carrossel-produtos > li, .slides > * { position: relative; }

/* Janela "Adicionado ao carrinho" e complementos do presente */
.pos-compra { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; animation: posEntrar .2s ease; }
.pos-compra.fechando { opacity: 0; transition: opacity .2s; }
.pos-compra-fundo { position: absolute; inset: 0; background: rgba(18, 48, 47, .45); }
.pos-compra-painel { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: var(--raio); padding: 18px 18px 20px; box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.pos-compra-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.pos-compra-titulo { margin: 0; font-family: var(--fonte-titulo); font-size: 19px; font-weight: 800; color: var(--tinta-forte); display: flex; align-items: center; gap: 8px; }
.pos-compra-ok { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--marca); color: #fff; font-size: 16px; }
.pos-compra-item { display: flex; gap: 12px; align-items: center; padding: 10px; background: var(--fundo-suave); border-radius: 14px; }
.pos-compra-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; flex: none; }
.pos-compra-item div { display: flex; flex-direction: column; gap: 2px; font-size: 14px; min-width: 0; }
.pos-compra-item small { color: var(--cinza); font-size: 12px; }
.pos-compra-complete { margin-top: 16px; }
.pos-compra-subtitulo { margin: 0; font-family: var(--fonte-titulo); font-size: 17px; font-weight: 800; color: var(--tinta-forte); }
.pos-compra-dica { margin: 2px 0 10px; font-size: 13px; color: var(--cinza); }
.pos-compra-total { margin: 14px 0 0; font-size: 13px; color: var(--cinza); text-align: center; }
.pos-compra-acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.pos-compra-acoes a { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; text-align: center; text-decoration: none; font-weight: 800; padding: 0 12px; }
.complementos { list-style: none; margin: 0; padding: 2px 2px 6px; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; }
.complemento { position: relative; flex: 0 0 140px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--linha); border-radius: 14px; padding: 8px; background: #fff; }
.complemento-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; display: block; }
.complemento-nome { font-size: 13px; line-height: 1.3; color: var(--tinta); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 34px; }
.complemento-preco { font-size: 14px; font-weight: 800; color: var(--tinta-forte); }
.complemento-preco del { font-weight: 400; color: var(--cinza); font-size: 12px; }
.complemento-botao { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 36px; border-radius: 999px; border: 1px solid var(--marca); color: var(--marca); font-size: 13px; font-weight: 800; text-decoration: none; }
.complemento-botao:hover { background: var(--marca-clara); }
.complemento-botao.adicionado { background: var(--marca); color: #fff; }
.carrinho-complementos { margin-top: 18px; padding: 16px; border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; }
.carrinho-complementos h2 { margin: 0; font-size: 18px; }
.carrinho-complementos p { margin: 2px 0 10px; font-size: 13px; color: var(--cinza); }
@keyframes posEntrar { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 640px) {
	.pos-compra { align-items: flex-end; padding: 0; }
	.pos-compra-painel { max-width: none; border-radius: var(--raio) var(--raio) 0 0; max-height: 88vh; padding-bottom: calc(20px + env(safe-area-inset-bottom)); animation: posSubir .25s ease; }
	.complemento { flex-basis: 128px; }
}
@keyframes posSubir { from { transform: translateY(40px); } to { transform: none; } }

/* Página "Pedido recebido" */
.woocommerce-order-received .woocommerce-thankyou-order-received { display: none; }
.woocommerce-order { display: flex; flex-direction: column; gap: 18px; }
.woocommerce-order > * { margin: 0 !important; }
.tf-obrigado { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: var(--raio); background: var(--marca-clara); border: 1px solid #CFE7E4; }
.tf-obrigado-aguardando { background: #FFF6EC; border-color: #F6DDBF; }
.tf-obrigado-icone { flex: none; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--marca); color: #fff; }
.tf-obrigado-aguardando .tf-obrigado-icone { background: #E08A2E; }
.tf-obrigado p { margin: 0 0 6px; font-size: 15px; color: var(--tinta-suave); }
.tf-obrigado p:last-child { margin-bottom: 0; }
.tf-obrigado-titulo { font-family: var(--fonte-titulo); font-size: 22px !important; font-weight: 800; color: var(--tinta-forte) !important; line-height: 1.2; }
.tf-ao-vivo { display: flex; align-items: center; gap: 8px; font-size: 13px !important; font-weight: 700; color: #9A5B14 !important; }
.tf-ao-vivo.confirmado { color: var(--marca) !important; }
.tf-pulso { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #E08A2E; animation: tfPulso 1.4s ease-in-out infinite; }
@keyframes tfPulso { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
.tf-obrigado-prazo { font-size: 13px !important; }
ul.woocommerce-order-overview { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
ul.woocommerce-order-overview li { margin: 0; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--cinza); min-width: 0; }
ul.woocommerce-order-overview li strong { display: block; margin-top: 2px; font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--tinta-forte); overflow-wrap: anywhere; }
ul.woocommerce-order-overview li.woocommerce-order-overview__email, ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method { grid-column: 1 / -1; }
.woocommerce-order-details, .woocommerce-customer-details { padding: 18px; border: 1px solid var(--linha); border-radius: var(--raio); background: #fff; }
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 19px; margin: 0 0 12px; }
.tf-pedido-pago .woocommerce-order-details:has(.asaas-pix-instructions) { display: none; }
.woocommerce-order-details:has(.asaas-pix-instructions) { border: 2px solid var(--marca); }
.woocommerce-order-details:has(.asaas-pix-instructions) > ul.order_details { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.woocommerce-order-details:has(.asaas-pix-instructions) > ul.order_details > li:first-child { display: none; }
.asaas-pix-copy-to-clipboard { order: -1; }
.woocommerce-order-details__asaas-pix-payload { margin: 0 0 10px; padding: 12px; border: 1px dashed var(--borda); border-radius: 12px; background: var(--fundo-suave); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; color: var(--tinta-suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.woocommerce-order-details__asaas-pix-button { width: 100%; min-height: 54px; font-size: 16px !important; font-weight: 800 !important; border-radius: 999px !important; }
.asaas-pix-instructions { display: grid; grid-template-columns: 220px 1fr; gap: 18px; align-items: center; padding-top: 14px; border-top: 1px solid var(--linha); }
.asaas-pix-instructions .js-pix-qr-code { width: 220px; height: 220px; padding: 8px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; }
.asaas-pix-instructions__list { margin: 0; padding-left: 20px; font-size: 14px; color: var(--tinta-suave); display: flex; flex-direction: column; gap: 6px; }
.asaas-pix-instructions__list li::marker { color: var(--marca); font-weight: 800; }
.tf-pix-confianca { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: var(--fundo-suave); }
.tf-pix-cadeado { flex: none; color: var(--marca); margin-top: 2px; }
.tf-pix-confianca p { margin: 0 0 4px; font-size: 13px; color: var(--tinta-suave); }
.tf-pix-confianca p:last-child { margin: 0; }
.woocommerce-order-details .shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-order-details .shop_table th, .woocommerce-order-details .shop_table td { padding: 10px 0; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.woocommerce-order-details .shop_table td:last-child, .woocommerce-order-details .shop_table th:last-child { text-align: right; }
.woocommerce-order-details .shop_table tfoot tr:last-child th, .woocommerce-order-details .shop_table tfoot tr:last-child td { font-size: 16px; font-weight: 800; color: var(--tinta-forte); border-bottom: 0; }
.woocommerce-customer-details .col2-set, .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.woocommerce-customer-details address { font-style: normal; font-size: 14px; line-height: 1.6; color: var(--tinta-suave); border: 0; padding: 0; }
.tf-obrigado-acoes { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.tf-obrigado-acoes .botao-contorno { text-decoration: none; }
@media (max-width: 640px) {
	.asaas-pix-instructions { grid-template-columns: 1fr; justify-items: center; }
	.asaas-pix-instructions__list { justify-self: stretch; }
	.woocommerce-customer-details .col2-set, .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; }
	.tf-obrigado { padding: 16px; }
	.tf-obrigado-titulo { font-size: 20px !important; }
}
/* Anula o visual padrão do WooCommerce (itens flutuando com borda tracejada) */
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none !important; }
.woocommerce ul.order_details li { float: none !important; margin: 0 !important; border-right: 0 !important; }
.woocommerce ul.order_details.woocommerce-order-overview li { border: 1px solid var(--linha) !important; padding: 12px 14px !important; }
.woocommerce .woocommerce-order-details:has(.asaas-pix-instructions) ul.order_details li { padding: 0 !important; border: 0 !important; text-transform: none; font-size: 14px; }
/* Pix primeiro (logo abaixo do aviso) e lista numerada */
.tf-obrigado { order: -3; }
.tf-pedido-aguardando .woocommerce-order-details:has(.asaas-pix-instructions) { order: -2; }
.woocommerce ul.order_details.woocommerce-order-overview li.woocommerce-order-overview__payment-method { grid-column: auto; }
.woocommerce-order-details__asaas-pix-payload { overflow: hidden !important; }
.woocommerce .asaas-pix-instructions__list { list-style: decimal !important; padding-left: 20px !important; }
.woocommerce .asaas-pix-instructions__list li { display: list-item; list-style: decimal !important; }

/* Menu lateral: categorias com subcategorias em sanfona */
.menu-lateral li.tem-sub > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.menu-lateral li.tem-sub > a::after { content: ""; flex: none; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 4px 0 0; transition: transform .2s; }
.menu-lateral li.tem-sub.aberto > a::after { transform: rotate(-135deg); margin-top: 4px; }
.menu-lateral li.tem-sub.aberto > a { color: var(--marca); }
.menu-lateral li.tem-sub > .sub-menu, .menu-lateral li.tem-sub > .children { background: var(--fundo-suave); }
.menu-lateral li.ver-todos > a { color: var(--marca); font-size: 14px; }

/* Frase do balão */
.frase-balao { width: 100%; margin: 0 0 14px; scroll-margin-top: 80px; }
.frase-balao label { display: block; font-weight: 700; margin-bottom: 6px; color: var(--tinta-forte); }
.frase-balao input[type=text] { width: 100%; min-height: 48px; border: 1px solid var(--borda); border-radius: 12px; padding: 0 14px; font-size: 16px; }
.frase-balao input[type=text]:focus { outline: 2px solid var(--marca); outline-offset: 1px; border-color: var(--marca); }
.frase-contador { display: block; margin-top: 4px; font-size: 12px; color: var(--cinza); }
.frase-balao.no-limite .frase-contador { color: var(--coral-texto); font-weight: 700; }
.frase-balao.sem-frase input[type=text] { opacity: .45; }
/* "Sem frase" como chave liga/desliga discreta */
.frase-balao .frase-sem { display: inline-flex !important; align-items: center; gap: 10px; margin: 10px 0 0 !important; padding: 0 !important; font-size: 14px !important; font-weight: 600; color: var(--tinta-suave); cursor: pointer; user-select: none; }
.frase-balao .frase-sem input[type=checkbox] { -webkit-appearance: none !important; appearance: none !important; position: relative; flex: none; width: 36px !important; height: 20px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: #D5E0DE !important; box-shadow: none !important; cursor: pointer; transition: background .2s; }
.frase-balao .frase-sem input[type=checkbox]::after { display: none !important; }
.frase-balao .frase-sem input[type=checkbox]::before { content: "" !important; display: block !important; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.frase-balao .frase-sem input[type=checkbox]:checked { background: var(--marca) !important; }
.frase-balao .frase-sem input[type=checkbox]:checked::before { transform: translateX(16px); }
.frase-balao .frase-sem input[type=checkbox]:focus-visible { outline: 2px solid var(--marca); outline-offset: 2px; }

/* Páginas institucionais */
.pagina .conteudo h2 { margin-top: 1.8em; font-size: 22px; }
.pagina .conteudo p, .pagina .conteudo li { line-height: 1.7; }
.pagina .conteudo ul { padding-left: 1.2em; }
.tf-dados { background: var(--fundo-suave); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px 20px; margin: 18px 0; }
.tf-dados p { margin: 4px 0; }
.tf-faq details { border-bottom: 1px solid var(--linha); padding: 14px 0; }
.tf-faq summary { cursor: pointer; font-weight: 700; color: var(--tinta-forte); }
.tf-faq details p { margin: 10px 0 0; }
.rodape .rodape-chips { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.rodape-seguro { display: inline-flex; align-items: center; gap: 12px; margin: 4px 0 0; padding: 10px 16px 10px 12px; border-radius: 14px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); color: #fff; }
.rodape-seguro svg { flex: none; width: 34px; height: 34px; padding: 6px; border-radius: 10px; background: #fff; color: var(--marca); }
.rodape-seguro span { display: flex; flex-direction: column; line-height: 1.25; }
.rodape-seguro strong { font-size: 14px; }
.rodape-seguro small { font-size: 12px; color: rgba(255, 255, 255, .75); }

/* ---------- Ajustes de conversão ---------- */
/* Carrinho e categoria sem rolagem lateral no celular */
.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
.woocommerce-cart .woocommerce > * { min-width: 0; }
.woocommerce-ordering, .woocommerce-ordering select { max-width: 100%; }
/* Produto em duas colunas a partir do tablet */
.single-product div.product .woocommerce-product-gallery { flex-basis: 340px; }
.single-product div.product .summary { flex-basis: 320px; }
/* País é sempre Brasil */
#billing_country_field, #shipping_country_field { display: none !important; }
/* Botão de cookies menor e fora do caminho dos botões */
.cookieadmin_re_consent { transform: scale(.78); transform-origin: bottom left; opacity: .85; }
@media (max-width: 760px) {
	.single-product .cookieadmin_re_consent { bottom: 92px !important; }
	body.compra-aberta .cookieadmin_re_consent, .woocommerce-checkout .cookieadmin_re_consent { display: none !important; }
	.barra-comprar { display: flex; align-items: center; gap: 12px; }
	.barra-preco { display: flex; flex-direction: column; line-height: 1.2; white-space: nowrap; }
	.barra-preco strong { font-family: var(--fonte-titulo); font-size: 19px; color: var(--tinta-forte); }
	.barra-preco small { font-size: 12px; color: var(--cinza); }
	.barra-comprar-botao { flex: 1; width: auto; }
}
/* Checkout: endereço de entrega em destaque */
.woocommerce-checkout #ship-to-different-address { font-size: 18px; }
.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
/* ---------- Conversão (compra e checkout) ---------- */
.single-product form.cart { flex-wrap: wrap; }
.single-product form.cart > .tfe-agenda, .single-product form.cart > .frase-balao, .single-product form.cart > .garantias-compra { flex: 1 0 100%; min-width: 0; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 56px; font-size: 17px; font-weight: 800; }
.garantias-compra { list-style: none; margin: 16px 0 0; padding: 14px 16px; display: grid; gap: 8px; background: var(--fundo-suave); border: 1px solid var(--linha); border-radius: 16px; font-size: 14px; color: var(--tinta-suave); }
.garantias-compra li { position: relative; padding-left: 26px; }
.garantias-compra li::before { content: ""; position: absolute; left: 2px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--marca) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat; }
.woocommerce-cart td.actions > button[name="update_cart"] { width: 1px !important; height: 1px !important; min-height: 0 !important; max-width: 1px !important; }
.woocommerce-checkout #payment { background: #fff !important; border: 1px solid var(--linha); border-radius: 20px; }
.woocommerce-checkout #payment ul.payment_methods { padding: 18px 20px !important; border-bottom: 1px solid var(--linha) !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 8px 0; font-weight: 700; }
.woocommerce-checkout #payment div.payment_box { background: var(--marca-clara) !important; border-radius: 12px; color: var(--tinta-suave); font-weight: 400; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--marca-clara) !important; }
.woocommerce-checkout #payment div.form-row { padding: 18px 20px !important; }
.woocommerce-checkout #place_order { width: 100%; min-height: 58px; font-size: 18px; font-weight: 800; }
.tf-cobranca-igual { background: var(--marca-clara); border-radius: 12px; padding: 12px 14px !important; }
.tf-cobranca-igual label { font-weight: 700; color: var(--tinta-forte); }
.cobranca-oculta { display: none !important; }
/* ---------- Ajustes de conversão (revisão geral) ---------- */
/* Botão "Comprar" nos cards */
.card-comprar { margin-top: 6px; display: flex; align-items: center; justify-content: center; min-height: 40px; border: 1.5px solid var(--marca); border-radius: 999px; color: var(--marca); font-weight: 800; font-size: 14px; transition: background .15s, color .15s; }
.card-link:hover .card-comprar, .card-link:focus-visible .card-comprar { background: var(--marca); color: #fff; }
/* Celular: cabeçalho em uma linha só (logo, ícones) mesmo em telas estreitas */
@media (max-width: 420px) {
	.topo-linha { gap: 8px 4px; }
	.logo img { height: 33px; }
	.topo-icones { gap: 0; }
	.topo-icones .icone-botao { width: 40px; height: 40px; }
}
/* Gaveta de compra acima do zoom da foto */
.compra-gaveta { z-index: 120; }
/* Avisos do WooCommerce sem o ícone sobreposto ao texto */
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { display: none !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding-left: 18px !important; }
/* Checkout no celular: um campo por linha (nada cortado) */
@media (max-width: 520px) {
	.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; margin-right: 0 !important; }
}
.woocommerce-checkout select { border-radius: 12px; }
/* ---------- Conversão: ajustes de usabilidade ---------- */
.atalhos-home { justify-content: flex-start; margin-top: 16px; }
@media (min-width: 900px) { .atalhos-home { justify-content: center; flex-wrap: wrap; overflow: visible; } }
.complementos { scrollbar-width: none; }
.complementos::-webkit-scrollbar { display: none; }
.pos-compra-acoes { position: sticky; bottom: -20px; margin: 10px -18px -20px; padding: 12px 18px calc(14px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--linha); }
.barra-loja .woocommerce-ordering { min-width: 0; display: flex; justify-content: flex-end; }
.barra-loja select { max-width: 100%; text-overflow: ellipsis; }
.woocommerce-checkout .checkbox .optional, .woocommerce-checkout label.checkbox .optional { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: none; border: 0; padding: 0; margin: 0 0 14px; font-size: 14px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
@media (max-width: 640px) {
	.tfe-checkout .form-row-first, .tfe-checkout .form-row-last, #billing_tf_nascimento_field, #billing_tf_sexo_field { float: none !important; width: 100% !important; }
	.barra-finalizar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--linha); box-shadow: 0 -6px 18px rgba(18, 48, 47, .08); }
	.barra-finalizar span { display: flex; flex-direction: column; line-height: 1.2; }
	.barra-finalizar small { font-size: 12px; color: var(--cinza); }
	.barra-finalizar strong { font-size: 18px; color: var(--tinta-forte); }
	.barra-finalizar .botao { flex: 1; max-width: 220px; justify-content: center; }
	.woocommerce-cart .rodape { padding-bottom: 76px; }
	.woocommerce-cart .whatsapp-flutuante { bottom: 88px; }
}
@media (min-width: 641px) { .barra-finalizar { display: none; } }
/* Botão de cookies menor e acima das barras fixas no celular */
@media (max-width: 640px) {
	.cookieadmin_re_consent { transform: scale(.8); transform-origin: bottom left; }
	.woocommerce-cart .cookieadmin_re_consent, .single-product .cookieadmin_re_consent { bottom: 92px !important; }
}
/* Barra do produto no celular: um botão só, largura total ("Escolher data e comprar") */
@media (max-width: 760px) {
	.barra-comprar { display: block; }
	.barra-comprar-botao { width: 100%; min-height: 56px; font-size: 16px; letter-spacing: .03em; border-radius: 14px; }
}

/* Suporte pelo WhatsApp nos pontos de dúvida (sem botão flutuante) */
.ajuda-whats { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 14px; background: var(--fundo-suave); color: var(--tinta-suave); font-size: .92rem; line-height: 1.45; }
.ajuda-whats svg { flex: none; color: #1FA855; margin-top: 1px; }
.ajuda-whats a { color: var(--marca); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.ajuda-checkout { margin-top: 14px; }

/* Esconde o balão flutuante de cookies; as preferências ficam no link do rodapé */
.cookieadmin_reconsent_wrap, .cookieadmin_re_consent { display: none !important; }

/* Blog e regiões atendidas */
.post-capa { margin: 0 0 20px; }
.post-capa img { width: 100%; height: auto; border-radius: 14px; display: block; }
.post-data { color: var(--cinza); font-size: 13px; margin: -6px 0 16px; }
.pagina .conteudo img { max-width: 100%; height: auto; border-radius: 10px; }
.pagina .conteudo h3 { margin-top: 1.4em; font-size: 18px; }
.grade-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; margin: 18px 0 28px; }
.cartao-post { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.cartao-post a { color: inherit; text-decoration: none; }
.cartao-post-img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cartao-post-titulo { font-size: 17px; line-height: 1.35; margin: 12px 14px 6px; }
.cartao-post-resumo { font-size: 14px; color: var(--cinza); margin: 0 14px 14px; line-height: 1.5; }
.posts-relacionados, .outras-regioes { margin-top: 28px; margin-bottom: 28px; }
.lista-regioes { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lista-regioes a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: rgba(0,0,0,.05); color: inherit; text-decoration: none; font-size: 14px; }
.descricao-termo { margin-bottom: 18px; }

/* Texto de SEO da home recolhido (o texto inteiro continua na página para o Google) */
.texto-recolhido { position: relative; }
.texto-recolhido .texto-seo-conteudo { max-height: 340px; overflow: hidden; position: relative; transition: max-height .3s ease; }
.texto-recolhido .texto-seo-conteudo::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 110px; background: linear-gradient(rgba(255,255,255,0), var(--fundo-suave)); pointer-events: none; }
.texto-recolhido.aberto .texto-seo-conteudo { max-height: none; }
.texto-recolhido.aberto .texto-seo-conteudo::after { display: none; }
.texto-seo-mais { display: block; margin: 14px auto 0; padding: 10px 26px; border: 1.5px solid var(--marca); border-radius: 999px; background: #fff; color: var(--marca); font-weight: 800; font-size: 14px; cursor: pointer; }
@media (max-width: 767px) { .texto-recolhido .texto-seo-conteudo { max-height: 220px; } }
.bloco-floricultura { background: var(--fundo-suave); border-radius: 14px; padding: 14px 18px; margin: 22px 0; font-size: 15px; line-height: 1.6; }
.bloco-floricultura a, .rodape-desc a { color: inherit; text-decoration: underline; }
