/*
Theme Name: Casa Vidro
Theme URI: https://casa-vidro-commerce-87d4a056.base44.app
Author: Casa Vidro Commerce
Description: Tema de loja para o varejo brasileiro, leve e pensado para o celular. A identidade visual (logo, cores, fontes) vem do plugin Casa Vidro Design; o tema só desenha a estrutura.
Version: 0.9.86
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: casavidro
Tags: e-commerce, block-themes, full-site-editing, one-column, wide-blocks
*/

/* As cores e fontes vêm do theme.json (que o Casa Vidro Design troca pela marca da loja) e das variáveis --cv-*. */

:root {
	/* espaço entre as seções (opção "Espaço entre seções" do painel; inc/estilos.php) */
	--cvs-gap: clamp(40px, 5vw, 72px);
	--cvs-radius: var(--cv-radius, 8px);
	--cvs-radius-button: var(--cv-radius-button, var(--cvs-radius));
	--cvs-price: var(--cv-color-price, var(--wp--preset--color--contrast));
	--cvs-sale: var(--cv-color-sale, #d0021b);
	--cvs-pix: #0f7b4b;
	--cvs-line: color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	--cvs-soft: color-mix(in srgb, var(--wp--preset--color--contrast) 4%, var(--wp--preset--color--base));
}

body { -webkit-font-smoothing: antialiased; }
img { height: auto; }

/* ---------- botões e campos */
.wp-element-button, .wp-block-button__link, .button, .woocommerce .button, .wc-block-components-button {
	border-radius: var(--cvs-radius-button) !important;
	transition: background-color .2s ease, opacity .2s ease;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], select, textarea,
.wc-block-components-text-input input, .wc-block-components-combobox input {
	border-radius: var(--cvs-radius) !important;
}

/* ---------- cabeçalho */
.cvs-header { border-bottom: 1px solid var(--cvs-line); background: var(--wp--preset--color--base); }
/* O WordPress embrulha a parte do modelo num <header> da mesma altura: quem gruda no topo é o embrulho */
header.wp-block-template-part:has(> .cvs-header.is-sticky) { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part:has(> .cvs-header.is-sticky) { top: 32px; }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part:has(> .cvs-header.is-sticky) { top: 0; } }
.cvs-header .wp-block-site-logo img { max-height: 56px; width: auto; }
/* Com logo, o nome em texto sai (o bloco do logo não imprime nada quando não há logo) */
.wp-block-site-logo + .wp-block-site-title,
.wp-block-group:has(> .wp-block-site-logo) > .wp-block-site-title { display: none; }
.cvs-header .wp-block-navigation { font-weight: 500; }
@media (max-width: 781px) {
	.cvs-header .cvs-header__nav-desktop { display: none !important; }
	.cvs-header .wp-block-site-logo img { max-height: 40px; }
}

/* ---------- cartões de produto */
.wc-block-product, .wc-block-grid__product, li.product {
	background: var(--wp--preset--color--base);
}
.wc-block-components-product-image img, .wc-block-grid__product-image img, .wp-block-woocommerce-product-image img {
	border-radius: var(--cvs-radius);
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.wc-block-components-product-sale-badge, .onsale {
	background: var(--cvs-sale) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600;
	padding: 2px 10px !important;
}
.price, .wc-block-components-product-price { color: var(--cvs-price); font-weight: 600; }
.price del, .wc-block-components-product-price del { opacity: .55; font-weight: 400; }

/* Preço no Pix e parcelas (inc/brasil.php) */
.cvs-pay { display: block; margin-top: 4px; font-size: .82em; line-height: 1.35; font-weight: 400; color: var(--wp--preset--color--contrast); opacity: .85; }
.cvs-pay__pix { display: block; color: var(--cvs-pix); font-weight: 600; opacity: 1; }
.cvs-pay__pix small { font-weight: 400; }
.single-product .cvs-pay { font-size: .62em; margin-top: 8px; }

/* ---------- seções da página inicial */
.cvs-hero { border-radius: var(--cvs-radius); overflow: hidden; }
.cvs-benefits { border-block: 1px solid var(--cvs-line); }
.cvs-benefits .wp-block-column { text-align: center; }
.cvs-benefits p { margin: 0; }
.cvs-category-card { border-radius: var(--cvs-radius); overflow: hidden; }

/* ---------- rodapé */
.cvs-footer { background: var(--cvs-soft); border-top: 1px solid var(--cvs-line); }
.cvs-footer a { text-decoration: none; }
.cvs-footer a:hover { text-decoration: underline; }
.cvs-seals { display: flex; flex-wrap: wrap; gap: 8px; }
.cvs-seals span { border: 1px solid var(--cvs-line); border-radius: 6px; padding: 4px 8px; font-size: 12px; background: var(--wp--preset--color--base); }

/* ---------- barra fixa do celular (inc/mobile-bar.php) */
.cvs-mbar { display: none; }
@media (max-width: 781px) {
	.cvs-mbar {
		display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
		position: fixed; inset: auto 0 0 0; z-index: 90;
		background: var(--wp--preset--color--base); border-top: 1px solid var(--cvs-line);
		padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
		box-shadow: 0 -6px 18px rgba(0, 0, 0, .06);
	}
	.cvs-mbar a { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11px; color: var(--wp--preset--color--contrast); text-decoration: none; padding: 4px 0; position: relative; }
	.cvs-mbar svg { width: 22px; height: 22px; }
	.cvs-mbar .cvs-mbar__wa { color: #128c4b; }
	.cvs-mbar .cvs-mbar__count { position: absolute; top: 0; left: 55%; min-width: 16px; height: 16px; border-radius: 99px; background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--base); font-size: 10px; line-height: 16px; text-align: center; padding: 0 4px; }
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ---------- busca do cabeçalho: só o ícone, discreto */
.cvs-header .wp-block-search__button {
	background: transparent !important; color: var(--wp--preset--color--contrast) !important;
	padding: 6px !important; border: 0 !important; min-width: 0; box-shadow: none;
}
.cvs-header .wp-block-search__button svg { width: 24px; height: 24px; fill: currentColor; }
.cvs-header .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; }

/* ---------- seções e listas de produtos (blocos casavidro/*) */
.cvs-section { margin-block-start: var(--wp--preset--spacing--60); }
.cvs-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: var(--wp--preset--spacing--40); }
.cvs-section__title { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.cvs-section__link { font-size: var(--wp--preset--font-size--small); font-weight: 600; white-space: nowrap; }
.cvs-muted { color: var(--wp--preset--color--accent-4); font-size: var(--wp--preset--font-size--small); margin: 0; }
.cvs-empty { color: var(--wp--preset--color--accent-4); }

/* position: relative prende os textos para leitor de tela do WooCommerce (absolutos) dentro do carrossel */
.cvs-products { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--40); position: relative; }
.cvs-products > li { min-width: 0; }
.cvs-products.is-grid { grid-template-columns: repeat(var(--cvs-cols, 4), minmax(0, 1fr)); }
.cvs-products.is-carousel {
	grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cvs-cols, 4) - 1) * var(--wp--preset--spacing--40)) / var(--cvs-cols, 4));
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.cvs-products.is-carousel::-webkit-scrollbar { display: none; }
.cvs-products.is-carousel > li { scroll-snap-align: start; }
@media (max-width: 781px) {
	.cvs-products.is-grid { grid-template-columns: repeat(var(--cvs-cols-m, 2), minmax(0, 1fr)); gap: 12px; }
	.cvs-products.is-carousel { grid-auto-columns: calc(88% / var(--cvs-cols-m, 2)); gap: 12px; }
}
.cvs-carousel { position: relative; }
.cvs-carousel__nav {
	position: absolute; top: 35%; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid var(--cvs-line); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}
.cvs-carousel__nav.is-prev { left: -14px; }
.cvs-carousel__nav.is-next { right: -14px; }
.cvs-carousel__nav:disabled { opacity: 0; pointer-events: none; }
@media (max-width: 781px) { .cvs-carousel__nav { display: none; } }

/* cartão */
.cvs-card { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; }
.cvs-card__media { position: relative; display: block; border-radius: var(--cvs-radius); overflow: hidden; background: var(--cvs-soft); }
.cvs-card__img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .35s ease; }
.cvs-card__media:hover .cvs-card__img { transform: scale(1.04); }
.cvs-card__badge { position: absolute; top: 8px; left: 8px; z-index: 1; background: var(--cvs-sale); color: #fff; font-size: 12px; font-weight: 700; border-radius: 99px; padding: 2px 9px; }
.cvs-card__badge.is-out { background: var(--wp--preset--color--contrast); }
.cvs-card__title { margin: 4px 0 0; font-size: var(--wp--preset--font-size--medium); font-family: var(--wp--preset--font-family--body); font-weight: 500; line-height: 1.35; }
.cvs-card__title a { color: inherit; text-decoration: none; }
.cvs-card__price { font-size: var(--wp--preset--font-size--medium); }
.cvs-card__btn { margin-top: auto; text-align: center; font-size: var(--wp--preset--font-size--small) !important; padding: .6rem 1rem !important; }
.cvs-card__btn.is-outline, .wp-element-button.is-outline { background: transparent !important; color: var(--wp--preset--color--contrast) !important; box-shadow: inset 0 0 0 1.5px currentColor; }
.cvs-card__btn.added::after { content: " ✓"; }
.cvs-card .added_to_cart { font-size: var(--wp--preset--font-size--small); text-align: center; }

/* categorias */
.cvs-cat { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; }
.cvs-cat__img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--cvs-radius); background: var(--cvs-soft); }
.cvs-cat__img.is-empty { display: grid; place-items: center; font-size: 2.5rem; font-weight: 700; color: var(--wp--preset--color--accent-1); }
.cvs-cat__name { font-weight: 600; }
.cvs-cat__count { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); margin-top: -6px; }

/* abas */
.cvs-tabs__nav { display: flex; gap: 8px; overflow-x: auto; margin-bottom: var(--wp--preset--spacing--40); scrollbar-width: none; }
.cvs-tabs__tab {
	flex: none; border: 1px solid var(--cvs-line); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	border-radius: 99px; padding: 8px 16px; font: inherit; font-weight: 500; cursor: pointer;
}
.cvs-tabs__tab[aria-selected="true"] { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border-color: transparent; }

/* ---------- página de produto */
.cvs-product__summary > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.cvs-product .wp-block-woocommerce-product-price { font-weight: 700; }
.cvs-product__buy form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.cvs-product__buy .single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 1.05rem !important; }
.cvs-product__buy .quantity input { height: 52px; width: 72px; text-align: center; }

.cvs-pagamento { border: 1px solid var(--cvs-line); border-radius: var(--cvs-radius); padding: 12px 14px; }
.cvs-pagamento summary { cursor: pointer; display: flex; justify-content: space-between; gap: 8px; font-weight: 600; list-style: none; }
.cvs-pagamento summary::-webkit-details-marker { display: none; }
.cvs-pagamento summary::after { content: "+"; font-weight: 400; }
.cvs-pagamento[open] summary::after { content: "–"; }
.cvs-pagamento__pix { color: var(--cvs-pix); margin-left: auto; }
.cvs-pagamento__line { margin: 10px 0 4px; font-size: var(--wp--preset--font-size--small); }
.cvs-pagamento__table { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--small); columns: 2; column-gap: 24px; }
.cvs-pagamento__table li { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; break-inside: avoid; border-bottom: 1px dashed var(--cvs-line); }

.cvs-estoque__text { margin: 0 0 6px; color: var(--cvs-sale); font-size: var(--wp--preset--font-size--small); }
.cvs-estoque__bar { display: block; height: 6px; border-radius: 99px; background: var(--cvs-soft); overflow: hidden; }
.cvs-estoque__bar span { display: block; height: 100%; background: var(--cvs-sale); border-radius: inherit; }

.cvs-wa-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px;
	border: 1.5px solid #128c4b; color: #128c4b; border-radius: var(--cvs-radius-button); font-weight: 600; text-decoration: none;
}
.cvs-wa-btn:hover { background: #128c4b; color: #fff; }

.cvs-frete { background: var(--cvs-soft); border-radius: var(--cvs-radius); padding: 14px; }
.cvs-frete__label { display: block; font-weight: 600; margin-bottom: 8px; }
.cvs-frete__form { display: flex; gap: 8px; }
.cvs-frete__cep { flex: 1; min-width: 0; height: 46px; padding: 0 12px; border: 1px solid var(--cvs-line); font-size: 16px; background: var(--wp--preset--color--base); }
.cvs-frete__form .wp-element-button { padding: 0 18px !important; }
.cvs-frete__help { display: inline-block; margin-top: 6px; font-size: 12px; }
.cvs-frete__rates { list-style: none; margin: 10px 0 0; padding: 0; font-size: var(--wp--preset--font-size--small); }
.cvs-frete__rates li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--cvs-line); }
.cvs-frete__msg { margin: 10px 0 0; font-size: var(--wp--preset--font-size--small); }
.cvs-frete__msg.is-error { color: var(--cvs-sale); }

.cvs-selos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: var(--wp--preset--font-size--small); }
.cvs-selos li { display: flex; align-items: center; gap: 10px; }
.cvs-selos svg { flex: none; color: var(--wp--preset--color--accent-1); }

.wp-block-woocommerce-product-details { margin-block-start: var(--wp--preset--spacing--60) !important; }

/* barra de comprar (celular, página de produto): substitui a barra de atalhos */
.cvs-buybar { display: none; }
@media (max-width: 781px) {
	body.single-product .cvs-mbar { display: none; }
	.cvs-buybar {
		display: flex; align-items: center; gap: 12px; position: fixed; inset: auto 0 0 0; z-index: 90;
		background: var(--wp--preset--color--base); border-top: 1px solid var(--cvs-line);
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 18px rgba(0, 0, 0, .08);
	}
	.cvs-buybar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
	.cvs-buybar__name { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .75; }
	.cvs-buybar__price { font-weight: 700; }
	.cvs-buybar__btn { padding: .7rem 1.6rem !important; }
	.cvs-pagamento__table { columns: 1; }
}
html { scroll-behavior: smooth; }
#comprar { scroll-margin-top: 90px; }

/* ---------- loja (lista de produtos) */
.cvs-shop__bar { margin-block: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); }
@media (max-width: 781px) {
	.cvs-shop .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.cvs-benefits { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
}

/* Acessibilidade */
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--accent-1); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* =====================================================================
   Estilo Elegante (body.cvs-estilo-elegante) — inc/estilos.php
   Cabeçalho transparente sobre o banner que fica branco ao rolar, banner de tela cheia
   com carrossel de produtos e cards de destaque. Pensado primeiro para o celular.
   ===================================================================== */
.cvs-estilo-elegante {
	--cvs-el-serif: var(--cv-font-title, 'Casa Vidro Display', 'Playfair Display', Georgia, 'Times New Roman', serif);
	--cvs-el-gutter: 12px;
}
.cvs-estilo-elegante:not(.single-product) { padding-bottom: 0 !important; }
.cvs-estilo-elegante .wp-site-blocks > main.cvs-home { margin-block-start: 0; }

/* ---------- cabeçalho */
.cvs-estilo-elegante header.wp-block-template-part:has(> .cvs-hd) { position: sticky; top: 0; z-index: 100; }
.cvs-estilo-elegante header.wp-block-template-part:has(> .cvs-hd.is-overlay) { position: fixed; top: var(--cvs-top, 0px); left: 0; right: 0; }
.cvs-estilo-elegante header.wp-block-template-part:has(> .cvs-hd.is-overlay) + * { margin-block-start: 0; }
.cvs-hd { color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--base); transition: background-color .35s ease, color .35s ease, box-shadow .35s ease; }
.cvs-hd.is-overlay:not(.is-solid) { background: transparent; color: #fff; }
.cvs-hd.is-solid { box-shadow: 0 1px 0 var(--cvs-line); }
.cvs-hd__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; max-width: 1440px; margin: 0 auto; }
.cvs-hd__logo { display: flex; align-items: center; color: inherit; text-decoration: none; min-width: 0; }
.cvs-hd__img { display: block; height: 30px; width: auto; max-width: 150px; object-fit: contain; }
.cvs-hd__img.is-light { display: none; }
.cvs-hd.is-overlay:not(.is-solid).has-light-logo .cvs-hd__img.is-dark { display: none; }
.cvs-hd.is-overlay:not(.is-solid).has-light-logo .cvs-hd__img.is-light { display: block; }
.cvs-hd.is-overlay:not(.is-solid):not(.has-light-logo) .cvs-hd__img.is-dark { filter: brightness(0) invert(1); }
.cvs-hd__name { font-family: var(--cvs-el-serif); font-size: 1.5rem; letter-spacing: .02em; white-space: nowrap; }
.cvs-hd__actions { display: flex; align-items: center; gap: 18px; }
.cvs-hd__bag { color: inherit; text-decoration: none; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.cvs-hd__menu { background: none; border: 0; padding: 4px; margin: -4px; color: inherit; cursor: pointer; display: flex; }

/* ---------- gaveta do menu */
.cvs-drawer { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .35); opacity: 0; transition: opacity .3s ease; }
.cvs-drawer[hidden] { display: none; }
.cvs-drawer.is-open { opacity: 1; }
.cvs-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); overflow-y: auto;
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	padding: 16px 22px calc(24px + env(safe-area-inset-bottom)); transform: translateX(100%); transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}
.cvs-drawer.is-open .cvs-drawer__panel { transform: none; }
.cvs-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.cvs-drawer__title { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.cvs-drawer__close { background: none; border: 0; padding: 4px; margin: -4px; color: inherit; cursor: pointer; display: flex; }
.cvs-drawer__search input[type="search"] { width: 100%; border: 0; border-bottom: 1px solid var(--cvs-line); border-radius: 0 !important; padding: 10px 0; background: transparent; font-size: 16px; color: inherit; }
.cvs-drawer__menu { list-style: none; margin: 18px 0 0; padding: 0; }
.cvs-drawer__menu a { display: block; padding: 12px 0; font-family: var(--cvs-el-serif); font-size: 1.6rem; line-height: 1.2; color: inherit; text-decoration: none; }
html.cvs-locked, html.cvs-locked body { overflow: hidden; }

/* ---------- banner elegante */
.cvs-hero-el {
	position: relative; overflow: hidden; color: #fff; background: var(--cvs-hero-bg, #e9e4de);
	min-height: calc(var(--cvs-hero-h, 100svh) - var(--cvs-tb, 0px)); display: flex; flex-direction: column; justify-content: flex-end;
	margin-block: 0 !important;
}
.cvs-hero-el__bgs, .cvs-hero-el__shade { position: absolute; inset: 0; }
.cvs-hero-el__bg {
	position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none;
	object-fit: var(--cvs-hero-fit, cover); object-position: var(--cvs-hero-pos, center);
	opacity: 0; transform: scale(1.04); transition: opacity 1.1s ease, transform 6s ease;
}
.cvs-hero-el__bg.is-active { opacity: 1; transform: none; }
.cvs-hero-el__shade { background: linear-gradient(180deg, rgba(0, 0, 0, calc(var(--cvs-hero-dim, .25) * .8)) 0%, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, var(--cvs-hero-dim, .25)) 100%); pointer-events: none; }
.cvs-hero-el__content { position: relative; padding: 96px 20px 22px; text-align: center; transition: opacity .45s ease; text-shadow: 0 1px 18px rgba(0, 0, 0, .25); }
.cvs-hero-el__content.is-swapping { opacity: 0; }
.cvs-hero-el__title { margin: 0; font-family: var(--cvs-el-serif); font-weight: 400; line-height: 1.05; color: inherit; font-size: clamp(2.1rem, 9vw, 4.5rem); }
.cvs-hero-el__it { display: block; font-style: italic; text-transform: none; }
.cvs-hero-el__tt { display: block; text-transform: uppercase; letter-spacing: .04em; }
.cvs-hero-el__sub { margin: 12px auto 0; max-width: 34ch; font-size: 15px; line-height: 1.45; opacity: .92; }
.cvs-hero-el__btn {
	display: inline-block; margin-top: 18px; padding: 13px 34px; background: #fff; color: #111; text-decoration: none;
	font-size: 13px; letter-spacing: .14em; text-transform: uppercase; border-radius: var(--cvs-radius-button);
	transition: background-color .2s ease, color .2s ease;
}
.cvs-hero-el__btn:hover { background: #111; color: #fff; }
.cvs-hero-el__bottom { position: relative; padding: 0 0 calc(16px + env(safe-area-inset-bottom)); }
.cvs-hero-el__nav { display: flex; justify-content: center; gap: 8px; margin-bottom: 10px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.cvs-hero-el__nav button { background: none; border: 0; color: inherit; padding: 4px 2px; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.cvs-hero-el__nav button:disabled { opacity: .45; cursor: default; }
.cvs-hero-el__cards {
	list-style: none; margin: 0; padding: 0 var(--cvs-el-gutter); display: flex; gap: var(--cvs-el-gutter);
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.cvs-hero-el__cards::-webkit-scrollbar { display: none; }
.cvs-hero-el__card {
	flex: 0 0 calc(100% - 2 * var(--cvs-el-gutter)); scroll-snap-align: center; min-width: 0;
	display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px;
	background: rgba(255, 255, 255, .96); color: #111; box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.cvs-hero-el__card.is-empty { visibility: hidden; height: 0; padding: 0; }
.cvs-hero-el__thumb { flex: 0 0 64px; height: 64px; border-radius: 8px; overflow: hidden; background: #f3f1ee; display: block; }
.cvs-hero-el__thumb img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.cvs-hero-el__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; line-height: 1.25; }
.cvs-hero-el__cat { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
.cvs-hero-el__name { color: inherit; text-decoration: none; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvs-hero-el__price { font-size: 14px; font-weight: 600; }
.cvs-hero-el__price del { font-weight: 400; opacity: .5; margin-right: 4px; }
.cvs-hero-el__bag {
	flex: 0 0 44px; height: 44px; border-radius: 99px; display: flex; align-items: center; justify-content: center;
	color: #111; border: 1px solid rgba(0, 0, 0, .12); text-decoration: none; transition: background-color .2s ease, color .2s ease;
}
.cvs-hero-el__bag:hover, .cvs-hero-el__bag.added { background: #111; color: #fff; }
.cvs-hero-el__bag.loading { opacity: .5; }
.cvs-hero-el .added_to_cart { display: none; }
@media (min-width: 782px) {
	.cvs-hero-el__content { padding-bottom: 32px; }
	.cvs-hero-el__cards { justify-content: center; }
	.cvs-hero-el__card { flex-basis: 340px; }
	.cvs-hero-el__bottom { padding-bottom: 28px; }
}

/* ---------- cards de destaque */
.cvs-dest {
	display: grid; grid-template-columns: 1fr; gap: var(--cvs-el-gutter, 12px);
	padding: var(--cvs-el-gutter, 12px); margin-block-start: 0 !important;
}
.cvs-dest__card {
	position: relative; display: block; overflow: hidden; border-radius: 12px; aspect-ratio: var(--cvs-dest-ratio, 4/5);
	background: var(--cvs-soft); color: #fff; text-decoration: none;
}
.cvs-dest__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: var(--cvs-dest-fit, cover); object-position: var(--cvs-dest-pos, center); transition: transform .8s ease; }
.cvs-dest__card:hover .cvs-dest__img { transform: scale(1.03); }
.cvs-dest__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .45) 100%); }
.cvs-dest__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.cvs-dest__title { font-family: var(--cvs-el-serif, Georgia, serif); font-size: clamp(1.7rem, 7vw, 2.4rem); line-height: 1.05; }
.cvs-dest__link { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 5px; }
@media (min-width: 782px) { .cvs-dest { grid-template-columns: repeat(var(--cvs-dest-cols, 2), minmax(0, 1fr)); } }

/* ---------- demais seções no Elegante */
.cvs-estilo-elegante .cvs-section__title, .cvs-estilo-elegante h1, .cvs-estilo-elegante h2 { font-family: var(--cvs-el-serif); font-weight: 400; }
.cvs-el-section { padding-inline: var(--cvs-el-gutter); }

/* =====================================================================
   Estilo Nora (body.cvs-estilo-nora) — inc/estilos.php e inc/nora.php
   Editorial em tons neutros: faixa de avisos, menu + logo, palavra gigante, faixa escura de categorias,
   banner dividido, vantagens, vitrines com cartão mínimo, bloco editorial e rodapé com newsletter.
   Cores: fundo = "Fundo suave" (accent-3) da marca; faixas escuras = cor de texto (contrast).
   ===================================================================== */
@font-face { font-family: 'Casa Vidro Display'; src: url('assets/fonts/playfair.woff2') format('woff2'); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Casa Vidro Display'; src: url('assets/fonts/playfair-italic.woff2') format('woff2'); font-weight: 400 700; font-style: italic; font-display: swap; }

.cvs-estilo-nora {
	--cvs-n-bg: var(--wp--preset--color--accent-3);
	--cvs-n-ink: var(--wp--preset--color--contrast);
	--cvs-n-dark: var(--wp--preset--color--contrast);
	--cvs-n-paper: var(--wp--preset--color--base);
	--cvs-n-line: color-mix(in srgb, var(--cvs-n-ink) 14%, transparent);
	--cvs-n-serif: var(--cv-font-title, 'Casa Vidro Display', 'Playfair Display', Georgia, 'Times New Roman', serif);
	--cvs-el-serif: var(--cvs-n-serif);
	--cvs-n-pad: clamp(16px, 3vw, 40px);
	background: var(--cvs-n-bg); color: var(--cvs-n-ink);
	padding-bottom: 0 !important;
}
.cvs-estilo-nora:has(.cvs-nh__top) .cvd-topbar { display: none; }
.cvs-estilo-nora .wp-site-blocks > main.cvs-home { margin-block-start: 0; }
.cvs-estilo-nora .wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

/* ---------- textos e botões comuns */
.cvs-eyebrow, .cvs-hn__eyebrow { margin: 0 0 14px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.cvs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 28px; min-height: 48px;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); text-decoration: none;
	font-size: 12px; letter-spacing: .12em; text-transform: uppercase; border-radius: var(--cv-radius-button, 0);
	border: 1px solid var(--wp--preset--color--contrast); transition: background-color .2s ease, color .2s ease;
}
.cvs-btn:hover { background: transparent; color: var(--wp--preset--color--contrast); }
.cvs-btn.is-outline { background: transparent; color: var(--wp--preset--color--contrast); }
.cvs-btn.is-outline:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* ---------- cabeçalho */
.cvs-estilo-nora header.wp-block-template-part:has(> .cvs-nh) { position: sticky; top: calc(-1 * var(--cvs-nh-top, 0px)); z-index: 100; }
.cvs-estilo-nora header.wp-block-template-part:has(> .cvs-nh .cvs-nh__top) { --cvs-nh-top: 34px; }
.cvs-nh { background: var(--cvs-n-bg); transition: box-shadow .3s ease; }
.cvs-nh.is-scrolled { box-shadow: 0 1px 0 var(--cvs-n-line); }
.cvs-nh__top {
	height: 34px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 0 var(--cvs-n-pad);
	background: var(--cvs-n-dark); color: var(--cvs-n-paper); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
}
.cvs-nh__top-c { text-align: center; }
.cvs-nh__top-r { display: flex; justify-content: flex-end; gap: 20px; }
.cvs-nh__top-r a { color: inherit; text-decoration: none; }
.cvs-nh__top-r a + a { padding-left: 20px; border-left: 1px solid color-mix(in srgb, currentColor 40%, transparent); }
.cvs-nh__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 20px var(--cvs-n-pad); max-width: 1600px; margin: 0 auto; }
.cvs-nh__nav { display: flex; gap: 28px; flex-wrap: wrap; }
.cvs-nh__nav a, .cvs-nh__cart { color: inherit; text-decoration: none; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.cvs-nh__nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.cvs-nh__logo { color: inherit; text-decoration: none; display: flex; justify-content: center; }
.cvs-nh .cvs-nh__img { display: block; height: 36px; width: auto; max-width: 200px; object-fit: contain; }
.cvs-nh__name { font-family: var(--cvs-n-serif); font-size: 30px; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; line-height: 1; }
.cvs-nh__icons { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.cvs-nh__icon { position: relative; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 4px; color: inherit; cursor: pointer; text-decoration: none; }
.cvs-nh__burger { display: none; background: none; border: 0; padding: 4px; color: inherit; cursor: pointer; }
.cvs-nh.is-logo-left .cvs-nh__bar { grid-template-columns: auto 1fr auto; }
.cvs-nh.is-logo-left .cvs-nh__logo { order: -1; justify-content: flex-start; }
.cvs-nh.is-logo-left .cvs-nh__nav { justify-content: center; }
.cvs-fav-count { position: absolute; top: -2px; right: -4px; min-width: 16px; height: 16px; border-radius: 99px; background: var(--cvs-n-ink); color: var(--cvs-n-paper); font-size: 10px; line-height: 16px; text-align: center; padding: 0 4px; }
.cvs-drawer__menu li.is-small a { font-family: inherit; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 10px 0; }
.cvs-drawer__menu li.is-small:first-of-type { margin-top: 18px; border-top: 1px solid var(--cvs-line); padding-top: 10px; }
@media (max-width: 1023px) {
	.cvs-nh__top { grid-template-columns: 1fr; }
	.cvs-nh__top-l, .cvs-nh__top-r { display: none; }
	.cvs-nh__bar { grid-template-columns: 72px minmax(0, 1fr) 72px; gap: 8px; padding-block: 14px; }
	.cvs-nh__logo { min-width: 0; }
	.cvs-nh__name { overflow: hidden; text-overflow: ellipsis; }
	.cvs-nh__icon.is-fav { display: none; }
	.cvs-nh__cart-n { position: absolute; top: -2px; right: -6px; font-size: 0; }
	.cvs-nh__cart-n .cvs-hd__count { display: block; min-width: 16px; height: 16px; border-radius: 99px; background: var(--cvs-n-ink); color: var(--cvs-n-paper); font-size: 10px; line-height: 16px; text-align: center; padding: 0 4px; letter-spacing: 0; }
	.cvs-nh__burger { display: inline-flex; justify-self: start; }
	.cvs-nh__nav, .cvs-nh__icon.is-account, .cvs-nh__cart-text { display: none; }
	.cvs-nh.is-logo-left .cvs-nh__bar { grid-template-columns: 72px minmax(0, 1fr) 72px; }
	.cvs-nh.is-logo-left .cvs-nh__logo { order: 0; justify-content: center; }
	.cvs-nh__name { font-size: 20px; }
	.cvs-nh .cvs-nh__img { height: 30px; max-width: 100%; }
	.cvs-nh__icons { gap: 10px; }
}

/* ---------- banner Nora */
.cvs-hn { position: relative; overflow: hidden; padding: 0 var(--cvs-n-pad); margin-block: 0 !important; }
.cvs-hn__word {
	margin: 0; padding-top: clamp(12px, 2vw, 28px); position: relative; z-index: 0; text-align: center; white-space: nowrap;
	font-family: var(--cvs-n-serif); font-weight: 400; text-transform: uppercase; line-height: .78; letter-spacing: -.01em;
	font-size: var(--cvs-word-size, 20vw);
}
.cvs-hn__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) var(--cvs-hn-w, 62%); align-items: end; gap: 0 32px; }
.cvs-hn__grid:has(.cvs-hn__side) { grid-template-columns: minmax(0, 1fr) var(--cvs-hn-w, 62%) auto; }
.cvs-hn__text { padding: 40px 0 56px; position: relative; z-index: 2; }
.cvs-hn__title { margin: 0; font-family: var(--cvs-n-serif); font-weight: 400; text-transform: uppercase; line-height: 1.08; font-size: clamp(28px, 3.2vw, 46px); }
.cvs-hn__p { margin: 18px 0 0; max-width: 36ch; font-size: 15px; line-height: 1.55; opacity: .85; }
.cvs-hn__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cvs-hn__media { position: relative; z-index: 1; align-self: stretch; height: clamp(320px, 38vw, 600px); }
.is-palavra .cvs-hn__media { margin-top: calc(var(--cvs-word-size, 20vw) * -.36); height: calc(clamp(320px, 38vw, 600px) + var(--cvs-word-size, 20vw) * .36); }
.cvs-hn__img { display: block; width: 100%; height: 100% !important; object-fit: var(--cvs-hn-fit, cover); object-position: var(--cvs-hn-pos, center); }
.cvs-hn__side { align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 40px 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.cvs-hn__side i { display: block; width: 1px; flex: 0 0 90px; background: currentColor; opacity: .5; }
.cvs-hn.is-titulo { padding-top: clamp(24px, 4vw, 56px); }
.cvs-hn.is-titulo .cvs-hn__grid { align-items: center; }
.cvs-hn.is-titulo .cvs-hn__title { font-size: clamp(44px, 6.4vw, 104px); line-height: 1; }
.cvs-hn.is-titulo .cvs-hn__media { height: clamp(360px, 44vw, 680px); }
@media (max-width: 781px) {
	.cvs-hn__grid, .cvs-hn__grid:has(.cvs-hn__side) { grid-template-columns: 1fr; }
	.cvs-hn__media { order: -1; height: 72vw; margin-inline: calc(-1 * var(--cvs-n-pad)); }
	.is-palavra .cvs-hn__media { margin-top: calc(var(--cvs-word-size, 20vw) * -.14); height: 78vw; }
	.cvs-hn__word { padding-top: 16px; }
	.cvs-hn__side { display: none; }
	.cvs-hn__text { padding: 28px 0 40px; }
	.cvs-hn.is-titulo .cvs-hn__media { order: 2; margin-bottom: 24px; }
	.cvs-hn.is-titulo .cvs-hn__text { padding-bottom: 28px; }
}

/* ---------- faixa de categorias */
.cvs-fc { background: var(--cvs-n-dark, var(--wp--preset--color--contrast)); color: var(--cvs-n-paper, #fff); padding: clamp(24px, 3vw, 36px) var(--cvs-n-pad, 24px); margin-block: 0 !important; }
.cvs-fc.is-light { background: var(--cvs-n-paper, #fff); color: var(--cvs-n-ink, #111); }
.cvs-fc__row { display: grid; grid-template-columns: repeat(var(--cvs-fc-n, 4), minmax(0, 1fr)); max-width: 1600px; margin: 0 auto; }
.cvs-fc__item { display: flex; gap: 20px; align-items: stretch; padding: 0 24px; color: inherit; text-decoration: none; min-width: 0; }
.cvs-fc__item:first-child { padding-left: 0; }
.cvs-fc__item + .cvs-fc__item { border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.cvs-fc__thumb { flex: 0 0 clamp(72px, 7vw, 110px); aspect-ratio: 4 / 5; overflow: hidden; background: color-mix(in srgb, currentColor 8%, transparent); }
.cvs-fc__img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.cvs-fc__item:hover .cvs-fc__img { transform: scale(1.05); }
.cvs-fc__body { display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; }
.cvs-fc__title { font-family: var(--cvs-n-serif, Georgia, serif); font-size: clamp(16px, 1.4vw, 21px); text-transform: uppercase; line-height: 1.15; }
.cvs-fc__text { font-size: 12px; opacity: .7; line-height: 1.4; }
.cvs-fc__link { margin-top: 10px; display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 781px) {
	.cvs-fc__row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 0; margin-inline: calc(-1 * var(--cvs-n-pad, 16px)); padding-inline: var(--cvs-n-pad, 16px); }
	.cvs-fc__row::-webkit-scrollbar { display: none; }
	.cvs-fc__item { flex: 0 0 78%; scroll-snap-align: start; padding: 0 16px; }
}

/* ---------- banner dividido */
.cvs-bd { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); background: var(--cvs-n-bg, var(--wp--preset--color--accent-3)); margin-block: 0 !important; }
.cvs-bd.is-image-left .cvs-bd__media { order: -1; }
.cvs-bd__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(32px, 5vw, 80px) var(--cvs-n-pad, 24px); }
.cvs-bd__title { margin: 0; font-family: var(--cvs-n-serif, Georgia, serif); font-weight: 400; text-transform: uppercase; font-size: clamp(32px, 3.6vw, 58px); line-height: 1.05; }
.cvs-bd__p { margin: 20px 0 28px; max-width: 38ch; font-size: 15px; line-height: 1.6; opacity: .85; }
.cvs-bd__media { min-height: var(--cvs-bd-h, 520px); position: relative; }
.cvs-bd__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: var(--cvs-bd-fit, cover); object-position: var(--cvs-bd-pos, center); }
@media (max-width: 781px) {
	.cvs-bd { grid-template-columns: 1fr; }
	.cvs-bd__media { order: -1; min-height: min(var(--cvs-bd-h, 520px), 92vw); }
}

/* ---------- vantagens */
.cvs-vt { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); padding: clamp(24px, 3vw, 40px) 0; border-bottom: 1px solid var(--cvs-n-line, var(--cvs-line)); margin-block: 0 !important; }
.cvs-vt__item { display: flex; gap: 14px; align-items: flex-start; padding: 6px 24px; }
.cvs-vt__item + .cvs-vt__item { border-left: 1px solid var(--cvs-n-line, var(--cvs-line)); }
.cvs-vt__item .cvs-ico { flex: 0 0 auto; }
.cvs-vt__title { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; margin-bottom: 4px; }
.cvs-vt__text { display: block; font-size: 12px; opacity: .7; line-height: 1.45; }
@media (max-width: 781px) {
	.cvs-vt { grid-template-columns: 1fr 1fr; gap: 20px 0; }
	.cvs-vt__item { padding: 0 12px; }
	.cvs-vt__item:nth-child(odd) { border-left: 0; padding-left: 0; }
}

/* ---------- vitrines no Nora */
.cvs-nora-section { margin-block: var(--cvs-gap, clamp(40px, 6vw, 80px)) 0 !important; position: relative; }
.cvs-estilo-nora .cvs-section__title { font-family: var(--cvs-n-serif); font-weight: 400; text-transform: uppercase; font-size: clamp(20px, 2vw, 28px); }
.cvs-estilo-nora .cvs-section__link { font-weight: 400; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: inherit; text-decoration: underline; text-underline-offset: 6px; }
.cvs-section__foot { text-align: center; margin-top: 28px; }
.cvs-card.is-min { gap: 4px; }
.cvs-card.is-min .cvs-card__media { border-radius: var(--cv-radius, 0); background: color-mix(in srgb, var(--wp--preset--color--contrast) 6%, var(--wp--preset--color--base)); margin-bottom: 10px; }
.cvs-card.is-min .cvs-card__media > a { display: block; }
.cvs-card.is-min .cvs-card__title { margin: 0; font-size: 13px; font-weight: 500; }
.cvs-card__sub { margin: 0; font-size: 12px; opacity: .6; line-height: 1.35; }
.cvs-card.is-min .cvs-card__price { font-size: 14px; margin-top: 4px; }
.cvs-card.is-min .cvs-card__price del { opacity: .5; margin-right: 6px; font-size: 13px; }
.cvs-fav {
	position: absolute; top: 8px; right: 8px; z-index: 2; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
	background: transparent; border: 0; color: var(--wp--preset--color--contrast); cursor: pointer; border-radius: 99px; transition: transform .2s ease;
}
.cvs-fav:hover { transform: scale(1.1); }
.cvs-fav[aria-pressed="true"] svg { fill: currentColor; }
.cvs-carousel__bar { display: none; }
.cvs-nora-section .cvs-carousel { position: static; }
.cvs-nora-section .cvs-carousel__nav {
	top: 0; transform: none; width: 38px; height: 38px; border-radius: 99px; border: 1px solid var(--cvs-n-line); background: transparent; box-shadow: none;
	display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; color: inherit;
}
.cvs-nora-section .cvs-carousel__nav.is-next { right: 0; }
.cvs-nora-section .cvs-carousel__nav.is-prev { left: auto; right: 48px; }
.cvs-nora-section .cvs-carousel__nav:disabled { opacity: .35; pointer-events: none; }
.cvs-nora-section .cvs-carousel__bar { display: block; position: relative; height: 2px; margin-top: 28px; background: var(--cvs-n-line); }
.cvs-nora-section .cvs-carousel__bar span { position: absolute; top: 0; bottom: 0; left: 0; width: var(--cvs-bar-w, 30%); transform: translateX(var(--cvs-bar-x, 0)); background: var(--cvs-n-ink); transition: transform .15s linear; }
.cvs-nora-section .cvs-section__head { padding-right: 110px; }
.cvs-nora-section:not(:has(.cvs-carousel)) .cvs-section__head { padding-right: 0; }
@media (max-width: 781px) {
	.cvs-nora-section .cvs-carousel__nav { display: none; }
	.cvs-nora-section .cvs-section__head { padding-right: 0; }
}

/* ---------- bloco editorial */
.cvs-ed { display: grid; grid-template-columns: 1fr 1fr; background: var(--cvs-n-paper, #fff); margin-block: var(--cvs-gap, clamp(40px, 6vw, 80px)) 0 !important; }
.cvs-ed.is-image-left .cvs-ed__media { order: -1; }
.cvs-ed__text { padding: clamp(32px, 5vw, 72px) clamp(24px, 4vw, 56px); display: flex; flex-direction: column; justify-content: space-between; gap: clamp(28px, 4vw, 48px); }
.cvs-ed__head { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.cvs-ed__title { margin: 0; font-family: var(--cvs-n-serif, Georgia, serif); font-weight: 400; text-transform: uppercase; font-size: clamp(30px, 3.4vw, 54px); line-height: 1.1; }
.cvs-ed__title span { display: block; }
.cvs-ed.is-stagger .cvs-ed__title span + span { padding-left: 1.2em; }
.cvs-ed__p { margin: 0; max-width: 40ch; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.7; opacity: .75; }
.cvs-ed__thumbs { display: grid; grid-template-columns: repeat(var(--cvs-ed-n, 3), minmax(0, 1fr)); gap: 12px; }
.cvs-ed__thumb { display: block; padding: 0; border: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--cvs-n-bg, #eee); border-radius: var(--cvs-ed-r, 0); }
button.cvs-ed__thumb { cursor: pointer; opacity: .7; transition: opacity .2s ease, outline-color .2s ease; outline: 2px solid transparent; outline-offset: 2px; }
button.cvs-ed__thumb:hover, button.cvs-ed__thumb[aria-current="true"] { opacity: 1; }
button.cvs-ed__thumb[aria-current="true"] { outline-color: var(--wp--preset--color--contrast); }
.cvs-ed__img { transition: opacity .35s ease; }
.cvs-ed__img.is-fading { opacity: 0; }
.cvs-ed__timg { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.cvs-ed__media { position: relative; min-height: clamp(380px, 40vw, 640px); }
.cvs-ed__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: var(--cvs-ed-fit, cover); object-position: var(--cvs-ed-pos, center); }
@media (max-width: 781px) {
	.cvs-ed { grid-template-columns: 1fr; }
	.cvs-ed__media { min-height: 92vw; }
}

/* ---------- rodapé Nora */
.cvs-nf { background: var(--cvs-n-paper, #fff); color: var(--cvs-n-ink, #111); padding: clamp(40px, 6vw, 72px) var(--cvs-n-pad, 24px) 24px; margin-top: clamp(40px, 6vw, 80px); }
.cvs-nf__logo { display: flex; justify-content: center; color: inherit; text-decoration: none; margin-bottom: clamp(32px, 4vw, 56px); }
.cvs-nf__img { height: 40px; width: auto; max-width: 220px; object-fit: contain; }
.cvs-nf__name { font-family: var(--cvs-n-serif, Georgia, serif); font-size: 32px; letter-spacing: .04em; text-transform: uppercase; }
.cvs-nf__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.4fr); gap: 32px; max-width: 1200px; margin: 0 auto; }
.cvs-nf__h { margin: 0 0 14px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.cvs-nf__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cvs-nf__col a, .cvs-nf__social a { color: inherit; text-decoration: none; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.cvs-nf__col a:hover, .cvs-nf__social a:hover { opacity: 1; text-decoration: underline; }
.cvs-nf__p { margin: 0 0 14px; font-size: 12px; opacity: .7; }
.cvs-nl { display: flex; border-bottom: 1px solid var(--cvs-n-line, var(--cvs-line)); }
.cvs-nl input[type="email"] { flex: 1; min-width: 0; border: 0 !important; background: transparent; padding: 10px 0; font-size: 14px; color: inherit; outline-offset: 4px; }
.cvs-nl button { border: 0; background: var(--cvs-n-ink, #111); color: var(--cvs-n-paper, #fff); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; padding: 0 18px; cursor: pointer; border-radius: var(--cv-radius-button, 0); }
.cvs-nl button:disabled { opacity: .5; }
.cvs-nl__msg { min-height: 1.2em; margin: 8px 0 0; font-size: 12px; }
.cvs-nl__msg.is-error { color: var(--cvs-sale); }
.cvs-nf__social { display: flex; gap: 16px; margin-top: 18px; }
.cvs-nf__copy { text-align: center; margin: clamp(32px, 5vw, 56px) 0 0; font-size: 11px; opacity: .55; }
@media (max-width: 781px) {
	.cvs-nf__grid { grid-template-columns: 1fr 1fr; }
	.cvs-nf__news { grid-column: 1 / -1; }
}

/* ---------- favoritos */
.cvs-favs .cvs-products:empty { display: none; }

/* =====================================================================
   Estilo Botânico (body.cvs-estilo-botanico) — cartões arredondados, tons naturais, botões em pílula.
   Cores da marca: fundo = "Fundo suave" (accent-3), botões e faixa = "Cor principal" (accent-1), estrelas = "Destaque" (accent-2).
   Computador e celular têm composições próprias (celular: barra de abas embaixo, cartões compactos).
   ===================================================================== */
.cvs-estilo-botanico {
	--cvs-b-bg: var(--wp--preset--color--accent-3);
	--cvs-b-soft: color-mix(in srgb, var(--wp--preset--color--contrast) 6%, var(--wp--preset--color--accent-3));
	--cvs-b-card: color-mix(in srgb, var(--wp--preset--color--base) 55%, var(--wp--preset--color--accent-3));
	--cvs-b-green: var(--wp--preset--color--accent-1);
	--cvs-b-gold: var(--wp--preset--color--accent-2);
	--cvs-b-ink: var(--wp--preset--color--contrast);
	--cvs-b-paper: var(--wp--preset--color--base);
	--cvs-b-line: color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	--cvs-b-serif: var(--cv-font-title, 'Casa Vidro Display', 'Playfair Display', Georgia, serif);
	--cvs-b-pad: clamp(16px, 3vw, 40px);
	/* blocos reaproveitados do Nora (editorial, carrossel, rodapé) */
	--cvs-n-bg: var(--cvs-b-bg); --cvs-n-ink: var(--cvs-b-ink); --cvs-n-dark: var(--cvs-b-green); --cvs-n-paper: var(--cvs-b-paper);
	--cvs-n-line: var(--cvs-b-line); --cvs-n-serif: var(--cvs-b-serif); --cvs-el-serif: var(--cvs-b-serif); --cvs-n-pad: var(--cvs-b-pad);
	background: var(--cvs-b-bg); color: var(--cvs-b-ink);
	padding-bottom: 0 !important;
}
.cvs-estilo-botanico .wp-site-blocks > main.cvs-home, .cvs-estilo-botanico .wp-site-blocks > footer.wp-block-template-part, .cvs-estilo-botanico .wp-site-blocks > main.cvs-shop-bt { margin-block-start: 0; }
.cvs-estilo-botanico .cvs-home > * + * { margin-block-start: var(--cvs-gap, clamp(40px, 5vw, 72px)) !important; }
.cvs-estilo-botanico .cvs-home { padding-bottom: var(--cvs-gap, clamp(40px, 5vw, 72px)); }

/* ---------- peças comuns */
.cvs-round { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
.cvs-btn-bt {
	display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 99px; text-decoration: none; font-size: 15px; font-weight: 500;
	background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); transition: transform .2s ease, opacity .2s ease;
}
.cvs-btn-bt:hover { transform: translateY(-1px); opacity: .92; }
.cvs-btn-bt.is-light { background: color-mix(in srgb, #fff 16%, transparent); color: #fff; box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 40%, transparent); }
.cvs-pill { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 5px 11px; border-radius: 99px; font-size: 11px; font-weight: 600; letter-spacing: .02em; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
.cvs-pill.is-light { background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #111); left: auto; right: 10px; }
.cvs-pill.is-sale { background: var(--cvs-sale); }
.cvs-pill.is-out { background: var(--cvs-b-ink, #111); }
.cvs-rating { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.cvs-rating svg { fill: var(--cvs-b-gold, #c9a54b); color: var(--cvs-b-gold, #c9a54b); }
.cvs-rating .cvs-rating__n { color: var(--cvs-muted, currentColor); } /* cor sólida: opacidade .6 ficava abaixo de 4,5:1 */
.cvs-rating__stars { position: relative; display: inline-flex; line-height: 0; }
.cvs-rating__stars > span { display: inline-flex; gap: 1px; }
.cvs-rating__stars svg { flex: 0 0 auto; } /* a camada dourada corta, não espreme */
.cvs-rating__stars .is-off svg { fill: currentColor; color: currentColor; opacity: .18; }
.cvs-rating__stars .is-on { position: absolute; inset: 0 auto 0 0; width: var(--cvs-r, 100%); overflow: hidden; animation: cvs-rate-fill .9s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes cvs-rate-fill { from { clip-path: inset(0 100% 0 0); } } /* recorte em vez de largura: sem recalcular o layout */
@media (prefers-reduced-motion: reduce) { .cvs-rating__stars .is-on { animation: none; } }
.cvs-sws { display: flex; gap: 6px; }
.cvs-sw { width: 16px; height: 16px; border-radius: 99px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 0 0 2px var(--cvs-b-paper, #fff); }
.cvs-plus { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); text-decoration: none; transition: transform .2s ease; }
.cvs-plus:hover { transform: scale(1.06); }
.cvs-plus.loading { opacity: .5; }
.cvs-plus.added::after { content: none; }
.cvs-card .added_to_cart { display: none; }

/* ---------- cabeçalho */
.cvs-estilo-botanico header.wp-block-template-part:has(> .cvs-bh) { position: sticky; top: 0; z-index: 100; }
.cvs-bh { background: var(--cvs-b-bg); transition: box-shadow .3s ease; }
.cvs-bh.is-scrolled { box-shadow: 0 1px 0 var(--cvs-b-line); }
/* mesma largura e recuo das seções da página (wideSize do theme.json + recuo lateral do site) */
.cvs-bh__bar { display: flex; align-items: center; gap: clamp(20px, 4vw, 64px); padding: 18px var(--wp--style--root--padding-right, 20px) 18px var(--wp--style--root--padding-left, 20px); max-width: calc(var(--wp--style--global--wide-size, 1280px) + var(--wp--style--root--padding-left, 20px) + var(--wp--style--root--padding-right, 20px)); margin: 0 auto; box-sizing: border-box; }
.cvs-bh__logo { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; flex: 0 1 auto; min-width: 0; }
.cvs-bh .cvs-bh__img { display: block; height: 40px; width: auto; max-width: 180px; object-fit: contain; object-position: left center; }
.cvs-bh__leaf { width: 40px; height: 40px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-soft); color: var(--cvs-b-green); }
.cvs-bh__name { font-family: var(--cvs-b-serif); font-size: 26px; line-height: 1; white-space: nowrap; }
.cvs-bh__nav { display: flex; gap: clamp(18px, 2.6vw, 40px); flex: 1; }
.cvs-bh__nav a { color: inherit; text-decoration: none; font-size: 14px; }
.cvs-bh__nav a:hover { color: var(--cvs-b-green); }
/* menu do computador numa linha só, centrado entre o logo e a busca. Com a pessoa logada o "Olá · Minha conta" ocupa
   ~150 px à direita: espaços mais curtos para caber, e "safe center" impede o menu de invadir o logo se ainda faltar lugar */
.cvs-estilo-botanico .cvs-bh__nav { justify-content: safe center; flex-wrap: nowrap; min-width: 0; }
.cvs-bh__nav a { white-space: nowrap; }
@media (min-width: 1024px) {
	.cvs-estilo-botanico .cvs-bh__bar { gap: clamp(24px, 2.6vw, 40px); }
	.cvs-estilo-botanico .cvs-bh__nav { gap: clamp(16px, 1.6vw, 26px); }
	.cvs-estilo-botanico .cvs-bh__right { gap: 10px; }
	.cvs-estilo-botanico .cvs-bh__search { width: clamp(170px, 13vw, 210px); }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.cvs-estilo-botanico .cvs-bh__bar { gap: 20px; }
	.cvs-estilo-botanico .cvs-bh__nav { gap: 16px; }
	.cvs-estilo-botanico .cvs-bh__nav a { font-size: 13px; }
	.cvs-estilo-botanico .cvs-bh__search { width: 160px; }
	.cvs-estilo-botanico .cvs-bh__name { font-size: 20px; }
	.cvs-estilo-botanico .cvs-bh__right .cvs-me__hi { display: none; }
}
/* banner logo abaixo do cabeçalho no computador (a busca do celular vem antes dele no HTML e o espaço entre seções empurrava o banner) */
@media (min-width: 1024px) {
	.cvs-estilo-botanico .cvs-home > .cvs-msearch-row + .cvs-hb { margin-top: 24px !important; }
}
.cvs-bh__right { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.cvs-bh__search { display: flex; align-items: center; gap: 8px; padding: 0 16px; height: 44px; width: clamp(180px, 16vw, 240px); border-radius: 99px; background: var(--cvs-b-soft); }
.cvs-bh__search input[type="search"] { flex: 1; min-width: 0; border: 0 !important; background: transparent; font-size: 14px; color: inherit; padding: 0; }
.cvs-bh__search input:focus { outline: none; }
.cvs-bh__search:focus-within { box-shadow: 0 0 0 2px var(--cvs-b-green); }
.cvs-bh__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: none; border: 0; color: inherit; cursor: pointer; text-decoration: none; }
.cvs-bh__icon.is-search { display: none; }
.cvs-bh__badge { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--cvs-b-ink); color: var(--cvs-b-paper); font-size: 11px; line-height: 18px; text-align: center; }
.cvs-bh__badge[data-zero] { display: none; }
.cvs-bh__avatar { width: 44px; height: 44px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-soft); color: inherit; box-shadow: 0 0 0 2px var(--cvs-b-paper); }
.cvs-tabs-bt { display: none; }
@media (max-width: 1023px) {
	.cvs-bh__nav, .cvs-bh__search, .cvs-bh__icon.is-fav, .cvs-bh__avatar { display: none; }
	.cvs-bh__icon.is-search { display: inline-flex; }
	.cvs-bh__bar { padding-block: 12px; gap: 12px; }
	.cvs-bh__name { font-size: 22px; }
	.cvs-bh .cvs-bh__img { height: 34px; max-width: min(150px, 46vw); }
	.cvs-bh__right { gap: 4px; }
	.cvs-tabs-bt {
		display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; inset: auto 0 0 0; z-index: 95;
		background: var(--cvs-b-paper); border-radius: 22px 22px 0 0; box-shadow: 0 -8px 24px rgba(0, 0, 0, .07);
		padding: 8px 6px calc(8px + env(safe-area-inset-bottom));
	}
	.cvs-tab { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 0; background: none; border: 0; font: inherit; font-size: 11px; color: color-mix(in srgb, var(--cvs-b-ink) 60%, transparent); text-decoration: none; cursor: pointer; }
	.cvs-tab.cvs-hd__bag { text-transform: none; letter-spacing: 0; font-size: 11px; }
	.cvs-tab[aria-current="page"] { color: var(--cvs-b-ink); font-weight: 600; }
	.cvs-tab[aria-current="page"] svg { fill: color-mix(in srgb, var(--cvs-b-green) 18%, transparent); color: var(--cvs-b-green); }
	.cvs-tab .cvs-bh__badge { top: 0; right: calc(50% - 22px); }
	.cvs-estilo-botanico:has(.cvs-tabs-bt):not(.single-product) { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
	.single-product .cvs-tabs-bt { display: none; }
}

/* ---------- banner Botânico (um ou mais slides com troca suave) */
.cvs-hb { margin-block: 0 !important; }
.cvs-hb__card { position: relative; overflow: hidden; border-radius: 28px; background: var(--cvs-b-soft); }
.cvs-hb__slides { display: grid; }
.cvs-hb__slide {
	grid-area: 1 / 1; position: relative; display: flex; align-items: center; min-height: clamp(520px, 46vw, 660px);
	opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s;
}
.cvs-hb__slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease, visibility 0s; z-index: 1; }
.cvs-hb__slide::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, color-mix(in srgb, var(--cvs-b-bg) 92%, transparent) 0%, color-mix(in srgb, var(--cvs-b-bg) 55%, transparent) 38%, transparent 62%); }
.cvs-hb__bg { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: var(--cvs-hb-fit, cover); object-position: var(--cvs-hb-pos, center); transform: scale(1.03); transition: transform 6s ease; }
.cvs-hb__slide.is-active .cvs-hb__bg { transform: none; }
.cvs-hb__text { position: relative; z-index: 2; max-width: 560px; padding: clamp(32px, 5vw, 64px); }
.cvs-hb__eye { margin: 0 0 18px; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.cvs-hb__pic { display: contents; } /* <picture> com a foto do celular: a <img> segue posicionada como antes */
.cvs-hb__t-m { display: none; }
.cvs-hb__title { margin: 0; font-family: var(--cvs-b-serif); font-weight: 400; line-height: 1; font-size: clamp(48px, 6.4vw, 96px); letter-spacing: -.01em; }
.cvs-hb__leaf { display: none; color: var(--cvs-b-gold); vertical-align: middle; }
.cvs-hb__p { margin: 22px 0 30px; font-size: 17px; line-height: 1.5; }
.cvs-hb__feats { list-style: none; margin: clamp(32px, 4vw, 56px) 0 0; padding: 0; display: flex; gap: clamp(20px, 3vw, 48px); }
.cvs-hb__feats li { display: flex; flex-direction: column; gap: 10px; font-size: 13px; max-width: 130px; line-height: 1.3; }
.cvs-hb__fi { width: 38px; height: 38px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--cvs-b-paper) 55%, transparent); box-shadow: inset 0 0 0 1px var(--cvs-b-line); }
.cvs-hb__badge {
	position: absolute; z-index: 3; top: clamp(24px, 4vw, 48px); right: clamp(24px, 5vw, 64px); width: 150px; height: 150px; border-radius: 99px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; text-align: center;
	background: color-mix(in srgb, var(--cvs-b-paper) 72%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	color: inherit; text-decoration: none; font-size: 15px; line-height: 1.3;
}
.cvs-hb__badge .cvs-round { align-self: flex-end; margin-right: 10px; }
.cvs-hb__product {
	position: absolute; z-index: 2; right: clamp(16px, 3vw, 32px); bottom: clamp(16px, 3vw, 32px); width: min(400px, 36%);
	display: grid; grid-template-columns: 46% 1fr; border-radius: 22px; overflow: hidden;
	background: color-mix(in srgb, var(--cvs-b-paper) 88%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}
.cvs-hb.is-slider .cvs-hb__product { bottom: clamp(48px, 5vw, 64px); }
.cvs-hb__pimg { position: relative; display: block; min-height: 200px; background: var(--cvs-b-soft); }
.cvs-hb__pimg img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.cvs-hb__pbody { padding: 20px 18px; display: flex; flex-direction: column; gap: 8px; }
.cvs-hb__peye { display: none; margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.cvs-hb__ptitle { margin: 0; font-family: var(--cvs-b-serif); font-weight: 400; font-size: 22px; line-height: 1.15; }
.cvs-hb__ptitle a { color: inherit; text-decoration: none; }
.cvs-hb__ptext { margin: 0; font-size: 13px; line-height: 1.45; opacity: .75; }
.cvs-hb__plink { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: inherit; text-decoration: none; font-size: 14px; font-weight: 500; }
.cvs-hb__arrow {
	position: absolute; z-index: 4; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 99px; border: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center; color: var(--cvs-b-ink);
	background: color-mix(in srgb, var(--cvs-b-paper) 78%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
	opacity: 0; transition: opacity .25s ease, background-color .2s ease;
}
.cvs-hb__arrow.is-prev { left: 16px; }
.cvs-hb__arrow.is-prev svg { transform: rotate(180deg); }
.cvs-hb__arrow.is-next { right: 16px; }
.cvs-hb__card:hover .cvs-hb__arrow, .cvs-hb__arrow:focus-visible { opacity: 1; }
.cvs-hb__arrow:hover { background: var(--cvs-b-paper); }
.cvs-hb__dots { position: absolute; z-index: 4; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 0; margin: -8px; pointer-events: none; }
/* a bolinha continua com 8 px, mas o toque vale 24 px (8 px de folga em volta, sem fundo) */
.cvs-hb__dot { pointer-events: auto; box-sizing: content-box; width: 8px; height: 8px; padding: 8px; border: 0; border-radius: 99px; cursor: pointer; background: color-mix(in srgb, var(--cvs-b-ink) 25%, transparent); background-clip: content-box; transition: width .3s ease, background-color .3s ease; }
.cvs-hb__dot[aria-current="true"] { width: 26px; background-color: var(--cvs-b-green); }
/* "background" abreviado em qualquer regra de bolinha desfaz o recorte e a folga de toque vira um círculo de 24 px */
.cvs-hb__dots .cvs-hb__dot { background-clip: content-box; }
@media (max-width: 781px) {
	.cvs-hb__card { overflow: visible; background: none; border-radius: 0; }
	.cvs-hb__slide { display: grid; min-height: 0; align-items: stretch; }
	.cvs-hb__slide::before { display: none; }
	.cvs-hb__bg { position: relative; grid-area: 1 / 1; height: 320px !important; border-radius: 24px; transform: none !important; }
	.cvs-hb__text { grid-area: 1 / 1; align-self: stretch; max-width: none; padding: 26px 22px; border-radius: 24px; background: linear-gradient(90deg, color-mix(in srgb, var(--cvs-b-bg) 88%, transparent) 0%, color-mix(in srgb, var(--cvs-b-bg) 50%, transparent) 55%, transparent 80%); }
	.cvs-hb__eye { margin-bottom: 10px; font-size: 11px; }
	.cvs-hb__title { font-size: clamp(34px, 10vw, 44px); max-width: 70%; }
	.cvs-hb__leaf { display: inline; }
	.cvs-hb__p { font-size: 14px; max-width: 62%; margin: 12px 0 0; }
	.cvs-hb__text .cvs-btn-bt, .cvs-hb__feats, .cvs-hb__badge, .cvs-hb__arrow { display: none; }
	.cvs-hb__product, .cvs-hb.is-slider .cvs-hb__product { position: static; grid-row: 2; width: auto; margin-top: 14px; grid-template-columns: 1fr 40%; box-shadow: 0 6px 20px rgba(0, 0, 0, .06); background: var(--cvs-b-card); }
	.cvs-hb__pimg { order: 2; min-height: 150px; }
	.cvs-hb__pimg .cvs-pill { display: none; }
	.cvs-hb__peye { display: block; }
	.cvs-hb__ptitle { font-size: 20px; }
	.cvs-hb__plink .cvs-round { width: 26px; height: 26px; }
	.cvs-hb__dots { top: 290px; bottom: auto; }
}

/* ---------- categorias */
.cvs-cb { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: 24px; align-items: center; }
.cvs-cb__title { margin: 0; font-family: var(--cvs-b-serif); font-weight: 400; font-size: clamp(36px, 4vw, 56px); line-height: 1.05; }
.cvs-cb__row { display: grid; grid-template-columns: repeat(var(--cvs-cb-n, 4), minmax(0, 1fr)); gap: 18px; }
.cvs-cb__card { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 22px; overflow: hidden; background: var(--cvs-b-soft); color: inherit; text-decoration: none; }
.cvs-cb__img, .cvs-cb__pic { position: absolute; inset: 0; width: 100%; height: 100% !important; }
.cvs-cb__pic { object-fit: cover; transition: transform .6s ease; }
.cvs-cb__card:hover .cvs-cb__pic { transform: scale(1.04); }
.cvs-cb__label {
	position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 14px 14px 14px 18px; border-radius: 16px; font-size: 16px;
	background: color-mix(in srgb, var(--cvs-b-paper) 55%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
@media (max-width: 781px) {
	.cvs-cb { grid-template-columns: 1fr; gap: 12px; }
	.cvs-cb__title { display: none; }
	.cvs-cb__row { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--cvs-b-pad)); padding: 2px var(--cvs-b-pad); }
	.cvs-cb__row::-webkit-scrollbar { display: none; }
	.cvs-cb__card { flex: 0 0 78px; aspect-ratio: auto; background: none; overflow: visible; display: flex; flex-direction: column; align-items: center; gap: 5px; }
	.cvs-cb__img { position: relative; inset: auto; width: 64px; height: 64px !important; border-radius: 99px; overflow: hidden; background: var(--cvs-b-soft); box-shadow: 0 0 0 2px var(--cvs-b-paper); }
	.cvs-cb__label { position: static; padding: 0; width: 100%; justify-content: center; text-align: center; font-size: 12px; font-weight: 500; line-height: 1.2; border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; color: var(--cvs-b-ink); }
	.cvs-cb__label .cvs-round { display: none; }
}

/* ---------- atalhos */
.cvs-at { display: flex; justify-content: center; flex-wrap: wrap; gap: clamp(24px, 5vw, 64px); }
.cvs-at__item { display: flex; flex-direction: column; align-items: center; gap: 10px; color: inherit; text-decoration: none; font-size: 14px; }
.cvs-at__ico { width: 68px; height: 68px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-soft); color: var(--cvs-b-green); transition: transform .2s ease; }
.cvs-at__item:hover .cvs-at__ico { transform: translateY(-2px); }
@media (max-width: 781px) {
	.cvs-at { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 30px) / 4); gap: 10px; overflow-x: auto; scrollbar-width: none; justify-content: start; }
	.cvs-at::-webkit-scrollbar { display: none; }
	.cvs-at__item { padding: 16px 6px 12px; border-radius: 18px; background: var(--cvs-b-card); box-shadow: inset 0 0 0 1px var(--cvs-b-line); font-size: 12px; text-align: center; }
	.cvs-at__ico { width: auto; height: auto; background: none; }
}

/* ---------- vitrines e cartões */
.cvs-bt-section .cvs-section__title { font-family: var(--cvs-b-serif); font-weight: 400; text-transform: none; font-size: clamp(26px, 2.6vw, 36px); }
.cvs-bt-section .cvs-section__link, .cvs-estilo-botanico .cvs-bt-section .cvs-section__link { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; text-decoration: none; color: inherit; }
.cvs-bt-section .cvs-section__head .cvs-section__link::after { content: " →"; }
.cvs-card.is-bt { gap: 0; padding: 10px; border-radius: 22px; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); }
.cvs-card.is-bt .cvs-card__media { border-radius: 16px; background: var(--cvs-b-soft, #eee); }
.cvs-card.is-bt .cvs-card__img { aspect-ratio: 1 / 1; }
.cvs-card__body { display: flex; flex-direction: column; gap: 6px; padding: 12px 6px 4px; flex: 1; }
.cvs-card.is-bt .cvs-card__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 18px; font-weight: 600; line-height: 1.2; }
.cvs-card.is-bt .cvs-card__sub { margin: 0; font-size: 13px; opacity: .7; }
.cvs-card__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 6px; }
.cvs-card.is-bt .cvs-card__price { font-size: 18px; font-weight: 700; }
.cvs-card.is-bt .cvs-card__price del { font-size: 13px; font-weight: 400; opacity: .5; margin-right: 4px; }
@media (max-width: 781px) {
	.cvs-products.is-grid.is-mcarousel { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc(88% / var(--cvs-cols-m, 2)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--cvs-b-pad, 16px)); padding-inline: var(--cvs-b-pad, 16px); }
	.cvs-products.is-mcarousel::-webkit-scrollbar { display: none; }
	.cvs-products.is-mcarousel > li { scroll-snap-align: start; }
	.cvs-card.is-bt { padding: 8px; border-radius: 18px; }
	.cvs-card.is-bt .cvs-card__title { font-size: 15px; }
	.cvs-card.is-bt .cvs-card__price { font-size: 16px; }
	.cvs-plus { width: 34px; height: 34px; }
}

/* ---------- banner de chamada */
.cvs-br { position: relative; overflow: hidden; border-radius: 26px; background: var(--cvs-b-green, #2f3a2c); color: #fff; min-height: 220px; display: flex; align-items: center; }
.cvs-br__media { position: absolute; top: 0; right: 0; bottom: 0; width: 62%; }
.cvs-br__img { width: 100%; height: 100% !important; object-fit: cover; }
.cvs-br::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--cvs-b-green, #2f3a2c) 38%, color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 50%, transparent) 62%, transparent 85%); }
.cvs-br__text { position: relative; z-index: 2; padding: clamp(28px, 4vw, 52px); max-width: 600px; }
.cvs-br__eye { margin: 0 0 10px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; opacity: .8; }
.cvs-br__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-weight: 400; color: inherit; font-size: clamp(28px, 3vw, 44px); line-height: 1.1; }
.cvs-br__p { margin: 10px 0 22px; opacity: .85; font-size: 15px; }
.cvs-br__price { margin: -8px 0 18px; font-size: 20px; font-weight: 600; }
@media (max-width: 781px) {
	.cvs-br { display: grid; grid-template-columns: 1fr 42%; min-height: 0; border-radius: 22px; align-items: stretch; }
	.cvs-br::before { display: none; }
	.cvs-br__media { position: relative; width: auto; order: 2; min-height: 220px; }
	.cvs-br__text { padding: 24px 6px 24px 20px; display: flex; flex-direction: column; justify-content: center; }
	.cvs-br__title { font-size: 24px; }
	.cvs-br__p { font-size: 13px; margin-bottom: 16px; }
	.cvs-br .cvs-btn-bt.is-light { background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #111); box-shadow: none; padding: 11px 18px; font-size: 14px; align-self: flex-start; }
}

/* ---------- produto em destaque */
.cvs-pd { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; padding: clamp(24px, 4vw, 56px); border-radius: 28px; background: var(--cvs-b-soft, #f1ede6); box-sizing: border-box; position: relative; overflow: hidden; isolation: isolate; }
.cvs-pd.is-image-right .cvs-pd__media { order: 2; }
.cvs-pd__media { position: relative; display: block; border-radius: 22px; overflow: hidden; background: var(--cvs-b-paper, #fff); aspect-ratio: 5 / 4; }
.cvs-pd__media img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.cvs-pd__eye { margin: 0 0 8px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--cvs-b-gold, #b26b2b); }
.cvs-pd__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-weight: 400; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.1; }
.cvs-pd__title a { color: inherit; text-decoration: none; }
.cvs-pd__desc { margin: 14px 0 18px; font-size: 14px; line-height: 1.6; opacity: .8; }
.cvs-pd__notes { border-top: 1px solid var(--cvs-b-line, #ddd); }
.cvs-pd__note { padding: 12px 0; border-bottom: 1px solid var(--cvs-b-line, #ddd); font-size: 13px; }
.cvs-pd__note strong { display: block; margin-bottom: 2px; }
.cvs-pd__note span { opacity: .75; }
.cvs-pd__price { margin: 18px 0 14px; font-size: 22px; }
.cvs-pd__price del { opacity: .5; font-size: 16px; margin-right: 6px; }
.cvs-pd__buy { display: flex; gap: 10px; }
.cvs-pd__add, .cvs-pd .single_add_to_cart_button, .cvs-buyform .single_add_to_cart_button {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 99px !important; border: 0;
	background: var(--cvs-b-green, #2f3a2c) !important; color: var(--cvs-b-paper, #fff) !important; text-decoration: none; font-size: 14px; font-weight: 500; cursor: pointer;
}
.cvs-pd__add.added::after { content: " ✓"; }
.cvs-qty { display: inline-flex; align-items: center; border-radius: 99px; box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ccc); background: var(--cvs-b-paper, #fff); }
.cvs-qty button { width: 40px; height: 48px; border: 0; background: none; font-size: 18px; cursor: pointer; color: inherit; }
.cvs-qty input { width: 36px; border: 0 !important; background: none; text-align: center; font-size: 15px; -moz-appearance: textfield; padding: 0; }
.cvs-qty input::-webkit-outer-spin-button, .cvs-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
:is(.cvs-pd, .cvs-buyform) .variations { border: 0; margin: 0 0 12px; width: 100%; }
:is(.cvs-pd, .cvs-buyform) .variations th, :is(.cvs-pd, .cvs-buyform) .variations td { display: block; padding: 0; text-align: left; border: 0; }
:is(.cvs-pd, .cvs-buyform) .variations th label { font-size: 13px; font-weight: 600; }
:is(.cvs-pd, .cvs-buyform) .variations td { padding-bottom: 12px; }
:is(.cvs-pd, .cvs-buyform) .variations select.is-pilled { position: absolute; opacity: 0; pointer-events: none; width: 1px !important; min-width: 0 !important; height: 1px !important; padding: 0 !important; overflow: hidden; clip-path: inset(50%); } /* o select escondido não pode empurrar a página para o lado */
.cvs-vopts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cvs-vopt { padding: 8px 16px; border-radius: 99px; border: 0; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ccc); font: inherit; font-size: 13px; color: inherit; cursor: pointer; }
.cvs-vopt[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--cvs-b-green, #2f3a2c); font-weight: 600; }
.cvs-vopt:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
:is(.cvs-pd, .cvs-buyform) .reset_variations { font-size: 12px; }
:is(.cvs-pd, .cvs-buyform) .woocommerce-variation-description { display: none; }
:is(.cvs-pd, .cvs-buyform) .woocommerce-variation-add-to-cart { display: flex; gap: 10px; }
:is(.cvs-pd, .cvs-buyform) .quantity .qty { height: 48px; width: 64px; border-radius: 99px !important; text-align: center; }
.cvs-pd__mobile { display: none; }
@media (max-width: 781px) {
	.cvs-pd { grid-template-columns: 42% 1fr; gap: 0; padding: 0; border-radius: 22px; overflow: hidden; align-items: stretch; background: var(--cvs-b-card, #f6f1ea); }
	.cvs-pd.is-image-right .cvs-pd__media { order: 0; }
	.cvs-pd__media { border-radius: 0; aspect-ratio: auto; min-height: 190px; }
	.cvs-pd__media .cvs-pill { left: 10px; right: auto; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #111); }
	.cvs-pd__info { padding: 18px 16px; display: flex; flex-direction: column; justify-content: center; }
	.cvs-pd__eye { font-size: 10px; }
	.cvs-pd__title { font-size: 21px; }
	.cvs-pd__desc { margin: 8px 0 10px; font-size: 13px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.cvs-pd__notes, .cvs-pd__form { display: none; }
	.cvs-pd__price { margin: 0 0 12px; font-size: 16px; }
	.cvs-pd__mobile { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 10px 16px; border-radius: 12px; background: var(--cvs-b-paper, #fff); color: inherit; text-decoration: none; font-size: 13px; font-weight: 500; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
}

/* ---------- editorial no Botânico */
.cvs-bt-ed { border-radius: 28px; overflow: hidden; margin-block-end: 0 !important; --cvs-ed-r: 14px; }
.cvs-bt-ed .cvs-ed__title { text-transform: none; }
.cvs-bt-ed .cvs-ed__p { font-size: 15px; letter-spacing: 0; text-transform: none; line-height: 1.6; }
.cvs-estilo-botanico .cvs-nora-section { margin-block-end: 0 !important; }
@media (max-width: 781px) {
	.cvs-bt-ed { grid-template-columns: 42% 1fr; border-radius: 22px; background: var(--cvs-b-card, #f6f1ea); }
	.cvs-bt-ed .cvs-ed__media { order: -1; min-height: 180px; }
	.cvs-bt-ed .cvs-ed__text { padding: 18px 16px; gap: 8px; justify-content: center; }
	.cvs-bt-ed .cvs-ed__title { font-size: 20px; text-transform: none; }
	.cvs-bt-ed .cvs-ed__title span, .cvs-bt-ed.is-stagger .cvs-ed__title span + span { display: inline; padding: 0; }
	.cvs-bt-ed .cvs-ed__title span + span::before { content: " "; }
	.cvs-bt-ed .cvs-ed__p { font-size: 13px; letter-spacing: 0; text-transform: none; }
	.cvs-bt-ed .cvs-ed__thumbs { display: none; }
}

/* ---------- rodapé no Botânico */
.cvs-estilo-botanico .cvs-nf { border-radius: 28px 28px 0 0; }
.cvs-estilo-botanico .cvs-nl button { border-radius: 99px; background: var(--cvs-b-green); }

/* ---------- loja Botânico */
.cvs-shop-bt { padding: clamp(20px, 3vw, 40px) var(--cvs-b-pad, 16px) clamp(40px, 6vw, 72px); }
.cvs-lb { max-width: 1280px; margin: 0 auto; }
.cvs-lb__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-weight: 400; font-size: clamp(40px, 5vw, 64px); line-height: 1.05; }
.cvs-lb__sub { margin: 8px 0 0; font-size: 15px; opacity: .75; max-width: 52ch; }
.cvs-chips { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; margin: 22px 0 28px; padding: 2px; }
.cvs-chips::-webkit-scrollbar { display: none; }
.cvs-chip { flex: 0 0 auto; padding: 10px 18px; border-radius: 99px; font-size: 13px; color: inherit; text-decoration: none; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ddd); white-space: nowrap; }
.cvs-chip[aria-current="page"] { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: none; }
.cvs-lb__sec { margin-bottom: clamp(28px, 4vw, 48px); }
.cvs-lb__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.cvs-lb__head h2 { margin: 0; font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cvs-lb__head a { font-size: 13px; color: inherit; }
.cvs-lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; font-size: 13px; }
.cvs-lb__sort select { border-radius: 99px !important; padding: 10px 16px; background: var(--cvs-b-card, #fff); border: 1px solid var(--cvs-b-line, #ddd); font-size: 13px; color: inherit; }
.cvs-lb__pages ul { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 0; margin: 32px 0 0; }
.cvs-lb__pages a, .cvs-lb__pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 99px; text-decoration: none; color: inherit; background: var(--cvs-b-card, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ddd); }
.cvs-lb__pages .current { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: none; }
@media (max-width: 781px) {
	.cvs-lb__title { font-size: 40px; }
	.cvs-chips { margin-inline: calc(-1 * var(--cvs-b-pad, 16px)); padding-inline: var(--cvs-b-pad, 16px); }
	.cvs-lb__list.is-mlimit-1 li:nth-child(n+2), .cvs-lb__list.is-mlimit-2 li:nth-child(n+3), .cvs-lb__list.is-mlimit-3 li:nth-child(n+4), .cvs-lb__list.is-mlimit-4 li:nth-child(n+5) { display: none; }
}

/* =====================================================================
   Página de produto Nora e Botânico (blocks/pagina-produto)
   ===================================================================== */
.cvs-product-pp { padding: clamp(12px, 2vw, 24px) var(--cvs-n-pad, 16px) clamp(40px, 6vw, 72px); }
.cvs-pp { --pp-r: 0px; --pp-btn: var(--wp--preset--color--contrast); max-width: 1320px; margin: 0 auto; }
.cvs-estilo-botanico .cvs-pp { --pp-r: 22px; --pp-btn: var(--cvs-b-green); }
.cvs-pp__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: clamp(14px, 2vw, 24px); font-size: 12px; opacity: .7; }
.cvs-pp__crumbs a { color: inherit; text-decoration: none; }
.cvs-pp__crumbs a:hover { text-decoration: underline; }
.cvs-pp__top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(24px, 4.5vw, 72px); align-items: start; }

/* galeria */
.cvs-pp__stage { position: relative; border-radius: var(--pp-r); overflow: hidden; }
.cvs-pp__slides { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cvs-pp__slides::-webkit-scrollbar { display: none; }
.cvs-pp__slide { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; }
.cvs-pp__zoom { display: block; cursor: zoom-in; background: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, var(--wp--preset--color--base)); }
.cvs-pp__img, .cvs-pp__slide img { display: block; width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; }
.cvs-pp__stage .cvs-pill { top: 14px; left: 14px; }
.cvs-pp__stage .cvs-fav { top: 10px; right: 10px; background: color-mix(in srgb, var(--wp--preset--color--base) 80%, transparent); }
.cvs-pp__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
.cvs-pp__thumb { flex: 0 0 76px; padding: 0; border: 0; border-radius: calc(var(--pp-r) / 2); overflow: hidden; cursor: pointer; opacity: .6; box-shadow: inset 0 0 0 1px transparent; background: none; transition: opacity .2s ease; }
.cvs-pp__thumb img { display: block; width: 76px; height: 76px !important; object-fit: cover; }
.cvs-pp__thumb[aria-current="true"] { opacity: 1; outline: 1.5px solid var(--wp--preset--color--contrast); outline-offset: 2px; }
.cvs-pp__dots { display: none; }
.cvs-pp.is-grid .cvs-pp__slides { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; overflow: visible; }
.cvs-pp.is-grid .cvs-pp__slide:first-child { grid-column: 1 / -1; }
.cvs-pp.is-grid .cvs-pp__thumbs { display: none; }
.cvs-pp.is-grid .cvs-pp__stage { overflow: visible; }

/* informações e compra */
.cvs-pp__info { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 14px; }
.cvs-pp__eye { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: inherit; opacity: .7; text-decoration: none; }
.cvs-estilo-botanico .cvs-pp__eye { color: var(--cvs-b-gold); opacity: 1; }
.cvs-pp__title { margin: 0; font-family: var(--cvs-n-serif, var(--cvs-b-serif, Georgia, serif)); font-weight: 400; font-size: clamp(28px, 3vw, 44px); line-height: 1.1; }
.cvs-estilo-nora .cvs-pp__title { text-transform: uppercase; letter-spacing: .01em; }
/* favorito ao lado do nome do produto (o da foto passa despercebido) */
.cvs-pp__trow { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.cvs-pp__trow .cvs-pp__title { flex: 1 1 auto; min-width: 0; }
.cvs-pp__trow .cvs-fav.is-title { position: static; flex: none; width: 44px; height: 44px; margin-top: 2px; border: 1px solid var(--cvs-line); background: var(--wp--preset--color--base); box-shadow: 0 4px 12px -8px rgba(0, 0, 0, .25); }
.cvs-pp__trow .cvs-fav.is-title svg { width: 20px; height: 20px; }
.cvs-pp__trow .cvs-fav.is-title[aria-pressed="true"] { border-color: color-mix(in srgb, #d64545 35%, transparent); background: color-mix(in srgb, #d64545 8%, var(--wp--preset--color--base)); }
.cvs-pp__rating { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-size: 13px; }
.cvs-pp__rating > span:last-child { opacity: .6; text-decoration: underline; }
.cvs-pp__price { font-size: 24px; line-height: 1.3; }
.cvs-pp__price del { opacity: .5; font-size: 17px; margin-right: 8px; }
.cvs-pp__price ins { text-decoration: none; }
.cvs-pp__short { font-size: 15px; line-height: 1.6; opacity: .85; }
.cvs-pp__short p { margin: 0 0 .6em; }
.cvs-pp__notes { margin: 0; }
.cvs-pp__buy { padding: 4px 0; }
.cvs-pp__buy form.cart:not(.variations_form), .cvs-pp__buy .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.cvs-pp__buy .quantity .qty { height: 52px; width: 72px; text-align: center; border-radius: var(--cv-radius-button, 99px) !important; }
.cvs-estilo-nora .cvs-pp__buy .quantity .qty { border-radius: var(--cv-radius-button, 0) !important; }
.cvs-pp__buy .single_add_to_cart_button {
	flex: 1; min-height: 52px; border-radius: 99px !important; background: var(--pp-btn) !important; color: var(--wp--preset--color--base) !important;
	font-size: 14px; font-weight: 500; letter-spacing: .02em;
}
.cvs-estilo-nora .cvs-pp__buy .single_add_to_cart_button { border-radius: var(--cv-radius-button, 0) !important; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.cvs-estilo-nora .cvs-vopt { border-radius: var(--cv-radius-button, 0); }
.cvs-pp__buy .single_add_to_cart_button.disabled { opacity: .5; }
.cvs-pp__buy .woocommerce-variation-price { margin: 4px 0 12px; font-size: 20px; }
.cvs-pp__buy .stock { font-size: 13px; }
.cvs-pp__accs { margin-top: 8px; border-top: 1px solid var(--cvs-line); }
.cvs-acc { border-bottom: 1px solid var(--cvs-line); }
.cvs-acc summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; }
.cvs-estilo-nora .cvs-acc summary { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.cvs-acc summary::-webkit-details-marker { display: none; }
.cvs-acc summary span { position: relative; width: 14px; height: 14px; flex: 0 0 auto; }
.cvs-acc summary span::before, .cvs-acc summary span::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; background: currentColor; transition: transform .2s ease; }
.cvs-acc summary span::after { transform: rotate(90deg); }
.cvs-acc[open] summary span::after { transform: rotate(0deg); }
.cvs-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.65; }
.cvs-acc__body table { width: 100%; border-collapse: collapse; }
.cvs-acc__body th, .cvs-acc__body td { text-align: left; padding: 8px 0; border-bottom: 1px solid var(--cvs-line); font-size: 13px; }
.cvs-acc__body th { width: 40%; font-weight: 600; }
.cvs-acc__body .commentlist { list-style: none; padding: 0; }
.cvs-pp__related { margin-top: clamp(48px, 7vw, 96px) !important; }

/* ampliar foto */
.cvs-zoombox { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .9); cursor: zoom-out; }
.cvs-zoombox img { max-width: 94vw; max-height: 92vh; object-fit: contain; }
.cvs-zoombox button { position: absolute; top: 14px; right: 14px; width: 42px; height: 42px; border-radius: 99px; border: 0; background: #fff; color: #111; font-size: 24px; line-height: 1; cursor: pointer; }

@media (max-width: 781px) {
	.cvs-pp__top { grid-template-columns: 1fr; gap: 20px; }
	.cvs-pp__info { position: static; }
	.cvs-pp__stage, .cvs-pp.is-grid .cvs-pp__stage { overflow: hidden; margin-inline: calc(-1 * var(--cvs-n-pad, 16px)); border-radius: 0; }
	.cvs-estilo-botanico .cvs-pp__stage { margin-inline: 0; border-radius: var(--pp-r); }
	.cvs-pp.is-grid .cvs-pp__slides { display: flex; overflow-x: auto; gap: 0; }
	.cvs-pp__thumbs { display: none; }
	.cvs-pp__dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
	.cvs-pp__dots i { width: 6px; height: 6px; border-radius: 99px; background: rgba(0, 0, 0, .25); transition: width .2s ease, background-color .2s ease; }
	.cvs-pp__dots i.is-on { width: 18px; background: rgba(0, 0, 0, .7); }
	.cvs-pp__title { font-size: 28px; }
	.cvs-pp__price { font-size: 22px; }
}
.cvs-notices { display: grid; gap: 8px; margin-bottom: 18px; }
.cvs-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-radius: var(--pp-r, 10px); font-size: 14px; background: color-mix(in srgb, #2e7d32 10%, var(--wp--preset--color--base)); box-shadow: inset 0 0 0 1px color-mix(in srgb, #2e7d32 30%, transparent); }
.cvs-notice.is-error { background: color-mix(in srgb, var(--cvs-sale) 8%, var(--wp--preset--color--base)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-sale) 35%, transparent); }
.cvs-notice.is-info { background: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, var(--wp--preset--color--base)); box-shadow: inset 0 0 0 1px var(--cvs-line); }
.cvs-notice .button, .cvs-notice .wc-forward { order: 2; padding: 6px 14px !important; border-radius: 99px !important; font-size: 13px !important; }

/* =====================================================================
   Opções dos cartões (vitrines): foto 4:5, troca no hover, Pix, quantidade, "Ver rápido", masonry
   ===================================================================== */
.cvs-card__media { position: relative; }
.cvs-card__media > a { display: block; position: relative; }
.cvs-card__img2 { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: 0; transition: opacity .45s ease; }
.cvs-card__media.has-hover:hover .cvs-card__img2 { opacity: 1; }
.cvs-card__media.has-hover:hover .cvs-card__img { transform: none; }
.is-r45 .cvs-card__img, .is-r45 .cvs-card.is-bt .cvs-card__img { aspect-ratio: 4 / 5; }
.cvs-qv-btn {
	position: absolute; z-index: 2; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: center; gap: 6px;
	padding: 9px 12px; border: 0; border-radius: 99px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 500;
	background: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent); color: var(--wp--preset--color--contrast);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease;
}
.cvs-card__media:hover .cvs-qv-btn, .cvs-qv-btn:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .cvs-qv-btn { opacity: 1; transform: none; left: auto; padding: 8px; } .cvs-qv-btn span { display: none; } }
.cvs-card__prices { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cvs-card__pix { font-size: 12px; font-weight: 600; color: var(--cvs-pix, #0f7b4b); }
.cvs-card__pix .woocommerce-Price-amount { font-weight: 700; }
.cvs-card__buy { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.cvs-card.is-min .cvs-card__buy { margin-top: 8px; }
.cvs-qty.is-sm button { width: 30px; height: 36px; font-size: 16px; }
.cvs-qty.is-sm input { width: 26px; font-size: 14px; }
.cvs-products.is-masonry { display: block; column-count: var(--cvs-cols, 4); column-gap: var(--wp--preset--spacing--40); list-style: none; margin: 0; padding: 0; }
.cvs-products.is-masonry > li { break-inside: avoid; margin-bottom: var(--wp--preset--spacing--40); }
.cvs-products.is-masonry > li:nth-child(4n+1) .cvs-card__img, .cvs-products.is-masonry > li:nth-child(4n+4) .cvs-card__img { aspect-ratio: 4 / 5; }
.cvs-products.is-masonry > li:nth-child(4n+2) .cvs-card__img { aspect-ratio: 1 / 1; }
.cvs-products.is-masonry > li:nth-child(4n+3) .cvs-card__img { aspect-ratio: 3 / 4; }
@media (max-width: 781px) { .cvs-products.is-masonry { column-count: var(--cvs-cols-m, 2); column-gap: 12px; } .cvs-products.is-masonry > li { margin-bottom: 12px; } }

/* carrossel: sem rolagem vertical nem cartão cortado */
.cvs-products.is-carousel { overflow-y: hidden; padding-block: 4px 8px; }

/* janela "Ver rápido" */
.cvs-qv { position: fixed; inset: 0; z-index: 260; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity .25s ease; }
.cvs-qv.is-open { opacity: 1; }
.cvs-qv__panel { position: relative; width: min(980px, 100%); max-height: calc(100vh - 32px); overflow: auto; border-radius: 24px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); box-shadow: 0 30px 80px rgba(0, 0, 0, .25); }
.cvs-qv__close { position: absolute; z-index: 3; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 99px; border: 0; cursor: pointer; font-size: 24px; line-height: 1; background: color-mix(in srgb, var(--wp--preset--color--contrast) 6%, var(--wp--preset--color--base)); color: inherit; }
.cvs-qv__body { padding: clamp(16px, 3vw, 32px); }
.cvs-qv__loading { padding: 40px; text-align: center; opacity: .7; }
.cvs-qv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.cvs-qv__info { display: flex; flex-direction: column; gap: 12px; padding-right: 32px; }
.cvs-qv__more { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: inherit; }
.cvs-qv .cvs-pp__stage { border-radius: 18px; overflow: hidden; }
.cvs-qv .cvs-pp__title { font-size: clamp(24px, 2.4vw, 34px); }
@media (max-width: 781px) {
	.cvs-qv { align-items: flex-end; padding: 0; }
	.cvs-qv__panel { border-radius: 22px 22px 0 0; max-height: 92vh; }
	.cvs-qv__grid { grid-template-columns: 1fr; }
	.cvs-qv__info { padding-right: 0; }
}
.cvs-card__row:has(.cvs-qty) { flex-wrap: wrap; }
.cvs-card__row:has(.cvs-qty) .cvs-card__prices { flex-basis: 100%; }
.cvs-card__row:has(.cvs-qty) .cvs-card__buy { margin-left: auto; }

/* ---------- 0.9: produto em destaque com mais vida, quantidade, vídeo no banner, bandeja da Converte arredondada */
.cvs-estilo-botanico .cvs-pd { background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--cvs-b-green, #2f5d50) 10%, transparent), transparent 60%), radial-gradient(90% 80% at 0% 100%, color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 9%, transparent), transparent 55%), var(--cvs-b-soft, #f1ede6); }
.cvs-pd__deco { position: absolute; right: -40px; bottom: -60px; width: 280px; height: 280px; color: var(--cvs-b-green, #2f5d50); opacity: .06; z-index: -1; pointer-events: none; }
.cvs-pd__deco svg { width: 100%; height: 100%; }
.cvs-pd__media img { transition: transform .8s ease; }
.cvs-pd__media:hover img { transform: scale(1.04); }
.cvs-pd__rating { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 13px; }
.cvs-pd__rating .cvs-stars { color: var(--cvs-b-gold, #b26b2b); letter-spacing: 1px; }
.cvs-pd__rating span:last-child { opacity: .65; }
.cvs-pd__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cvs-pd__price .cvs-card__pix { font-size: 14px; }
.cvs-pd__perks { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.cvs-pd__perks li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 70%, transparent); font-size: 12.5px; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.08)); }
.cvs-pd__perks li svg { color: var(--cvs-b-green, #2f5d50); flex: none; }
:is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty { display: inline-flex; align-items: center; height: 48px; padding: 0 4px; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.12)); }
:is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty .qty { width: 34px !important; height: 40px !important; padding: 0; border: 0 !important; background: none; box-shadow: none !important; text-align: center; font-size: 15px; -moz-appearance: textfield; }
:is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty .qty::-webkit-inner-spin-button, :is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty button { width: 36px; height: 36px; border: 0; border-radius: 99px; background: none; color: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
:is(.cvs-pd, .cvs-buyform, .cvs-qv) .quantity.cvs-qty button:hover { background: var(--cvs-b-soft, #f1ede6); }
.cvs-hb__video { opacity: 0; transition: opacity .6s ease; }
.cvs-hb__video.is-playing { opacity: 1; }
.cvs-estilo-botanico :is(#cvt-root, .cvt-cartpage, [class*="cvt-popup"], [class*="cvt-upsell"], [class*="cvt-cross"]) img { border-radius: 14px; }
.cvs-estilo-botanico #cvt-root :is(.cvt-qty, [class*="qty"]):not(input) { border-radius: 99px; }
@media (prefers-reduced-motion: reduce) { .cvs-hb__video { display: none; } }

/* atalhos por necessidade */
.cvs-at-wrap.has-head { padding: clamp(28px, 4vw, 48px) clamp(16px, 3vw, 40px); border-radius: 28px; background: var(--cvs-b-card, #f6f1ea); box-sizing: border-box; }
.cvs-at__head { margin: 0 auto clamp(20px, 3vw, 32px); text-align: center; }
.cvs-at__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.15; }
.cvs-at__sub { margin: 8px 0 0; font-size: 14px; opacity: .72; }
.cvs-at-wrap.has-head .cvs-at__ico { background: var(--cvs-b-paper, #fff); }
.cvs-at__desc { max-width: 16ch; margin-top: -4px; font-size: 12px; line-height: 1.35; text-align: center; opacity: .65; }
.cvs-at__item:hover .cvs-at__label { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 781px) {
	.cvs-at-wrap.has-head { padding: 22px 0 18px; border-radius: 22px; }
	.cvs-at-wrap.has-head .cvs-at { padding-inline: 14px; }
	.cvs-at-wrap.has-head .cvs-at__item { background: var(--cvs-b-paper, #fff); }
	.cvs-at__desc { display: none; }
}
/* atalhos com foto (ex.: famílias olfativas): cartão com a foto do ingrediente no lugar do ícone */
.cvs-at-wrap.has-photos .cvs-at { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.cvs-at__item.has-photo { align-items: stretch; gap: 8px; text-align: center; }
.cvs-at__ph { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; background: var(--cvs-b-soft); }
.cvs-at__pic { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.cvs-at__item.has-photo:hover .cvs-at__pic { transform: scale(1.05); }
.cvs-at__item.has-photo .cvs-at__label { margin-top: 4px; font-size: 15px; font-weight: 500; }
.cvs-at__item.has-photo .cvs-at__desc { max-width: none; margin-top: -6px; }
@media (max-width: 781px) {
	.cvs-at-wrap.has-photos .cvs-at { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 14px; scrollbar-width: none; }
	.cvs-at-wrap.has-photos .cvs-at__item.has-photo { flex: 0 0 42%; padding: 0; background: none; box-shadow: none; font-size: 13px; scroll-snap-align: start; }
	.cvs-at__ph { border-radius: 16px; }
	.cvs-at__item.has-photo .cvs-at__label { font-size: 13px; }
}

/* ---------- 0.9: ícones do cabeçalho Botânico, área da cliente e busca em janela */
.cvs-bh__right { gap: 6px; }
.cvs-bh__search { margin-right: 10px; cursor: text; }
.cvs-bh__sep { width: 1px; height: 24px; margin: 0 6px; background: var(--cvs-b-line, rgba(0,0,0,.12)); }
.cvs-bh__icon { width: 42px; height: 42px; border-radius: 99px; transition: background .2s ease; }
.cvs-bh__icon:hover, .cvs-bh__icon:focus-visible { background: var(--cvs-b-soft); }
.cvs-bh__badge { top: 3px; right: 1px; min-width: 16px; height: 16px; padding: 0 4px; font-size: 10px; font-weight: 600; line-height: 16px; background: var(--cvs-b-green, #2f5d50); color: #fff; box-shadow: 0 0 0 2px var(--cvs-b-bg, #f4f2ee); box-sizing: border-box; }
.cvs-bh__badge.is-bump { animation: cvs-bump .45s ease; }
@keyframes cvs-bump { 40% { transform: scale(1.35); } }
.cvs-me { position: relative; }
.cvs-me__btn { display: inline-flex; align-items: center; gap: 10px; padding: 3px; border-radius: 99px; color: inherit; text-decoration: none; transition: background .2s ease; }
.cvs-me.is-logged .cvs-me__btn { padding-right: 14px; }
.cvs-me__btn:hover, .cvs-me.is-open .cvs-me__btn { background: var(--cvs-b-soft); }
.cvs-me__av { width: 38px; height: 38px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; flex: none; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .04em; overflow: hidden; background-size: cover; background-position: center; }
.cvs-me__av.is-guest { background: var(--cvs-b-soft); color: inherit; }
.cvs-me__av.has-photo { color: transparent; }
.cvs-me__hi { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.cvs-me__hi small { font-size: 11px; opacity: .65; }
.cvs-me__hi strong { font-size: 13px; font-weight: 600; }
.cvs-me__panel { position: absolute; top: calc(100% + 10px); right: -8px; z-index: 120; width: 360px; max-height: min(78vh, 640px); overflow: auto; padding: 18px; border-radius: 22px; background: var(--cvs-b-paper, #fff); box-shadow: 0 24px 60px -20px rgba(0,0,0,.28), 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.06)); opacity: 0; transform: translateY(-6px); transition: opacity .2s ease, transform .2s ease; box-sizing: border-box; }
.cvs-me.is-open .cvs-me__panel { opacity: 1; transform: none; }
.cvs-me__loading { padding: 24px 0; text-align: center; font-size: 13px; opacity: .6; }
.cvs-me__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 22px; line-height: 1.2; }
.cvs-me__text { margin: 6px 0 14px; font-size: 13px; line-height: 1.5; opacity: .75; }
.cvs-me__cta, .cvs-me__ghost { display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 99px; font-size: 14px; font-weight: 600; text-decoration: none; }
.cvs-me__cta { background: var(--cvs-b-green, #2f5d50); color: #fff; }
.cvs-me__ghost { margin-top: 8px; color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.15)); }
.cvs-me__perks { margin: 16px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--cvs-b-line, rgba(0,0,0,.08)); display: grid; gap: 10px; font-size: 13px; }
.cvs-me__perks li, .cvs-me__links a { display: flex; align-items: center; gap: 10px; }
.cvs-me__perks svg, .cvs-me__links svg { color: var(--cvs-b-green, #2f5d50); flex: none; }
.cvs-me__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.cvs-me__head .cvs-me__av { width: 48px; height: 48px; font-size: 16px; }
.cvs-me__head p { margin: 2px 0 0; font-size: 12.5px; opacity: .7; }
.cvs-me__wallet { position: relative; overflow: hidden; display: block; padding: 16px 18px; border-radius: 18px; color: #fff; text-decoration: none; background: linear-gradient(135deg, var(--cvs-b-green, #2f5d50), color-mix(in srgb, var(--cvs-b-green, #2f5d50) 55%, #000)); }
.cvs-me__wallet::after { content: ""; position: absolute; right: -30px; top: -40px; width: 140px; height: 140px; border-radius: 99px; background: rgba(255,255,255,.08); }
.cvs-me__wallet small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.cvs-me__wallet strong { display: block; margin-top: 4px; font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.cvs-me__wallet span { display: block; margin-top: 2px; font-size: 12px; opacity: .85; }
.cvs-me__msg { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--cvs-b-soft); font-size: 12.5px; }
.cvs-me__sec { margin: 18px 0 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .6; }
.cvs-me__order { display: block; padding: 14px; border-radius: 16px; color: inherit; text-decoration: none; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.08)); }
.cvs-me__order + .cvs-me__order { margin-top: 8px; }
.cvs-me__order:hover { background: color-mix(in srgb, var(--cvs-b-soft) 60%, transparent); }
.cvs-me__otop { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.cvs-me__thumbs { display: flex; }
.cvs-me__thumbs img { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); background: var(--cvs-b-soft); }
.cvs-me__thumbs img + img { margin-left: -10px; }
.cvs-me__otop b { font-weight: 600; }
.cvs-me__otop em { margin-left: auto; font-style: normal; opacity: .7; }
.cvs-me__steps { display: grid; grid-template-columns: repeat(var(--n, 6), 1fr); gap: 4px; margin: 12px 0 0; padding: 0; list-style: none; }
.cvs-me__steps li { position: relative; padding-top: 12px; font-size: 10px; line-height: 1.2; text-align: center; opacity: .5; }
.cvs-me__steps li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; border-radius: 99px; background: var(--cvs-b-line, rgba(0,0,0,.1)); }
.cvs-me__steps li.is-done, .cvs-me__steps li.is-now { opacity: 1; }
.cvs-me__steps li.is-done::before { background: var(--cvs-b-green, #2f5d50); }
.cvs-me__steps li.is-now::before { background: linear-gradient(90deg, var(--cvs-b-green, #2f5d50) 55%, var(--cvs-b-line, rgba(0,0,0,.1)) 55%); }
.cvs-me__steps li.is-now { font-weight: 600; white-space: nowrap; }
.cvs-me__steps li:nth-last-child(-n+2).is-now { text-align: right; direction: rtl; }
.cvs-me__steps li:first-child.is-now { text-align: left; }
.cvs-me__track { display: inline-flex; margin-top: 10px; font-size: 12px; text-decoration: underline; color: inherit; }
.cvs-me__stop { display: inline-block; margin-top: 10px; padding: 4px 10px; border-radius: 99px; background: #fbe9e7; color: #a33; font-size: 11.5px; }
.cvs-me__pay { display: inline-flex; margin-top: 10px; padding: 6px 12px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 12px; text-decoration: none; }
.cvs-me__links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cvs-me__links a { padding: 10px; border-radius: 12px; font-size: 13px; color: inherit; text-decoration: none; }
.cvs-me__links a:hover { background: var(--cvs-b-soft); }
.cvs-me__mgr { display: flex; flex-wrap: wrap; gap: 6px; }
.cvs-me__mgr a { padding: 7px 12px; border-radius: 99px; background: var(--cvs-b-soft); font-size: 12px; color: inherit; text-decoration: none; }
.cvs-me__out { display: block; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--cvs-b-line, rgba(0,0,0,.08)); font-size: 12.5px; opacity: .7; color: inherit; }
@media (max-width: 781px) {
	.cvs-bh__sep { display: none; }
	.cvs-me { display: none; }
}

/* busca em janela */
.cvs-sx { position: fixed; inset: 0; z-index: 9990; display: flex; justify-content: center; align-items: flex-start; padding: clamp(12px, 8vh, 90px) 16px 16px; background: rgba(20, 24, 20, .38); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .2s ease; }
.cvs-sx.is-open { opacity: 1; }
.cvs-sx__box { width: min(860px, 100%); max-height: calc(100vh - 2 * clamp(12px, 8vh, 90px)); display: flex; flex-direction: column; border-radius: 26px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 40px 100px -30px rgba(0,0,0,.45); overflow: hidden; transform: translateY(-10px) scale(.985); transition: transform .25s ease; }
.cvs-sx.is-open .cvs-sx__box { transform: none; }
.cvs-sx__bar { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--cvs-b-line, rgba(0,0,0,.08)); }
.cvs-sx__bar svg { flex: none; color: var(--cvs-b-green, #2f5d50); }
.cvs-sx__bar input { flex: 1; min-width: 0; border: 0 !important; background: none; font-size: clamp(18px, 2.2vw, 24px); font-family: var(--cvs-b-serif, Georgia, serif); color: inherit; outline: none; box-shadow: none !important; padding: 4px 0; }
.cvs-sx__close { flex: none; height: 34px; padding: 0 12px; border: 0; border-radius: 99px; background: var(--cvs-b-soft); color: inherit; font-size: 12px; cursor: pointer; }
.cvs-sx__body { overflow: auto; padding: 18px 22px 24px; }
.cvs-sx__fix { margin: 0 0 14px; font-size: 14px; }
.cvs-sx__fix button { padding: 0; border: 0; background: none; color: var(--cvs-b-green, #2f5d50); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.cvs-sx__grid { display: grid; grid-template-columns: 1fr 240px; gap: 24px; }
.cvs-sx__h { margin: 0 0 10px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }
.cvs-sx__prods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.cvs-sx__p { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 16px; color: inherit; text-decoration: none; }
.cvs-sx__p:hover, .cvs-sx__p.is-active { background: var(--cvs-b-soft); }
.cvs-sx__p img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; flex: none; background: var(--cvs-b-soft); }
.cvs-sx__p > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13px; }
.cvs-sx__p small { font-size: 11px; opacity: .6; }
.cvs-sx__p b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cvs-sx__p i { font-style: normal; font-size: 12px; color: var(--cvs-b-green, #2f5d50); }
.cvs-sx__p mark { background: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 22%, transparent); color: inherit; border-radius: 3px; }
.cvs-sx__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.cvs-sx__chips a, .cvs-sx__chips button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 0; border-radius: 99px; background: var(--cvs-b-soft); color: inherit; font: inherit; font-size: 12.5px; text-decoration: none; cursor: pointer; }
.cvs-sx__chips em { font-style: normal; opacity: .55; font-size: 11px; }
.cvs-sx__posts { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cvs-sx__posts a { display: flex; gap: 10px; align-items: center; color: inherit; font-size: 13px; text-decoration: none; }
.cvs-sx__posts img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.cvs-sx__all { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; height: 46px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.cvs-sx__empty { margin: 0 0 16px; font-size: 14px; }
.cvs-sx__load { height: 3px; margin: -1px 0 0; background: linear-gradient(90deg, transparent, var(--cvs-b-green, #2f5d50), transparent); background-size: 50% 100%; background-repeat: no-repeat; animation: cvs-load 1s linear infinite; visibility: hidden; }
.cvs-sx.is-loading .cvs-sx__load { visibility: visible; }
@keyframes cvs-load { from { background-position: -50% 0; } to { background-position: 150% 0; } }
@media (max-width: 781px) {
	.cvs-sx { padding: 0; align-items: stretch; }
	.cvs-sx__box { max-height: none; height: 100%; border-radius: 0; }
	.cvs-sx__grid { grid-template-columns: 1fr; }
	.cvs-sx__prods { grid-template-columns: 1fr; }
}
/* o sublinhado de hover do theme.json (a:where(...):hover) vencia os botões do cabeçalho, do painel da conta e da busca */
:is(.cvs-me, .cvs-sx, .cvs-bh__right) a:is(:hover, :focus) { text-decoration: none; }
/* bandeja da Converte: as molduras das fotos (com fundo próprio) também arredondadas, senão os cantos ficam quadrados */
.cvs-estilo-botanico #cvt-root :is(.cvt-card-media, .cvt-slide-media, [class*="-media"], [class*="-thumb"]) { border-radius: 14px !important; overflow: hidden; }

/* botão "Opções" do produto variável e a escolha por cima da foto */
.cvs-opts-btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px 0 12px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: transform .15s ease, opacity .2s ease; }
.cvs-opts-btn:hover { transform: translateY(-1px); }
.cvs-opts-btn.is-loading { opacity: .6; pointer-events: none; }
.cvs-card__media { position: relative; }
.cvs-opts { position: absolute; inset: 0; z-index: 5; display: flex; align-items: flex-end; padding: 8px; background: linear-gradient(to top, rgba(20, 24, 20, .35), transparent 60%); opacity: 0; transition: opacity .2s ease; border-radius: inherit; }
.cvs-opts.is-open { opacity: 1; }
.cvs-opts__panel { position: relative; width: 100%; max-height: 100%; overflow: auto; padding: 14px; border-radius: 16px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 94%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .35); box-sizing: border-box; transform: translateY(14px); transition: transform .25s ease; color: var(--cvs-b-ink, #1d1d1b); }
.cvs-opts.is-open .cvs-opts__panel { transform: none; }
.cvs-opts__close { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; border-radius: 99px; background: var(--cvs-b-soft, #eee); color: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.cvs-opts__group + .cvs-opts__group { margin-top: 10px; }
.cvs-opts__label { margin: 0 0 6px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.cvs-opts__vals { display: flex; flex-wrap: wrap; gap: 6px; padding-right: 26px; }
.cvs-opts__val { min-width: 44px; height: 34px; padding: 0 12px; border: 0; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .15)); color: inherit; font-size: 13px; cursor: pointer; transition: background .15s ease, box-shadow .15s ease; }
.cvs-opts__val:hover:not(:disabled) { box-shadow: inset 0 0 0 1px var(--cvs-b-green, #2f5d50); }
.cvs-opts__val[aria-pressed="true"] { background: var(--cvs-b-green, #2f5d50); color: #fff; box-shadow: none; }
.cvs-opts__val:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.cvs-opts__foot { margin-top: 12px; }
.cvs-opts__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-height: 20px; margin-bottom: 8px; }
.cvs-opts__price b { font-size: 15px; font-weight: 600; }
.cvs-opts__price i { font-style: normal; font-size: 12px; color: var(--cvs-b-green, #2f5d50); }
.cvs-opts__buy { display: flex; gap: 6px; }
.cvs-opts__qty { display: inline-flex; align-items: center; height: 40px; padding: 0 2px; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .15)); }
.cvs-opts__qty button { width: 28px; height: 32px; border: 0; background: none; color: inherit; font-size: 16px; cursor: pointer; }
.cvs-opts__qty input { width: 26px; border: 0 !important; background: none; box-shadow: none !important; padding: 0; text-align: center; font-size: 14px; -moz-appearance: textfield; }
.cvs-opts__qty input::-webkit-inner-spin-button, .cvs-opts__qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cvs-opts__add { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvs-opts__add:disabled { opacity: .45; cursor: not-allowed; }
.cvs-opts__more { display: block; margin-top: 8px; font-size: 12px; text-align: center; color: inherit; opacity: .7; }
@media (max-width: 781px) {
	.cvs-opts-btn { height: 36px; padding: 0 12px 0 10px; font-size: 12px; }
	.cvs-opts { padding: 6px; }
	.cvs-opts__panel { padding: 10px; }
	.cvs-opts__qty { display: none; }
}
.cvs-opts__price s { font-size: 12px; opacity: .5; }

/* ---------- cartão Botânico: rodapé com preço, chip do Pix e uma linha de ação do mesmo tamanho em todos os cartões */
.cvs-card.is-bt .cvs-card__foot { display: flex; flex-direction: column; gap: 12px; margin-top: auto; padding-top: 10px; }
.cvs-card.is-bt .cvs-card__prices { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cvs-card__from { font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .55; }
.cvs-card.is-bt .cvs-card__price { font-size: 19px; line-height: 1.1; }
.cvs-card__pix { display: inline-flex; align-items: center; gap: 6px; }
.cvs-card.is-bt .cvs-card__pix, .cvs-pd__price .cvs-card__pix { padding: 4px 10px 4px 7px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-pix, #0f7b4b) 10%, transparent); line-height: 1.2; }
.cvs-card__pix small { font-size: inherit; font-weight: 500; opacity: .85; }
.cvs-pix-logo { flex: none; color: #32bcad; }
.cvs-card__actions { display: flex; align-items: center; gap: 8px; }
.cvs-card__actions .cvs-qty.is-sm { height: 42px; flex: none; }
.cvs-card__add, .cvs-opts-btn.is-wide { flex: 1 1 auto; min-width: 0; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 13.5px; font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease; }
.cvs-card__add:hover { transform: translateY(-1px); box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--cvs-b-green, #2f5d50) 80%, transparent); color: #fff; }
.cvs-card__add.loading { opacity: .6; pointer-events: none; }
.cvs-card__add.added::after { content: "Adicionado ✓"; }
.cvs-card__add.added span { display: none; }
.cvs-card__add.is-ghost { background: transparent; color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.15)); }
.cvs-opts-btn.is-wide { background: transparent; color: var(--cvs-b-green, #2f5d50); box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f5d50); }
.cvs-opts-btn.is-wide:hover, .cvs-opts-btn.is-wide[aria-expanded="true"] { background: var(--cvs-b-green, #2f5d50); color: #fff; transform: none; }
.cvs-opts-btn .is-short { display: none; }
.cvs-card__actions .added_to_cart { display: none; }
@media (max-width: 781px) {
	.cvs-card.is-bt .cvs-card__foot { gap: 10px; }
	.cvs-card.is-bt .cvs-card__price { font-size: 16px; }
	.cvs-card.is-bt .cvs-card__pix { font-size: 11px; padding: 3px 8px 3px 6px; }
	.cvs-card__actions .cvs-qty.is-sm { display: none; }
	.cvs-card__add, .cvs-opts-btn.is-wide { height: 38px; font-size: 12.5px; padding: 0 10px; }
	.cvs-opts-btn .is-long { display: none; }
	.cvs-opts-btn .is-short { display: inline; }
}
/* o × ficava por baixo do rótulo da primeira opção (o clique caía no rótulo) */
.cvs-opts__close { z-index: 3; display: inline-flex; align-items: center; justify-content: center; }
.cvs-opts__close:hover { background: var(--cvs-b-line, rgba(0, 0, 0, .12)); }
.cvs-opts__group:first-of-type .cvs-opts__label { padding-right: 36px; }
.cvs-opts__vals { padding-right: 0; }
@media (max-width: 781px) { .cvs-opts__val { min-width: 0; height: 30px; padding: 0 9px; font-size: 12px; } }

/* ---------- cartão Botânico: coração, etiquetas de tamanho, contagem da oferta e "a partir de" na linha do preço */
.cvs-card.is-bt .cvs-card__media .cvs-fav { top: 10px; right: 10px; width: 36px; height: 36px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 85%, transparent); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .25); }
.cvs-card.is-bt .cvs-card__media .cvs-fav svg { width: 18px; height: 18px; }
.cvs-card.is-bt .cvs-card__media .cvs-fav[aria-pressed="true"] { color: #c0392b; }
.cvs-card.is-bt .cvs-card__from { display: inline; margin-right: 2px; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .6; }
.cvs-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cvs-chip { height: 28px; padding: 0 11px; border: 0; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .12)); color: inherit; font-size: 12px; cursor: pointer; transition: box-shadow .15s ease, background .15s ease; }
.cvs-chip:hover { box-shadow: inset 0 0 0 1px var(--cvs-b-green, #2f5d50); }
.cvs-chip.is-more { opacity: .7; }
.cvs-cd { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 5px 10px; border-radius: 10px; background: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 12%, transparent); color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 75%, #000); font-size: 12px; }
.cvs-cd b { font-variant-numeric: tabular-nums; font-weight: 700; }
.cvs-cd.is-urgent { background: #fdecea; color: #b3261e; }
.cvs-cd.is-urgent svg { animation: cvs-pulse 1s ease-in-out infinite; }
.cvs-cd.is-over { opacity: .6; }
@keyframes cvs-pulse { 50% { opacity: .35; } }
@media (max-width: 781px) {
	.cvs-chip { height: 26px; padding: 0 9px; font-size: 11px; }
	.cvs-cd { font-size: 11px; padding: 4px 8px; }
	.cvs-cd span { display: none; }
	.cvs-card.is-bt .cvs-card__media .cvs-fav { width: 32px; height: 32px; top: 8px; right: 8px; }
}

/* ---------- botões de adicionar: girando enquanto adiciona; verde mais vivo com ✓ quando deu certo */
.cvs-card__add, .cvs-opts__add { position: relative; overflow: hidden; }
.cvs-card__add.loading, .cvs-opts__add.is-loading { opacity: 1; pointer-events: none; color: transparent !important; }
.cvs-card__add.loading > *, .cvs-opts__add.is-loading > * { visibility: hidden; }
.cvs-card__add.loading::before, .cvs-opts__add.is-loading::before { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: cvs-spin .7s linear infinite; }
@keyframes cvs-spin { to { transform: rotate(360deg); } }
.cvs-card__add.added, .cvs-opts__add.is-done { background: #2e9f62 !important; color: #fff; animation: cvs-ok .45s ease; }
.cvs-card__add.added svg { display: none; }
@keyframes cvs-ok { 0% { transform: scale(.96); } 60% { transform: scale(1.03); } 100% { transform: none; } }

/* ---------- favoritos: micro-interações (salvar, tirar, aviso, cabeçalho) */
.cvs-fav { overflow: visible; }
.cvs-fav svg { transition: fill .2s ease, color .2s ease; }
.cvs-fav.is-pop svg { animation: cvs-heart-pop .55s cubic-bezier(.17, .89, .32, 1.49); }
.cvs-fav.is-unpop svg { animation: cvs-heart-unpop .35s ease; }
@keyframes cvs-heart-pop { 0% { transform: scale(1); } 25% { transform: scale(.7); } 60% { transform: scale(1.35); } 100% { transform: scale(1); } }
@keyframes cvs-heart-unpop { 0% { transform: scale(1); } 40% { transform: scale(.75) rotate(-8deg); } 100% { transform: scale(1); } }
.cvs-fav[aria-pressed="true"] { color: #d64545; }
.cvs-burst { position: absolute; inset: 0; pointer-events: none; }
.cvs-burst i { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 99px; background: #d64545; transform: rotate(var(--a)) translateY(0); opacity: 1; animation: cvs-burst .6s ease-out forwards; }
.cvs-burst i:nth-child(even) { background: var(--cvs-b-gold, #e0a458); width: 4px; height: 4px; }
@keyframes cvs-burst { 0% { transform: rotate(var(--a)) translateY(-6px) scale(.4); opacity: 1; } 100% { transform: rotate(var(--a)) translateY(-24px) scale(1); opacity: 0; } }
.is-bump svg { animation: cvs-bump-ico .5s ease; }
@keyframes cvs-bump-ico { 30% { transform: scale(1.3) rotate(-8deg); } 60% { transform: scale(.95) rotate(4deg); } }
.cvs-toast { position: fixed; left: 50%; bottom: 24px; z-index: 9995; display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 99px; background: var(--cvs-b-ink, #1d1d1b); color: #fff; font-size: 14px; box-shadow: 0 16px 40px -14px rgba(0, 0, 0, .45); transform: translate(-50%, 140%); opacity: 0; pointer-events: none; transition: transform .35s cubic-bezier(.2, .9, .3, 1.2), opacity .25s ease; }
.cvs-toast.is-on { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.cvs-toast__ico { color: #ff7a7a; animation: cvs-heart-pop .55s .1s both; }
.cvs-toast a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cvs-estilo-botanico .cvs-toast { bottom: calc(24px + env(safe-area-inset-bottom)); }
@media (max-width: 781px) { .cvs-estilo-botanico .cvs-toast { bottom: 92px; } }
li.is-leaving { overflow: hidden; opacity: 0; transform: scale(.94); height: 0 !important; margin: 0 !important; padding: 0 !important; transition: opacity .25s ease, transform .3s ease, height .35s ease .05s, margin .35s ease .05s; }
@media (prefers-reduced-motion: reduce) { .cvs-fav svg, .is-bump svg, .cvs-toast__ico { animation: none !important; } }
/* número dos favoritos no cabeçalho Botânico: o mesmo selinho pequeno da sacola (não cobre o coração) */
.cvs-bh__icon .cvs-fav-count { position: absolute; top: 3px; right: 1px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 10px; font-weight: 600; line-height: 16px; text-align: center; box-shadow: 0 0 0 2px var(--cvs-b-bg, #f4f2ee); box-sizing: border-box; }
.cvs-bh__icon .cvs-fav-count[hidden] { display: none; }
.cvs-bh__icon.is-bump .cvs-fav-count { animation: cvs-bump .45s ease; }
/* janelas fechadas não podem ficar invisíveis por cima da página bloqueando cliques (display: flex vencia o [hidden]) */
.cvs-sx[hidden], .cvs-me__panel[hidden], .cvs-drawer[hidden] { display: none !important; }
.cvs-sx:not(.is-open), .cvs-me:not(.is-open) .cvs-me__panel, .cvs-opts:not(.is-open) { pointer-events: none; }

/* ---------- painel de favoritos (lateral no computador, de baixo para cima no celular) */
.cvs-fp { position: fixed; inset: 0; z-index: 250; background: rgba(20, 24, 20, .32); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.cvs-fp[hidden] { display: none !important; }
.cvs-fp.is-open { opacity: 1; }
.cvs-fp__box { position: absolute; top: 12px; right: 12px; bottom: 12px; width: min(420px, calc(100% - 24px)); display: flex; flex-direction: column; border-radius: 26px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 30px 80px -24px rgba(0, 0, 0, .4); transform: translateX(calc(100% + 24px)); transition: transform .42s cubic-bezier(.2, .9, .25, 1); overflow: hidden; }
.cvs-fp.is-open .cvs-fp__box { transform: none; }
.cvs-fp__head { display: flex; align-items: center; gap: 12px; padding: 20px 20px 16px; border-bottom: 1px solid var(--cvs-b-line, rgba(0, 0, 0, .08)); }
.cvs-fp__ico { width: 40px; height: 40px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: #fdecec; color: #d64545; flex: none; }
.cvs-fp.is-open .cvs-fp__ico svg { animation: cvs-heart-pop .6s .2s cubic-bezier(.17, .89, .32, 1.49) both; }
.cvs-fp__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 22px; line-height: 1.1; }
.cvs-fp__count { margin: 2px 0 0; font-size: 12.5px; opacity: .6; min-height: 1em; }
.cvs-fp__close { margin-left: auto; width: 36px; height: 36px; border: 0; border-radius: 99px; background: var(--cvs-b-soft, #f1ede6); color: inherit; font-size: 20px; line-height: 1; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.cvs-fp__close:hover { transform: rotate(90deg); background: var(--cvs-b-line, rgba(0, 0, 0, .12)); }
.cvs-fp__list { flex: 1; overflow: auto; margin: 0; padding: 8px 12px; list-style: none; overscroll-behavior: contain; }
.cvs-fp__list > li { position: relative; display: flex; gap: 14px; padding: 12px 8px; border-bottom: 1px solid var(--cvs-b-line, rgba(0, 0, 0, .06)); animation: cvs-fp-in .45s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 60ms + 120ms); }
.cvs-fp__list > li:last-child { border-bottom: 0; }
@keyframes cvs-fp-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.cvs-fp__img { flex: none; width: 88px; height: 104px; border-radius: 16px; overflow: hidden; background: var(--cvs-b-soft, #eee); }
.cvs-fp__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.cvs-fp__img:hover img { transform: scale(1.06); }
.cvs-fp__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding-right: 28px; }
.cvs-fp__info small { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; opacity: .55; }
.cvs-fp__name { color: inherit; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 16px; line-height: 1.2; text-decoration: none; }
.cvs-fp__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.cvs-fp__price { margin: 2px 0 0; font-size: 15px; }
.cvs-fp__price s { font-size: 12px; opacity: .5; }
.cvs-fp__pix { align-self: flex-start; padding: 2px 8px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-pix, #0f7b4b) 10%, transparent); color: var(--cvs-pix, #0f7b4b); font-size: 11.5px; font-weight: 600; }
.cvs-fp__act { margin-top: 8px; display: flex; }
.cvs-fp__act .cvs-card__add { flex: 0 1 auto; height: 36px; padding: 0 16px; font-size: 13px; }
.cvs-fp__rm { position: absolute; top: 12px; right: 6px; width: 32px; height: 32px; border: 0; border-radius: 99px; background: transparent; color: #d64545; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease, transform .2s ease; }
.cvs-fp__rm:hover { background: #fdecec; transform: scale(1.08); }
.cvs-fp__foot { padding: 14px 20px 18px; border-top: 1px solid var(--cvs-b-line, rgba(0, 0, 0, .08)); }
.cvs-fp__foot:empty { display: none; }
.cvs-fp__all, .cvs-fp__shop { width: 100%; height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; position: relative; overflow: hidden; transition: background .25s ease, transform .15s ease; }
.cvs-fp__all:hover, .cvs-fp__shop:hover { transform: translateY(-1px); color: #fff; }
.cvs-fp__all[hidden] { display: none; }
.cvs-fp__all.is-loading { pointer-events: none; color: transparent; }
.cvs-fp__all.is-loading > * { visibility: hidden; }
.cvs-fp__all.is-loading::before { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: cvs-spin .7s linear infinite; }
.cvs-fp__all.is-done { background: #2e9f62; animation: cvs-ok .45s ease; }
.cvs-fp__empty { flex-direction: column; align-items: center; text-align: center; padding: 48px 16px !important; border: 0 !important; }
.cvs-fp__empty p { margin: 14px 0 0; font-size: 14px; line-height: 1.5; opacity: .75; }
.cvs-fp__eico { width: 64px; height: 64px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: #fdecec; color: #d64545; animation: cvs-float 2.4s ease-in-out infinite; }
.cvs-fp__eico svg { width: 28px; height: 28px; }
@keyframes cvs-float { 50% { transform: translateY(-5px); } }
.cvs-fp__skel { animation: none !important; }
.cvs-fp__skel > span { width: 88px; height: 104px; border-radius: 16px; flex: none; }
.cvs-fp__skel > div { flex: 1; display: grid; gap: 8px; align-content: start; padding-top: 6px; }
.cvs-fp__skel i { display: block; height: 12px; border-radius: 6px; }
.cvs-fp__skel i:nth-child(2) { width: 60%; }
.cvs-fp__skel i:nth-child(3) { width: 40%; height: 30px; border-radius: 99px; margin-top: 10px; }
.cvs-fp__skel > span, .cvs-fp__skel i { background: linear-gradient(90deg, var(--cvs-b-soft, #eee) 25%, color-mix(in srgb, var(--cvs-b-soft, #eee) 50%, #fff) 50%, var(--cvs-b-soft, #eee) 75%); background-size: 200% 100%; animation: cvs-shimmer 1.2s linear infinite; }
@keyframes cvs-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (max-width: 781px) {
	.cvs-fp__box { top: auto; left: 0; right: 0; bottom: 0; width: 100%; max-height: 86vh; border-radius: 26px 26px 0 0; transform: translateY(100%); padding-bottom: env(safe-area-inset-bottom); }
	.cvs-fp__box::before { content: ""; display: block; width: 44px; height: 5px; margin: 10px auto 0; border-radius: 99px; background: var(--cvs-b-line, rgba(0, 0, 0, .15)); }
	.cvs-fp__img { width: 76px; height: 90px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-fp__box, .cvs-fp__list > li, .cvs-fp__eico { transition: none; animation: none !important; } }

/* ---------- foto de perfil em Minha conta › Detalhes da conta */
.cvs-avup { display: flex; align-items: center; gap: 18px; margin: 0 0 24px; padding: 18px; border-radius: 20px; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); }
.cvs-avup__pic { position: relative; flex: none; width: 88px; height: 88px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-green, #2f5d50) center / cover no-repeat; color: #fff; font-size: 28px; font-weight: 600; letter-spacing: .04em; box-shadow: 0 0 0 4px var(--cvs-b-paper, #fff), 0 10px 24px -12px rgba(0, 0, 0, .35); transition: transform .3s ease; }
.cvs-avup__pic.has-photo span { opacity: 0; }
.cvs-avup__pic.is-new { animation: cvs-heart-pop .55s cubic-bezier(.17, .89, .32, 1.49); }
.cvs-avup__pic.is-removed { filter: grayscale(1); opacity: .5; }
.cvs-avup__title { margin: 0; font-weight: 600; }
.cvs-avup__hint { margin: 2px 0 10px; font-size: 13px; opacity: .65; }
.cvs-avup__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.cvs-avup__btn, .cvs-avup__rm { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 99px; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: transform .15s ease, background .2s ease; }
.cvs-avup__btn { background: var(--cvs-b-green, #2f5d50); color: #fff; }
.cvs-avup__btn:hover { transform: translateY(-1px); }
.cvs-avup__rm { color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .15)); }
.cvs-avup__rm.is-on { background: #fdecea; color: #b3261e; box-shadow: none; }
.cvs-avup__file { margin-top: 8px; font-size: 12.5px; color: var(--cvs-pix, #0f7b4b); }
form.edit-account button[type="submit"].is-loading { position: relative; color: transparent !important; pointer-events: none; }
form.edit-account button[type="submit"].is-loading::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: cvs-spin .7s linear infinite; }
@media (max-width: 520px) { .cvs-avup { flex-direction: column; text-align: center; } .cvs-avup__btns { justify-content: center; } }

/* =================================================================== Minha conta (painel da cliente) */
.cvs-account .woocommerce:has(.cvs-acnav) { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; max-width: var(--wp--style--global--wide-size, 1280px); margin-inline: auto; }
.cvs-account .woocommerce-MyAccount-content { width: auto !important; float: none !important; min-width: 0; }
.cvs-account .woocommerce-MyAccount-navigation { width: auto !important; float: none !important; }
.cvs-account .wp-block-post-title, .cvs-account main > .wp-block-group > h1:first-child { display: none; }

/* menu */
.cvs-acnav { position: sticky; top: 96px; padding: 18px; border-radius: 24px; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); }
.cvs-acnav__me { display: flex; align-items: center; gap: 12px; padding: 4px 4px 16px; margin-bottom: 8px; border-bottom: 1px solid var(--cvs-b-line, rgba(0, 0, 0, .08)); }
.cvs-acnav__av, .cvs-ac-hero__av { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 99px; background: var(--cvs-b-green, #2f5d50) center / cover no-repeat; color: #fff; font-weight: 600; text-decoration: none; }
.cvs-acnav__av { width: 52px; height: 52px; font-size: 17px; }
.cvs-acnav__av.has-photo span, .cvs-ac-hero__av.has-photo span { opacity: 0; }
.cvs-acnav__av i { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-green, #2f5d50); box-shadow: 0 2px 6px rgba(0, 0, 0, .15); opacity: 0; transform: scale(.6); transition: .2s ease; }
.cvs-acnav__av:hover i { opacity: 1; transform: none; }
.cvs-acnav__name { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 18px; line-height: 1.15; }
.cvs-acnav__lvl { display: inline-flex; align-items: center; gap: 4px; margin: 4px 0 0; padding: 2px 8px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 14%, transparent); color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 80%, #000); font-size: 11.5px; font-weight: 600; }
.cvs-acnav ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.cvs-acnav li a { position: relative; display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 14px; color: inherit; font-size: 14.5px; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.cvs-acnav li a:hover { background: color-mix(in srgb, var(--cvs-b-paper, #fff) 70%, transparent); transform: translateX(2px); text-decoration: none; }
.cvs-acnav li a svg { flex: none; opacity: .7; }
.cvs-acnav li.is-active a, .cvs-acnav li a[aria-current="page"] { background: var(--cvs-b-paper, #fff); font-weight: 600; box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .25); }
.cvs-acnav li.is-active a svg { opacity: 1; color: var(--cvs-b-green, #2f5d50); }
.cvs-acnav li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--cvs-b-line, rgba(0, 0, 0, .08)); }
.cvs-acnav li.woocommerce-MyAccount-navigation-link--customer-logout a { opacity: .7; font-size: 13.5px; }
.cvs-acnav__badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: #e08a2b; color: #fff; font-size: 11px; font-style: normal; font-weight: 700; line-height: 20px; text-align: center; animation: cvs-pulse 1.6s ease-in-out infinite; }

/* blocos comuns */
.cvs-ac { display: grid; gap: 20px; }
.cvs-ac > * { animation: cvs-ac-in .5s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-ac > *:nth-child(2) { animation-delay: .06s; } .cvs-ac > *:nth-child(3) { animation-delay: .12s; } .cvs-ac > *:nth-child(4) { animation-delay: .18s; } .cvs-ac > *:nth-child(5) { animation-delay: .24s; } .cvs-ac > *:nth-child(n+6) { animation-delay: .3s; }
@keyframes cvs-ac-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.cvs-ac-card, .cvs-ac-hero, .cvs-ac-sec, .cvs-ac-orders, .cvs-ac-dl, .cvs-ac-empty { padding: clamp(18px, 2.4vw, 28px); border-radius: 24px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); }
.cvs-ac-back { position: relative; overflow: hidden; display: grid; gap: 16px; padding: clamp(20px, 2.4vw, 28px); border-radius: 24px; background: color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 14%, var(--cvs-b-paper, #fff)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 28%, transparent); }
.cvs-ac-back__art { position: absolute; right: -6px; top: 16px; display: flex; gap: 6px; opacity: .9; pointer-events: none; }
.cvs-ac-back__art i { display: block; width: 34px; height: 46px; border-radius: 9px; background: var(--cvs-b-paper, #fff); box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .35), inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); animation: cvs-back-card 3.6s ease-in-out infinite; }
.cvs-ac-back__art i:nth-child(2) { animation-delay: .4s; } .cvs-ac-back__art i:nth-child(3) { animation-delay: .8s; }
.cvs-ac-back__art i::after { content: ""; display: block; margin: 9px 7px 0; height: 4px; border-radius: 99px; background: var(--cvs-b-green, #2f3a2c); opacity: .35; }
@keyframes cvs-back-card { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.cvs-ac-back__txt { max-width: 34ch; padding-right: 64px; }
.cvs-ac-back__txt small { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 70%, var(--cvs-b-ink, #222)); }
.cvs-ac-back__txt h2 { margin: 6px 0 6px; font-family: var(--cvs-b-serif, Georgia, serif); font-size: clamp(21px, 2.2vw, 26px); font-weight: 400; line-height: 1.15; }
.cvs-ac-back__txt p { margin: 0; font-size: 14px; line-height: 1.5; opacity: .75; }
.cvs-ac-back__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.cvs-ac-back__btns a { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 99px; font-size: 14px; font-weight: 600; text-decoration: none; color: var(--cvs-b-green, #2f3a2c); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 40%, transparent); transition: transform .15s ease, box-shadow .2s ease; }
.cvs-ac-back__btns a.is-main { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 12px 24px -16px var(--cvs-b-green, #2f3a2c); }
.cvs-ac-back__btns a:active { transform: scale(.97); }
.cvs-ac-back__btns a svg { transition: transform .2s ease; }
.cvs-ac-back__btns a:hover svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .cvs-ac-back__art i { animation: none; } }
.cvs-ac-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.cvs-ac-card__head h2 { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: clamp(20px, 2vw, 24px); font-weight: 400; }
.cvs-ac-card__head h2 small { font-family: inherit; font-size: 12px; margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 14%, transparent); vertical-align: middle; }
.cvs-ac-card__head a { font-size: 13px; color: inherit; }
.cvs-ac-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0 16px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff !important; font-size: 13.5px; font-weight: 600; text-decoration: none !important; transition: transform .15s ease, box-shadow .2s ease; }
.cvs-ac-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .4); }
.cvs-ac-btn.is-ghost { background: transparent; color: inherit !important; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .15)); }
.cvs-ac-muted { font-size: 13px; opacity: .6; }
.cvs-ac-thumb { width: 44px; height: 44px; border-radius: 12px; object-fit: cover; background: var(--cvs-b-soft, #eee); box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); }
.cvs-ac-thumb + .cvs-ac-thumb { margin-left: -12px; }
.cvs-ac-thumb.is-more { display: inline-flex; align-items: center; justify-content: center; margin-left: -12px; font-size: 12px; font-weight: 600; }

/* boas-vindas */
.cvs-ac-hero { position: relative; overflow: hidden; display: grid; gap: 18px; background: radial-gradient(120% 120% at 100% 0%, color-mix(in srgb, var(--cvs-b-green, #2f5d50) 14%, transparent), transparent 55%), radial-gradient(80% 90% at 0% 100%, color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 12%, transparent), transparent 60%), var(--cvs-b-card, #f6f1ea); }
.cvs-ac-hero__me { display: flex; align-items: center; gap: 16px; }
.cvs-ac-hero__av { width: 72px; height: 72px; font-size: 24px; box-shadow: 0 0 0 4px var(--cvs-b-paper, #fff), 0 12px 26px -14px rgba(0, 0, 0, .45); transition: transform .3s ease; }
.cvs-ac-hero__av:hover { transform: scale(1.05) rotate(-3deg); }
.cvs-ac-hero__hi { margin: 0; font-size: 13px; opacity: .65; }
.cvs-ac-hero__title { margin: 2px 0 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: clamp(24px, 3vw, 34px); font-weight: 400; line-height: 1.1; }
.cvs-ac-hero__since { margin: 6px 0 0; font-size: 13px; opacity: .6; }
.cvs-ac-lvl { padding: 14px 16px; border-radius: 18px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 75%, transparent); }
.cvs-ac-lvl__top { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.cvs-ac-lvl__top small { margin-left: auto; font-size: 12.5px; opacity: .7; }
.cvs-ac-lvl__ico { width: 28px; height: 28px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-gold, #b26b2b); color: #fff; }
.cvs-ac-lvl__bar { height: 8px; margin-top: 10px; border-radius: 99px; background: var(--cvs-b-line, rgba(0, 0, 0, .08)); overflow: hidden; }
.cvs-ac-lvl__bar i { display: block; height: 100%; width: var(--p); border-radius: inherit; background: linear-gradient(90deg, var(--cvs-b-gold, #b26b2b), #f2c94c); animation: cvs-grow 1.2s .3s cubic-bezier(.2, .9, .3, 1) both; }
@keyframes cvs-grow { from { width: 0; } }
.cvs-ac-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.cvs-ac-stats li { padding: 14px; border-radius: 16px; background: var(--cvs-b-paper, #fff); text-align: center; transition: transform .2s ease; }
.cvs-ac-stats li:hover { transform: translateY(-2px); }
.cvs-ac-stats b { display: block; font-size: clamp(18px, 2vw, 24px); font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.cvs-ac-stats span { font-size: 12px; opacity: .6; }

/* pendências */
.cvs-ac-alerts { display: grid; gap: 8px; }
.cvs-ac-alert { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); font-size: 14px; }
.cvs-ac-alert > span { flex: none; width: 36px; height: 36px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-soft, #f1ede6); color: var(--cvs-b-green, #2f5d50); }
.cvs-ac-alert p { margin: 0; flex: 1; }
.cvs-ac-alert a { flex: none; padding: 8px 14px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; }
.cvs-ac-alert.is-pay { background: #fff7ec; box-shadow: inset 0 0 0 1px #f3d4a8; }
.cvs-ac-alert.is-pay > span { background: #fde6c8; color: #b46100; }
.cvs-ac-alert.is-pay a { background: #e08a2b; }
.cvs-ac-alert.is-soft a { background: transparent; color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .15)); }
.cvs-ac-alert.is-bday { background: linear-gradient(90deg, #fff1f6, #fff8e8); }

/* linha do tempo da entrega */
.cvs-ac-track__items { display: flex; align-items: center; gap: 12px; margin: -4px 0 18px; font-size: 13px; opacity: .85; }
.cvs-ac-track__items > span { margin-left: 4px; }
.cvs-tl__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-bottom: 16px; }
.cvs-tl__msg { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 16px; font-weight: 600; line-height: 1.25; }
.cvs-tl__msg small { display: block; margin-bottom: 2px; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }
.cvs-tl__ico { flex: none; width: 42px; height: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 12%, transparent); color: var(--cvs-b-green, #2f5d50); animation: cvs-ok .5s .1s both; }
.cvs-tl.is-complete .cvs-tl__ico { background: var(--cvs-b-green, #2f5d50); color: #fff; }
.cvs-tl__track { display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 99px; background: var(--cvs-b-soft, #f1ede6); font-size: 12.5px; }
.cvs-tl__track code { font-weight: 700; letter-spacing: .04em; }
.cvs-tl__track a, .cvs-copy { padding: 5px 10px; border: 0; border-radius: 99px; background: var(--cvs-b-paper, #fff); color: inherit; font-size: 12px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .2s ease; }
.cvs-copy.is-copied { background: #2e9f62 !important; color: #fff !important; }
/* tracinhos: um por etapa da expedição; os feitos enchem em sequência e o atual fica enchendo */
.cvs-tl__steps { display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.cvs-tl__steps li { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.cvs-tl__seg { position: relative; display: block; align-self: stretch; height: 6px; border-radius: 99px; overflow: hidden; background: var(--cvs-b-line, rgba(0, 0, 0, .1)); }
.cvs-tl__seg::after { content: ""; position: absolute; inset: 0; width: 0; border-radius: inherit; background: var(--cvs-b-green, #2f5d50); }
.cvs-tl__steps li.is-done .cvs-tl__seg::after { width: 100%; animation: cvs-seg .55s calc(var(--i) * .14s + .15s) cubic-bezier(.3, .8, .3, 1) both; }
.cvs-tl__steps li.is-now .cvs-tl__seg::after { width: 55%; background: linear-gradient(90deg, var(--cvs-b-green, #2f5d50) 0 60%, color-mix(in srgb, var(--cvs-b-green, #2f5d50) 45%, #fff) 80%, var(--cvs-b-green, #2f5d50)); background-size: 200% 100%; animation: cvs-seg-now .7s calc(var(--i) * .14s + .15s) cubic-bezier(.3, .8, .3, 1) both, cvs-seg-run 1.6s calc(var(--i) * .14s + .9s) linear infinite; }
@keyframes cvs-seg { from { width: 0; } }
@keyframes cvs-seg-now { from { width: 0; } }
@keyframes cvs-seg-run { to { background-position: -200% 0; } }
.cvs-tl__lbl { font-size: 12px; font-weight: 600; line-height: 1.2; opacity: .45; }
.cvs-tl__steps li.is-done .cvs-tl__lbl { opacity: .85; }
.cvs-tl__steps li.is-now .cvs-tl__lbl { opacity: 1; color: var(--cvs-b-green, #2f5d50); }
.cvs-tl__date { font-size: 11px; opacity: .55; }
.cvs-tl.is-stopped { padding: 6px 0; }
.cvs-tl__stop { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 99px; background: #fbe9e7; color: #a33; font-size: 13px; }
.cvs-tl:not(.is-big) .cvs-tl__seg { height: 4px; }
.cvs-tl:not(.is-big) .cvs-tl__lbl { font-size: 10.5px; }

/* carteira: cashback + moedas */
.cvs-ac-wallet { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.cvs-ac-cash { position: relative; overflow: hidden; display: block; min-height: 150px; padding: 22px; border-radius: 24px; color: #fff; text-decoration: none; background: linear-gradient(135deg, var(--cvs-b-green, #2f5d50), color-mix(in srgb, var(--cvs-b-green, #2f5d50) 55%, #000)); box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--cvs-b-green, #2f5d50) 80%, #000); transition: transform .25s ease; }
.cvs-ac-cash:hover { transform: translateY(-3px) rotate(-.4deg); color: #fff; }
/* o editor de blocos pinta links do conteúdo com a cor de destaque (.wp-block-post-content a): aqui o texto é branco */
.cvs-ac a.cvs-ac-cash, .cvs-ac a.cvs-ac-cash:hover { color: #fff; }
.cvs-ac-cash .woocommerce-Price-amount, .cvs-ac-coins__btn .woocommerce-Price-amount { color: inherit; }
.cvs-ac-cash::before, .cvs-ac-cash::after { content: ""; position: absolute; border-radius: 99px; background: rgba(255, 255, 255, .08); }
.cvs-ac-cash::before { width: 180px; height: 180px; right: -50px; top: -60px; }
.cvs-ac-cash::after { width: 120px; height: 120px; right: 40px; bottom: -70px; }
.cvs-ac-cash small { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.cvs-ac-cash strong { display: block; margin-top: 8px; font-size: 34px; letter-spacing: -.02em; }
.cvs-ac-cash span { display: block; margin-top: 6px; font-size: 13px; opacity: .85; }
.cvs-ac-cash em { position: absolute; right: 18px; bottom: 18px; width: 34px; height: 34px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .16); }
.cvs-ac-coins { position: relative; padding: 20px; border-radius: 24px; background: linear-gradient(160deg, #fff8e6, #fdf0cf); box-shadow: inset 0 0 0 1px #f2dfae; color: #5a4310; }
.cvs-ac-coins__top { display: flex; align-items: center; gap: 12px; }
.cvs-coin { width: 44px; height: 44px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 30%, #ffe58a, #f2b705 60%, #c88a00); color: #7a5200; font-weight: 800; font-size: 18px; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .15), 0 6px 14px -6px rgba(200, 138, 0, .7); animation: cvs-coin-spin 4s ease-in-out infinite; }
@keyframes cvs-coin-spin { 0%, 70%, 100% { transform: rotateY(0); } 80% { transform: rotateY(180deg); } 90% { transform: rotateY(360deg); } }
.cvs-ac-coins__top small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.cvs-ac-coins__top strong { font-size: 30px; font-variant-numeric: tabular-nums; }
[data-cvs-coins].is-bump { display: inline-block; animation: cvs-bump .5s ease; }
.cvs-ac-coins__bar { height: 8px; margin: 14px 0 8px; border-radius: 99px; background: rgba(0, 0, 0, .08); overflow: hidden; }
.cvs-ac-coins__bar i { display: block; height: 100%; width: var(--p); border-radius: inherit; background: linear-gradient(90deg, #f2b705, #ffd84d); transition: width .8s cubic-bezier(.2, .9, .3, 1); animation: cvs-grow 1.2s .3s both; }
.cvs-ac-coins__txt { margin: 0 0 12px; font-size: 13px; }
.cvs-ac-coins__btn { position: relative; overflow: hidden; width: 100%; height: 42px; border: 0; border-radius: 99px; background: #c88a00; color: #fff; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: transform .15s ease, opacity .2s ease, background .2s ease; }
.cvs-ac-coins__btn:disabled { opacity: .45; cursor: not-allowed; }
.cvs-ac-coins__btn:not(:disabled):hover { transform: translateY(-1px); }
.cvs-ac-coins__btn.is-loading { color: transparent; pointer-events: none; }
.cvs-ac-coins__btn.is-loading::before { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: cvs-spin .7s linear infinite; }
.cvs-ac-coins__btn.is-done { background: #2e9f62; animation: cvs-ok .45s ease; }
.cvs-ac-coupons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cvs-ac-coupon { display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px !important; border: 1.5px dashed #c88a00 !important; background: #fff !important; color: #5a4310 !important; }
.cvs-ac-coupon span { padding: 4px 8px; border-radius: 99px; background: #fff3cd; font-size: 11px; }
.cvs-ac-prize { margin-top: 12px; padding: 12px; border-radius: 16px; background: #fff; text-align: center; animation: cvs-ok .5s ease; }
.cvs-ac-prize p { margin: 0 0 8px; }
.cvs-ac-prize small { display: block; margin-top: 6px; opacity: .7; }

/* jogo da velha */
.cvs-game__left { font-size: 12.5px; opacity: .65; }
.cvs-game__wrap { display: grid; grid-template-columns: auto 1fr; gap: clamp(18px, 3vw, 36px); align-items: center; }
.cvs-game__board { display: grid; grid-template-columns: repeat(3, 78px); grid-template-rows: repeat(3, 78px); gap: 8px; padding: 10px; border-radius: 22px; background: var(--cvs-b-card, #f6f1ea); }
.cvs-game__cell { border: 0; border-radius: 16px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 0 rgba(0, 0, 0, .05); transition: transform .15s ease, background .2s ease, box-shadow .2s ease; }
.cvs-game__cell:not(:disabled):hover { transform: translateY(-2px); background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 6%, #fff); }
.cvs-game__cell:disabled { cursor: default; }
.cvs-game__cell[data-v="X"] { color: var(--cvs-b-green, #2f5d50); }
.cvs-game__cell[data-v="O"] { color: var(--cvs-b-gold, #b26b2b); }
.cvs-game__cell.is-new svg { animation: cvs-ok .35s ease; }
.cvs-draw { stroke-dasharray: 60; stroke-dashoffset: 60; animation: cvs-draw .35s ease forwards; }
.cvs-draw + .cvs-draw { animation-delay: .12s; }
@keyframes cvs-draw { to { stroke-dashoffset: 0; } }
.cvs-game__cell.is-line { background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 16%, #fff); animation: cvs-bump .5s ease; }
.cvs-game__cell.is-clear { transform: scale(.85); opacity: .4; }
.cvs-game.is-busy .cvs-game__board { pointer-events: none; }
.cvs-game__msg { margin: 0 0 14px; font-size: 16px; line-height: 1.45; }
.cvs-game__new { height: 42px; padding: 0 18px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-weight: 600; cursor: pointer; transition: transform .15s ease; }
.cvs-game__new:hover { transform: translateY(-1px); }
.cvs-game.is-over .cvs-game__new { animation: cvs-pulse-btn 1.4s ease-in-out infinite; }
@keyframes cvs-pulse-btn { 50% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--cvs-b-green, #2f5d50) 18%, transparent); } }
.cvs-game__rule { margin: 14px 0 0; font-size: 12.5px; opacity: .65; }
/* estado vazio do jogo: convite com as regras até a primeira jogada */
.cvs-game__intro { display: none; }
.cvs-game.has-intro .cvs-game__wrap { display: none; }
.cvs-game.has-intro .cvs-game__intro { display: grid; grid-template-columns: 200px 1fr; gap: clamp(18px, 3vw, 34px); align-items: center; animation: cvs-vin .45s ease both; }
.cvs-game.is-starting .cvs-game__intro { opacity: 0; transform: scale(.97) translateY(6px); transition: opacity .25s ease, transform .25s ease; }
.cvs-game.is-in .cvs-game__wrap { animation: cvs-vin .4s ease both; }
.cvs-game__art { position: relative; width: 200px; height: 180px; display: flex; align-items: center; justify-content: center; border-radius: 26px; background: radial-gradient(circle at 30% 20%, color-mix(in srgb, #f2b705 22%, transparent), transparent 60%), var(--cvs-b-card, #f6f1ea); }
.cvs-game__mini { display: grid; grid-template-columns: repeat(3, 34px); grid-template-rows: repeat(3, 34px); gap: 5px; transform: rotate(-6deg); animation: cvs-float 4s ease-in-out infinite; }
.cvs-game__mini i { position: relative; border-radius: 9px; background: var(--cvs-b-paper, #fff); box-shadow: 0 2px 0 rgba(0, 0, 0, .05); }
.cvs-game__mini i.is-x::before, .cvs-game__mini i.is-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 3px; margin: -1.5px 0 0 -9px; border-radius: 3px; background: var(--cvs-b-green, #2f5d50); transform: rotate(45deg); }
.cvs-game__mini i.is-x::after { transform: rotate(-45deg); }
.cvs-game__mini i.is-o::before { content: ""; position: absolute; inset: 9px; border-radius: 99px; border: 3px solid var(--cvs-b-gold, #b26b2b); }
.cvs-game__mini i.is-win { background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 16%, #fff); animation: cvs-bump 1.6s 1s ease-in-out infinite; }
.cvs-game__art .cvs-coin { position: absolute; width: 34px; height: 34px; font-size: 14px; }
.cvs-game__c1 { top: 14px; right: 18px; animation-delay: -.6s !important; }
.cvs-game__c2 { bottom: 22px; left: 14px; width: 28px !important; height: 28px !important; font-size: 12px !important; animation-delay: -1.8s !important; }
.cvs-game__c3 { bottom: 12px; right: 40px; width: 24px !important; height: 24px !important; font-size: 11px !important; animation-delay: -3s !important; }
.cvs-game__tag { position: absolute; top: 16px; left: 14px; padding: 5px 10px; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font-size: 11.5px; font-weight: 700; transform: rotate(-8deg); box-shadow: 0 8px 16px -10px rgba(0, 0, 0, .5); animation: cvs-float 3s .5s ease-in-out infinite; }
.cvs-game__pitch h3 { margin: 0 0 12px; font-size: clamp(18px, 2.2vw, 22px); line-height: 1.2; letter-spacing: -.01em; }
.cvs-game__how { display: grid; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; font-size: 14px; line-height: 1.35; }
.cvs-game__how li { display: flex; align-items: center; gap: 10px; animation: cvs-vin .4s calc(.15s + var(--d, 0s)) ease both; }
.cvs-game__how li:nth-child(2) { --d: .08s; }
.cvs-game__how li:nth-child(3) { --d: .16s; }
.cvs-game__how b { flex: none; width: 24px; height: 24px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 12%, transparent); color: var(--cvs-b-green, #2f5d50); font-size: 12px; }
.cvs-game__play { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 22px; border: 0; border-radius: 99px; background: var(--cvs-b-green, #2f5d50); color: #fff; font: inherit; font-weight: 600; cursor: pointer; animation: cvs-pulse-btn 1.8s 1s ease-in-out infinite; transition: transform .15s ease; }
.cvs-game__play:hover { transform: translateY(-1px); }
.cvs-game__play:active { transform: scale(.97); }
.cvs-game__play svg { transition: transform .2s ease; }
.cvs-game__play:hover svg { transform: translateX(3px); }
.cvs-game__intro .cvs-game__rule { margin-top: 12px; }
.cvs-confetti { position: fixed; z-index: 9999; width: 0; height: 0; pointer-events: none; }
.cvs-confetti i { position: absolute; width: 8px; height: 12px; border-radius: 2px; animation: cvs-confetti 1.2s cubic-bezier(.2, .7, .3, 1) forwards; }
@keyframes cvs-confetti { 0% { transform: translate(0, 0) rotate(0); opacity: 1; } 100% { transform: translate(var(--x), calc(var(--y) + 260px)) rotate(var(--r)); opacity: 0; } }

/* recomendações e comprar de novo */
.cvs-ac-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(180px, 210px); gap: 14px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.cvs-mc { scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; padding: 8px !important; border-radius: 18px; background: var(--cvs-b-card, #f6f1ea); }
.cvs-mc__media { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 1; background: var(--cvs-b-soft, #eee); }
.cvs-mc__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.cvs-mc:hover .cvs-mc__media img { transform: scale(1.05); }
.cvs-mc__why { display: flex; align-items: center; gap: 4px; margin: 2px 4px 0; font-size: 11px; color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 80%, #000); line-height: 1.25; }
.cvs-mc__name { margin: 0 4px; color: inherit; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 15px; line-height: 1.2; text-decoration: none; }
.cvs-mc__price { margin: 0 4px; font-size: 14px; font-weight: 700; }
.cvs-mc__price del { font-size: 12px; font-weight: 400; opacity: .5; }
.cvs-mc__buy { margin-top: auto; display: flex; }
.cvs-mc__buy > * { flex: 1; height: 36px !important; font-size: 12.5px !important; }

/* pedidos */
.cvs-ac-filters { display: flex; gap: 6px; overflow-x: auto; margin-bottom: 16px; scrollbar-width: none; }
.cvs-ac-filters button { flex: none; height: 36px; padding: 0 14px; border: 0; border-radius: 99px; background: var(--cvs-b-soft, #f1ede6); color: inherit; font-size: 13px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.cvs-ac-filters button[aria-pressed="true"] { background: var(--cvs-b-green, #2f5d50); color: #fff; }
.cvs-ac-olist { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cvs-ac-order { padding: 16px; border-radius: 20px; background: var(--cvs-b-card, #f6f1ea); }
.cvs-ac-order.is-in { animation: cvs-ac-in .4s calc(var(--i, 0) * 50ms) both; }
.cvs-ac-order__top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.cvs-ac-order__thumbs { display: flex; flex: none; }
.cvs-ac-order__info p { margin: 0; font-size: 14px; }
.cvs-ac-order__meta { margin-top: 4px !important; font-size: 12.5px !important; opacity: .75; }
.cvs-ac-pill { display: inline-block; margin-left: 6px; padding: 2px 9px; border-radius: 99px; font-size: 11.5px; font-weight: 600; background: var(--cvs-b-paper, #fff); }
.cvs-ac-pill.is-pay { background: #fde6c8; color: #b46100; }
.cvs-ac-pill.is-open { background: color-mix(in srgb, var(--cvs-b-green, #2f5d50) 14%, #fff); color: var(--cvs-b-green, #2f5d50); }
.cvs-ac-pill.is-done { background: #dcf3e5; color: #1d7a46; }
.cvs-ac-pill.is-stop { background: #fbe9e7; color: #a33; }
.cvs-ac-order__act { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cvs-ac-order__act .cvs-ac-btn { height: 36px; font-size: 13px; }
.cvs-ac-none { margin: 16px 0 0; text-align: center; opacity: .6; }
.cvs-ac-pages { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }

/* downloads: produtos digitais */
.cvs-ac-dl__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.cvs-ac-dl__item { overflow: hidden; border-radius: 20px; background: var(--cvs-b-card, #f6f1ea); animation: cvs-ac-in .45s calc(var(--i) * 60ms) both; transition: transform .2s ease, box-shadow .2s ease; }
.cvs-ac-dl__item:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(0, 0, 0, .45); }
.cvs-ac-dl__cover { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, var(--cvs-b-green, #2f5d50), color-mix(in srgb, var(--cvs-b-green, #2f5d50) 50%, #000)); }
.cvs-ac-dl__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cvs-ac-dl__ext { position: absolute; left: 10px; top: 10px; padding: 3px 9px; border-radius: 8px; background: rgba(0, 0, 0, .65); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.cvs-ac-dl__body { padding: 14px; display: grid; gap: 4px; }
.cvs-ac-dl__name { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 17px; }
.cvs-ac-dl__file { margin: 0; font-size: 13px; opacity: .75; }
.cvs-ac-dl__meta { margin: 0 0 8px; font-size: 12px; opacity: .6; }
.cvs-ac-dl__go { width: 100%; }
.cvs-ac-dl__go svg { transform: rotate(90deg); }

/* vazio */
.cvs-ac-empty { text-align: center; padding: 48px 20px !important; }
.cvs-ac-empty__ico { width: 72px; height: 72px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-soft, #f1ede6); color: var(--cvs-b-green, #2f5d50); animation: cvs-float 2.4s ease-in-out infinite; }
.cvs-ac-empty h2 { margin: 14px 0 6px; font-family: var(--cvs-b-serif, Georgia, serif); font-weight: 400; }
.cvs-ac-empty p { margin: 0 auto 18px; max-width: 42ch; opacity: .7; }

/* pedido aberto: a linha do tempo antes dos detalhes do WooCommerce */
.cvs-account .woocommerce-MyAccount-content > .cvs-ac-track { margin-bottom: 20px; }
.cvs-account .woocommerce-order-details, .cvs-account .woocommerce-customer-details, .cvs-account .woocommerce-MyAccount-content form, .cvs-account .woocommerce-Addresses .woocommerce-Address { padding: clamp(18px, 2.4vw, 28px); border-radius: 24px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)); margin-bottom: 18px; }

/* celular: menu vira abas que deslizam; blocos em coluna */
@media (max-width: 900px) {
	.cvs-account .woocommerce:has(.cvs-acnav) { grid-template-columns: 1fr; }
	.cvs-acnav { position: static; padding: 10px; border-radius: 20px; }
	.cvs-acnav__me { display: none; }
	.cvs-acnav ul { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
	.cvs-acnav ul::-webkit-scrollbar { display: none; }
	.cvs-acnav li { flex: none; scroll-snap-align: start; }
	.cvs-acnav li a { padding: 9px 14px; font-size: 13.5px; white-space: nowrap; }
	.cvs-acnav li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.cvs-ac-stats { grid-template-columns: repeat(2, 1fr); }
	.cvs-ac-hero__av { width: 60px; height: 60px; }
	.cvs-tl__steps { gap: 4px; }
	/* celular: os nomes de todas as etapas não cabem; ficam o primeiro, o último e o atual (o atual também no título) */
	.cvs-tl__steps li .cvs-tl__lbl, .cvs-tl__date { display: none; }
	.cvs-tl__steps li:first-child .cvs-tl__lbl, .cvs-tl__steps li:last-child .cvs-tl__lbl { display: block; font-size: 10.5px; white-space: nowrap; }
	.cvs-tl__steps li:last-child { align-items: flex-end; }
	.cvs-tl__msg { font-size: 15px; }
	.cvs-game__wrap { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.cvs-game.has-intro .cvs-game__intro { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.cvs-game__art { width: 100%; max-width: 280px; height: 160px; }
	.cvs-game__how { text-align: left; }
	.cvs-game__board { grid-template-columns: repeat(3, 72px); grid-template-rows: repeat(3, 72px); }
	.cvs-ac-alert { flex-wrap: wrap; }
	.cvs-ac-alert a { margin-left: 48px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-ac > *, .cvs-ac-order.is-in, .cvs-ac-dl__item, .cvs-coin, .cvs-tl__seg::after, .cvs-tl__ico, .cvs-acnav__badge { animation: none !important; } }
/* a página da conta usa a largura larga (o modelo de página limita o texto à largura de leitura) */
.cvs-account .is-layout-constrained > .woocommerce, .cvs-account .woocommerce:has(.cvs-acnav) { max-width: var(--wp--style--global--wide-size, 1280px) !important; width: 100%; }
.cvs-account main .wp-block-post-content:has(.cvs-acnav) { max-width: var(--wp--style--global--wide-size, 1280px) !important; width: 100%; }
/* o "clearfix" do WooCommerce (::before/::after) ocupava uma célula da grade e empurrava o menu */
.cvs-account .woocommerce:has(.cvs-acnav)::before, .cvs-account .woocommerce:has(.cvs-acnav)::after { display: none !important; }
.cvs-account .woocommerce:has(.cvs-acnav) > .cvs-acnav { grid-column: 1; grid-row: 1; }
.cvs-account .woocommerce:has(.cvs-acnav) > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
@media (max-width: 900px) { .cvs-account .woocommerce:has(.cvs-acnav) > .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; } }
/* os carrosséis (recomendações) não podem alargar a coluna; o valor do cashback não quebra em linhas */
.cvs-ac { grid-template-columns: minmax(0, 1fr); }
.cvs-ac > *, .cvs-ac-sec, .cvs-ac-rail { min-width: 0; }
.cvs-ac-cash strong span, .cvs-ac-cash span span { display: inline; margin: 0; font-size: inherit; opacity: 1; }
@media (max-width: 900px) {
	.cvs-account .woocommerce:has(.cvs-acnav) { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.cvs-account .woocommerce:has(.cvs-acnav) > * { min-width: 0; }
	.cvs-ac-hero { padding: 18px; }
	.cvs-ac-hero__title { font-size: 24px; }
	.cvs-ac-lvl__top small { margin-left: 0; flex-basis: 100%; }
	.cvs-ac-card, .cvs-ac-sec, .cvs-ac-orders, .cvs-ac-dl { padding: 16px; border-radius: 20px; }
	.cvs-ac-wallet { grid-template-columns: minmax(0, 1fr); }
}
.cvs-acnav ul { margin: 0 !important; padding: 0 !important; }
.cvs-account main.wp-block-group { padding-top: clamp(12px, 2vw, 24px); }

/* ---------- cartão Botânico: extras (cores, tamanhos, contagem) na coluna da direita, ao lado do texto */
.cvs-card__mid { display: flex; align-items: flex-start; gap: 10px; margin-top: 4px; }
.cvs-card__txt { flex: 1 1 auto; min-width: 0; }
.cvs-card__txt .cvs-card__sub { margin: 0; }
.cvs-card__aside { flex: 0 0 auto; max-width: 52%; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.cvs-card__aside .cvs-sws { margin: 0; justify-content: flex-end; }
.cvs-card__aside .cvs-chips { margin: 0; justify-content: flex-end; gap: 4px; }
.cvs-card__aside .cvs-chip { height: 24px; padding: 0 8px; font-size: 11px; }
.cvs-card__aside .cvs-cd { margin: 0; display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; gap: 1px 5px; padding: 6px 10px; border-radius: 12px; text-align: right; line-height: 1.15; }
.cvs-card__aside .cvs-cd svg { width: 12px; height: 12px; }
.cvs-card__aside .cvs-cd span { font-size: 10.5px; opacity: .85; }
.cvs-card__aside .cvs-cd b { grid-column: 1 / -1; font-size: 13px; }
.cvs-card.is-bt .cvs-card__foot { padding-top: 14px; }
@media (max-width: 781px) {
	.cvs-card__mid { flex-direction: column; gap: 6px; }
	.cvs-card__aside { max-width: none; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px; }
	.cvs-card__aside .cvs-chips, .cvs-card__aside .cvs-sws { justify-content: flex-start; }
	.cvs-card__aside .cvs-cd { display: inline-flex; padding: 3px 8px; border-radius: 99px; }
	.cvs-card__aside .cvs-cd span { display: none; }
	.cvs-card__aside .cvs-cd b { font-size: 11px; }
}
@media (max-width: 781px) {
	.cvs-card__aside .cvs-chips { flex-wrap: nowrap; gap: 3px; }
	.cvs-card__aside .cvs-chip { height: 22px; padding: 0 6px; font-size: 10.5px; }
	.cvs-card__aside .cvs-chip.is-more { padding: 0 5px; }
}

/* ---------- cartão Botânico (v2): descrição + cores/tamanhos à esquerda; contagem centralizada à direita, no espaço
   entre o nome e o preço; descrição curta até 3 linhas */
.cvs-card.is-bt .cvs-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.cvs-card.is-bt .cvs-card__mid { flex: 1 1 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; margin-top: 4px; }
.cvs-card.is-bt .cvs-card__mid.has-aside { grid-template-columns: minmax(0, 1fr) auto; }
.cvs-card.is-bt .cvs-card__sub { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.45; }
.cvs-card.is-bt .cvs-card__txt .cvs-chips { margin-top: 10px; justify-content: flex-start; gap: 5px; }
.cvs-card.is-bt .cvs-card__txt .cvs-sws { margin-top: 8px; }
.cvs-card.is-bt .cvs-card__aside { align-self: center; max-width: none; }
.cvs-card.is-bt .cvs-card__foot { margin-top: 0; padding-top: 12px; }
@media (max-width: 781px) {
	.cvs-card.is-bt .cvs-card__mid.has-aside { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.cvs-card.is-bt .cvs-card__aside { align-self: start; }
	.cvs-card.is-bt .cvs-card__sub { -webkit-line-clamp: 2; }
	.cvs-card.is-bt .cvs-card__txt .cvs-chips { flex-wrap: nowrap; gap: 3px; margin-top: 8px; }
	.cvs-card.is-bt .cvs-card__txt .cvs-chip { height: 22px; padding: 0 6px; font-size: 10.5px; }
}

/* ---------- cartão Botânico (v3): essencial à vista; descrição ao passar o mouse; contagem ao lado do preço */
.cvs-card.is-bt { position: relative; }
.cvs-card.is-bt .cvs-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.cvs-card.is-bt .cvs-card__mid { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.cvs-card.is-bt .cvs-card__mid .cvs-chips, .cvs-card.is-bt .cvs-card__mid .cvs-sws { margin: 0; }
.cvs-card.is-bt .cvs-card__foot { margin-top: auto; padding-top: 14px; }
.cvs-card__pricerow { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cvs-card__pricerow .cvs-card__prices { min-width: 0; }
.cvs-card__pricerow .cvs-cd { flex: none; margin: 0; display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; gap: 1px 5px; padding: 6px 10px; border-radius: 12px; text-align: right; line-height: 1.15; }
.cvs-card__pricerow .cvs-cd svg { width: 12px; height: 12px; }
.cvs-card__pricerow .cvs-cd span { font-size: 10.5px; opacity: .85; }
.cvs-card__pricerow .cvs-cd b { grid-column: 1 / -1; font-size: 13px; }
.cvs-card__desc { display: none; }
@media (hover: hover) and (pointer: fine) {
	.cvs-card.is-bt .cvs-card__desc { display: block; position: absolute; left: 0; right: 0; top: calc(100% - 24px); z-index: -1; padding: 34px 18px 18px; border-radius: 0 0 22px 22px; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)), 0 22px 34px -22px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(-14px); pointer-events: none; transition: opacity .25s ease, transform .3s cubic-bezier(.2, .9, .3, 1); }
	.cvs-card__desc p { margin: 0; font-size: 13px; line-height: 1.55; opacity: .8; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
	.cvs-card.is-bt.has-desc:hover, .cvs-card.is-bt.has-desc:focus-within { z-index: 6; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)), 0 18px 40px -26px rgba(0, 0, 0, .4); }
	.cvs-card.is-bt.has-desc:hover .cvs-card__desc, .cvs-card.is-bt.has-desc:focus-within .cvs-card__desc { opacity: 1; transform: none; }
	/* no carrossel a rolagem cortaria a descrição: espaço extra embaixo, sem empurrar a página */
	.cvs-products.is-carousel:has(.cvs-card.has-desc) { padding-bottom: 170px; margin-bottom: -170px; }
}
@media (max-width: 781px) {
	.cvs-card__pricerow.has-cd { flex-direction: column; align-items: flex-start; gap: 6px; }
	.cvs-card__pricerow .cvs-cd { display: inline-flex; padding: 3px 8px; border-radius: 99px; }
	.cvs-card__pricerow .cvs-cd span { display: none; }
	.cvs-card__pricerow .cvs-cd b { font-size: 11px; }
	.cvs-card.is-bt .cvs-card__mid .cvs-chips { flex-wrap: nowrap; gap: 3px; }
	.cvs-card.is-bt .cvs-card__mid .cvs-chip { height: 22px; padding: 0 6px; font-size: 10.5px; }
}

/* ================================================================ cartão Botânico (v4) — acabamento
   Foto com coluna de ícones (favoritar, ver rápido); ao passar o mouse: o cartão flutua, a foto aproxima e a
   descrição curta sobe em vidro fosco por cima da foto. Nada sai do cartão: funciona em grade, carrossel e seções. */
.cvs-card.is-bt { transition: transform .45s cubic-bezier(.2, .9, .3, 1), box-shadow .45s ease; }
.cvs-card.is-bt .cvs-card__media { overflow: hidden; isolation: isolate; }
.cvs-card.is-bt .cvs-card__media img { transition: transform 1.1s cubic-bezier(.2, .9, .3, 1), opacity .45s ease; }
.cvs-card__tools { position: absolute; top: 10px; right: 10px; z-index: 3; display: flex; flex-direction: column; gap: 8px; }
.cvs-card.is-bt .cvs-card__tools .cvs-fav { position: static; width: 36px; height: 36px; }
.cvs-card.is-bt .cvs-card__tools .cvs-qv-btn { position: static; left: auto; right: auto; bottom: auto; width: 36px; height: 36px; padding: 0; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 85%, transparent); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .25); opacity: 0; transform: translateX(8px); transition: opacity .3s ease .05s, transform .35s cubic-bezier(.2, .9, .3, 1) .05s, background .2s ease; }
.cvs-card.is-bt .cvs-card__tools .cvs-qv-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cvs-card.is-bt .cvs-card__tools .cvs-qv-btn:hover, .cvs-card.is-bt .cvs-card__tools .cvs-fav:hover { background: var(--cvs-b-paper, #fff); transform: scale(1.08); }
.cvs-card.is-bt .cvs-card__tools .cvs-qv-btn:focus-visible { opacity: 1; transform: none; }
.cvs-card.is-bt .cvs-card__desc { display: block; position: absolute; left: 10px; right: 10px; bottom: 10px; top: auto; z-index: 2; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 78%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); box-shadow: 0 10px 26px -14px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .35s ease, transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-card.is-bt .cvs-card__desc p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--cvs-b-ink, #1d1d1b); opacity: .9; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.cvs-card.is-bt .cvs-card__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s ease; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
	.cvs-card.is-bt:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)), 0 24px 44px -28px rgba(0, 0, 0, .45); z-index: 2; }
	.cvs-card.is-bt:hover .cvs-card__media img { transform: scale(1.05); }
	.cvs-card.is-bt:hover .cvs-card__desc { opacity: 1; transform: none; }
	.cvs-card.is-bt:hover .cvs-card__tools .cvs-qv-btn { opacity: 1; transform: none; }
	.cvs-card.is-bt:hover .cvs-card__title a { background-size: 100% 1px; }
	/* desfaz a versão anterior (descrição por baixo do cartão e espaço extra no carrossel) */
	.cvs-card.is-bt.has-desc:hover, .cvs-card.is-bt.has-desc:focus-within { z-index: 2; }
	.cvs-products.is-carousel:has(.cvs-card.has-desc) { padding-bottom: 8px; margin-bottom: 0; }
	/* enquanto a escolha de opções está aberta, a descrição sai do caminho */
	.cvs-card.is-bt .cvs-card__media:has(.cvs-opts) .cvs-card__desc { opacity: 0 !important; }
}
@media (hover: none), (pointer: coarse) {
	.cvs-card.is-bt .cvs-card__desc { display: none; }
	.cvs-card.is-bt .cvs-card__tools .cvs-qv-btn { opacity: 1; transform: none; width: 32px; height: 32px; }
}
@media (max-width: 781px) {
	.cvs-card__tools { top: 8px; right: 8px; gap: 6px; }
	.cvs-card.is-bt .cvs-card__tools .cvs-fav { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-card.is-bt, .cvs-card.is-bt .cvs-card__media img, .cvs-card.is-bt .cvs-card__desc { transition: none; } }
/* o cartão se ajusta à própria largura (grade de 3, 4 ou 5 colunas, carrossel): estreito, a contagem desce */
.cvs-card.is-bt .cvs-card__body { container-type: inline-size; container-name: cvscard; }
@container cvscard (max-width: 250px) {
	.cvs-card__pricerow.has-cd { flex-direction: column; align-items: flex-start; gap: 8px; }
	.cvs-card__pricerow .cvs-cd { display: inline-flex; gap: 5px; padding: 4px 10px; border-radius: 99px; }
	.cvs-card__pricerow .cvs-cd b { font-size: 12px; }
	.cvs-card__actions .cvs-qty.is-sm { display: none; }
}
@container cvscard (max-width: 200px) {
	.cvs-card__pricerow .cvs-cd span { display: none; }
	.cvs-card.is-bt .cvs-card__pix { font-size: 11px; }
}

/* ---------- cartão Botânico (v5): a descrição desce por baixo do cartão, como uma continuação dele, e pode passar
   por cima da seção seguinte ("quebra a quarta parede"); a seção sobe de camada enquanto o mouse está no cartão */
@media (hover: hover) and (pointer: fine) {
	.cvs-card.is-bt .cvs-card__desc { display: block; position: absolute; left: 0; right: 0; top: calc(100% - 26px); bottom: auto; z-index: -1; padding: 38px 18px 18px; border-radius: 0 0 22px 22px; background: var(--cvs-b-card, #f6f1ea); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .06)), 0 26px 40px -24px rgba(0, 0, 0, .4); opacity: 0; transform: translateY(-18px); pointer-events: none; transition: opacity .3s ease, transform .45s cubic-bezier(.2, .9, .3, 1); }
	.cvs-card.is-bt .cvs-card__desc p { font-size: 13px; line-height: 1.55; -webkit-line-clamp: 5; }
	.cvs-card.is-bt.has-desc:hover { z-index: 6; }
	.cvs-card.is-bt.has-desc:hover .cvs-card__desc { opacity: 1; transform: none; }
	/* a seção (e o item da lista) do cartão sob o mouse ficam acima das seções seguintes */
	:is(.cvs-home, main, .wp-block-group) > *:has(.cvs-card.is-bt.has-desc:hover), .cvs-products > li:has(.cvs-card.is-bt.has-desc:hover) { position: relative; z-index: 30; }
	/* carrossel: espaço invisível embaixo para a descrição não ser cortada (sem bloquear cliques na seção seguinte) */
	.cvs-products.is-carousel:has(.cvs-card.has-desc) { padding-bottom: 190px; margin-bottom: -190px; pointer-events: none; }
	.cvs-products.is-carousel:has(.cvs-card.has-desc) > * { pointer-events: auto; }
}

/* ---------- cartão Botânico (v6): tamanhos/cores sobre a foto; sem sublinhado no nome; painel sem linha em cima */
.cvs-card.is-bt .cvs-card__title a, .cvs-card.is-bt:hover .cvs-card__title a { background: none !important; }
.cvs-card__onimg { position: absolute; left: 10px; right: 56px; bottom: 10px; z-index: 3; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.cvs-card__onimg .cvs-chips, .cvs-card__onimg .cvs-sws { margin: 0; gap: 5px; }
.cvs-card__onimg .cvs-chip { height: 26px; padding: 0 10px; border: 0; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .3); font-size: 11.5px; font-weight: 600; transition: transform .2s ease, background .2s ease; }
.cvs-card__onimg .cvs-chip.is-more { opacity: 1; min-width: 26px; padding: 0 8px; justify-content: center; }
/* etiquetas sobre a foto: coluna estreita, a 1ª numa linha, a 2ª e o "+N" juntos na linha de baixo;
   nome comprido é cortado com reticências */
.cvs-card__onimg .cvs-chips { display: flex; flex-wrap: wrap; row-gap: 0; align-items: center; max-width: min(100%, 200px); }
.cvs-card__onimg .cvs-chips::after { content: ""; order: 1; flex-basis: 100%; height: 0; }
.cvs-card__onimg .cvs-chip { display: block; flex: 0 1 auto; order: 2; max-width: calc(100% - 36px); min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 26px; text-align: left; }
.cvs-card__onimg .cvs-chip:first-child { order: 0; max-width: 100%; margin-bottom: 5px; }
.cvs-card__onimg .cvs-chip.is-more { flex: none; max-width: none; text-align: center; }
.cvs-card__onimg .cvs-chip:hover { background: var(--cvs-b-paper, #fff); transform: translateY(-1px); box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .35); }
.cvs-card__onimg .cvs-sws { padding: 5px 8px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.cvs-card.is-bt .cvs-card__media:has(.cvs-opts) .cvs-card__onimg { opacity: 0; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
	.cvs-card.is-bt .cvs-card__desc { box-shadow: inset 1px 0 0 var(--cvs-b-line, rgba(0, 0, 0, .06)), inset -1px 0 0 var(--cvs-b-line, rgba(0, 0, 0, .06)), inset 0 -1px 0 var(--cvs-b-line, rgba(0, 0, 0, .06)), 0 26px 40px -24px rgba(0, 0, 0, .4); }
}
@media (max-width: 781px) {
	.cvs-card__onimg { left: 8px; right: 8px; bottom: 8px; gap: 3px; }
	.cvs-card__onimg .cvs-chip { height: 22px; padding: 0 7px; font-size: 10.5px; line-height: 22px; }
	.cvs-card__onimg .cvs-chips { max-width: min(100%, 150px); }
}
/* contagem: ao lado do preço no cartão largo; em cartão estreito vai para cima da foto (a fileira fica alinhada) */
.cvs-card.is-bt { container-type: inline-size; container-name: cvsbt; }
.cvs-card__onimg .cvs-cd.is-onimg { display: none; }
@container cvsbt (max-width: 270px) {
	.cvs-card__onimg .cvs-cd.is-onimg { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 4px 10px; border-radius: 99px; background: color-mix(in srgb, #fff3e0 88%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 4px 12px -6px rgba(0, 0, 0, .3); font-size: 11px; }
	.cvs-card__onimg .cvs-cd.is-onimg span { display: none; }
	.cvs-card__onimg .cvs-cd.is-onimg.is-urgent { background: color-mix(in srgb, #fdecea 92%, transparent); }
	.cvs-card__pricerow > .cvs-cd { display: none !important; }
}
/* bolinhas de cor clicáveis (produto variável) e pílulas de cor na escolha de opções */
button.cvs-sw { padding: 0; border: 0; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
button.cvs-sw:hover { transform: scale(1.18); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 0 0 2px var(--cvs-b-paper, #fff), 0 0 0 3px var(--cvs-b-green, #2f5d50); }
.cvs-card__onimg .cvs-sws { gap: 7px; }
.cvs-card__onimg .cvs-sw { width: 18px; height: 18px; }
.cvs-opts__val.is-color { display: inline-flex; align-items: center; gap: 7px; padding: 0 12px 0 6px; }
.cvs-opts__val.is-color i { width: 20px; height: 20px; border-radius: 99px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); flex: none; transition: transform .2s ease; }
.cvs-opts__val.is-color[aria-pressed="true"] { background: var(--cvs-b-paper, #fff); color: inherit; box-shadow: inset 0 0 0 2px var(--cvs-b-green, #2f5d50); }
.cvs-opts__val.is-color[aria-pressed="true"] i { transform: scale(1.1); }
@media (max-width: 781px) { .cvs-opts__val.is-color span { display: none; } .cvs-opts__val.is-color { padding: 0 5px; } }
/* gaveta de opções: cores só como bolinhas (o nome escolhido vai no título do grupo) */
.cvs-opts__val.is-color { width: 32px; height: 32px; min-width: 0; padding: 0; justify-content: center; border-radius: 99px; }
.cvs-opts__val.is-color span { display: none; }
.cvs-opts__val.is-color i { width: 22px; height: 22px; }
.cvs-opts__val.is-color[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--cvs-b-green, #2f5d50); }
.cvs-opts__val.is-color:disabled { text-decoration: none; opacity: .3; }
.cvs-opts__label b { font-weight: 600; letter-spacing: 0; text-transform: none; opacity: 1; }
.cvs-card.is-bt:has(.cvs-opts) .cvs-card__desc { opacity: 0 !important; }
/* troca de foto pela cor */
.cvs-card.is-bt .cvs-card__img.is-swapping { opacity: 0; transform: scale(1.02); }
.cvs-card.is-bt .cvs-card__img { transition: opacity .25s ease, transform 1.1s cubic-bezier(.2, .9, .3, 1); }
button.cvs-sw[aria-pressed="true"] { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 0 0 2px var(--cvs-b-paper, #fff), 0 0 0 3.5px var(--cvs-b-green, #2f5d50); transform: scale(1.12); }

/* ---------- hiperfoco: sombra radial suave em volta do cartão com a escolha de opções aberta. O cartão fica num
   "buraco" transparente; o escuro é mais forte perto dele e vai sumindo até as bordas da tela. */
.cvs-focus { position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: 0; transition: opacity .45s ease;
	--fx: 50vw; --fy: 50vh; --fw: 200px; --fh: 260px; --fc: 18, 22, 18;
	background: radial-gradient(ellipse var(--fw) var(--fh) at var(--fx) var(--fy), transparent 0%, transparent 100%, rgba(var(--fc), .26) 132%, rgba(var(--fc), .16) 230%, rgba(var(--fc), .07) 380%, rgba(var(--fc), 0) 560%); }
.cvs-focus.is-on { opacity: 1; }
@media (max-width: 781px) { .cvs-focus { background: radial-gradient(ellipse var(--fw) var(--fh) at var(--fx) var(--fy), transparent 0%, transparent 100%, rgba(var(--fc), .2) 135%, rgba(var(--fc), .1) 260%, rgba(var(--fc), 0) 480%); } }
@media (prefers-reduced-motion: reduce) { .cvs-focus { transition: none; } }

/* hiperfoco (v2): sombra radial ATRÁS do cartão — sem "buraco", sem borda: mais escura no centro (escondida pelo
   cartão) e se espalhando suave até sumir. O cartão sobe acima da sombra; as seções não sobem de camada no foco. */
.cvs-focus { z-index: 80; background: radial-gradient(ellipse var(--fw) var(--fh) at var(--fx) var(--fy), rgba(var(--fc), .34) 0%, rgba(var(--fc), .26) 30%, rgba(var(--fc), .14) 60%, rgba(var(--fc), .05) 85%, rgba(var(--fc), 0) 100%) !important; }
.cvs-focusing .cvs-card.is-bt.is-focused { position: relative; z-index: 85; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .45); }
.cvs-focusing :is(.cvs-home, main, .wp-block-group) > *:has(.cvs-card.is-bt:hover), .cvs-focusing .cvs-products > li:has(.cvs-card.is-bt:hover) { z-index: auto !important; }
.cvs-focusing .cvs-card.is-bt.is-focused .cvs-card__desc { display: none !important; }
@media (max-width: 781px) { .cvs-focus { background: radial-gradient(ellipse var(--fw) var(--fh) at var(--fx) var(--fy), rgba(var(--fc), .28) 0%, rgba(var(--fc), .2) 35%, rgba(var(--fc), .08) 70%, rgba(var(--fc), 0) 100%) !important; } }

/* ================================================================ vídeo por cima da foto (inc/video.php)
   Parado, a foto de baixo é a capa (com o play); tocando, o vídeo cobre a foto. */
.cvs-pp__slide.has-vid, .cvs-qv .cvs-pp__slide.has-vid { position: relative; }
.cvs-vid { position: absolute; inset: 0; z-index: 2; overflow: hidden; container-type: size; cursor: pointer; border-radius: inherit; }
.cvs-vid.is-off { display: none; }
.cvs-vid__media { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: contain; background: var(--cvs-b-soft, #f1eee8); opacity: 0; pointer-events: none; transition: opacity .5s ease; }
.cvs-vid.is-cover video.cvs-vid__media { object-fit: cover; }
.cvs-vid iframe.cvs-vid__media { inset: auto; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(100cqw, 177.78cqh); height: min(100cqh, 56.25cqw); background: transparent; }
.cvs-vid.is-cover iframe.cvs-vid__media { width: max(100cqw, 177.78cqh); height: max(100cqh, 56.25cqw); }
.cvs-vid.is-playing .cvs-vid__media { opacity: 1; }
.cvs-vid.is-native.is-started .cvs-vid__media { opacity: 1; pointer-events: auto; }
.cvs-vid.is-leaving { opacity: 0; transition: opacity .35s ease; }
.cvs-vid__play { position: absolute; left: 50%; top: 50%; z-index: 2; width: 60px; height: 60px; margin: -30px 0 0 -30px; padding: 0 0 0 3px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .45); cursor: pointer; transition: opacity .35s ease, transform .4s cubic-bezier(.2, .9, .3, 1); }
.cvs-vid__play::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1.5px solid color-mix(in srgb, var(--cvs-b-paper, #fff) 70%, transparent); animation: cvs-vid-pulse 2.4s ease-out infinite; }
@keyframes cvs-vid-pulse { 0% { transform: scale(.9); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
.cvs-vid:hover .cvs-vid__play { transform: scale(1.08); }
.cvs-vid.is-playing .cvs-vid__play, .cvs-vid.is-native.is-started .cvs-vid__play { opacity: 0; transform: scale(.7); pointer-events: none; }
.cvs-vid__sound { position: absolute; right: 12px; bottom: 12px; z-index: 3; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--cvs-b-ink, #1d1d1b); cursor: pointer; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .3s ease; }
.cvs-vid.is-playing .cvs-vid__sound { opacity: 1; transform: none; }
/* "esconder informações" durante o vídeo */
.cvs-vid-on :is(.cvs-pill, .cvs-fav, .cvs-pp__dots, .cvs-peek__tag, .cvs-peek__vbtn) { opacity: 0 !important; pointer-events: none; transition: opacity .3s ease; }
/* miniatura de foto com vídeo */
.cvs-pp__thumb.has-vid { position: relative; }
.cvs-pp__thumb.has-vid::after { content: ""; position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: color-mix(in srgb, #fff 88%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l10.5-6.5z' fill='%231d1d1b'/%3E%3C/svg%3E") 55% 50% / 13px no-repeat; box-shadow: 0 4px 12px -4px rgba(0, 0, 0, .35); pointer-events: none; }
.cvs-pp__thumb.has-vid.is-auto::after { content: none; } /* vídeo de ambiente (automático): sem play na miniatura */
@media (prefers-reduced-motion: reduce) { .cvs-vid__play::before { animation: none; } }

/* ================================================================ balão de prévia ao lado da escolha de opções
   Sai de trás do cartão; a foto troca com um fade conforme as escolhas; vídeo do produto por cima quando houver. */
.cvs-peek { position: absolute; z-index: 86; box-sizing: border-box; opacity: 0; --tx: -22px; --ty: 0px; transform: translate(var(--tx), var(--ty)) scale(.94); transform-origin: left center; transition: opacity .35s ease, transform .55s cubic-bezier(.2, .9, .3, 1); pointer-events: none; }
.cvs-peek.is-left { --tx: 22px; transform-origin: right center; }
.cvs-peek.is-top { --tx: 0px; --ty: 18px; transform-origin: center bottom; }
.cvs-peek.is-bottom { --tx: 0px; --ty: -18px; transform-origin: center top; }
.cvs-peek.is-on { opacity: 1; transform: none; pointer-events: auto; }
.cvs-peek__frame { position: absolute; inset: 0; padding: 6px; border-radius: 22px; background: var(--cvs-b-paper, #fff); box-shadow: 0 34px 70px -28px rgba(0, 0, 0, .55), 0 10px 24px -14px rgba(0, 0, 0, .3); box-sizing: border-box; }
/* setinha apontando para o cartão */
.cvs-peek::before { content: ""; position: absolute; z-index: -1; width: 16px; height: 16px; background: var(--cvs-b-paper, #fff); border-radius: 3px; transform: rotate(45deg); box-shadow: -4px 4px 10px -6px rgba(0, 0, 0, .25); }
.cvs-peek.is-right::before { left: -6px; top: calc(50% - 8px); }
.cvs-peek.is-left::before { right: -6px; top: calc(50% - 8px); }
.cvs-peek.is-top::before { bottom: -6px; left: calc(var(--ax, 50%) - 8px); }
.cvs-peek.is-bottom::before { top: -6px; left: calc(var(--ax, 50%) - 8px); }
.cvs-peek__img, .cvs-peek .cvs-vid { position: absolute; inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); border-radius: 16px; }
.cvs-peek__img { object-fit: cover; background: var(--cvs-b-soft, #f1eee8); opacity: 0; transform: scale(1.04); transition: opacity .5s ease, transform 1.1s cubic-bezier(.2, .9, .3, 1); }
.cvs-peek__img.is-on { opacity: 1; transform: none; }
.cvs-peek .cvs-vid { z-index: 2; }
.cvs-peek .cvs-vid__play { width: 50px; height: 50px; margin: -25px 0 0 -25px; }
.cvs-peek__tag, .cvs-peek__vbtn { position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; border: 0; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 84%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--cvs-b-ink, #1d1d1b); font-size: 12px; font-weight: 600; line-height: 1.2; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .35); transition: opacity .3s ease, transform .3s ease; }
.cvs-peek__tag { left: 16px; bottom: 16px; max-width: calc(100% - 32px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; animation: cvs-peek-tag .35s ease; }
.cvs-peek__vbtn { left: 16px; top: 16px; cursor: pointer; }
.cvs-peek__vbtn svg { width: 13px; height: 13px; }
.cvs-peek__vbtn:hover { transform: scale(1.05); }
.cvs-peek__tag[hidden], .cvs-peek__vbtn[hidden] { display: none; }
@keyframes cvs-peek-tag { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 781px) {
	.cvs-peek__frame { padding: 4px; border-radius: 18px; }
	.cvs-peek__img, .cvs-peek .cvs-vid { inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); border-radius: 14px; }
	.cvs-peek__tag { left: 10px; bottom: 10px; max-width: calc(100% - 20px); font-size: 11px; padding: 5px 9px; }
	.cvs-peek__vbtn { left: 10px; top: 10px; font-size: 11px; padding: 5px 9px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-peek, .cvs-peek__img { transition: opacity .2s ease; transform: none; } }

/* coração ao lado do título: só nos carrosséis do celular (abaixo) */
.cvs-card__trow .cvs-fav.is-inline { display: none; }

/* ================================================================ celular com cara de app nativo (Botânico)
   Cabeçalho de vidro, barra de abas flutuante que some ao rolar, troca de página suave (View Transitions),
   cartões compactos com botão redondo, página do produto com foto cheia e folha por cima, toques com resposta. */
.cvs-estilo-botanico { -webkit-tap-highlight-color: transparent; }
.cvs-bh__hello, .cvs-pp__back, .cvs-pp__count { display: none; }
/* opções de cor do produto como bolinhas (todas as telas) */
.cvs-vopt.is-color { position: relative; width: 40px; height: 40px; padding: 0; border-radius: 50% !important; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ddd); transition: transform .2s ease, box-shadow .2s ease; }
.cvs-vopt.is-color i { position: absolute; inset: 4px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.cvs-vopt.is-color span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cvs-vopt.is-color[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--cvs-b-green, #2f3a2c); transform: scale(1.06); }
.cvs-vopt.is-color:disabled { text-decoration: none; }
.cvs-vopt.is-color:disabled i::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1.5px; background: var(--cvs-b-ink, #222); transform: rotate(45deg); opacity: .6; }

@media (max-width: 781px) {
	@view-transition { navigation: auto; }
	::view-transition-old(root) { animation: cvs-vt-out .2s ease both; }
	::view-transition-new(root) { animation: cvs-vt-in .34s cubic-bezier(.2, .9, .3, 1) both; }
	.cvs-estilo-botanico .cvs-bh { view-transition-name: cvs-topo; }
	.cvs-estilo-botanico .cvs-tabs-bt { view-transition-name: cvs-abas; }

	/* toque: resposta imediata, sem o realce azul do navegador */
	.cvs-estilo-botanico :is(a, button, .cvs-chip) { touch-action: manipulation; }
	.cvs-estilo-botanico :is(.cvs-tab, .cvs-bh__icon, .cvs-card__add, .cvs-opts-btn, .cvs-fav, .cvs-chip, .cvs-vopt, .cvs-pp__back, .cvs-sw, .wp-element-button, .single_add_to_cart_button):active { transform: scale(.94); }
	.cvs-estilo-botanico :is(.cvs-tab, .cvs-bh__icon, .cvs-card__add, .cvs-opts-btn, .cvs-chip, .cvs-pp__back) { transition: transform .18s ease, background-color .3s ease, color .3s ease, flex-grow .45s cubic-bezier(.2, .9, .3, 1); }

	/* ---------- cabeçalho de vidro */
	.cvs-estilo-botanico .cvs-bh { background: color-mix(in srgb, var(--cvs-b-bg, #f4f1ea) 78%, transparent); -webkit-backdrop-filter: saturate(1.8) blur(20px); backdrop-filter: saturate(1.8) blur(20px); }
	.cvs-estilo-botanico .cvs-bh.is-scrolled { box-shadow: 0 .5px 0 color-mix(in srgb, var(--cvs-b-ink, #222) 14%, transparent); }
	.cvs-estilo-botanico .cvs-bh__bar { padding: 10px 16px; min-height: 64px; box-sizing: border-box; }
	.cvs-estilo-botanico .cvs-bh__leaf { width: 38px; height: 38px; }
	.cvs-estilo-botanico .cvs-bh__right { gap: 8px; }
	.cvs-estilo-botanico .cvs-bh__icon { width: 42px; height: 42px; border-radius: 50%; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .04), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 6%, transparent); }
	.cvs-estilo-botanico .cvs-bh__icon svg { width: 20px; height: 20px; }
	/* sacola com itens vira pílula escura com o número dentro */
	.cvs-estilo-botanico .cvs-bh__icon.is-bag:has(.cvs-bh__badge:not([data-zero])) { width: auto; padding: 0 14px 0 12px; gap: 7px; border-radius: 99px; background: var(--cvs-b-ink, #1d1d1b); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .5); }
	.cvs-estilo-botanico .cvs-bh__icon.is-bag .cvs-bh__badge { position: static; min-width: 0; height: auto; padding: 0; background: none; box-shadow: none; color: inherit; font-size: 14px; font-weight: 600; line-height: 1; }
	/* página inicial, logada: foto + "Olá, Nome" no lugar da logo */
	.cvs-estilo-botanico .cvs-bh__bar.has-hello .cvs-bh__logo { display: none; }
	.cvs-estilo-botanico .cvs-bh__hello { display: flex; align-items: center; gap: 10px; min-width: 0; color: inherit; text-decoration: none; }
	.cvs-estilo-botanico .cvs-bh__hello .cvs-me__av { flex: none; width: 44px; height: 44px; font-size: 15px; box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff), 0 4px 12px -6px rgba(0, 0, 0, .4); }
	.cvs-estilo-botanico .cvs-bh__hello > span { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
	.cvs-estilo-botanico .cvs-bh__hello strong { font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.cvs-estilo-botanico .cvs-bh__hello small { font-size: 12px; opacity: .6; }
	.cvs-estilo-botanico .cvs-bh__bar.has-hello .cvs-me { display: none; }

	/* ---------- barra de abas flutuante: só ícones; a aba atual vira pílula com o nome */
	.cvs-estilo-botanico .cvs-tabs-bt {
		display: flex; gap: 4px; inset: auto 14px calc(12px + env(safe-area-inset-bottom)) 14px; padding: 7px; border-radius: 32px;
		background: color-mix(in srgb, var(--cvs-b-paper, #fff) 80%, transparent); -webkit-backdrop-filter: saturate(1.8) blur(22px); backdrop-filter: saturate(1.8) blur(22px);
		box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45), 0 2px 8px -4px rgba(0, 0, 0, .12), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 7%, transparent);
		transition: transform .45s cubic-bezier(.2, .9, .3, 1), opacity .3s ease;
	}
	.cvs-tabs-away .cvs-estilo-botanico .cvs-tabs-bt, .cvs-tabs-away.cvs-estilo-botanico .cvs-tabs-bt { transform: translateY(calc(100% + 30px)); opacity: 0; }
	/* loja e categorias: chega escondida e sobe com um leve impulso na primeira rolada */
	.cvs-estilo-botanico .cvs-tabs-bt { will-change: transform; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
	.cvs-estilo-botanico :is(.cvs-hb__slide, .cvs-hb__bg, .cvs-lb__promo, .cvd-tb__i) { will-change: transform, opacity; backface-visibility: hidden; }
	.cvs-tabs-late:not(.cvs-tabs-in) .cvs-tabs-bt { transform: translateY(calc(100% + 30px)); opacity: 0; transition: none; }
	.cvs-tabs-late.cvs-tabs-in .cvs-tabs-bt { transition: transform .7s cubic-bezier(.22, 1.25, .36, 1), opacity .4s ease; }
	.cvs-estilo-botanico .cvs-tab { flex: 1 1 0; min-width: 0; height: 52px; flex-direction: column; justify-content: center; gap: 3px; padding: 0; border-radius: 20px; font-size: 10.5px; font-weight: 500; color: color-mix(in srgb, var(--cvs-b-ink, #222) 48%, transparent); }
	.cvs-estilo-botanico .cvs-tab svg { flex: none; width: 22px; height: 22px; }
	.cvs-estilo-botanico .cvs-tab > span:last-child { white-space: nowrap; }
	.cvs-estilo-botanico .cvs-tab[aria-current="page"] { color: var(--cvs-b-green, #2f3a2c); font-weight: 600; }
	/* bolinha de aviso (Pedidos, Cashback): discreta, no canto do ícone, entra com um pequeno estalo */
	.cvs-estilo-botanico .cvs-tab__dot { position: absolute; top: 8px; left: calc(50% + 6px); width: 8px; height: 8px; border-radius: 50%; background: var(--cvs-b-gold, #c49a5a); box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); transform: scale(0); pointer-events: none; }
	.cvs-estilo-botanico .cvs-tab__dot.is-on { transform: scale(1); animation: cvs-dot-pop .55s cubic-bezier(.2, 1.6, .4, 1); }
	.cvs-estilo-botanico .cvs-tab[aria-current="page"] svg { fill: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 14%, transparent); color: inherit; }
	.cvs-estilo-botanico .cvs-tab[aria-current="page"]::after { content: ""; position: absolute; bottom: 2px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: currentColor; }
	.cvs-estilo-botanico .cvs-tab .cvs-bh__badge { top: 4px; right: auto; left: calc(50% + 5px); min-width: 16px; height: 16px; line-height: 16px; font-size: 9.5px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); }
	.cvs-estilo-botanico:has(.cvs-tabs-bt):not(.single-product) { padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important; }

	/* ---------- cartões compactos: foto, nome, preço e botão redondo */
	.cvs-estilo-botanico .cvs-card.is-bt { padding: 7px 7px 12px; border-radius: 22px; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 24px -18px rgba(0, 0, 0, .35); border: 0; transition: transform .2s ease; }
	.cvs-estilo-botanico .cvs-card.is-bt:active { transform: scale(.985); }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__media { border-radius: 17px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-pill { top: 9px; left: 9px; padding: 4px 9px; font-size: 10.5px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__tools { top: 8px; right: 8px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__tools .cvs-fav { width: 32px; height: 32px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__tools .cvs-qv-btn, .cvs-estilo-botanico .cvs-card.is-bt .cvs-card__onimg .cvs-chips { display: none !important; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__onimg { left: 8px; right: auto; bottom: 8px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-sws { padding: 4px; gap: 4px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-sw { width: 16px; height: 16px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__body { padding: 10px 5px 0; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__title { font-size: 15px; line-height: 1.25; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.5em; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__foot { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 6px; padding-top: 3px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__mid { margin-top: 2px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__mid .cvs-rating { line-height: 1; font-size: 12px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__pricerow { flex: 1; min-width: 0; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__price { font-size: 15.5px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__pix { padding: 0; background: none; font-size: 11px; gap: 3px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__pix > svg { width: 11px; height: 11px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__actions { flex: none; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__actions .cvs-qty { display: none; }
	.cvs-estilo-botanico .cvs-card.is-bt :is(.cvs-card__add, .cvs-opts-btn) { width: 40px; height: 40px; min-width: 0; padding: 0 !important; border-radius: 50% !important; gap: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 0 !important; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 16px -10px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 90%, transparent); border: 0; }
	.cvs-estilo-botanico .cvs-card.is-bt :is(.cvs-card__add, .cvs-opts-btn) > span { display: none; }
	.cvs-estilo-botanico .cvs-card.is-bt :is(.cvs-card__add, .cvs-opts-btn) svg { width: 18px; height: 18px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__add.is-ghost { width: auto; padding: 0 12px !important; border-radius: 99px !important; font-size: 12px !important; background: transparent; color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, #ddd); }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__desc { display: none !important; }
	/* carrossel no celular: cartão pequeno, foto limpa — sem o coração (favoritar fica na página do produto e na grade) */
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-card__tools { display: none; }
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-card__trow { display: flex; align-items: flex-start; gap: 6px; }
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-card__trow .cvs-card__title { flex: 1; min-width: 0; }
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-fav.is-inline { display: inline-flex; position: static; flex: none; width: 30px; height: 30px; margin-top: -2px; background: color-mix(in srgb, var(--cvs-b-soft, #f1eee8) 80%, transparent); box-shadow: none; }
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-fav.is-inline svg { width: 16px; height: 16px; }

	/* ---------- loja: categorias numa linha que desliza */
	.cvs-estilo-botanico .cvs-chips:has(.cvs-chip) { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 2px 16px; scroll-padding-inline: 16px; }
	.cvs-estilo-botanico .cvs-chip { padding: 10px 18px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 8%, transparent); }
	.cvs-estilo-botanico .cvs-chip[aria-current="page"] { background: var(--cvs-b-ink, #1d1d1b); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 16px -10px rgba(0, 0, 0, .5); }

	/* ---------- página do produto: foto de ponta a ponta, voltar/favoritar de vidro, contador e folha por cima */
	.cvs-estilo-botanico .cvs-pp__crumbs { display: none; }
	.cvs-estilo-botanico .cvs-pp__top { gap: 0; }
	.cvs-estilo-botanico .cvs-pp__stage { margin-inline: calc(50% - 50vw); border-radius: 0; }
	.cvs-estilo-botanico .cvs-pp__gallery { margin-top: -28px; }
	.cvs-estilo-botanico .cvs-pp__dots { display: none; }
	.cvs-estilo-botanico .cvs-pp__back, .cvs-estilo-botanico .cvs-pp__stage .cvs-fav { position: absolute; z-index: 4; top: 14px; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 72%, transparent); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .5); cursor: pointer; }
	.cvs-estilo-botanico .cvs-pp__back { left: 16px; }
	.cvs-estilo-botanico .cvs-pp__stage .cvs-fav { right: 16px; }
	.cvs-estilo-botanico .cvs-pp__stage > .cvs-pill { top: 22px; left: 68px; }
	.cvs-estilo-botanico .cvs-pp__count { display: block; position: absolute; z-index: 4; right: 16px; bottom: 44px; padding: 5px 11px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 76%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
	.cvs-estilo-botanico .cvs-pp .cvs-vid__sound { bottom: 44px; left: 16px; right: auto; }
	.cvs-estilo-botanico .cvs-pp__info {
		position: relative; top: auto; z-index: 3; margin: -30px calc(50% - 50vw) 0; padding: 14px 20px 26px; border-radius: 30px 30px 0 0;
		background: var(--cvs-b-paper, #fff); box-shadow: 0 -12px 30px -22px rgba(0, 0, 0, .35);
	}
	.cvs-estilo-botanico .cvs-pp__info::before { content: ""; display: block; width: 38px; height: 5px; margin: 0 auto 16px; border-radius: 3px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 14%, transparent); }
	.cvs-estilo-botanico .cvs-pp__title { font-size: 27px; line-height: 1.12; margin-block: 4px 8px; }
	.cvs-estilo-botanico .cvs-pp__eye { font-size: 11px; letter-spacing: .14em; }
	.cvs-estilo-botanico .cvs-pp__buy .variations th, .cvs-estilo-botanico .cvs-pp__buy .variations td.label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
	.cvs-estilo-botanico .cvs-pp__buy .variations label b { font-weight: 600; text-transform: none; letter-spacing: 0; opacity: 1; color: var(--cvs-b-ink, #1d1d1b); }
	.cvs-estilo-botanico .cvs-pp__buy .single_add_to_cart_button { min-height: 54px; border-radius: 99px !important; }
	.cvs-estilo-botanico .cvs-pp__info .cvs-selos { grid-template-columns: repeat(3, 1fr); gap: 8px; text-align: center; font-size: 11.5px; line-height: 1.3; }
	.cvs-estilo-botanico .cvs-pp__info .cvs-selos li { flex-direction: column; justify-content: flex-start; gap: 7px; padding: 12px 6px; border-radius: 16px; background: color-mix(in srgb, var(--cvs-b-soft, #f1eee8) 70%, transparent); }
	.cvs-estilo-botanico .cvs-pp__info .cvs-selos svg { width: 22px; height: 22px; color: var(--cvs-b-green, #2f3a2c); }
	/* barra de compra fixa: flutuante e de vidro, como a barra de abas */
	.cvs-estilo-botanico .cvs-buybar { inset: auto 12px calc(12px + env(safe-area-inset-bottom)) 12px; padding: 8px 8px 8px 18px; border: 0; border-radius: 30px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: saturate(1.8) blur(22px); backdrop-filter: saturate(1.8) blur(22px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 7%, transparent); view-transition-name: cvs-abas; }
	.cvs-estilo-botanico .cvs-buybar__btn { min-height: 50px; padding: 0 26px !important; display: inline-flex !important; align-items: center; border-radius: 99px !important; }
	.cvs-estilo-botanico.single-product { padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important; }
	.cvs-estilo-botanico.single-product .cvs-tabs-bt { display: none; }
}
@keyframes cvs-vt-out { to { opacity: 0; transform: scale(.985); } }
@keyframes cvs-vt-in { from { opacity: 0; transform: translateY(16px); } }
@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root), ::view-transition-new(root) { animation: none; }
	.cvs-estilo-botanico .cvs-tabs-bt { transition: none; }
}

/* ---------- escolha de opções no celular: bandeja que sobe de baixo (foto/vídeo grande no topo, arrastar fecha) */
.cvs-opts__name { display: none; }
.cvs-sheet-bg { position: fixed; inset: 0; z-index: 150; background: rgba(14, 18, 14, .4); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.cvs-sheet-bg.is-on { opacity: 1; }
.cvs-opts.is-sheet { position: fixed; inset: auto 0 0 0; z-index: 151; display: block; padding: 0; background: none; border-radius: 0; opacity: 1; transform: translateY(105%); transition: transform .5s cubic-bezier(.2, .9, .3, 1); }
.cvs-opts.is-sheet.is-open { transform: none; }
.cvs-opts.is-sheet .cvs-opts__panel { max-height: min(88vh, 760px); overflow: auto; overscroll-behavior: contain; padding: 22px 20px calc(18px + env(safe-area-inset-bottom)); border-radius: 30px 30px 0 0; background: var(--cvs-b-paper, #fff); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 -20px 50px -20px rgba(0, 0, 0, .45); transform: none; transition: transform .35s cubic-bezier(.2, .9, .3, 1); }
.cvs-opts.is-sheet .cvs-opts__panel::before { content: ""; position: absolute; top: 8px; left: 50%; width: 38px; height: 5px; margin-left: -19px; border-radius: 3px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 16%, transparent); }
.cvs-opts.is-sheet .cvs-opts__close { top: 30px; right: 30px; z-index: 6; width: 36px; height: 36px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 78%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.cvs-opts.is-sheet .cvs-opts__name { display: block; margin: 0 0 14px; font-family: var(--cvs-b-serif, serif); font-size: 23px; line-height: 1.15; }
.cvs-opts.is-sheet .cvs-peek.is-inline { position: relative; inset: auto; width: auto; height: auto; aspect-ratio: 5 / 4; max-height: 40vh; margin: 0 0 16px; opacity: 1; transform: none; z-index: auto; pointer-events: auto; }
.cvs-opts.is-sheet .cvs-peek.is-inline::before { display: none; }
.cvs-opts.is-sheet .cvs-peek.is-inline .cvs-peek__frame { padding: 0; border-radius: 22px; overflow: hidden; background: var(--cvs-b-soft, #f1eee8); box-shadow: none; }
.cvs-opts.is-sheet .cvs-peek.is-inline :is(.cvs-peek__img, .cvs-vid) { inset: 0; width: 100%; height: 100%; border-radius: 22px; }
.cvs-opts.is-sheet .cvs-opts__label { font-size: 12px; letter-spacing: .08em; }
.cvs-opts.is-sheet .cvs-opts__val { min-height: 42px; padding-inline: 18px; font-size: 14px; }
.cvs-opts.is-sheet .cvs-opts__val.is-color { min-height: 0; padding-inline: 0; }
.cvs-opts.is-sheet .cvs-opts__price b { font-size: 22px; }
.cvs-opts.is-sheet .cvs-opts__buy { gap: 10px; }
.cvs-opts.is-sheet .cvs-opts__add { flex: 1; min-height: 54px; font-size: 15px; }
.cvs-opts.is-sheet .cvs-opts__qty { display: inline-flex !important; min-height: 54px; }
.cvs-opts.is-sheet .cvs-opts__more { display: block; margin-top: 14px; text-align: center; }
@media (min-width: 782px) { .cvs-sheet-bg { display: none; } }
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__pix { white-space: nowrap; font-size: 10.5px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__price { line-height: 1.2; }
}

/* ---------- barra de abas: "Explorar" no meio, num círculo verde da marca que sobe um pouco da barra */
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-tab.is-center { flex: 0 0 64px; justify-content: center; height: auto; margin-top: -24px; }
	.cvs-estilo-botanico .cvs-tab__orb { width: 62px; height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 50%; font-size: 10.5px; font-weight: 600; letter-spacing: .02em; line-height: 1; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 0 0 4px var(--cvs-b-paper, #fff), 0 10px 22px -10px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 80%, transparent); transition: transform .2s ease; }
	.cvs-estilo-botanico .cvs-tab.is-center svg { width: 24px; height: 24px; fill: none; color: inherit; }
	.cvs-estilo-botanico .cvs-tab.is-center[aria-current="page"] svg { fill: none; }
	.cvs-estilo-botanico .cvs-tab.is-center[aria-current="page"]::after { display: none; }
	.cvs-estilo-botanico .cvs-tab.is-center:active .cvs-tab__orb { transform: scale(.92); }
	.cvs-estilo-botanico .cvs-tab.is-center:active { transform: none; }
	/* com a barra de abas, a lupa do cabeçalho sobra: a busca está no "Explorar" (e na pílula da página inicial) */
	.cvs-estilo-botanico:has(.cvs-tabs-bt) .cvs-bh__icon.is-search { display: none; }
}

/* ================================================================ abertura (splash de lançamento) — blocks/splash */
.cvs-splash { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; background: rgba(22, 18, 14, .5); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: opacity .55s ease; }
.cvs-splash[hidden] { display: none; }
.cvs-splash.is-open { opacity: 1; }
.cvs-splash__card {
	--sp-bg: var(--cvs-b-bg, var(--wp--preset--color--base, #f4efe7)); --sp-ink: var(--cvs-b-ink, var(--wp--preset--color--contrast, #1d1d1b)); --sp-gold: var(--cvs-b-gold, #b48a52);
	position: relative; overflow: hidden; width: min(440px, 92vw); height: min(820px, 92vh); border-radius: 36px; color: var(--sp-ink);
	background: radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--sp-bg) 100%, #fff 35%) 0%, var(--sp-bg) 60%), var(--sp-bg);
	box-shadow: 0 40px 120px -30px rgba(0, 0, 0, .55); transform: translateY(26px) scale(.97); transition: transform .8s cubic-bezier(.2, .9, .3, 1), opacity .5s ease;
}
.cvs-splash.is-open .cvs-splash__card { transform: none; }
.cvs-splash.is-leaving .cvs-splash__card { transform: scale(.96); opacity: 0; transition-duration: .45s; }
.cvs-splash__x { position: absolute; z-index: 5; top: calc(16px + env(safe-area-inset-top)); right: 16px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: color-mix(in srgb, #fff 62%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--sp-ink); cursor: pointer; opacity: 0; transition: opacity .5s ease .6s, transform .2s ease; }
.cvs-splash.is-open .cvs-splash__x { opacity: 1; }
.cvs-splash__x:active { transform: scale(.9); }
.cvs-splash__text { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(64px + env(safe-area-inset-top)) 30px 0; }
.cvs-splash__text > *, .cvs-splash__acts > * { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .9s cubic-bezier(.2, .9, .3, 1); }
.cvs-splash.is-open .cvs-splash__text > *, .cvs-splash.is-open .cvs-splash__acts > * { opacity: 1; transform: none; }
.cvs-splash.is-open .cvs-splash__eye { transition-delay: .15s; }
.cvs-splash.is-open .cvs-splash__title { transition-delay: .25s; }
.cvs-splash.is-open .cvs-splash__p { transition-delay: .38s; }
.cvs-splash.is-open .cvs-splash__acts { transition-delay: .48s; }
.cvs-splash.is-open .cvs-splash__acts > :nth-child(2) { transition-delay: .62s; }
.cvs-splash__eye { margin: 0 0 14px; font-size: 11px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--sp-gold); }
.cvs-splash__title { margin: 0; font-family: var(--cvs-b-serif, var(--wp--preset--font-family--heading, Georgia, serif)); font-weight: 400; font-size: clamp(40px, 11.5vw, 56px); line-height: .98; letter-spacing: .01em; text-transform: uppercase; }
.cvs-splash__p { margin: 16px 0 0; max-width: 300px; font-size: 15px; line-height: 1.5; opacity: .72; }
.cvs-splash__acts { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 24px; opacity: 1 !important; transform: none !important; }
.cvs-splash__cta { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 99px; background: var(--sp-ink); color: var(--sp-bg); font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .6); transition: transform .2s ease, opacity .7s ease; }
.cvs-splash__cta svg { transition: transform .3s ease; }
.cvs-splash__cta:hover svg { transform: translateX(4px); }
.cvs-splash__cta:active { transform: scale(.96); }
.cvs-splash__skip { border: 0; background: none; padding: 6px 10px; font: inherit; font-size: 13px; color: inherit; opacity: .6; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cvs-splash.is-open .cvs-splash__skip { opacity: .6; }
.cvs-splash__media { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 56%; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 26%); mask-image: linear-gradient(to bottom, transparent 0%, #000 26%); }
.cvs-splash__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: 0; transform: scale(1.14); transition: opacity 1s ease .1s, transform 2.6s cubic-bezier(.2, .9, .3, 1); }
.cvs-splash.is-open .cvs-splash__img { opacity: 1; transform: none; }
.cvs-splash__line { position: absolute; z-index: 2; right: -6%; top: 38%; width: 48%; color: var(--sp-gold); opacity: .75; pointer-events: none; }
.cvs-splash__line path:first-child { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.4s cubic-bezier(.4, 0, .2, 1) .5s; }
.cvs-splash.is-open .cvs-splash__line path:first-child { stroke-dashoffset: 0; }
.cvs-splash__star { transform-origin: 150px 52px; transform: scale(0) rotate(-40deg); transition: transform .9s cubic-bezier(.2, 1.4, .4, 1) 1.2s; }
.cvs-splash.is-open .cvs-splash__star { transform: none; animation: cvs-splash-twinkle 3.2s ease-in-out 2.2s infinite; }
@keyframes cvs-splash-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
/* "foto": foto/vídeo de fundo, texto claro embaixo */
.cvs-splash.is-foto .cvs-splash__media { height: 100%; -webkit-mask-image: none; mask-image: none; }
.cvs-splash.is-foto .cvs-splash__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 8, 6, .82) 0%, rgba(10, 8, 6, .35) 45%, rgba(10, 8, 6, 0) 70%); }
.cvs-splash.is-foto .cvs-splash__text { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 28px calc(34px + env(safe-area-inset-bottom)); color: #fff; }
.cvs-splash.is-foto .cvs-splash__eye { color: color-mix(in srgb, var(--sp-gold) 70%, #fff); }
.cvs-splash.is-foto .cvs-splash__cta { background: #fff; color: #1d1d1b; }
.cvs-splash.is-foto .cvs-splash__line { top: 10%; color: #fff; opacity: .55; }
/* cartão de produtos recomendados: folha clara no pé da abertura, fileira de produtos e, embaixo, a sacola e o
   botão de compra largo. Com o cartão, o texto sobe para o topo (no visual Foto, com degradê de cima) */
.cvs-splash__recs { position: absolute; z-index: 4; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); padding: 14px 14px 14px; border-radius: 26px; background: color-mix(in srgb, var(--sp-bg) 90%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); color: var(--sp-ink); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .55), inset 0 0 0 1px color-mix(in srgb, #fff 55%, transparent); opacity: 0; transform: translateY(calc(100% + 24px)); pointer-events: none; transition: opacity .45s ease, transform .75s cubic-bezier(.32, .72, 0, 1); }
.cvs-splash.is-open.is-recs .cvs-splash__recs { opacity: 1; transform: none; pointer-events: auto; }
.cvs-splash__rhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 2px 0 4px; }
.cvs-splash__racts { display: flex; gap: 6px; flex: none; }
.cvs-splash__rbtn { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--sp-ink) 8%, transparent); color: inherit; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.cvs-splash__rbtn:hover { background: color-mix(in srgb, var(--sp-ink) 14%, transparent); }
.cvs-splash__rbtn:active { transform: scale(.88); }
.cvs-splash__rt { margin: 0; font-family: var(--cvs-b-serif, var(--wp--preset--font-family--heading, Georgia, serif)); font-size: 19px; font-weight: 500; letter-spacing: .01em; }
.cvs-splash__rskip { border: 0; background: none; padding: 4px 2px; font: inherit; font-size: 12.5px; color: inherit; opacity: .55; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cvs-splash__rl { display: flex; gap: 10px; margin: 12px -14px 0; padding: 2px 14px 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 14px; scrollbar-width: none; }
.cvs-splash__rl::-webkit-scrollbar { display: none; }
.cvs-splash__rc { flex: 0 0 calc((100% - 20px) / 3); min-width: 96px; display: flex; flex-direction: column; scroll-snap-align: start; padding: 8px 8px 10px; border-radius: 18px; background: #fff; color: #1d1d1b; text-decoration: none; box-shadow: 0 10px 24px -18px rgba(0, 0, 0, .55); opacity: 0; transform: translateY(16px) scale(.97); transition: opacity .5s ease, transform .7s cubic-bezier(.2, 1.2, .3, 1), box-shadow .3s ease; transition-delay: calc(.25s + var(--i, 0) * 70ms); }
.cvs-splash.is-open.is-recs .cvs-splash__rc { opacity: 1; transform: none; }
.cvs-splash__rc:active { transform: scale(.96); transition-delay: 0s; }
.cvs-splash__ri { display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: color-mix(in srgb, var(--sp-bg) 60%, #fff); }
.cvs-splash__ri img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2, .9, .3, 1); }
.cvs-splash__rc:hover .cvs-splash__ri img { transform: scale(1.05); }
.cvs-splash__rn { margin-top: 8px; font-size: 12px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cvs-splash__rp { margin-top: 3px; font-size: 13px; font-weight: 700; }
.cvs-splash__rp del { font-weight: 400; opacity: .45; font-size: 11px; margin-right: 3px; }
.cvs-splash__rp ins { text-decoration: none; }
.cvs-splash__buy { display: flex; gap: 8px; margin-top: 12px; }
.cvs-splash__bag { flex: none; width: 58px; display: grid; place-items: center; border-radius: 99px; background: #fff; color: #1d1d1b; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); transition: transform .15s ease; }
.cvs-splash__go { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 54px; padding: 0 20px 0 26px; border-radius: 99px; background: var(--sp-ink); color: var(--sp-bg); font-size: 15px; font-weight: 600; letter-spacing: .02em; text-decoration: none; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .6); transition: transform .15s ease; }
.cvs-splash__go span { flex: 1; text-align: center; }
.cvs-splash__go svg path { animation: cvs-splash-chev 1.8s ease-in-out infinite; }
.cvs-splash__go svg path:nth-child(2) { animation-delay: .15s; }
.cvs-splash__go svg path:nth-child(3) { animation-delay: .3s; }
@keyframes cvs-splash-chev { 0%, 100% { opacity: .35; } 40% { opacity: 1; } }
.cvs-splash__bag:active, .cvs-splash__go:active { transform: scale(.96); }
.cvs-splash.has-recs .cvs-splash__media { height: 100%; }
.cvs-splash.is-recs.is-claro .cvs-splash__media { height: 70%; }
/* depois que o cartão subiu uma vez, o título fica no topo mesmo com o cartão recolhido ou fechado: a foto do produto fica livre no meio e os botões embaixo */
.cvs-splash.is-top.is-foto .cvs-splash__text { top: 0; bottom: 0; padding: calc(70px + env(safe-area-inset-top)) 28px calc(34px + env(safe-area-inset-bottom)); }
.cvs-splash.is-top.is-foto .cvs-splash__media::after { background: linear-gradient(to bottom, rgba(10, 8, 6, .7) 0%, rgba(10, 8, 6, .22) 34%, rgba(10, 8, 6, 0) 50%, rgba(10, 8, 6, 0) 64%, rgba(10, 8, 6, .55) 100%); }
.cvs-splash.is-top .cvs-splash__title { font-size: clamp(34px, 10vw, 48px); }
.cvs-splash.is-top .cvs-splash__p { margin-top: 12px; }
.cvs-splash.is-top .cvs-splash__acts { margin-top: auto; }
.cvs-splash.is-top .cvs-splash__line { opacity: 0; }
.cvs-splash.is-recs .cvs-splash__line { opacity: 0; }
.cvs-splash.is-recs.is-foto .cvs-splash__text { top: 0; bottom: auto; padding: calc(70px + env(safe-area-inset-top)) 28px 0; }
.cvs-splash.is-recs.is-foto .cvs-splash__media::after { background: linear-gradient(to bottom, rgba(10, 8, 6, .7) 0%, rgba(10, 8, 6, .25) 38%, rgba(10, 8, 6, 0) 55%); }
.cvs-splash.is-recs .cvs-splash__title { font-size: clamp(34px, 10vw, 48px); }
/* etapas do cartão: o texto esmaece enquanto troca de lugar; com o cartão aberto, o botão do assunto sai (ele está no cartão) */
.cvs-splash.has-recs .cvs-splash__text { transition: opacity .24s ease; }
.cvs-splash.has-recs.is-swap .cvs-splash__text { opacity: 0; }
.cvs-splash.is-recs .cvs-splash__acts { display: none; }
.cvs-splash.is-recs .cvs-splash__p { display: none; }
/* pílula para reabrir o cartão depois de recolhido: miniaturas dos produtos + título */
.cvs-splash__reopen { display: none; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border: 0; border-radius: 99px; background: color-mix(in srgb, #fff 18%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 35%, transparent); color: inherit; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.cvs-splash.is-recs-min .cvs-splash__reopen { display: inline-flex; animation: cvs-splash-pop .5s cubic-bezier(.2, 1.3, .4, 1); }
.cvs-splash__reopen:active { transform: scale(.95); }
.cvs-splash.is-claro .cvs-splash__reopen { background: color-mix(in srgb, var(--sp-ink) 8%, transparent); box-shadow: none; }
.cvs-splash__rdots { display: flex; }
.cvs-splash__rdots img { width: 28px; height: 28px !important; border-radius: 50%; object-fit: cover; border: 2px solid #fff; margin-left: -8px; }
.cvs-splash__rdots img:first-child { margin-left: 0; }
@keyframes cvs-splash-pop { 0% { opacity: 0; transform: translateY(10px) scale(.92); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cvs-splash__recs, .cvs-splash__rc { transition: opacity .3s ease; transform: none !important; } .cvs-splash__go svg path { animation: none; } }
@media (max-width: 781px) {
	.cvs-splash { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.cvs-splash__card { width: 100%; height: 100%; height: 100dvh; border-radius: 0; box-shadow: none; transform: scale(1.06); }
	.cvs-splash.is-leaving .cvs-splash__card { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
	.cvs-splash__card, .cvs-splash__img, .cvs-splash__text > *, .cvs-splash__acts > * { transition: opacity .3s ease; transform: none !important; }
	.cvs-splash__line path:first-child { transition: none; stroke-dashoffset: 0; }
	.cvs-splash.is-open .cvs-splash__star { animation: none; }
}

/* ================================================================ home no celular (Botânico): busca em pílula, banner
   enxuto, "Para você" que troca suave, seções só do computador e rodapé compacto com a inscrição em destaque */
.cvs-msearch, .cvs-msearch-row { display: none; }
/* atalhos (ex.: Compre pelo ambiente) depois da primeira vitrine também no computador: não encostam no Compre por categoria */
.cvs-home > .cvs-at-d { display: none !important; }
.cvs-home > .cvs-at-m { display: block; }
.cvs-products.is-swapping { opacity: 0; transform: translateY(8px); }
.cvs-products { transition: opacity .3s ease, transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-section.is-personal .cvs-section__title::after { content: "✦ feito para você"; display: inline-block; margin-left: 10px; padding: 4px 10px; border-radius: 99px; vertical-align: middle; font-family: var(--wp--preset--font-family--body, inherit); font-size: 11px; font-weight: 600; letter-spacing: .02em; color: var(--cvs-b-green, #2f3a2c); background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 10%, transparent); animation: cvs-peek-tag .5s ease both; }
.cvs-nf__quick { display: none; }
@media (max-width: 781px) {
	.cvs-hide-m { display: none !important; }

	/* busca: pílula com a lupa à esquerda e o botão de filtro ao lado */
	.cvs-estilo-botanico .cvs-msearch-row { display: flex; gap: 10px; margin: 4px 0 14px; }
	.cvs-estilo-botanico .cvs-msearch-row + .cvs-hb { margin-top: 0 !important; }
	.cvs-estilo-botanico .cvs-msearch { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; border: 0; border-radius: 16px; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 24px -20px rgba(0, 0, 0, .35); color: color-mix(in srgb, var(--cvs-b-ink, #222) 48%, transparent); font: inherit; font-size: 14.5px; text-align: left; cursor: pointer; }
	.cvs-estilo-botanico .cvs-msearch svg { flex: none; color: var(--cvs-b-ink, #1d1d1b); }
	.cvs-estilo-botanico .cvs-msearch span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.cvs-estilo-botanico .cvs-msearch__filter { flex: none; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 16px; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 24px -20px rgba(0, 0, 0, .35); color: var(--cvs-b-ink, #1d1d1b); }
	.cvs-estilo-botanico :is(.cvs-msearch, .cvs-msearch__filter):active { transform: scale(.97); }
	/* cabeçalho "logo grande": topo só com menu, logo e sacola; filtro discreto dentro da busca e favoritos ao lado dela */
	.cvs-estilo-botanico .cvs-bh.is-m2 .cvs-bh__icon.is-fav { display: none; }
	.cvs-estilo-botanico .cvs-msearch-wrap { position: relative; flex: 1; min-width: 0; display: flex; }
	.cvs-estilo-botanico .cvs-msearch-wrap .cvs-msearch { padding-right: 50px; }
	.cvs-estilo-botanico .cvs-msearch__filter.is-in { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; border-radius: 12px; background: transparent; box-shadow: none; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 55%, transparent); transition: background .2s ease, color .2s ease, transform .15s ease; }
	.cvs-estilo-botanico .cvs-msearch__filter.is-in:active { transform: scale(.9); background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 7%, transparent); color: var(--cvs-b-ink, #1d1d1b); }
	/* favoritos ao lado da busca: só o coração, sem moldura (a sacola fica sendo o único botão com peso à direita) */
	.cvs-estilo-botanico .cvs-msearch__fav { position: relative; flex: none; width: 40px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: transparent; color: var(--cvs-b-ink, #1d1d1b); transition: transform .15s ease, background .2s ease; }
	.cvs-estilo-botanico .cvs-msearch__fav svg { width: 24px; height: 24px; }
	.cvs-estilo-botanico .cvs-msearch__fav:active { transform: scale(.94); }
	.cvs-estilo-botanico .cvs-msearch__fav .cvs-fav-count:not([hidden]) { position: absolute; top: 6px; right: 6px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 99px; background: var(--cvs-b-green, #6e5139); color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }

	/* banner enxuto: foto alta, chamada, título e botão por cima; sem parágrafo e sem o cartão de produto */
	/* a primeira tela mostra cabeçalho, busca, banner, categorias e o começo dos cartões: banner proporcional à altura da tela */
	.cvs-estilo-botanico .cvs-hb__bg { height: clamp(200px, 28svh, 260px) !important; border-radius: 24px; }
	/* o produto fica sempre à direita da foto: o véu sai da esquerda (atrás do texto) e some antes do meio, sem sombra sobre o produto */
	.cvs-estilo-botanico .cvs-hb__text { align-self: end; display: flex; flex-direction: column; align-items: flex-start; padding: 16px 18px 30px; border-radius: 24px; background: radial-gradient(95% 135% at 0% 78%, rgba(12, 14, 12, .58) 0%, rgba(12, 14, 12, .3) 42%, rgba(12, 14, 12, 0) 68%); color: #fff; }
	/* chamada em vidro discreto: não compete com a foto */
	.cvs-estilo-botanico .cvs-hb__eye { margin-bottom: 8px; padding: 4px 9px; border-radius: 99px; background: color-mix(in srgb, #fff 18%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 32%, transparent); color: #fff; font-size: 8.5px; font-weight: 500; letter-spacing: .16em; margin-bottom: 7px; padding: 3px 8px; }
	.cvs-estilo-botanico .cvs-hb__title { max-width: 72%; font-size: clamp(22px, 6.3vw, 27px); line-height: 1.06; letter-spacing: -.005em; color: #fff; }
	/* título e foto próprios do celular (produto à direita): o texto fica na metade esquerda */
	.cvs-hb__t-d { display: none; }
	.cvs-hb__t-m { display: inline; }
	.cvs-estilo-botanico .cvs-hb__slide.has-mimg .cvs-hb__bg { object-position: center; }
	.cvs-estilo-botanico .cvs-hb__slide.has-mimg .cvs-hb__title { max-width: 62%; }
	.cvs-estilo-botanico .cvs-hb__leaf, .cvs-estilo-botanico .cvs-hb__p, .cvs-estilo-botanico .cvs-hb__product, .cvs-estilo-botanico .cvs-hb.is-slider .cvs-hb__product { display: none !important; }
	.cvs-estilo-botanico .cvs-hb__text .cvs-btn-bt { display: inline-flex; align-items: center; margin-top: 11px; padding: 6px 6px 6px 14px; gap: 8px; border-radius: 99px; background: #fff; color: var(--cvs-b-ink, #1d1d1b); font-size: 12.5px; font-weight: 600; transition: transform .2s ease; }
	.cvs-estilo-botanico .cvs-hb__text .cvs-btn-bt:active { transform: scale(.96); }
	.cvs-estilo-botanico .cvs-hb__text .cvs-btn-bt svg { width: 24px; height: 24px; padding: 6px; border-radius: 50%; background: var(--cvs-b-ink, #1d1d1b); color: #fff; box-sizing: border-box; }
	/* bolinhas do slide à esquerda, pequenas, logo abaixo do botão: a direita fica livre para o produto */
	.cvs-estilo-botanico .cvs-hb__dots { top: auto; bottom: 12px; left: 23px; right: auto; justify-content: flex-start; }
	/* sem a folga de toque em padding: com o recorte no conteúdo, a bolinha de 5 px ficava quadrada */
	.cvs-estilo-botanico .cvs-hb__dot, .cvs-estilo-botanico .cvs-hb__dots .cvs-hb__dot { width: 5px; height: 5px; padding: 0; margin: 7px 3px; background-clip: border-box; background-color: color-mix(in srgb, #fff 50%, transparent); }
	.cvs-estilo-botanico .cvs-hb__dot[aria-current="true"] { width: 16px; }
	.cvs-estilo-botanico .cvs-hb__dot[aria-current="true"] { background-color: #fff; }
	/* seções mais próximas no celular */
	.cvs-estilo-botanico .cvs-home > * + * { margin-block-start: 26px !important; }
	.cvs-estilo-botanico .cvs-home > .cvs-hb + * { margin-block-start: 16px !important; }
	/* atalhos (ex.: Compre pelo aroma) descem para depois da primeira vitrine: a primeira tela já mostra produto */
	.cvs-home > .cvs-at-d { display: none !important; }
	.cvs-home > .cvs-at-m { display: block; }
	.cvs-estilo-botanico .cvs-home > .cvs-cb + .cvs-at-d + .cvs-section, .cvs-estilo-botanico .cvs-home > .cvs-cb + .cvs-section { margin-block-start: 20px !important; }
	.cvs-estilo-botanico .cvs-home .cvs-section__head { margin-bottom: 12px; }

	/* títulos das seções como nos apps: menores, com "Ver tudo" discreto */
	.cvs-estilo-botanico .cvs-home .cvs-section__title { font-size: 21px; }
	.cvs-estilo-botanico .cvs-home .cvs-section__link { font-size: 13px; text-decoration: none; color: var(--cvs-muted); }
	/* no celular o selo "feito para você" sai: a linha extra empurrava os cartões para fora da primeira tela */
	.cvs-section.is-personal .cvs-section__title::after { display: none; }

	/* rodapé compacto: inscrição em destaque primeiro, atalhos em pílulas, sem colunas de links */
	.cvs-estilo-botanico .cvs-nf { padding: 28px 16px 24px; }
	.cvs-estilo-botanico .cvs-nf__logo { order: 2; margin: 26px auto 14px; transform: scale(.8); }
	.cvs-estilo-botanico .cvs-nf { display: flex; flex-direction: column; }
	.cvs-estilo-botanico .cvs-nf__grid { order: 1; display: block; width: 100%; min-width: 0; }
	.cvs-estilo-botanico .cvs-nf__col { display: none; }
	.cvs-estilo-botanico .cvs-nf__news { position: relative; overflow: hidden; box-sizing: border-box; width: auto; max-width: none; margin: 0; padding: 26px 22px 24px; border-radius: 28px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .6); }
	.cvs-estilo-botanico .cvs-nf__news::before { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 45%, transparent), transparent); pointer-events: none; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nf__h { margin: 0 0 6px; font-family: var(--cvs-b-serif, serif); font-size: 28px; font-weight: 400; line-height: 1.1; letter-spacing: 0; text-transform: none; color: inherit; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nf__p { margin: 0 0 18px; font-size: 14px; line-height: 1.45; opacity: .8; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nl { display: flex; gap: 0; padding: 5px; border-radius: 99px; background: var(--cvs-b-paper, #fff); }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nl input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 0 !important; background: transparent; color: var(--cvs-b-ink, #1d1d1b); font-size: 16px; box-shadow: none !important; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nl input:focus { outline: none; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nl button { flex: none; height: 46px; padding: 0 18px; letter-spacing: 0; text-transform: none; border: 0; border-radius: 99px; background: var(--cvs-b-ink, #1d1d1b); color: var(--cvs-b-paper, #fff); font-weight: 600; font-size: 14px; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nl__msg { color: inherit; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nf__social { margin-top: 16px; }
	.cvs-estilo-botanico .cvs-nf__news .cvs-nf__social a { color: inherit; }
	.cvs-estilo-botanico .cvs-nf__quick { order: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
	.cvs-estilo-botanico .cvs-nf__quick a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 99px; background: var(--cvs-b-paper, #fff); color: inherit; font-size: 13px; text-decoration: none; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 8%, transparent); }
	.cvs-estilo-botanico .cvs-nf__quick a.is-wa { background: #1f9d55; color: #fff; box-shadow: none; font-weight: 600; }
	.cvs-estilo-botanico .cvs-nf__copy { order: 3; margin: 0; font-size: 11px; text-align: center; opacity: .55; }
	/* o link de privacidade fecha o rodapé, logo abaixo do copyright (sem ordem ele subia para cima da newsletter) */
	.cvs-estilo-botanico .cvs-nf__pv { order: 4; margin: 10px 0 0; }
}

/* ================================================================ vitrines em grade: filtro por tipo e "Carregar mais"
   (inc/vitrine.php + assets/front.js) */
.cvs-section__head .cvs-vfilter { margin: 0 auto 0 14px; }
.cvs-vfilter { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 13px 0 11px; border: 0; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 12%, transparent); color: color-mix(in srgb, var(--cvs-b-ink, #222) 78%, transparent); font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer; transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease; }
.cvs-vfilter:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 30%, transparent); }
.cvs-vfilter:active { transform: scale(.95); }
.cvs-vfilter.is-on { background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 10%, var(--cvs-b-paper, #fff)); color: var(--cvs-b-green, #2f3a2c); font-weight: 600; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 35%, transparent); }
.cvs-vmore { display: flex; justify-content: center; margin-top: 26px; }
.cvs-vmore[hidden] { display: none; }
.cvs-vmore__btn { position: relative; min-height: 46px; padding: 0 30px; border: 0; border-radius: 99px; background: transparent; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cvs-b-ink, #222) 18%, transparent); color: var(--cvs-b-ink, #1d1d1b); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease; }
.cvs-vmore__btn:hover { background: var(--cvs-b-ink, #1d1d1b); color: var(--cvs-b-paper, #fff); box-shadow: none; }
.cvs-vmore__btn:active { transform: scale(.96); }
.cvs-vmore__btn.is-loading { pointer-events: none; padding-right: 50px; }
.cvs-vmore__btn.is-loading::after { content: ""; position: absolute; right: 22px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cvs-spin .7s linear infinite; }
@keyframes cvs-spin { to { transform: rotate(360deg); } }
.cvs-products > .cvs-vin { animation: cvs-vin .65s cubic-bezier(.2, .9, .3, 1) both; }
@keyframes cvs-vin { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.cvs-vnone { grid-column: 1 / -1; padding: 34px 0; text-align: center; opacity: .6; list-style: none; }
.cvs-vf { position: fixed; inset: 0; z-index: 160; display: flex; align-items: center; justify-content: center; background: rgba(14, 18, 14, .32); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.cvs-vf.is-open { opacity: 1; }
.cvs-vf__panel { position: relative; width: min(400px, calc(100vw - 32px)); padding: 22px; border-radius: 26px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .5); transform: translateY(14px) scale(.98); transition: transform .45s cubic-bezier(.2, .9, .3, 1); box-sizing: border-box; }
.cvs-vf.is-open .cvs-vf__panel { transform: none; }
.cvs-vf__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.cvs-vf__head p { margin: 0; font-family: var(--cvs-b-serif, serif); font-size: 22px; }
.cvs-vf__x { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--cvs-b-soft, #f1eee8); color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.cvs-vf__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.cvs-vf__opts button { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 17px; border: 0; border-radius: 99px; background: var(--cvs-b-soft, #f1eee8); color: inherit; font: inherit; font-size: 14px; cursor: pointer; transition: background-color .25s ease, color .25s ease, transform .15s ease; }
.cvs-vf__opts button small { font-size: 11px; opacity: .55; }
.cvs-vf__opts button:active { transform: scale(.95); }
.cvs-vf__opts button[aria-pressed="true"] { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); font-weight: 600; }
@media (max-width: 781px) {
	.cvs-vf { align-items: flex-end; }
	.cvs-vf__panel { width: 100%; padding: 26px 20px calc(24px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; transform: translateY(100%); }
	.cvs-vf__panel::before { content: ""; position: absolute; top: 9px; left: 50%; width: 38px; height: 5px; margin-left: -19px; border-radius: 3px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 15%, transparent); }
	.cvs-section__head .cvs-vfilter { margin-left: 10px; height: 30px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-products > .cvs-vin { animation: none; } }

/* ================================================================ cabeçalho do celular (Botânico): menu, logo no meio com a
   frase da loja, favoritos e sacola em destaque na cor da marca — botões em quadrado arredondado */
.cvs-bh__icon.is-menu, .cvs-bh__tag { display: none; }
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-bh__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
	.cvs-estilo-botanico .cvs-bh__icon { width: 44px; height: 44px; border-radius: 14px; }
	.cvs-estilo-botanico .cvs-bh__icon.is-menu { display: inline-flex; grid-column: 1; grid-row: 1; justify-self: start; }
	.cvs-estilo-botanico .cvs-bh__logo { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; text-align: center; }
	.cvs-estilo-botanico .cvs-bh__leaf { display: none; }
	.cvs-estilo-botanico .cvs-bh__name { font-size: 22px; letter-spacing: .2em; text-transform: uppercase; margin-right: -.2em; }
	.cvs-estilo-botanico .cvs-bh__tag { display: block; font-size: 11px; line-height: 1.2; letter-spacing: .02em; color: var(--cvs-muted); white-space: nowrap; }
	.cvs-estilo-botanico .cvs-bh .cvs-bh__img { height: 28px; }
	.cvs-estilo-botanico .cvs-bh__right { grid-column: 3; grid-row: 1; justify-self: end; gap: 8px; }
	.cvs-estilo-botanico .cvs-bh__right .cvs-me, .cvs-estilo-botanico .cvs-bh__hello { display: none !important; }
	.cvs-estilo-botanico .cvs-bh__bar.has-hello .cvs-bh__logo { display: flex; }
	.cvs-estilo-botanico .cvs-bh__icon.is-fav { display: inline-flex; }
	.cvs-estilo-botanico .cvs-bh__icon.is-fav .cvs-fav-count { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: var(--cvs-b-gold, #c49a5a); color: #fff; font-size: 10px; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px var(--cvs-b-bg, #f4f1ea); box-sizing: border-box; }
	/* sacola em destaque: verde da marca, número numa bolinha dourada */
	.cvs-estilo-botanico .cvs-bh__icon.is-bag, .cvs-estilo-botanico .cvs-bh__icon.is-bag:has(.cvs-bh__badge:not([data-zero])) { width: 44px; padding: 0; gap: 0; border-radius: 14px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 10px 20px -12px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 85%, transparent); }
	.cvs-estilo-botanico .cvs-bh__icon.is-bag .cvs-bh__badge { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: var(--cvs-b-gold, #c49a5a); color: #fff; font-size: 10px; font-weight: 700; line-height: 18px; box-shadow: 0 0 0 2px var(--cvs-b-bg, #f4f1ea); box-sizing: border-box; }
}

/* ================================================================ gaveta do menu (Botânico): área da cliente em cima,
   links no meio e a prévia da conta (cashback, entrega em andamento, painel) presa embaixo */
.cvs-estilo-botanico .cvs-drawer { background: rgba(14, 18, 14, .32); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.cvs-estilo-botanico .cvs-drawer__panel { left: 0; right: auto; display: flex; flex-direction: column; width: min(86vw, 380px); padding: calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom)); border-radius: 0 28px 28px 0; background: var(--cvs-b-bg, #f4f1ea); color: var(--cvs-b-ink, #1d1d1b); transform: translateX(-100%); transition: transform .45s cubic-bezier(.2, .9, .3, 1); box-shadow: 20px 0 50px -30px rgba(0, 0, 0, .5); }
.cvs-estilo-botanico .cvs-drawer.is-open .cvs-drawer__panel { transform: none; }
.cvs-estilo-botanico .cvs-drawer__top { margin-bottom: 14px; }
.cvs-estilo-botanico .cvs-drawer__close { width: 38px; height: 38px; margin: 0; padding: 0; align-items: center; justify-content: center; border: 0 !important; border-radius: 50%; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); outline: none; }
.cvs-estilo-botanico .cvs-drawer__close svg { width: 18px; height: 18px; }
.cvs-dacc { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 12px; border-radius: 20px; background: var(--cvs-b-paper, #fff); box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 12px 26px -20px rgba(0, 0, 0, .4); color: inherit; text-decoration: none; }
.cvs-dacc .cvs-me__av { flex: none; width: 48px; height: 48px; font-size: 16px; box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff), 0 0 0 3.5px color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 60%, transparent); }
.cvs-dacc__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; line-height: 1.2; }
.cvs-dacc__txt strong { font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvs-dacc__txt small { display: flex; align-items: center; gap: 4px; font-size: 12px; opacity: .65; }
.cvs-dacc__txt small svg { flex: none; color: var(--cvs-b-gold, #c49a5a); opacity: 1; }
.cvs-dacc > svg { flex: none; opacity: .4; }
.cvs-dacc__cta { display: flex; gap: 8px; margin-top: 10px; }
.cvs-dacc__panel, .cvs-dacc__ghost { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 99px; font-size: 14px; font-weight: 600; text-decoration: none; transition: transform .15s ease; }
.cvs-dacc__panel { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
.cvs-dacc__ghost { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cvs-b-ink, #222) 15%, transparent); color: inherit; }
.cvs-dacc__panel:active, .cvs-dacc__ghost:active, .cvs-dacc:active { transform: scale(.97); }
.cvs-estilo-botanico .cvs-drawer__search { margin: 14px 0 4px; }
.cvs-estilo-botanico .cvs-drawer__search input[type="search"] { height: 46px; padding: 0 16px; border: 0 !important; border-radius: 14px !important; background: var(--cvs-b-paper, #fff); font-size: 15px; box-shadow: none; }
.cvs-estilo-botanico .cvs-drawer__menu { margin-top: 8px; }
.cvs-estilo-botanico .cvs-drawer__menu a { padding: 9px 2px; font-family: var(--cvs-b-serif, serif); font-size: 24px; }
.cvs-estilo-botanico .cvs-drawer__menu li.is-small a { font-family: inherit; font-size: 12px; padding: 9px 2px; }
.cvs-estilo-botanico .cvs-drawer__menu li.is-small:first-of-type { border-top-color: color-mix(in srgb, var(--cvs-b-ink, #222) 10%, transparent); }
.cvs-dacc__more { display: grid; gap: 10px; margin-top: auto; padding-top: 18px; }
.cvs-dacc__cash { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border-radius: 20px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); text-decoration: none; position: relative; overflow: hidden; animation: cvs-vin .5s ease both; }
.cvs-dacc__cash::after { content: ""; position: absolute; right: -40px; top: -40px; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 50%, transparent), transparent); }
.cvs-dacc__cash span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.cvs-dacc__cash b { font-family: var(--cvs-b-serif, serif); font-size: 28px; font-weight: 400; line-height: 1.1; }
.cvs-dacc__cash small { font-size: 12px; opacity: .78; }
.cvs-dacc__ord { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 20px; background: var(--cvs-b-paper, #fff); color: inherit; text-decoration: none; animation: cvs-vin .5s ease .08s both; }
.cvs-dacc__th { flex: none; display: flex; }
.cvs-dacc__th img { width: 46px; height: 46px; border-radius: 12px; object-fit: cover; box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); }
.cvs-dacc__th img + img { margin-left: -18px; }
.cvs-dacc__od { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.cvs-dacc__od b { font-size: 14px; }
.cvs-dacc__od em { font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--cvs-b-green, #2f3a2c); }
.cvs-dacc__od small { font-size: 11px; opacity: .6; }
.cvs-dacc__segs { display: grid; grid-template-columns: repeat(var(--n, 6), 1fr); gap: 3px; margin: 2px 0 1px; }
.cvs-dacc__segs i { position: relative; display: block; height: 4px; border-radius: 99px; overflow: hidden; background: var(--cvs-b-soft, #ece7de); }
.cvs-dacc__segs i::after { content: ""; position: absolute; inset: 0; width: 0; border-radius: inherit; background: var(--cvs-b-green, #2f3a2c); }
.cvs-dacc__segs i.is-done::after { width: 100%; animation: cvs-seg .45s calc(var(--i) * .1s + .25s) cubic-bezier(.3, .8, .3, 1) both; }
.cvs-dacc__segs i.is-now::after { width: 55%; background: linear-gradient(90deg, var(--cvs-b-green, #2f3a2c) 0 60%, color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 45%, #fff) 80%, var(--cvs-b-green, #2f3a2c)); background-size: 200% 100%; animation: cvs-seg-now .6s calc(var(--i) * .1s + .25s) both, cvs-seg-run 1.6s 1s linear infinite; }
.cvs-dacc__more > .cvs-dacc__panel { flex: none; background: transparent; color: var(--cvs-b-green, #2f3a2c); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 40%, transparent); }
.cvs-dacc__skel { display: grid; gap: 10px; }
.cvs-dacc__skel i { display: block; height: 74px; border-radius: 20px; background: linear-gradient(90deg, var(--cvs-b-paper, #fff) 0%, var(--cvs-b-soft, #f1eee8) 50%, var(--cvs-b-paper, #fff) 100%) 0 0 / 200% 100%; animation: cvs-skel 1.2s linear infinite; }
@keyframes cvs-skel { to { background-position: -200% 0; } }
.cvs-dacc__back { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 20px; color: inherit; text-decoration: none; background: color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 16%, var(--cvs-b-paper, #fff)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-gold, #c49a5a) 30%, transparent); animation: cvs-vin .5s ease .16s both; transition: transform .2s ease; }
.cvs-dacc__back:active { transform: scale(.98); }
.cvs-dacc__back span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cvs-dacc__back b { font-size: 14px; }
.cvs-dacc__back small { font-size: 12px; opacity: .7; }
.cvs-dacc__back em { font-style: normal; font-size: 18px; color: var(--cvs-b-green, #2f3a2c); transition: transform .2s ease; }
.cvs-dacc__back:hover em { transform: translate(2px, -2px); }

/* ---------- bandeja "Categorias" da barra de abas (celular) */
.cvs-csheet { position: fixed; inset: 0; z-index: 160; display: flex; align-items: flex-end; background: rgba(14, 18, 14, .32); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.cvs-csheet[hidden] { display: none; }
.cvs-csheet.is-open { opacity: 1; }
.cvs-csheet__panel { position: relative; width: 100%; max-height: 82vh; overflow: auto; padding: 26px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; background: var(--cvs-b-bg, #f4f1ea); color: var(--cvs-b-ink, #1d1d1b); box-sizing: border-box; transform: translateY(100%); transition: transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-csheet.is-open .cvs-csheet__panel { transform: none; }
.cvs-csheet__panel::before { content: ""; position: absolute; top: 9px; left: 50%; width: 38px; height: 5px; margin-left: -19px; border-radius: 3px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 15%, transparent); }
.cvs-csheet__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.cvs-csheet__head p { margin: 0; font-family: var(--cvs-b-serif, serif); font-size: 24px; }
.cvs-csheet__x { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--cvs-b-paper, #fff); color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.cvs-csheet__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; }
.cvs-csheet__grid a { display: flex; flex-direction: column; align-items: center; gap: 4px; color: inherit; text-decoration: none; text-align: center; }
.cvs-csheet__grid a:active { transform: scale(.96); }
.cvs-csheet__img { width: 76px; height: 76px; margin-bottom: 4px; border-radius: 50%; overflow: hidden; background: var(--cvs-b-soft, #f1eee8); box-shadow: 0 0 0 3px var(--cvs-b-paper, #fff), 0 10px 22px -14px rgba(0, 0, 0, .45); }
.cvs-csheet__img img { width: 100%; height: 100%; object-fit: cover; }
.cvs-csheet__grid b { font-size: 13px; font-weight: 600; line-height: 1.2; }
.cvs-csheet__grid small { font-size: 11px; opacity: .55; }
.cvs-csheet.is-open .cvs-csheet__grid li { animation: cvs-vin .5s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-csheet.is-open .cvs-csheet__grid li:nth-child(2) { animation-delay: .04s; }
.cvs-csheet.is-open .cvs-csheet__grid li:nth-child(3) { animation-delay: .08s; }
.cvs-csheet.is-open .cvs-csheet__grid li:nth-child(n+4) { animation-delay: .12s; }
.cvs-csheet__all { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; margin-top: 22px; border-radius: 99px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); font-size: 15px; font-weight: 600; text-decoration: none; }
@media (min-width: 782px) { .cvs-csheet { display: none !important; } }

/* ---------- véu atrás da barra de abas (celular): degradê radial na cor do fundo da página, subindo e sumindo —
   o conteúdo continua aparecendo atrás, mais limpo perto da barra */
@media (max-width: 781px) {
	.cvs-estilo-botanico:has(.cvs-tabs-bt):not(.single-product)::after, .cvs-estilo-botanico.single-product:has(.cvs-buybar)::after { /* também atrás da barra de comprar */
		content: ""; position: fixed; left: 0; right: 0; bottom: 0; z-index: 94; height: calc(150px + env(safe-area-inset-bottom)); pointer-events: none;
		background: radial-gradient(ellipse 85% 100% at 50% 100%, color-mix(in srgb, var(--cvs-b-bg, #f4f1ea) 92%, transparent) 0%, color-mix(in srgb, var(--cvs-b-bg, #f4f1ea) 65%, transparent) 42%, color-mix(in srgb, var(--cvs-b-bg, #f4f1ea) 0%, transparent) 78%);
		transition: opacity .45s ease;
	}
	.cvs-tabs-away .cvs-estilo-botanico::after, .cvs-tabs-away.cvs-estilo-botanico::after, .cvs-tabs-late:not(.cvs-tabs-in)::after { opacity: 0; }
}

@media (max-width: 781px) { .cvs-estilo-botanico .cvs-tab.is-center svg { width: 22px; height: 22px; } .cvs-estilo-botanico .cvs-tab__orb > span { white-space: nowrap; } }

/* ícone do WhatsApp da barra um pouco maior (o desenho é mais fino que os outros) */
@media (max-width: 781px) { .cvs-estilo-botanico .cvs-tab.is-wa svg { width: 25px; height: 25px; margin-top: -1px; } }

/* ---------- entrar pelo menu (gaveta): o convite dá lugar ao formulário; ao entrar, a área da cliente aparece ali */
.cvs-dacc-guest.is-form .cvs-dlogin { animation: cvs-vin .45s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-dlogin { display: grid; gap: 10px; padding: 16px; border-radius: 22px; background: var(--cvs-b-paper, #fff); box-shadow: 0 12px 30px -22px rgba(0, 0, 0, .45); }
.cvs-dlogin[hidden] { display: none; }
.cvs-dlogin.is-shake { animation: cvs-shake .4s ease; }
@keyframes cvs-shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.cvs-dlogin__back { justify-self: start; display: inline-flex; align-items: center; gap: 4px; margin: -4px 0 0 -6px; padding: 4px 8px 4px 4px; border: 0; border-radius: 99px; background: none; color: inherit; font: inherit; font-size: 13px; opacity: .7; cursor: pointer; }
.cvs-dlogin__title { margin: 0; font-family: var(--cvs-b-serif, serif); font-size: 26px; line-height: 1.1; }
.cvs-dlogin__sub { margin: -4px 0 4px; font-size: 13px; opacity: .65; }
.cvs-dlogin__f { position: relative; display: grid; gap: 5px; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.cvs-dlogin__f input { width: 100%; height: 48px; padding: 0 14px; border: 0 !important; border-radius: 14px !important; background: var(--cvs-b-bg, #f4f1ea); color: inherit; font-size: 16px; font-weight: 400; box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .2s ease; box-sizing: border-box; }
.cvs-dlogin__f input:focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c); }
.cvs-dlogin__f input[name="pwd"] { padding-right: 80px; }
.cvs-dlogin__eye { position: absolute; right: 8px; bottom: 8px; height: 32px; padding: 0 10px; border: 0; border-radius: 99px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-green, #2f3a2c); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.cvs-dlogin__keep { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.cvs-dlogin__keep input { width: 18px; height: 18px; accent-color: var(--cvs-b-green, #2f3a2c); }
.cvs-dlogin__err { margin: 0; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, #b3261e 9%, var(--cvs-b-paper, #fff)); color: #8c1d18; font-size: 13px; line-height: 1.35; }
.cvs-dlogin__err[hidden] { display: none; }
.cvs-dlogin__go { position: relative; width: 100%; border: 0; cursor: pointer; font: inherit; font-size: 15px; font-weight: 600; transition: background-color .3s ease, transform .15s ease; }
.cvs-dlogin__go.is-loading { pointer-events: none; padding-right: 28px; }
.cvs-dlogin__go.is-loading::after { content: ""; position: absolute; right: 22px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cvs-spin .7s linear infinite; }
.cvs-dlogin__go.is-done { background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 80%, #4caf50); }
.cvs-dlogin__links { display: flex; justify-content: space-between; margin: 2px 2px 0; font-size: 13px; }
.cvs-dlogin__links a { color: var(--cvs-b-green, #2f3a2c); font-weight: 600; text-decoration: none; }

/* ================================================================ tela de entrar com stories (blocks/entrar) */
.cvs-entrar { --e-ink: var(--cvs-b-ink, #1d1d1b); --e-paper: var(--cvs-b-paper, #fff); --e-brand: var(--cvs-b-green, #2f3a2c); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: flex-end; min-height: min(760px, 88vh); padding: 40px; border-radius: 32px; background: var(--e-ink); color: var(--e-ink); }
.cvs-entrar__stories { position: absolute; inset: 0; }
.cvs-entrar__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; }
.cvs-entrar__slide.is-on { opacity: 1; }
.cvs-entrar__img { width: 100%; height: 100% !important; object-fit: cover; transform: scale(1.1); transition: transform var(--dur, 5s) linear; }
.cvs-entrar__slide.is-on .cvs-entrar__img { transform: scale(1); }
.cvs-entrar__stories::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 42%, color-mix(in srgb, var(--e-ink) 72%, transparent) 100%); }
.cvs-entrar__bars { position: absolute; z-index: 3; top: calc(14px + env(safe-area-inset-top)); left: 16px; right: 16px; display: flex; gap: 6px; pointer-events: none; }
.cvs-entrar__bars i { flex: 1; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .38); overflow: hidden; }
.cvs-entrar__bars b { display: block; width: 0; height: 100%; border-radius: inherit; background: #fff; }
.cvs-entrar__bars i.is-done b { width: 100%; }
.cvs-entrar__bars i.is-on b { animation: cvs-story var(--dur, 5s) linear forwards; }
@keyframes cvs-story { from { width: 0; } to { width: 100%; } }
.cvs-entrar__tap { position: absolute; z-index: 2; top: 0; bottom: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.cvs-entrar__tap.is-prev { left: 0; width: 34%; }
.cvs-entrar__tap.is-next { right: 0; width: 66%; }
.cvs-entrar__switch { position: absolute; z-index: 4; top: calc(32px + env(safe-area-inset-top)); right: 16px; padding: 11px 18px; border: 0; border-radius: 99px; background: color-mix(in srgb, #fff 72%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--e-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: transform .15s ease; }
.cvs-entrar__switch:active { transform: scale(.95); }
.cvs-entrar__switch .is-register, .cvs-entrar.is-register .cvs-entrar__switch .is-login { display: none; }
.cvs-entrar.is-register .cvs-entrar__switch .is-register { display: inline; }
.cvs-entrar__card { position: relative; z-index: 3; width: min(420px, 100%); padding: 30px 24px 22px; border-radius: 30px; background: var(--e-paper); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .6); box-sizing: border-box; animation: cvs-vin .7s cubic-bezier(.2, .9, .3, 1) .15s both; }
.cvs-entrar__x { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--e-ink); opacity: .7; }
.cvs-entrar__pane.is-register, .cvs-entrar.is-register .cvs-entrar__pane.is-login { display: none; }
.cvs-entrar.is-register .cvs-entrar__pane.is-register { display: block; animation: cvs-vin .45s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-entrar:not(.is-register) .cvs-entrar__pane.is-login { animation: cvs-vin .45s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-entrar__title { margin: 4px 30px 6px; font-family: var(--cvs-b-serif, serif); font-size: 30px; font-weight: 400; line-height: 1.1; text-align: center; color: var(--e-brand); }
.cvs-entrar__text { margin: 0 0 20px; font-size: 14px; line-height: 1.45; text-align: center; opacity: .68; }
.cvs-entrar__form { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; }
.cvs-entrar__f { position: relative; display: grid; gap: 2px; padding: 9px 16px 7px; border-radius: 16px; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--e-ink) 14%, transparent); transition: box-shadow .2s ease; }
.cvs-entrar__f:focus-within { box-shadow: inset 0 0 0 1.5px var(--e-brand); }
.cvs-entrar__f > span { font-size: 12px; opacity: .6; }
.cvs-entrar__f input { width: 100%; height: 28px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: inherit; font-size: 16px; box-shadow: none !important; }
.cvs-entrar__f input:focus { outline: none; }
.cvs-entrar__f input[type="password"], .cvs-entrar__f input[name="password"] { padding-right: 80px !important; }
.cvs-entrar__eye { position: absolute; right: 10px; top: 50%; height: 32px; margin-top: -16px; padding: 0 12px; border: 0; border-radius: 99px; background: var(--cvs-b-soft, #f1eee8); color: var(--e-brand); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.cvs-entrar__keep { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.cvs-entrar__keep input { width: 18px; height: 18px; accent-color: var(--e-brand); }
.cvs-entrar__note { margin: 0; font-size: 13px; opacity: .7; }
.cvs-entrar__go { position: relative; min-height: 54px; margin-top: 4px; border: 0; border-radius: 99px; background: var(--e-brand); color: var(--e-paper); font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; transition: transform .15s ease, opacity .2s ease; }
.cvs-entrar__go:active { transform: scale(.97); }
.cvs-entrar__go.is-loading { pointer-events: none; opacity: .85; }
.cvs-entrar__go.is-loading::after { content: ""; position: absolute; right: 22px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cvs-spin .7s linear infinite; }
.cvs-entrar__links { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 2px 2px 0; font-size: 13px; }
.cvs-entrar__links a, .cvs-entrar__links button { padding: 0; border: 0; background: none; color: var(--e-brand); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.cvs-entrar__links span { opacity: .65; }
.cvs-entrar__card :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) { margin: 0 0 14px !important; padding: 12px 14px !important; border: 0 !important; border-radius: 14px; font-size: 13px; list-style: none; }
.cvs-entrar__card .woocommerce-error { background: color-mix(in srgb, #b3261e 9%, var(--e-paper)); color: #8c1d18; }
.cvs-entrar__card :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { display: none; }
.cvs-entrar-page .woocommerce > h2, .cvs-entrar-page .wp-block-post-title { display: none; }
@media (max-width: 781px) {
	html:has(.cvs-entrar) { overflow: hidden; }
	.cvs-entrar { position: fixed; inset: 0; z-index: 300; align-items: flex-end; justify-content: center; min-height: 0; padding: 0; border-radius: 0; }
	.cvs-entrar__card { width: auto; flex: 1; max-height: 80vh; overflow: auto; margin: 0 12px calc(12px + env(safe-area-inset-bottom)); padding: 28px 20px 20px; }
	.cvs-entrar__title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-entrar__img { transition: none; transform: none; } }

/* o WooCommerce põe moldura e espaçamento nos formulários de entrar/cadastrar; aqui o cartão já é a moldura */
.woocommerce .cvs-entrar form.cvs-entrar__form, .cvs-entrar form.cvs-entrar__form.login, .cvs-entrar form.cvs-entrar__form.register { margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }

/* computador: o painel sai da coluna estreita da página da conta e ocupa até 1100px, centralizado */
@media (min-width: 782px) { .cvs-entrar { box-sizing: border-box; width: min(1100px, calc(100vw - 48px)); margin-inline: calc(50% - min(550px, 50vw - 24px)); margin-block: 8px 40px; padding: 48px 56px; } .cvs-entrar__card { flex: none; } }

.cvs-dacc__fail { padding: 14px; border: 0; border-radius: 18px; background: var(--cvs-b-paper, #fff); color: inherit; font: inherit; font-size: 13px; text-align: center; cursor: pointer; }
.cvs-dacc__fail b { color: var(--cvs-b-green, #2f3a2c); }

/* ---------- painel da cliente no celular: abas como pílulas que deslizam de ponta a ponta (sem a caixa), com
   esmaecido nas bordas; a aba atual na cor da marca e centralizada (assets/front.js) */
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-acnav { margin-inline: -16px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
	.cvs-estilo-botanico .cvs-acnav ul { gap: 8px; padding: 4px 16px 6px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 30px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 30px), transparent 100%); scroll-padding-inline: 16px; }
	.cvs-estilo-botanico .cvs-acnav li a { gap: 7px; padding: 10px 16px; border-radius: 99px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 8%, transparent); font-size: 13.5px; text-decoration: none !important; transform: none !important; }
	.cvs-estilo-botanico .cvs-acnav li a span { text-decoration: none !important; }
	.cvs-estilo-botanico .cvs-acnav li a svg { width: 16px; height: 16px; }
	.cvs-estilo-botanico .cvs-acnav li.is-active a, .cvs-estilo-botanico .cvs-acnav li a[aria-current="page"] { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 18px -12px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 90%, transparent); }
	.cvs-estilo-botanico .cvs-acnav li.is-active a svg { color: inherit; opacity: 1; }
	.cvs-estilo-botanico .cvs-acnav__badge { margin-left: 2px; }
	.cvs-estilo-botanico .cvs-acnav li a:active { transform: scale(.96) !important; }
}

/* logo da loja no topo do cartão de entrar */
.cvs-entrar__logo { display: flex; justify-content: center; margin: -4px 40px 14px; color: var(--e-ink); text-decoration: none; }
.cvs-entrar__logoimg { max-height: 40px; width: auto; }
.cvs-entrar__name { font-family: var(--cvs-b-serif, serif); font-size: 22px; letter-spacing: .22em; text-transform: uppercase; margin-right: -.22em; }

/* o WooCommerce põe espaço em cima dos itens (menos no primeiro) e zera a margem da lista: aqui fica tudo alinhado */
@media (max-width: 781px) { .cvs-estilo-botanico .cvs-acnav ul { padding: 4px 16px 6px !important; margin: 0 !important; } .cvs-estilo-botanico .cvs-acnav li { margin: 0 !important; padding: 0 !important; } }

/* ---------- Pix dos cartões quando não cabe (assets/front.js): sem o "no Pix"; e, se precisar, numa linha própria
   embaixo do preço e do botão */
.cvs-card.is-bt.pix-short .cvs-card__pix small { display: none; }
.cvs-card.is-bt.pix-wide .cvs-card__foot { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "preco botao" "pix pix"; align-items: end; column-gap: 6px; row-gap: 6px; }
.cvs-card.is-bt.pix-wide :is(.cvs-card__pricerow, .cvs-card__prices) { display: contents; }
.cvs-card.is-bt.pix-wide .cvs-card__price { grid-area: preco; min-width: 0; }
.cvs-card.is-bt.pix-wide .cvs-card__actions { grid-area: botao; }
.cvs-card.is-bt.pix-wide .cvs-card__pix { grid-area: pix; justify-self: start; }
.cvs-card.is-bt.pix-wide .cvs-card__pix small { display: inline; }
.cvs-card.is-bt.pix-wide .cvs-card__pricerow > :not(.cvs-card__prices) { grid-column: 1 / -1; }

.cvs-card.is-bt.price-tight .cvs-card__price { font-size: 13.5px !important; letter-spacing: -.01em; }

/* ---------- página do produto no celular: foto 4:5 e miniaturas por cima da foto, num vidro (horizontal embaixo ou
   vertical na lateral, escolha do painel); a miniatura da foto atual fica destacada */
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-pp__gallery { position: relative; }
	.cvs-estilo-botanico .cvs-pp__slide .cvs-pp__img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumbs { display: flex; position: absolute; z-index: 4; margin: 0; gap: 6px; padding: 6px; border-radius: 18px; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 45%, transparent); -webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px); box-shadow: 0 10px 26px -14px rgba(0, 0, 0, .45); scrollbar-width: none; }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumbs::-webkit-scrollbar { display: none; }
	.cvs-estilo-botanico .cvs-pp.th-m-horizontal .cvs-pp__thumbs { left: 0; right: 0; bottom: 44px; width: max-content; max-width: calc(100% - 8px); margin-inline: auto; overflow-x: auto; box-sizing: border-box; }
	.cvs-estilo-botanico .cvs-pp.th-m-vertical .cvs-pp__thumbs { flex-direction: column; top: 0; bottom: 30px; right: 0; height: max-content; max-height: calc(100% - 150px); margin-block: auto; overflow-y: auto; box-sizing: border-box; } /* centralizada na parte visível da foto (a folha cobre 30px embaixo) */
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumb { flex: 0 0 auto; border-radius: 12px; opacity: .78; outline: 0; transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease; }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumb img { width: 46px; height: 46px !important; border-radius: 12px; }
	.cvs-estilo-botanico .cvs-pp.th-m-vertical .cvs-pp__thumbs { right: 10px; gap: 5px; padding: 5px; border-radius: 15px; }
	.cvs-estilo-botanico .cvs-pp.th-m-vertical .cvs-pp__thumb, .cvs-estilo-botanico .cvs-pp.th-m-vertical .cvs-pp__thumb img { border-radius: 10px; }
	.cvs-estilo-botanico .cvs-pp.th-m-vertical .cvs-pp__thumb img { width: 40px; height: 40px !important; }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumb[aria-current="true"] { opacity: 1; outline: 0; box-shadow: 0 0 0 2px #fff, 0 6px 14px -6px rgba(0, 0, 0, .45); transform: scale(1.04); }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__thumb.has-vid::after { width: 20px; height: 20px; margin: -10px 0 0 -10px; background-size: 9px; }
	.cvs-estilo-botanico .cvs-pp:is(.th-m-horizontal, .th-m-vertical) .cvs-pp__count { display: none; }
	/* pílula de compra do Converte: ao abrir a página fica numa linha só (preço e letreiro à esquerda, botão à
	   direita), para o nome do produto aparecer na primeira tela; ao rolar, volta à versão completa, com a
	   quantidade (assets/front.js põe html.cvs-pill-full) */
	html:not(.cvs-pill-full) .cvs-estilo-botanico #cvt-product-pill { flex-direction: row !important; align-items: center !important; gap: 10px !important; padding: 10px 8px 10px 16px !important; border-radius: 24px !important; }
	html:not(.cvs-pill-full) .cvs-estilo-botanico #cvt-product-pill .cvt-pdp-top { flex: 1 1 auto; min-width: 0; }
	html:not(.cvs-pill-full) .cvs-estilo-botanico #cvt-product-pill :is(.cvt-pdp-caption, .cvt-pdp-quantity, .cvt-pdp-availability) { display: none !important; }
	html:not(.cvs-pill-full) .cvs-estilo-botanico #cvt-product-pill .cvt-pdp-price { font-size: 18px !important; line-height: 1.15 !important; white-space: nowrap; }
	html:not(.cvs-pill-full) .cvs-estilo-botanico #cvt-product-pill .cvt-pdp-add { flex: 0 0 auto; width: auto !important; min-width: 0; height: 50px !important; padding: 0 14px !important; font-size: 14.5px !important; }
	.cvs-estilo-botanico .cvs-pp.th-m-horizontal .cvs-vid__sound { bottom: 112px; }
}

/* ================================================================ barra de comprar (celular): preço em destaque, de/por
   com o desconto, Pix e parcelas alternando, botão com brilho que passa de tempos em tempos */
@media (max-width: 781px) {
	.cvs-estilo-botanico .cvs-buybar { gap: 10px; padding: 10px 8px 10px 18px; align-items: center; }
	.cvs-buybar__info { gap: 1px; }
	.cvs-buybar__top { display: flex; align-items: center; gap: 6px; min-height: 0; font-size: 11.5px; line-height: 1.2; }
	.cvs-buybar__top:empty { display: none; }
	.cvs-buybar__top s { opacity: .55; }
	.cvs-buybar__top em { padding: 1px 7px; border-radius: 99px; background: var(--cvs-sale, #c0392b); color: #fff; font-size: 10.5px; font-style: normal; font-weight: 700; }
	.cvs-buybar__top small { font-size: 11px; opacity: .6; }
	.cvs-estilo-botanico .cvs-buybar__price { font-size: 22px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; color: var(--cvs-b-ink, #1d1d1b); transition: transform .3s ease; }
	.cvs-buybar__price.is-bump { animation: cvs-bump .45s ease; }
	@keyframes cvs-bump { 40% { transform: scale(1.08); } }
	.cvs-buybar__rot { position: relative; display: block; height: 17px; overflow: hidden; font-size: 12px; line-height: 17px; }
	.cvs-buybar__rot > span { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; opacity: 0; transform: translateY(100%); transition: opacity .45s ease, transform .5s cubic-bezier(.2, .9, .3, 1); }
	.cvs-buybar__rot > span.is-on { opacity: 1; transform: none; }
	.cvs-buybar__rot > span.is-out { opacity: 0; transform: translateY(-100%); }
	.cvs-buybar__rot .is-pix { color: var(--cvs-pix, #0f7b4b); }
	.cvs-buybar__rot .is-pix svg { width: 12px; height: 12px; }
	.cvs-buybar__rot .is-card { color: color-mix(in srgb, var(--cvs-b-ink, #222) 75%, transparent); }
	.cvs-buybar__rot b { font-weight: 700; }
	.cvs-estilo-botanico .cvs-buybar__btn { position: relative; overflow: hidden; gap: 8px; min-height: 54px; padding: 0 24px !important; font-size: 16px; font-weight: 700; box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 90%, transparent); }
	.cvs-estilo-botanico .cvs-buybar__btn svg { width: 19px; height: 19px; }
	.cvs-estilo-botanico .cvs-buybar__btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); animation: cvs-shine 4.5s ease-in-out 1.5s infinite; }
	@keyframes cvs-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
}
@media (prefers-reduced-motion: reduce) { .cvs-estilo-botanico .cvs-buybar__btn::after { animation: none; } }

/* pílula do Converte na página: a barra própria do tema sai (eram duas, uma por cima da outra); Pix e parcelas
   sem juros alternam num letreiro, de baixo para cima (assets/front.js); a troca compacta/completa tem um respiro */
@media (max-width: 781px) {
	body.cvt-product-pill-active .cvs-buybar { display: none !important; }
	/* a pílula do Converte já vem no HTML: a barra do tema some desde o 1º quadro (antes aparecia por um instante atrás
	   dela, até o script do Converte marcar o body) */
	body:has(#cvt-product-pill) .cvs-buybar { display: none !important; }
	#cvt-product-pill .cvs-pay.is-ticker { position: relative; display: block !important; height: 18px; margin-top: 3px; overflow: hidden; }
	#cvt-product-pill .cvs-pay.is-ticker > span { position: absolute; left: 0; top: 0; display: block !important; margin: 0 !important; white-space: nowrap; font-size: 11.5px !important; letter-spacing: -.01em; line-height: 18px !important; opacity: 0; transform: translateY(100%); transition: opacity .45s ease, transform .5s cubic-bezier(.2, .9, .3, 1); }
	#cvt-product-pill .cvs-pay.is-ticker > span.is-on { opacity: 1; transform: none; }
	#cvt-product-pill .cvs-pay.is-ticker > span.is-out { opacity: 0; transform: translateY(-100%); }
	#cvt-product-pill .cvs-pay.is-ticker small { font-size: inherit; }
	html.cvs-pill-full #cvt-product-pill .cvs-pay.is-ticker { overflow: visible; clip-path: inset(0 -100vw 0 0); } /* na completa o letreiro usa a largura toda */
	#cvt-product-pill .cvs-pay.is-ticker .cvs-pay__card { color: color-mix(in srgb, var(--cvs-b-ink, #222) 78%, transparent); }
	/* troca compacta <-> completa no ritmo do iOS: desaceleração longa e suave, sem quique */
	html.cvs-pill-full #cvt-product-pill { animation: cvs-pill-full .62s cubic-bezier(.32, .72, 0, 1); }
	html.cvs-pill-back:not(.cvs-pill-full) #cvt-product-pill { animation: cvs-pill-mini .52s cubic-bezier(.32, .72, 0, 1); } /* só na volta da completa, não na abertura */
	@keyframes cvs-pill-full { from { opacity: .4; transform: translateY(14px) scale(.98); } }
	@keyframes cvs-pill-mini { from { opacity: .4; transform: translateY(-6px) scale(1.01); } }
}
/* barra de compra do Converte nas cores da loja: o plugin expõe as cores em variáveis --cvt-pdp-* (padrão preto e branco) */
body :is(#cvt-product-pill, #cvt-pdp-options, #cvt-restock) {
	--cvt-pdp-surface: var(--wp--preset--color--base);
	--cvt-pdp-ink: var(--wp--preset--color--contrast);
	--cvt-pdp-button: var(--cv-color-button, var(--wp--preset--color--contrast));
	--cvt-pdp-button-ink: var(--cv-color-button-text, var(--wp--preset--color--base));
	--cvt-pdp-qty: color-mix(in srgb, var(--wp--preset--color--contrast) 7%, var(--wp--preset--color--base));
	--cvt-pdp-qty-ink: var(--wp--preset--color--contrast);
}
body #cvt-product-pill { border-color: var(--cvs-line) !important; }
body #cvt-product-pill .cvt-pdp-price { color: var(--cvs-price); }
body #cvt-product-pill .cvt-pdp-add { transition: filter .2s ease, transform .15s ease; }
body #cvt-product-pill .cvt-pdp-add:hover { filter: brightness(1.12); }
body #cvt-product-pill .cvt-pdp-add:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) { html #cvt-product-pill { animation: none !important; } #cvt-product-pill .cvs-pay.is-ticker > span { transition: none; } }

/* formas de pagamento: aberta, ganha um fundo suave na cor da marca */
.cvs-pagamento { transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.cvs-pagamento[open] { background: color-mix(in srgb, var(--cvs-b-green, var(--wp--preset--color--accent-1, #2f3a2c)) 7%, var(--cvs-b-paper, #fff)); border-color: color-mix(in srgb, var(--cvs-b-green, var(--wp--preset--color--accent-1, #2f3a2c)) 28%, transparent); box-shadow: 0 10px 24px -20px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 80%, transparent); }
.cvs-pagamento[open] summary { color: var(--cvs-b-green, inherit); }

/* barra de comprar: um toque bem leve da cor da marca no vidro, só para se destacar do branco da página */
@media (max-width: 781px) { .cvs-estilo-botanico .cvs-buybar { background: color-mix(in srgb, color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 9%, var(--cvs-b-paper, #fff)) 88%, transparent); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 16%, transparent); } }

/* Pix na caixa de formas de pagamento: logo e o destaque em pílula, como nos cartões */
.cvs-pagamento__pix { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-pix, #0f7b4b) 11%, transparent); color: var(--cvs-pix, #0f7b4b); font-weight: 600; line-height: 1.2; white-space: nowrap; }
.cvs-pagamento__pix svg { flex: none; }
.cvs-pagamento__pix small { font-size: inherit; font-weight: 500; opacity: .85; }

/* barra de comprar: oferta com data de fim — pílula com o relógio; nas últimas 24h fica mais intensa e pulsa */
@media (max-width: 781px) {
	.cvs-buybar__row { display: flex; align-items: center; gap: 6px; }
	.cvs-buybar__off { padding: 2px 7px; border-radius: 99px; background: var(--cvs-sale, #c0392b); color: #fff; font-size: 11px; font-style: normal; font-weight: 700; line-height: 1.3; }
	.cvs-offer { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px 2px 6px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-sale, #c0392b) 12%, transparent); color: var(--cvs-sale, #c0392b); font-size: 11px; font-weight: 600; white-space: nowrap; }
	.cvs-offer b { font-variant-numeric: tabular-nums; font-weight: 700; }
	.cvs-offer.is-urgent { background: var(--cvs-sale, #c0392b); color: #fff; animation: cvs-cd-pulse 1.6s ease-in-out infinite; }
	.cvs-offer.is-over { background: color-mix(in srgb, var(--cvs-b-ink, #222) 8%, transparent); color: inherit; animation: none; }
	@keyframes cvs-cd-pulse { 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--cvs-sale, #c0392b) 22%, transparent); } }
}
@media (prefers-reduced-motion: reduce) { .cvs-offer.is-urgent { animation: none; } }

/* contagem da oferta: na página, à direita da linha da categoria; na barra de comprar, só quando a da página sai
   da tela (assets/front.js) */
.cvs-pp__eyerow { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.cvs-pp__eyerow .cvs-pp__eye { margin: 0; }
.cvs-offer { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px 3px 7px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-sale, #c0392b) 12%, transparent); color: var(--cvs-sale, #c0392b); font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.cvs-offer b { font-variant-numeric: tabular-nums; font-weight: 700; }
.cvs-offer.is-urgent { background: var(--cvs-sale, #c0392b); color: #fff; animation: cvs-cd-pulse 1.6s ease-in-out infinite; }
.cvs-offer.is-over { background: color-mix(in srgb, var(--cvs-b-ink, #222) 8%, transparent); color: inherit; animation: none; }
@keyframes cvs-cd-pulse { 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--cvs-sale, #c0392b) 22%, transparent); } }
.cvs-buybar__top .cvs-offer { max-width: 0; padding-inline: 0; overflow: hidden; opacity: 0; transform: scale(.85); transition: max-width .45s cubic-bezier(.2, .9, .3, 1), padding .45s ease, opacity .3s ease, transform .4s cubic-bezier(.2, 1.4, .4, 1); }
.cvs-buybar.show-cd .cvs-buybar__top .cvs-offer { max-width: 220px; padding: 2px 8px 2px 6px; opacity: 1; transform: none; }
.cvs-buybar__top .cvs-offer { font-size: 11px; }
@media (prefers-reduced-motion: reduce) { .cvs-offer.is-urgent { animation: none; } }

/* a barra de comprar fica acima do véu claro (que está em 94), não embaixo dele */
@media (max-width: 781px) { .cvs-estilo-botanico .cvs-buybar { z-index: 96; } }

/* =====================================================================
   História do produto (inc/historia.php): mini landing page entre a compra e os relacionados. No computador as
   partes são painéis arredondados na largura da página; no celular vão de ponta a ponta. Cada parte entra suave ao
   chegar na tela, a capa aproxima a foto devagar, os números contam (assets/front.js).
   ===================================================================== */
.cvs-historia {
	--hs-r: var(--pp-r, 22px); --hs-ink: var(--cvs-b-ink, var(--wp--preset--color--contrast, #1d1d1b)); --hs-green: var(--cvs-b-green, var(--wp--preset--color--accent-1, #2f3a2c));
	--hs-gold: var(--cvs-b-gold, var(--wp--preset--color--accent-2, #c9a54b)); --hs-paper: var(--cvs-b-paper, var(--wp--preset--color--base, #fff));
	--hs-card: var(--cvs-b-card, color-mix(in srgb, var(--hs-paper) 60%, transparent)); --hs-serif: var(--cvs-b-serif, var(--cvs-el-serif, Georgia, serif));
	display: flex; flex-direction: column; gap: clamp(14px, 2vw, 22px); margin-top: clamp(40px, 6vw, 88px);
}
.cvs-hs { position: relative; border-radius: var(--hs-r); overflow: hidden; scroll-margin-top: 90px; }
.cvs-hs__in { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; padding: clamp(44px, 7vw, 96px) clamp(22px, 5vw, 64px); text-align: center; box-sizing: border-box; }
.cvs-hs__eye { margin: 0 0 12px; font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--hs-gold); }
.cvs-hs__title { margin: 0; font-family: var(--hs-serif); font-weight: 400; font-size: clamp(2rem, 6vw, 3.6rem); line-height: 1.04; letter-spacing: -.01em; text-wrap: balance; }
.cvs-hs__text { margin-top: 16px; font-size: clamp(15px, 1.4vw, 17px); line-height: 1.65; opacity: .78; text-wrap: pretty; }
.cvs-hs__text p { margin: 0 0 .7em; }
.cvs-hs__text p:last-child { margin-bottom: 0; }

/* capa: foto grande, véu de baixo para cima, texto embaixo; a foto se aproxima devagar quando chega na tela */
.cvs-hs--capa { display: flex; align-items: flex-end; min-height: clamp(520px, 82svh, 760px); color: #fff; background: #1d1d1b; }
.cvs-hs__bg { position: absolute; inset: 0; }
.cvs-hs__bg img { width: 100%; height: 100% !important; object-fit: cover; transform: scale(1.12); transition: transform 2.4s cubic-bezier(.2, .7, .2, 1); }
.cvs-hs--capa.is-in .cvs-hs__bg img { transform: scale(1.02); }
.cvs-hs__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .35) 55%, rgba(0, 0, 0, .78) 100%); }
.cvs-hs--capa .cvs-hs__in { width: 100%; padding-bottom: clamp(36px, 6vw, 72px); }
.cvs-hs--capa .cvs-hs__eye { color: color-mix(in srgb, var(--hs-gold) 70%, #fff); }
.cvs-hs--capa .cvs-hs__title { font-size: clamp(2.6rem, 8vw, 5rem); }
.cvs-hs--capa .cvs-hs__text { opacity: .88; }
.cvs-hs__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.cvs-hs__ctas .cvs-btn-bt { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 99px; font-size: 15px; font-weight: 600; text-decoration: none; }
.cvs-hs__ctas .cvs-btn-bt:not(.is-light) { background: var(--hs-paper); color: var(--hs-ink); }
.cvs-hs__ctas .cvs-btn-bt.is-light { color: #fff; background: color-mix(in srgb, #fff 16%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 40%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.cvs-hs__ctas .cvs-btn-bt.is-light svg { transition: transform .3s ease; }
.cvs-hs__ctas .cvs-btn-bt.is-light:hover svg { transform: translateY(3px); }

/* texto: centralizado num cartão; com foto, o texto fica ao lado da foto */
.cvs-hs--texto { background: var(--hs-card); }
.cvs-hs--texto.has-img .cvs-hs__in { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(28px, 5vw, 72px); max-width: none; padding: clamp(20px, 3vw, 32px); text-align: left; }
.cvs-hs--texto.has-img .cvs-hs__copy { padding: clamp(12px, 3vw, 40px); }
.cvs-hs--texto.has-img.is-left .cvs-hs__fig { order: -1; }
.cvs-hs__fig { margin: 0; border-radius: calc(var(--hs-r) - 6px); overflow: hidden; aspect-ratio: 4 / 5; }
.cvs-hs__fig img { width: 100%; height: 100% !important; object-fit: cover; transform: scale(1.06); transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.cvs-hs--texto.is-in .cvs-hs__fig img { transform: none; }

/* fotos: faixa que desliza, com bolinhas */
.cvs-hs--fotos { border-radius: 0; overflow: visible; }
.cvs-hs--fotos .cvs-hs__in { padding-block: 8px 22px; }
.cvs-hs__strip, .cvs-hs__cards { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.cvs-hs__strip::-webkit-scrollbar, .cvs-hs__cards::-webkit-scrollbar { display: none; }
.cvs-hs__strip li { flex: 0 0 min(78%, 420px); scroll-snap-align: center; border-radius: var(--hs-r); overflow: hidden; aspect-ratio: 4 / 5; background: var(--hs-card); }
.cvs-hs__strip img { width: 100%; height: 100% !important; object-fit: cover; }
.cvs-hs__dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
.cvs-hs__dots i { width: 6px; height: 6px; border-radius: 99px; background: currentColor; opacity: .22; transition: width .35s cubic-bezier(.2, .9, .3, 1), opacity .3s ease; }
.cvs-hs__dots i.is-on { width: 20px; opacity: .8; }

/* itens: cartões (ingredientes, materiais, benefícios) na cor principal */
.cvs-hs--itens { background: var(--hs-green); color: var(--hs-paper); }
.cvs-hs--itens .cvs-hs__eye { color: color-mix(in srgb, var(--hs-gold) 75%, #fff); }
.cvs-hs--itens .cvs-hs__in { padding-bottom: clamp(24px, 3vw, 40px); }
.cvs-hs__cards { padding: 0 clamp(16px, 3vw, 32px) clamp(22px, 3vw, 32px); scroll-padding-inline: clamp(16px, 3vw, 32px); }
.cvs-hs__card { flex: 0 0 min(76%, 300px); scroll-snap-align: start; display: flex; flex-direction: column; border-radius: calc(var(--hs-r) - 4px); overflow: hidden; background: color-mix(in srgb, #fff 9%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 12%, transparent); transform: translateY(18px); opacity: 0; transition: transform .7s cubic-bezier(.2, .9, .3, 1), opacity .6s ease; transition-delay: calc(var(--i, 0) * 90ms + 150ms); }
.cvs-hs--itens.is-in .cvs-hs__card { transform: none; opacity: 1; }
.cvs-hs__card figure { margin: 0; aspect-ratio: 1; overflow: hidden; }
.cvs-hs__card figure img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.cvs-hs__card:hover figure img { transform: scale(1.05); }
.cvs-hs__cardtx { padding: 18px 18px 22px; text-align: left; }
.cvs-hs__cardtx .cvs-hs__eye { margin-bottom: 6px; font-size: 10.5px; }
.cvs-hs__cardtx h3 { margin: 0; font-family: var(--hs-serif); font-weight: 400; font-size: 1.45rem; line-height: 1.15; color: inherit; }
.cvs-hs__cardtx p:not(.cvs-hs__eye) { margin: 8px 0 0; font-size: 14px; line-height: 1.55; opacity: .78; }
@media (min-width: 900px) {
	.cvs-hs__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); overflow: visible; }
}

/* números que contam */
.cvs-hs--numeros { background: var(--hs-card); }
.cvs-hs__nums { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 22px 18px; }
.cvs-hs__nums li { display: flex; flex-direction: column; gap: 6px; }
.cvs-hs__nums b { font-family: var(--hs-serif); font-weight: 400; font-size: clamp(2.8rem, 7vw, 4rem); line-height: 1; color: var(--hs-green); font-variant-numeric: tabular-nums; }
.cvs-hs__nums span { font-size: 13.5px; line-height: 1.45; opacity: .72; max-width: 22ch; margin-inline: auto; }
.cvs-hs__note { margin: 24px 0 0; font-size: 11.5px; opacity: .5; }

/* entrada suave de cada parte (só com JS: sem ele fica tudo visível) */
.cvs-hs-js .cvs-hs > .cvs-hs__in, .cvs-hs-js .cvs-hs--fotos > .cvs-hs__strip { transform: translateY(26px); opacity: 0; transition: transform .9s cubic-bezier(.2, .9, .3, 1), opacity .8s ease; }
.cvs-hs-js .cvs-hs.is-in > .cvs-hs__in, .cvs-hs-js .cvs-hs--fotos.is-in > .cvs-hs__strip { transform: none; opacity: 1; }
.cvs-hs-js .cvs-hs--capa > .cvs-hs__in { transition-delay: .25s; }
.cvs-historia:not(.cvs-hs-js) .cvs-hs__card { transform: none; opacity: 1; }

@media (max-width: 781px) {
	.cvs-historia { gap: 0; margin-inline: calc(-1 * var(--cvs-n-pad, 16px)); } /* de ponta a ponta: desfaz o recuo do .cvs-product-pp */
	.cvs-hs { border-radius: 0; }
	.cvs-hs--capa { min-height: 86svh; }
	.cvs-hs--capa .cvs-hs__title { font-size: clamp(2.5rem, 12vw, 3.4rem); }
	.cvs-hs__ctas .cvs-btn-bt { flex: 1 1 0; justify-content: center; padding: 14px 16px; }
	.cvs-hs--texto.has-img .cvs-hs__in { grid-template-columns: 1fr; gap: 0; padding: 0; }
	.cvs-hs--texto.has-img .cvs-hs__fig { order: -1; border-radius: 0; }
	.cvs-hs--texto.has-img .cvs-hs__copy { padding: 34px 22px 40px; }
	.cvs-hs--fotos { padding: 40px 0 44px; }
	.cvs-hs__strip { padding-inline: 16px; scroll-padding-inline: 16px; gap: 10px; }
	.cvs-hs__strip li { flex-basis: 82%; border-radius: 20px; }
	.cvs-hs__card { border-radius: 20px; }
	.cvs-hs__nums { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 18px 10px; }
	.cvs-hs__nums b { font-size: 2.5rem; }
	.cvs-hs__nums span { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) {
	.cvs-historia .cvs-hs > *, .cvs-hs__card, .cvs-hs__bg img, .cvs-hs__fig img { transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* página do produto: o véu atrás da barra de comprar não some ao rolar para baixo (a barra continua lá) */
@media (max-width: 781px) {
	.cvs-tabs-away .cvs-estilo-botanico.single-product:has(.cvs-buybar)::after, .cvs-tabs-away.cvs-estilo-botanico.single-product:has(.cvs-buybar)::after { opacity: 1; }
	.cvs-buybar__btn.is-loading { pointer-events: none; }
	.cvs-buybar__btn.is-loading svg { animation: cvs-buy-bob .7s ease-in-out infinite; }
	@keyframes cvs-buy-bob { 50% { transform: translateY(-3px) rotate(-6deg); } }
}

/* página do produto no computador (galeria com miniaturas): as fotos ficam presas enquanto a coluna da direita rola e
   soltam quando a parte de cima acaba (história, relacionados). Se a galeria for mais alta que a tela, ela rola até
   aparecer inteira e só então prende (--pp-stick, assets/front.js). Na galeria em grade continua presa a coluna da
   direita, porque lá quem é comprida são as fotos. */
@media (min-width: 782px) {
	.cvs-pp.is-thumbs .cvs-pp__gallery { position: sticky; top: var(--pp-stick, 96px); }
	/* cabe inteira na tela abaixo do cabeçalho (foto quadrada + miniaturas); em tela baixa fica um pouco menor e centrada */
	.cvs-pp.is-thumbs .cvs-pp__gallery { width: 100%; max-width: max(420px, calc(100svh - 210px)); justify-self: center; }
	.cvs-pp.is-thumbs .cvs-pp__info { position: static; }
}

/* mini carrinho (Converte): o fechar vira um X redondo. Ao abrir o painel, o X gira e se desenha; ao passar o mouse
   gira um quarto de volta; ao tocar afunda e, fechando, os traços se recolhem (só CSS por cima do plugin) */
.cvt-root .cvt-close { position: relative; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 99px; cursor: pointer; color: inherit; background: color-mix(in srgb, currentColor 7%, transparent); transform: rotate(-90deg) scale(.6); opacity: 0; transition: transform .5s cubic-bezier(.2, 1.4, .4, 1), opacity .3s ease, background-color .25s ease; }
.cvt-root .cvt-close > svg { display: none; }
.cvt-root .cvt-close::before, .cvt-root .cvt-close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 1.8px; margin: -.9px 0 0 -8px; border-radius: 2px; background: currentColor; transform: rotate(0) scaleX(0); transition: transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvt-root.is-open .cvt-close { transform: none; opacity: 1; transition-delay: .15s; }
.cvt-root.is-open .cvt-close::before { transform: rotate(45deg) scaleX(1); transition-delay: .3s; }
.cvt-root.is-open .cvt-close::after { transform: rotate(-45deg) scaleX(1); transition-delay: .38s; }
.cvt-root.is-open .cvt-close:hover { transform: rotate(90deg); background: color-mix(in srgb, currentColor 12%, transparent); transition-delay: 0s; }
.cvt-root.is-open .cvt-close:hover::before, .cvt-root.is-open .cvt-close:hover::after { transition-delay: 0s; }
.cvt-root.is-open .cvt-close:active { transform: rotate(90deg) scale(.82); transition-duration: .12s; }
.cvt-root .cvt-close:focus { outline: 0; }
.cvt-root .cvt-close:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 22%, transparent); }
@media (prefers-reduced-motion: reduce) {
	.cvt-root .cvt-close, .cvt-root .cvt-close::before, .cvt-root .cvt-close::after { transition: none !important; }
}

/* ---------- página da loja: barra de categorias (Todos + categorias com a quantidade). No computador as pílulas
   quebram linha; no celular a barra desliza de ponta a ponta, com um esmaecido nas bordas quando há mais para o lado,
   e a categoria atual vem centralizada. Ao tocar, a pílula escolhida acende e a grade esmaece enquanto a página troca */
.cvs-lb__cats { position: relative; margin: 22px 0 26px; }
.cvs-lb__catrow { display: flex; flex-wrap: wrap; gap: 8px; }
.cvs-lb__cat { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 18px; border-radius: 99px; font-size: 14px; font-weight: 500; line-height: 1; color: inherit; text-decoration: none; white-space: nowrap; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .1)); transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease; }
.cvs-lb__cat small { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; font-size: 11px; font-weight: 600; background: color-mix(in srgb, currentColor 9%, transparent); opacity: .75; transition: background-color .25s ease; }
.cvs-lb__cat:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 55%, transparent); }
.cvs-lb__cat:active { transform: scale(.95); }
.cvs-lb__cat[aria-current] { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 18px -12px var(--cvs-b-green, #2f3a2c); }
.cvs-lb__cat[aria-current] small { background: color-mix(in srgb, #fff 20%, transparent); opacity: 1; }
.cvs-lb__cat.is-going span::after { content: ""; display: inline-block; width: 11px; height: 11px; margin-left: 7px; vertical-align: -1px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cvs-spin .7s linear infinite; }
.cvs-lb__grid { transition: opacity .3s ease; }
.cvs-lb__grid.is-leaving { opacity: .45; }
.cvs-lb__more { flex-direction: column; align-items: center; gap: 12px; margin-top: 34px; }
.cvs-lb__more .cvs-vmore__btn[hidden] { display: none; }
.cvs-lb__seen { position: relative; margin: 0; padding-bottom: 10px; font-size: 12.5px; opacity: .7; text-align: center; }
.cvs-lb__seen i { position: absolute; left: 50%; bottom: 0; width: 140px; height: 3px; margin-left: -70px; border-radius: 99px; background: color-mix(in srgb, currentColor 14%, transparent); overflow: hidden; }
.cvs-lb__seen i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--p, 0%); border-radius: inherit; background: var(--cvs-b-green, #2f3a2c); transition: width .6s cubic-bezier(.2, .9, .3, 1); }
@media (max-width: 781px) {
	.cvs-lb__cats { margin: 16px calc(-1 * var(--cvs-b-pad, 16px)) 20px; }
	.cvs-lb__catrow { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; padding: 2px var(--cvs-b-pad, 16px); scroll-padding-inline: var(--cvs-b-pad, 16px); }
	.cvs-lb__catrow::-webkit-scrollbar { display: none; }
	.cvs-lb__cat { flex: 0 0 auto; height: 40px; padding: 0 15px; font-size: 13.5px; }
	.cvs-lb__cats::before, .cvs-lb__cats::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 1; width: 28px; pointer-events: none; opacity: 1; transition: opacity .25s ease; }
	.cvs-lb__cats::before { left: 0; background: linear-gradient(90deg, var(--cvs-b-bg, #f4f1ea), transparent); }
	.cvs-lb__cats::after { right: 0; background: linear-gradient(-90deg, var(--cvs-b-bg, #f4f1ea), transparent); }
	.cvs-lb__cats.at-start::before, .cvs-lb__cats.at-end::after { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .cvs-lb__cat, .cvs-lb__grid { transition: none; } }

/* ---------- página da loja: filtros. Barra "Filtros" (com quantos estão ligados e os ligados em pílulas que se tiram
   com um toque) e painel que abre ali mesmo, empurrando a grade só um pouco: no celular cada grupo é uma linha que
   desliza, para os produtos continuarem à vista. Tocar numa opção liga/desliga na hora e a grade esmaece enquanto troca */
.cvs-lb__filters { margin: -8px 0 18px; scroll-margin-top: 84px; }
.cvs-lb__bar { scroll-margin-top: 84px; }
/* botão na linha da grade: fechado e sem filtro ligado, o bloco não ocupa espaço nenhum */
.cvs-lb__filters.is-inbar { margin: 0; }
.cvs-lb__filters.is-inbar.is-open, .cvs-lb__filters.is-inbar:has(.cvs-lb__fbar) { margin: -6px 0 18px; }
.cvs-lb__bar .cvs-lb__ftoggle.is-open, .cvs-lb__bar .cvs-lb__ftoggle[aria-expanded="true"] { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 18px -12px var(--cvs-b-green, #2f3a2c); }
.cvs-lb__bar .cvs-lb__ftoggle[aria-expanded="true"] b { background: var(--cvs-b-paper, #fff); color: var(--cvs-b-green, #2f3a2c); }
.cvs-lb__fbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cvs-lb__ftoggle { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 14px; border: 0; border-radius: 99px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; color: inherit; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .1)), 0 6px 16px -14px rgba(0, 0, 0, .5); transition: background-color .25s ease, color .25s ease, transform .15s ease; }
.cvs-lb__ftoggle:active { transform: scale(.96); }
.cvs-lb__ftoggle b { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; font-size: 11px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); animation: cvs-peek-tag .4s ease both; }
.cvs-lb__filters.is-open .cvs-lb__ftoggle { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 8px 18px -12px var(--cvs-b-green, #2f3a2c); }
.cvs-lb__filters.is-open .cvs-lb__ftoggle b { background: var(--cvs-b-paper, #fff); color: var(--cvs-b-green, #2f3a2c); }
.cvs-lb__fons { display: contents; }
.cvs-lb__fon { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px 0 13px; border-radius: 99px; font-size: 12.5px; font-weight: 500; color: inherit; text-decoration: none; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 10%, transparent); transition: opacity .2s ease, transform .15s ease; }
.cvs-lb__fon span { font-size: 15px; line-height: 1; opacity: .6; }
.cvs-lb__fon:active { transform: scale(.95); }
.cvs-lb__fon.is-going { opacity: .4; }
.cvs-lb__fclear { font-size: 12.5px; color: inherit; opacity: .65; padding: 0 4px; }
.cvs-lb__fpanel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s cubic-bezier(.2, .9, .3, 1); }
.cvs-lb__filters.is-open .cvs-lb__fpanel { grid-template-rows: 1fr; }
.cvs-lb__fin { min-height: 0; overflow: hidden; }
.cvs-lb__fgroup { display: flex; align-items: center; gap: 12px; padding-top: 12px; opacity: 0; transform: translateY(-4px); transition: opacity .3s ease, transform .3s ease; }
.cvs-lb__filters.is-open .cvs-lb__fgroup { opacity: 1; transform: none; }
.cvs-lb__filters.is-open .cvs-lb__fgroup + .cvs-lb__fgroup { transition-delay: .06s; }
.cvs-lb__flabel { flex: none; width: 54px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .55; }
.cvs-lb__frow { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.cvs-lb__fchip { flex: 0 0 auto; display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 99px; font-size: 13px; color: inherit; text-decoration: none; white-space: nowrap; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .1)); transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .15s ease; }
.cvs-lb__fchip:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 55%, transparent); }
.cvs-lb__fchip:active { transform: scale(.95); }
.cvs-lb__fchip.is-on { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: none; }
.cvs-lb__fchip.is-on::before { content: "✓"; margin-right: 6px; font-size: 11px; }
.cvs-lb__fchip.is-going::after { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 7px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: cvs-spin .7s linear infinite; }
@media (max-width: 781px) {
	.cvs-lb__filters { margin: -6px 0 16px; }
	.cvs-lb__bar { gap: 8px; }
	.cvs-lb__bar > span { flex: none; font-size: 12.5px; }
	.cvs-lb__bar .cvs-lb__ftoggle { flex: none; height: 38px; padding: 0 13px 0 11px; gap: 6px; font-size: 13px; }
	.cvs-lb__bar .cvs-lb__sort select { padding: 9px 12px; font-size: 12.5px; max-width: 150px; }
	.cvs-lb__fbar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--cvs-b-pad, 16px)); padding: 2px var(--cvs-b-pad, 16px); }
	.cvs-lb__fbar::-webkit-scrollbar, .cvs-lb__frow::-webkit-scrollbar { display: none; }
	.cvs-lb__ftoggle, .cvs-lb__fon, .cvs-lb__fclear { flex: none; }
	.cvs-lb__fgroup { flex-direction: column; align-items: stretch; gap: 7px; padding-top: 12px; }
	.cvs-lb__flabel { width: auto; font-size: 10.5px; }
	.cvs-lb__frow { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; margin-inline: calc(-1 * var(--cvs-b-pad, 16px)); padding: 1px var(--cvs-b-pad, 16px); }
	.cvs-lb__fchip { height: 34px; padding: 0 13px; font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-lb__fpanel, .cvs-lb__fgroup, .cvs-lb__fchip { transition: none; } }
/* chegada pelo botão de filtro da home: botão pisca, opções entram em cascata e a primeira pulsa duas vezes */
/* ---------- balão de atendimento (inc/conversa.php): avatar com a bolinha de online; abre o hub com os setores.
   Entra com um estalo depois que a página assenta, o hub abre crescendo a partir do balão e as opções em cascata */
.cvs-chat { position: fixed; right: 22px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 97; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; font-family: inherit; transition: transform .45s cubic-bezier(.2, .9, .3, 1), opacity .3s ease; }
.cvs-chat[hidden] { display: none; }
.cvs-chat.is-gone { opacity: 0; transform: translateY(24px) scale(.9); pointer-events: none; }
.cvs-chat__bubble { position: relative; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--cvs-b-paper, #fff); box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .55), 0 0 0 var(--cvs-chat-ring-w, 3px) var(--cvs-chat-ring, var(--cvs-b-paper, #fff)); animation: cvs-chat-in .6s cubic-bezier(.2, 1.5, .4, 1) both; transition: transform .2s ease; }
.cvs-chat__bubble:hover { transform: translateY(-2px); }
/* borda do balão escolhida no painel (chat_ring): na cor da loja, numa cor escolhida (inline) ou sem borda */
.cvs-chat[data-ring="loja"] { --cvs-chat-ring: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); }
.cvs-chat[data-ring="nenhuma"] { --cvs-chat-ring-w: 0px; }
.cvs-chat[data-ring="nenhuma"] .cvs-chat__bubble { background: transparent; }
.cvs-chat__bubble:active { transform: scale(.92); }
.cvs-chat__av { position: relative; display: block; width: 100%; height: 100%; border-radius: 50%; }
.cvs-chat__img { width: 100%; height: 100% !important; border-radius: 50%; object-fit: cover; display: block; }
.cvs-chat__ini { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); color: var(--cvs-b-paper, #fff); font-size: 22px; font-weight: 600; }
.cvs-chat__dot { position: absolute; right: 2px; bottom: 2px; width: 10px; height: 10px; border-radius: 50%; background: #2fb463; box-shadow: 0 0 0 2px var(--cvs-b-paper, #fff); }
.cvs-chat__dot::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: inherit; animation: cvs-chat-pulse 2.2s ease-out infinite; }
.cvs-chat.is-off .cvs-chat__dot { background: #b8b2a7; }
.cvs-chat.is-off .cvs-chat__dot::after { animation: none; }
.cvs-chat__hide { position: absolute; right: -4px; bottom: 44px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; font-size: 13px; line-height: 20px; background: var(--cvs-b-ink, #1d1d1b); color: #fff; opacity: 0; transform: scale(.6); transition: opacity .2s ease, transform .2s ease; }
.cvs-chat:hover .cvs-chat__hide, .cvs-chat.is-shown .cvs-chat__hide { opacity: .75; transform: none; }
.cvs-chat.is-open .cvs-chat__hide, .cvs-chat.is-open .cvs-chat__tip { opacity: 0; pointer-events: none; }
.cvs-chat__tip { position: absolute; right: 70px; bottom: 14px; padding: 8px 13px; border-radius: 16px 16px 4px 16px; white-space: nowrap; font-size: 13px; font-weight: 500; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .4); opacity: 0; transform: translateX(8px); pointer-events: none; transition: opacity .35s ease, transform .35s ease; }
.cvs-chat.is-tip .cvs-chat__tip { opacity: 1; transform: none; }
.cvs-chat__hub { width: min(340px, calc(100vw - 28px)); box-sizing: border-box; padding: 16px; border-radius: 24px; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .45), 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 6%, transparent); transform-origin: bottom right; opacity: 0; transform: translateY(10px) scale(.92); visibility: hidden; transition: opacity .25s ease, transform .35s cubic-bezier(.2, 1.2, .4, 1), visibility 0s .35s; }
.cvs-chat.is-open .cvs-chat__hub { opacity: 1; transform: none; visibility: visible; transition: opacity .25s ease, transform .35s cubic-bezier(.2, 1.2, .4, 1), visibility 0s; }
.cvs-chat__head { display: flex; align-items: center; gap: 11px; }
.cvs-chat__head .cvs-chat__av { width: 44px; height: 44px; flex: none; }
.cvs-chat__head .cvs-chat__dot { right: 1px; bottom: 1px; width: 9px; height: 9px; }
.cvs-chat__who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.cvs-chat__who b { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvs-chat__who small { font-size: 12px; opacity: .65; }
.cvs-chat__x { width: 32px; height: 32px; flex: none; padding: 0; border: 0; border-radius: 50%; cursor: pointer; font-size: 20px; line-height: 1; background: color-mix(in srgb, var(--cvs-b-ink, #222) 6%, transparent); color: inherit; transition: transform .15s ease; }
.cvs-chat__x:active { transform: scale(.9); }
.cvs-chat__hi { margin: 14px 0 12px; padding: 11px 14px; border-radius: 4px 18px 18px 18px; font-size: 14px; line-height: 1.45; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 8%, var(--cvs-b-paper, #fff)); }
.cvs-chat__opts { display: flex; flex-direction: column; gap: 8px; }
.cvs-chat__opt { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 16px; color: inherit; text-decoration: none; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .08)); transition: transform .15s ease, box-shadow .2s ease; }
.cvs-chat.is-open .cvs-chat__opt { animation: cvs-chat-opt .4s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 55ms + 80ms); }
.cvs-chat__opt:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 50%, transparent); }
.cvs-chat__opt:active { transform: scale(.97); }
.cvs-chat__oi { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #25d366; color: #fff; }
.cvs-chat__ot { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.cvs-chat__ot b { font-size: 14px; font-weight: 600; }
.cvs-chat__ot small { font-size: 12px; opacity: .6; }
.cvs-chat__oa { opacity: .45; transition: transform .2s ease, opacity .2s ease; }
.cvs-chat__opt:hover .cvs-chat__oa { opacity: .8; transform: translateX(3px); }
/* ShopBot dentro do hub: a conversa substitui as opções; cartões de produto deslizam para o lado */
.cvs-chat__oi.is-bot { background: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); }
.cvs-chat__opt.is-bot { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 45%, transparent); }
button.cvs-chat__opt { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; }
.cvs-chat__hub.is-bot .cvs-chat__hi, .cvs-chat__hub.is-bot .cvs-chat__opts { display: none; }
.cvs-chat__bot { margin-top: 10px; }
.cvs-chat__bot[hidden] { display: none; }
.cvs-chat__back { padding: 0; border: 0; background: none; font: inherit; font-size: 12px; color: inherit; opacity: .6; cursor: pointer; }
.cvs-chat__msgs { display: flex; flex-direction: column; gap: 8px; max-height: min(46vh, 380px); overflow-y: auto; margin: 8px -4px 0; padding: 4px; overscroll-behavior: contain; }
.cvs-chat__m { max-width: 86%; padding: 9px 13px; border-radius: 18px; font-size: 14px; line-height: 1.45; white-space: pre-line; animation: cvs-chat-opt .35s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-chat__m.is-bot { align-self: flex-start; border-bottom-left-radius: 5px; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 8%, var(--cvs-b-paper, #fff)); }
.cvs-chat__m.is-me { align-self: flex-end; border-bottom-right-radius: 5px; background: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); color: var(--cvs-b-paper, #fff); }
.cvs-chat__typing { align-self: flex-start; display: flex; gap: 4px; padding: 12px 14px; border-radius: 18px 18px 18px 5px; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 8%, var(--cvs-b-paper, #fff)); }
.cvs-chat__typing i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .4; animation: cvs-chat-typing 1s ease-in-out infinite; }
.cvs-chat__typing i:nth-child(2) { animation-delay: .15s; }
.cvs-chat__typing i:nth-child(3) { animation-delay: .3s; }
/* flex: none: a lista de mensagens é uma coluna flex e espremia a fileira de cartões até sumir (overflow-x zera a altura mínima) */
.cvs-chat__cards { flex: none; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 2px -4px 0; padding: 2px 4px 6px; }
.cvs-chat__cards::-webkit-scrollbar { display: none; }
.cvs-chat__card { flex: 0 0 156px; scroll-snap-align: start; display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .08)); animation: cvs-chat-opt .4s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 70ms + 120ms); }
.cvs-chat__ph { display: block; overflow: hidden; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 6%, transparent); }
.cvs-chat__card img { width: 100%; aspect-ratio: 1; height: auto !important; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.2, .9, .3, 1); }
.cvs-chat__ph:active img { transform: scale(1.04); }
/* um produto só: cartão largo, a foto como protagonista */
.cvs-chat__card:only-child { flex: 0 0 min(100%, 260px); }
.cvs-chat__card:only-child img { aspect-ratio: 4 / 3; }
.cvs-chat__card b { padding: 7px 9px 0; font-size: 12.5px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cvs-chat__card span { padding: 2px 9px 0; font-size: 12.5px; }
.cvs-chat__card span s { opacity: .5; margin-right: 4px; }
.cvs-chat__cbtns { display: flex; gap: 5px; margin-top: auto; padding: 7px 7px 8px; }
.cvs-chat__cbtns a, .cvs-chat__cbtns button { flex: 1; display: inline-flex; align-items: center; justify-content: center; height: 30px; padding: 0 6px; border: 0; border-radius: 99px; font: inherit; font-size: 11.5px; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform .15s ease, background-color .25s ease; }
.cvs-chat__cbtns a { background: var(--cvs-b-paper, #fff); color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .1)); }
.cvs-chat__cbtns button { background: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); color: var(--cvs-b-paper, #fff); }
.cvs-chat__cbtns :is(a, button):active { transform: scale(.94); }
.cvs-chat__cbtns button.is-done { background: #2fb463; }
.cvs-chat__cbtns button.is-busy { opacity: .7; }
.cvs-chat__hand { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 99px; background: #25d366; color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; animation: cvs-chat-opt .4s ease both; }
.cvs-chat__quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cvs-chat__quick:empty { display: none; }
.cvs-chat__quick button { padding: 6px 11px; border: 0; border-radius: 99px; font: inherit; font-size: 12.5px; cursor: pointer; color: inherit; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 35%, transparent); transition: transform .15s ease; animation: cvs-chat-opt .3s ease both; }
.cvs-chat__quick button:active { transform: scale(.94); }
.cvs-chat__form { display: flex; gap: 8px; margin-top: 10px; }
.cvs-chat__form input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border: 0; border-radius: 99px; font: inherit; font-size: 14px; color: inherit; background: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0, 0, 0, .1)); outline: none; }
.cvs-chat__form input:focus { box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c); }
.cvs-chat__form button { width: 42px; height: 42px; flex: none; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--cvs-b-green, var(--cv-color-button, #2f3a2c)); color: var(--cvs-b-paper, #fff); transition: transform .15s ease, opacity .2s ease; }
.cvs-chat__form button:active { transform: scale(.9); }
.cvs-chat__form button:disabled { opacity: .5; }
@keyframes cvs-chat-typing { 0%, 100% { transform: translateY(0); opacity: .35; } 50% { transform: translateY(-3px); opacity: .8; } }
@media (max-width: 781px) {
	.cvs-chat__form input { font-size: 16px; }
	.cvs-chat__msgs { max-height: max(170px, calc(100svh - 480px)); }
	.cvs-chat__quick { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
	.cvs-chat__quick::-webkit-scrollbar { display: none; }
	.cvs-chat__quick button { flex: none; white-space: nowrap; }
	.cvs-chat__hub.is-bot .cvs-chat__head .cvs-chat__who small { display: none; }
}
@keyframes cvs-chat-in { from { opacity: 0; transform: scale(.4) translateY(20px); } }
@keyframes cvs-chat-pulse { from { transform: scale(1); opacity: .6; } to { transform: scale(2.4); opacity: 0; } }
@keyframes cvs-chat-opt { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 781px) {
	.cvs-chat { right: 14px; bottom: calc(16px + env(safe-area-inset-bottom)); }
	body:has(.cvs-tabs-bt) .cvs-chat { bottom: calc(96px + env(safe-area-inset-bottom)); }
	body:has(.cvs-mbar) .cvs-chat { bottom: calc(78px + env(safe-area-inset-bottom)); }
	.cvs-chat__bubble { width: 54px; height: 54px; }
	/* loja do Botânico: o balão espera a barra de abas subir (a primeira tela é dos produtos) */
	.cvs-tabs-late:not(.cvs-tabs-in) .cvs-chat { opacity: 0; transform: translateY(24px); pointer-events: none; }
	/* barra de abas escondida ao rolar: o balão desce junto */
	.cvs-tabs-away body:has(.cvs-tabs-bt) .cvs-chat, .cvs-tabs-away.cvs-estilo-botanico .cvs-chat { transform: translateY(80px); }
	.cvs-tabs-away .cvs-chat.is-open, .cvs-tabs-away.cvs-estilo-botanico .cvs-chat.is-open { transform: none; }
}
@media (prefers-reduced-motion: reduce) { .cvs-chat__bubble, .cvs-chat__dot::after, .cvs-chat.is-open .cvs-chat__opt { animation: none; } .cvs-chat__hub { transition: opacity .2s ease; } }
@keyframes cvs-dot-pop { from { transform: scale(0); } 60% { transform: scale(1.35); } }
@keyframes cvs-ft-bump { 40% { transform: scale(.93); } 75% { transform: scale(1.04); } }
@keyframes cvs-fchip-in { from { opacity: 0; transform: translateY(8px) scale(.94); } }
@keyframes cvs-fchip-hint { 0%, 100% { background-color: var(--cvs-b-card, #f6f1ea); box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c); } 45% { background-color: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 16%, var(--cvs-b-card, #f6f1ea)); box-shadow: inset 0 0 0 2px var(--cvs-b-green, #2f3a2c); } }
.cvs-lb__ftoggle.is-bump { animation: cvs-ft-bump .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-lb__filters.is-intro .cvs-lb__fchip { animation: cvs-fchip-in .4s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 40ms + 140ms); }
.cvs-lb__filters .cvs-lb__fchip.is-hint { animation: cvs-fchip-hint 1.1s ease-out 2; box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c); }
@media (prefers-reduced-motion: reduce) { .cvs-lb__ftoggle.is-bump, .cvs-lb__filters.is-intro .cvs-lb__fchip, .cvs-lb__filters .cvs-lb__fchip.is-hint { animation: none; } }

/* grade da loja em masonry (is-mgrid, assets/front.js; a .is-masonry das vitrines é outra, em colunas): linhas de 1px, o cartão fica com a altura do próprio conteúdo */
.cvs-products.is-mgrid { grid-auto-rows: 1px; row-gap: 0 !important; align-items: start; }
.cvs-products.is-mgrid > li { align-self: start; }
.cvs-products.is-mgrid > li > .cvs-card { height: auto; }
/* no masonry o título não reserva duas linhas: com uma linha, o preço sobe logo abaixo (nas grades comuns a reserva
   continua, para os preços ficarem alinhados) */
.cvs-estilo-botanico .cvs-products.is-mgrid .cvs-card.is-bt .cvs-card__title a { min-height: 0; }

/* checkout da Converte: o estilo de campos do WooCommerce para temas de blocos (woocommerce-blocktheme.css) e o canto
   arredondado dos campos do tema não entram nas caixas da Converte — quem desenha o campo é a caixa dela */
.woocommerce-page .cvt-ck .form-row input.input-text, .woocommerce-page .cvt-ck .form-row select, .woocommerce-page .cvt-ck .form-row textarea { padding: 0; border-radius: 0; line-height: 1.5; }
.woocommerce-page .cvt-ck .form-row label { line-height: 1.3; margin: 0 0 3px; }

/* =====================================================================
   Pagamentos de demonstração (inc/demo-pagamento.php, só na loja de exemplo)
   ===================================================================== */
.cvs-demo-note { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; font-size: 12.5px; line-height: 1.45; background: color-mix(in srgb, var(--wp--preset--color--accent-2, #c98a3c) 14%, #fff); color: color-mix(in srgb, var(--wp--preset--color--accent-2, #c98a3c) 55%, #1d1d1b); }
.cvs-demo-note svg { flex: 0 0 auto; margin-top: 2px; }
.cvs-demo-card { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cvs-demo-card__f { display: block; padding: 9px 14px 8px; border-radius: 14px; background: var(--cvt-ck-field, #f7f6f2); border: 1px solid var(--cvt-ck-field-border, #eae8e2); font-size: 12px; font-weight: 500; transition: border-color .2s ease, box-shadow .2s ease; }
.cvs-demo-card__f.is-wide { grid-column: 1 / -1; }
.cvs-demo-card__f:focus-within { border-color: var(--cvt-ck-focus, #171716); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cvt-ck-focus, #171716) 12%, transparent); }
.cvs-demo-card__f input, .cvs-demo-card__f select { display: block; width: 100%; margin-top: 2px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 16px; line-height: 1.5; color: inherit; outline: 0; }
.cvs-demo-pill { position: fixed; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 999; display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 24px); padding: 8px 8px 8px 14px; box-sizing: border-box; border-radius: 99px; background: #1d1d1b; color: #fff; font-size: 13px; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5); transform: translateX(-50%); animation: cvs-demo-in .5s cubic-bezier(.2, 1.3, .4, 1) both; }
.cvs-demo-pill:not(.is-pix) { padding-right: 16px; }
.cvs-demo-pill__txt { white-space: nowrap; }
@media (max-width: 781px) { .cvs-demo-pill { font-size: 12.5px; } body:has(.cvs-tabs-bt) .cvs-demo-pill { bottom: calc(96px + env(safe-area-inset-bottom)); } }
.cvs-demo-pill__dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent-2, #c98a3c); animation: cvs-demo-blink 1.2s ease-in-out infinite; }
.cvs-demo-pill button { flex: 0 0 auto; height: 34px; padding: 0 14px; border: 0; border-radius: 99px; background: #fff; color: #1d1d1b; font: inherit; font-weight: 600; cursor: pointer; transition: transform .15s ease; }
.cvs-demo-pill button:active { transform: scale(.94); }
.cvs-demo-pill.is-ok { background: #15803d; }
.cvs-demo-pill.is-ok .cvs-demo-pill__dot { background: #fff; animation: none; }
.cvs-demo-pill.is-ok button { display: none; }
@keyframes cvs-demo-in { from { opacity: 0; transform: translate(-50%, 20px) scale(.96); } }
@keyframes cvs-demo-blink { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .cvs-demo-pill, .cvs-demo-pill__dot { animation: none; transition: none; } }

/* ---------- página da loja: faixa de destaque baixa (blocks/loja-botanico, promo*). Foto de fundo com degradê na cor
   da marca à esquerda (o texto fica legível em qualquer foto), botão à direita no computador e seta no celular. Entra
   suave, a foto aproxima devagar no hover e um brilho passa uma vez */
.cvs-lb__promo { position: relative; display: flex; align-items: center; gap: 16px; min-height: 160px; margin: 22px 0 0; padding: 22px clamp(22px, 4vw, 44px); box-sizing: border-box; border-radius: 22px; overflow: hidden; isolation: isolate; color: #fff; text-decoration: none; background: var(--cvs-b-green, var(--wp--preset--color--accent-1, #1f4d45)); animation: cvs-promo-in .7s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-lb__promo-media { position: absolute; inset: 0; z-index: -2; }
.cvs-lb__promo-media img, .cvs-lb__promo-img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 40%; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.cvs-lb__promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 96%, transparent) 0%, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 82%, transparent) 38%, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 18%, transparent) 78%, transparent 100%); }
.cvs-lb__promo::after { content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; z-index: 0; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent); transform: skewX(-18deg); animation: cvs-promo-shine 1.4s ease .9s 1 both; }
.cvs-lb__promo:hover .cvs-lb__promo-img { transform: scale(1.05); }
.cvs-lb__promo-txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; max-width: 560px; }
.cvs-lb__promo-eye { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--cvs-b-gold, #c98a3c) 70%, #fff); }
.cvs-lb__promo-title { font-family: var(--cvs-b-serif, Georgia, serif); font-size: clamp(1.35rem, 2.6vw, 2.1rem); line-height: 1.1; text-wrap: balance; }
.cvs-lb__promo-p { font-size: 14px; opacity: .85; }
.cvs-lb__promo-cta { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-left: auto; }
.cvs-lb__promo-btn { display: inline-flex; align-items: center; height: 46px; padding: 0 22px; border-radius: 99px; background: #fff; color: var(--cvs-b-ink, #1d1d1b); font-size: 14px; font-weight: 600; transition: transform .2s ease; }
.cvs-lb__promo-arrow { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 99px; background: color-mix(in srgb, #fff 18%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 40%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform .3s cubic-bezier(.2, 1.4, .4, 1), background-color .25s ease; }
.cvs-lb__promo:hover .cvs-lb__promo-arrow { transform: translateX(4px); background: color-mix(in srgb, #fff 28%, transparent); }
.cvs-lb__promo:active { transform: scale(.99); }
.cvs-lb__promo + .cvs-lb__cats { margin-top: 18px; }
@keyframes cvs-promo-in { from { opacity: 0; transform: translateY(14px); } }
@keyframes cvs-promo-shine { to { left: 130%; } }

/* faixa de destaque em slider: os slides se sobrepõem e trocam com um esmaecer e um leve deslize; bolinhas embaixo */
.cvs-lb__promos { position: relative; display: grid; margin: 22px 0 0; }
.cvs-lb__promos > .cvs-lb__promo { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateX(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .9, .3, 1), visibility 0s .6s; animation: none; }
.cvs-lb__promos > .cvs-lb__promo.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2, .9, .3, 1), visibility 0s; }
.cvs-lb__promos > .cvs-lb__promo.is-out { transform: translateX(-18px); }
.cvs-lb__promos { animation: cvs-promo-in .7s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-lb__pdots { position: absolute; z-index: 3; left: 0; right: 0; bottom: 9px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.cvs-lb__pdot { pointer-events: auto; width: 6px; height: 6px; padding: 0; border: 0; border-radius: 99px; cursor: pointer; background: color-mix(in srgb, #fff 45%, transparent); transition: width .3s ease, background-color .3s ease; }
.cvs-lb__pdot[aria-current="true"] { width: 18px; background: #fff; }
.cvs-lb__promos + .cvs-lb__cats { margin-top: 18px; }
@media (max-width: 781px) {
	.cvs-lb__promos { margin-top: 16px; }
	.cvs-lb__promos + .cvs-lb__cats { margin-top: 14px; }
	.cvs-lb__pdots { bottom: 7px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-lb__promos > .cvs-lb__promo { transition: none; transform: none; } }
@media (max-width: 781px) {
	.cvs-lb__promo { min-height: 120px; margin-top: 16px; padding: 18px 16px 18px 20px; border-radius: 20px; gap: 12px; }
	.cvs-lb__promo::before { background: linear-gradient(90deg, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 95%, transparent) 0%, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 78%, transparent) 55%, color-mix(in srgb, var(--cvs-b-green, #1f4d45) 25%, transparent) 100%); }
	.cvs-lb__promo-title { font-size: 1.25rem; }
	.cvs-lb__promo-p { display: none; }
	.cvs-lb__promo { min-height: 96px; padding-block: 16px; }
	.cvs-lb__promo-title { font-size: 1.15rem; }
	/* título curto e subtítulo na mesma linha: o subtítulo pequeno, à direita, alinhado à base do título */
	.cvs-lb__top.is-inline { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
	.cvs-lb__top.is-inline .cvs-lb__title { flex: none; }
	.cvs-lb__top.is-inline .cvs-lb__sub { flex: 0 1 auto; max-width: 58%; margin: 0 0 6px; font-size: 12.5px; line-height: 1.35; text-align: right; text-wrap: balance; }
	.cvs-lb__promo-btn { display: none; }
	.cvs-lb__promo-arrow { width: 40px; height: 40px; }
	.cvs-lb__promo + .cvs-lb__cats { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) { .cvs-lb__promo, .cvs-lb__promo::after { animation: none; } .cvs-lb__promo-img { transition: none; } }

/* página de obrigado (Converte): no quadro "Seu pedido", subtotal, entrega, total e pagamento ganham a mesma margem
   lateral dos itens, e nenhum valor quebra no meio ("R$ 1.337," / "60") */
body .cvt-order-app table.woocommerce-table--order-details tfoot th, body .cvt-order-app table.woocommerce-table--order-details tfoot td { padding-left: 14px; padding-right: 14px; }
body .cvt-order-app table.woocommerce-table--order-details tfoot td { text-align: right; }
body .cvt-order-app table.woocommerce-table--order-details .woocommerce-Price-amount, body .cvt-order-app table.woocommerce-table--order-details td.product-total { white-space: nowrap; }

/* nota e chips do cartão Botânico sempre à esquerda (no celular a área vira coluna) */
.cvs-card.is-bt .cvs-card__mid, .cvs-estilo-botanico .cvs-card.is-bt .cvs-card__mid { justify-content: flex-start; }
@media (max-width: 781px) { .cvs-card.is-bt .cvs-card__mid, .cvs-estilo-botanico .cvs-card.is-bt .cvs-card__mid { align-items: flex-start; } }

/* demonstração: o convite esmaece enquanto a conta de exemplo entra (inc/demo-cliente.php) */
.cvs-dguest__intro.is-demo-wait { opacity: .45; pointer-events: none; transition: opacity .3s ease; }

/* ---------- legibilidade (auditoria de 28/out/2026): o que a cliente lê para decidir a compra passa no contraste
   mínimo (4,5:1) e nada funcional fica abaixo de 11 px no celular. Cores sólidas misturadas com o fundo, em vez de
   opacidade, para o contraste não depender do que está atrás. */
:root { --cvs-pix: #0b6a40; --cvs-muted: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, var(--wp--preset--color--base)); }
.cvs-card .cvs-card__price del, .cvs-card.is-bt .cvs-card__price del, .cvs-card.is-min .cvs-card__price del, .cvs-pd__price del { opacity: 1; color: var(--cvs-muted); }
.cvs-card__from, .cvs-card.is-bt .cvs-card__from { opacity: 1; color: var(--cvs-muted); }
.cvs-card__pix small { opacity: 1; }
.cvs-nf__copy, .cvs-estilo-botanico .cvs-nf__copy { opacity: 1; color: var(--cvs-muted); }
.cvs-estilo-botanico .cvs-nf__quick a.is-wa { background: #0f7a40; }
/* rótulos âmbar sobre fundo claro: o dourado puxado para o tom da tinta (mesma família de cor, leitura 4,5:1) */
.cvs-pd__eye, .cvs-estilo-botanico .cvs-pp__eye { color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 58%, var(--cvs-b-ink, #1d1d1b)); }
@media (max-width: 781px) {
	.cvs-pd__eye { font-size: 11px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-pill { font-size: 11px; }
	.cvs-estilo-botanico .cvs-card.is-bt .cvs-card__pix { font-size: 11px; }
	.cvs-estilo-botanico .cvs-tab { font-size: 11px; }
	.cvs-card__aside .cvs-chip, .cvs-card.is-bt .cvs-card__txt .cvs-chip, .cvs-card.is-bt .cvs-card__mid .cvs-chip, .cvs-card__onimg .cvs-chip { font-size: 11px; }
}
/* títulos sem palavra sobrando sozinha na última linha */
.cvs-card__title, .cvs-br__title, .cvs-hb__title, .cvs-pd__title, .cvs-section h2, .cvs-splash__title { text-wrap: balance; }
.cvs-br__p, .cvs-hb__p, .cvs-splash__text p { text-wrap: pretty; }
/* só para leitor de tela (títulos de estrutura que a tela não precisa mostrar) */
.cvs-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* página do produto no celular: a barra fixa de compra sai de cena enquanto o botão da própria página está à vista
   (não ficam dois "Adicionar ao carrinho" na tela, nem a barra por cima do cálculo de frete logo abaixo) */
@media (max-width: 781px) {
	/* a barra "entrega" a compra ao botão da página: desce devagar, encolhendo um pouco (como uma folha do iOS indo
	   embora), e o botão da página acende num halo suave no mesmo instante, para o olho seguir sem precisar pensar */
	html.cvs-pill-ready #cvt-product-pill { transition: transform .62s cubic-bezier(.32, .72, 0, 1), opacity .42s ease, filter .42s ease; transform-origin: 50% 100%; }
	html.cvs-pill-away #cvt-product-pill { transform: translateY(calc(100% + 28px)) scale(.94); opacity: 0; filter: blur(2px); pointer-events: none; transition: transform .7s cubic-bezier(.32, .72, 0, 1), opacity .5s ease .08s, filter .5s ease .08s; }
	.cvs-buy-here { position: relative; animation: cvs-buy-here 1.5s cubic-bezier(.32, .72, 0, 1) .12s both; }
	@keyframes cvs-buy-here {
		0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 0%, transparent); transform: none; }
		28% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 22%, transparent); transform: scale(1.025); }
		100% { box-shadow: 0 0 0 16px color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 0%, transparent); transform: none; }
	}
}
@media (max-width: 781px) {
	/* painéis do tema abertos (favoritos, ver rápido, busca, gavetas, opções, abertura): a barra de compra desce e sai de
	   cena, com a mesma animação, em vez de ficar por cima do painel */
	body:has(.cvs-fp.is-open, .cvs-qv.is-open, .cvs-sx.is-open, .cvs-drawer.is-open, .cvs-csheet.is-open, .cvs-opts.is-sheet.is-open) #cvt-product-pill,
	html.cvs-locked #cvt-product-pill { transform: translateY(calc(100% + 28px)) scale(.94); opacity: 0; filter: blur(2px); pointer-events: none; transition: transform .6s cubic-bezier(.32, .72, 0, 1), opacity .35s ease, filter .35s ease; }
}
@media (prefers-reduced-motion: reduce) {
	html.cvs-pill-ready #cvt-product-pill, html.cvs-pill-away #cvt-product-pill { transition: opacity .25s ease; transform: none; filter: none; }
	.cvs-buy-here { animation: none; }
}
/* balão do chat: a caixa dele só recebe toque no que aparece (o menu fechado ocupava ~metade da tela do celular,
   invisível, e engolia o toque nos produtos e o arrastar dos carrosséis) */
.cvs-chat { pointer-events: none; }
.cvs-chat__bubble, .cvs-chat__hide, .cvs-chat.is-open .cvs-chat__hub, .cvs-chat.is-tip .cvs-chat__tip { pointer-events: auto; }
.cvs-chat.is-open .cvs-chat__hide, .cvs-chat.is-open .cvs-chat__tip, .cvs-chat.is-gone .cvs-chat__bubble, .cvs-tabs-late:not(.cvs-tabs-in) .cvs-chat__bubble { pointer-events: none; }
.cvs-chat__hide::before { content: ""; position: absolute; inset: -12px; } /* × de 20 px com área de toque de 44 px */
/* letreiro do Pix/parcelas na barra de compra (celular): antes de ligar mostra só a 1ª linha (nada de duas linhas
   empilhadas e cortadas); liga parado; cada troca é um rolar curto e suave, no ritmo do iOS */
@media (max-width: 781px) {
	#cvt-product-pill .cvs-pay:not(.is-ticker) { display: block !important; height: 18px; margin-top: 3px; overflow: hidden; }
	#cvt-product-pill .cvs-pay:not(.is-ticker) > span + span { display: none !important; }
	html body #cvt-product-pill .cvs-pay.is-ticker > span { transform: translateY(70%); transition: opacity .5s ease, transform .7s cubic-bezier(.32, .72, 0, 1); }
	html body #cvt-product-pill .cvs-pay.is-ticker > span.is-on { opacity: 1; transform: none; }
	html body #cvt-product-pill .cvs-pay.is-ticker > span.is-out { opacity: 0; transform: translateY(-70%); transition: opacity .35s ease, transform .7s cubic-bezier(.32, .72, 0, 1); }
	html body #cvt-product-pill .cvs-pay.is-ticker.is-init > span { transition: none !important; }
}
@media (prefers-reduced-motion: reduce) { html body #cvt-product-pill .cvs-pay.is-ticker > span { transition: opacity .3s ease !important; transform: none !important; } }

/* ---------- avaliações da página do produto (inc/avaliacoes.php): cabeçalho com a nota e o botão, fotos de clientes,
   cartões claros sem borda; formulário recolhido até "Escrever uma avaliação" */
#avaliacoes .woocommerce-Reviews-title, #avaliacoes .woocommerce-noreviews { display: none; }
.cvs-rv__head { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 0 22px; text-align: center; }
.cvs-rv__title { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -.01em; }
.cvs-rv__score { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.cvs-rv__score b { font-size: 44px; font-weight: 500; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.cvs-rv__stars { color: var(--cvs-b-gold, #bf8a47); }
.cvs-rv__sub { margin: 0; font-size: 13px; color: var(--cvs-muted); }
.cvs-rv__write { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; margin-top: 12px; padding: 0 26px; border: 0; border-radius: 99px; cursor: pointer; font: inherit; font-size: 15px; font-weight: 500; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); transition: transform .25s cubic-bezier(.32, .72, 0, 1), filter .2s ease; }
.cvs-rv__write:hover { filter: brightness(1.1); }
.cvs-rv__write:active { transform: scale(.97); }
.cvs-rv__write[aria-expanded="true"] { background: transparent; color: inherit; box-shadow: inset 0 0 0 1.5px var(--cvs-line); }
.cvs-rv__perk { display: inline-flex; align-items: center; gap: 7px; margin: 10px 0 0; padding: 7px 14px 7px 9px; border-radius: 99px; font-size: 13px; font-weight: 500; background: color-mix(in srgb, var(--cvs-b-gold, #bf8a47) 14%, var(--cvs-b-paper, #fff)); color: color-mix(in srgb, var(--cvs-b-gold, #bf8a47) 45%, var(--cvs-b-ink, #222)); }
.cvs-rv__perk.is-form { display: flex; align-items: flex-start; margin: 0 0 6px; padding: 12px 14px; border-radius: 16px; font-weight: 400; line-height: 1.45; }
.cvs-rv__perk.is-form b { display: block; font-weight: 600; }
.cvs-rv__coin { flex: none; fill: var(--cvs-b-gold, #bf8a47); stroke: color-mix(in srgb, var(--cvs-b-gold, #bf8a47) 55%, var(--cvs-b-ink, #222)); stroke-width: 1.4; stroke-linecap: round; }
.cvs-rv__coin circle + circle, .cvs-rv__coin path { fill: none; stroke: color-mix(in srgb, var(--cvs-b-paper, #fff) 70%, transparent); }
.cvs-rv__write:hover + .cvs-rv__perk .cvs-rv__coin, .cvs-rv__perk:hover .cvs-rv__coin { animation: cvs-coin-flip .9s cubic-bezier(.32, .72, 0, 1); }
@keyframes cvs-coin-flip { 50% { transform: rotateY(180deg) scale(1.1); } }
@media (prefers-reduced-motion: reduce) { .cvs-rv__coin { animation: none !important; } }
.cvs-rv__media { margin: 0 0 18px; }
.cvs-rv__label { margin: 0 0 10px; font-size: 13px; font-weight: 500; }
.cvs-rv__strip { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.cvs-rv__strip::-webkit-scrollbar { display: none; }
.cvs-rv__ph { flex: 0 0 auto; width: 104px; aspect-ratio: 1; border-radius: 14px; overflow: hidden; scroll-snap-align: start; }
.cvs-rv__ph img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s cubic-bezier(.32, .72, 0, 1); }
.cvs-rv__ph:hover img { transform: scale(1.05); }
#avaliacoes .commentlist { display: grid; gap: 12px; margin: 0; padding: 0; }
#avaliacoes .commentlist > li { margin: 0; padding: 0; border: 0; list-style: none; }
#avaliacoes .comment_container { position: relative; padding: 18px 18px 16px; border: 0; border-radius: 20px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 4%, var(--cvs-b-paper, #fff)); }
#avaliacoes .comment-text { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
#avaliacoes .comment-text > * { margin: 0 !important; }
#avaliacoes .cvs-rv__top { order: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#avaliacoes .cvs-rv__top time { font-size: 12px; color: var(--cvs-muted); }
#avaliacoes .cvs-rv__h { order: 2; font-size: 15px; font-weight: 600; line-height: 1.3; }
#avaliacoes .comment-text .description { order: 3; font-size: 14.5px; line-height: 1.6; }
#avaliacoes .comment-text .description p { margin: 0; }
#avaliacoes .cvs-rv__pics { order: 4; display: flex; gap: 6px; flex-wrap: wrap; }
#avaliacoes .cvs-rv__pics a { width: 64px; height: 64px; border-radius: 12px; overflow: hidden; }
#avaliacoes .cvs-rv__pics img { width: 100%; height: 100% !important; object-fit: cover; }
#avaliacoes .cvs-rv__who { order: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 32px; margin-top: 4px !important; padding-left: 42px; font-size: 13.5px; }
#avaliacoes .cvs-rv__ini { position: absolute; left: 18px; bottom: 16px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font-size: 12px; font-weight: 600; letter-spacing: .02em; background: color-mix(in srgb, var(--cvs-b-gold, #bf8a47) 22%, var(--cvs-b-paper, #fff)); color: color-mix(in srgb, var(--cvs-b-gold, #bf8a47) 55%, var(--cvs-b-ink, #222)); }
#avaliacoes .cvs-rv__ok { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--cvs-pix); }
#avaliacoes .cvs-rv__ok svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.4; }
#avaliacoes .commentlist > li.is-more { display: none; }
.cvs-rv__all { display: flex; justify-content: center; margin: 14px 0 0; }
.cvs-rv__all button { min-height: 44px; padding: 0 22px; border: 0; border-radius: 99px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 500; background: transparent; color: inherit; box-shadow: inset 0 0 0 1.5px var(--cvs-line); }
#avaliacoes .commentlist > li.is-in { animation: cvs-rv-in .55s cubic-bezier(.32, .72, 0, 1) both; animation-delay: calc(var(--i, 0) * 60ms); }
@keyframes cvs-rv-in { from { opacity: 0; transform: translateY(12px); } }
/* formulário */
#avaliacoes #review_form_wrapper { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .55s cubic-bezier(.32, .72, 0, 1), opacity .35s ease; }
#avaliacoes #review_form_wrapper > * { min-height: 0; overflow: hidden; }
#avaliacoes #review_form_wrapper.is-open { grid-template-rows: 1fr; opacity: 1; }
#avaliacoes #respond { margin: 18px 0 0; padding: 20px 18px; border-radius: 20px; background: color-mix(in srgb, var(--cvs-b-ink, #222) 4%, var(--cvs-b-paper, #fff)); }
#avaliacoes .cvs-rv__formtitle { margin: 0 0 4px; font-size: 18px; font-weight: 500; }
#avaliacoes .cvs-rv__note { margin: 0 0 14px; font-size: 12.5px; color: var(--cvs-muted); }
#avaliacoes #commentform { display: grid; gap: 14px; }
#avaliacoes #commentform > p, #avaliacoes #commentform > div { margin: 0; }
#avaliacoes #commentform label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 500; }
#avaliacoes #commentform :is(input[type="text"], input[type="email"], textarea) { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 0; border-radius: 14px; font: inherit; font-size: 16px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px var(--cvs-line); transition: box-shadow .2s ease; }
#avaliacoes #commentform :is(input, textarea):focus { outline: none; box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c); }
#avaliacoes #commentform textarea { min-height: 120px; resize: vertical; }
#avaliacoes .comment-form-rating select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.cvs-rv__pick { display: flex; gap: 4px; }
.cvs-rv__pick button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; cursor: pointer; background: transparent; color: color-mix(in srgb, var(--cvs-b-ink, #222) 22%, transparent); transition: transform .3s cubic-bezier(.32, .72, 0, 1), color .2s ease; }
.cvs-rv__pick button svg { width: 30px; height: 30px; fill: currentColor; }
.cvs-rv__pick button.is-on { color: var(--cvs-b-gold, #bf8a47); }
.cvs-rv__pick button:active { transform: scale(.88); }
.cvs-rv__pickl { min-height: 18px; margin: 4px 0 0; font-size: 12.5px; color: var(--cvs-muted); }
#avaliacoes .comment-form-cvb-photos input[type="file"] { width: 100%; box-sizing: border-box; padding: 18px 14px; border-radius: 16px; font: inherit; font-size: 13px; color: var(--cvs-muted); background: var(--cvs-b-paper, #fff); border: 1.5px dashed color-mix(in srgb, var(--cvs-b-ink, #222) 22%, transparent); cursor: pointer; }
#avaliacoes .comment-form-cvb-photos input[type="file"]::file-selector-button { margin-right: 12px; padding: 9px 16px; border: 0; border-radius: 99px; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 10%, transparent); color: var(--cvs-b-green, #2f3a2c); }
#avaliacoes .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--cvs-muted); }
#avaliacoes .comment-form-cookies-consent label { margin: 0; font-weight: 400; }
#avaliacoes .form-submit { margin: 4px 0 0 !important; }
#avaliacoes .form-submit input[type="submit"] { width: 100%; min-height: 52px; border: 0; border-radius: 99px; font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
#avaliacoes .required { color: inherit; opacity: .5; }
@media (min-width: 900px) {
	.cvs-rv__head { padding-top: 24px; }
	.cvs-rv__ph { width: 128px; }
	#avaliacoes .commentlist { grid-template-columns: 1fr 1fr; align-items: start; }
	#avaliacoes #respond { padding: 28px; }
}
@media (prefers-reduced-motion: reduce) { #avaliacoes #review_form_wrapper, #avaliacoes .commentlist > li.is-in { transition: none; animation: none; } }

/* ---------- crítica de 29/out/2026 (Lume) */
/* nada de rolagem para o lado (ex.: slider de promoções da loja passava 2 px); clip não quebra o sticky */
html, body { overflow-x: clip; }
/* página do produto: o Pix já está na linha do preço; "Formas de pagamento" vira um link discreto que abre a tabela */
body.single-product .cvs-pagamento > summary .cvs-pagamento__pix { display: none; }
/* carrinho do Converte com a fonte e o linho da loja (o modo "Apple" do plugin usava a fonte do sistema e branco puro) */
html body .cvt-design-apple.cvt-design-apple, html body .cvt-design-apple.cvt-design-apple * { font-family: inherit; }
html body .cvt-design-apple.cvt-design-apple { --cvt-apple-canvas: var(--wp--preset--color--base); --cvt-apple-card: color-mix(in srgb, var(--wp--preset--color--base) 35%, #fff); --cvt-apple-ink: var(--wp--preset--color--contrast); }
/* busca do celular: o texto de exemplo passa no contraste */
.cvs-estilo-botanico .cvs-msearch > span { color: var(--cvs-muted); opacity: 1; }
@media (max-width: 781px) {
	/* carrossel do celular: o coração vai para a foto (como na grade) e o nome do produto ganha a largura toda */
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt { position: relative; }
	.cvs-estilo-botanico .cvs-products.is-carousel .cvs-card.is-bt .cvs-card__trow .cvs-fav { position: absolute; z-index: 3; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 82%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
}
@media (max-width: 600px) {
	/* destaque de produto ("O presente de Natal") e "Feito à mão": foto em cima e texto embaixo, sem colunas espremidas */
	.cvs-pd, .cvs-bt-ed { grid-template-columns: 1fr; }
	.cvs-pd__media { min-height: 0; aspect-ratio: 4 / 3; }
	.cvs-bt-ed .cvs-ed__media { min-height: 0; aspect-ratio: 4 / 3; }
	.cvs-pd__info, .cvs-bt-ed .cvs-ed__text { padding: 18px 18px 20px; }
	.cvs-pd__desc { -webkit-line-clamp: 2; }
	.cvs-pd__mobile { align-self: stretch; justify-content: center; min-height: 48px; border-radius: 99px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); font-size: 14px; transition: transform .2s cubic-bezier(.32, .72, 0, 1), filter .2s ease; }
	.cvs-pd__mobile:active { transform: scale(.97); filter: brightness(1.1); }
}
/* legibilidade, 2ª passada (0.9.33): busca, contagem de avaliações, Pix da caixa de pagamento, WhatsApp do produto e barra inferior */
.cvs-bh__search input::placeholder { color: var(--cvs-muted); opacity: 1; }
.cvs-pd__rating span:last-child, .cvs-pp__rating > span:last-child { opacity: 1; color: var(--cvs-muted); }
.cvs-pagamento__pix small { opacity: 1; }
.cvs-wa-btn { border-color: #0f7a40; color: #0f7a40; }
.cvs-wa-btn:hover { background: #0f7a40; color: #fff; }
@media (max-width: 781px) {
	.cvs-pd__eye { color: color-mix(in srgb, var(--cvs-b-gold, #b26b2b) 45%, var(--cvs-b-ink, #1d1d1b)); }
	.cvs-estilo-botanico .cvs-tab { color: color-mix(in srgb, var(--cvs-b-ink, #222) 78%, var(--cvs-b-paper, #fff)); }
	.cvs-estilo-botanico .cvs-tab__orb { font-size: 11px; }
}
/* legibilidade, 3ª passada (0.9.35): carrinho e checkout do Converte e a tela de entrar. O Converte já recebe as cores
   da loja pelo tema; aqui só o mínimo de 11 px e o contraste do texto de apoio. */
/* o Converte desenha com variáveis: o tema troca os tons de apoio e o verde de economia pelos da loja (que passam
   no contraste). Seletores com classe repetida para ganhar das predefinições do plugin (ex.: .cvt-ck.cvt-ck--apple-mobile). */
html body .cvt-ck.cvt-ck, html body .cvt-root.cvt-root, html body .cvt-cartpage.cvt-cartpage { --cvt-muted: var(--cvs-muted); --cvt-success: var(--cvs-pix); }
html body .cvt-design-apple.cvt-design-apple { --cvt-apple-muted: var(--cvs-muted); }
html body .cvt-card-brand { font-size: 11px; }
html body .cvt-design-apple .cvt-apple-hint { font-size: 12px; color: var(--cvs-muted); }
html body :is(.cvt-root, .cvt-cartpage) .cvt-tab-btn sup { font-size: 11px; }
html body .cvt-card-price .cvs-pay { font-size: 12px; }
html body .cvt-card-price .cvs-pay small { font-size: 11px; }
html body .cvt-ck.cvt-ck .cvt-ck-summary-total--comparison small { font-size: 11px; }
html body .cvt-root.cvt-design-apple .cvt-side .cvt-card-brand { font-size: 11px; color: var(--cvs-muted); }
html body .cvt-ck.cvt-ck--apple-mobile.cvt-ck--mobile-sheet .cvt-ck-summary-total small { font-size: 11px; }
.cvs-entrar__f > span { opacity: 1; color: color-mix(in srgb, var(--e-ink, var(--wp--preset--color--contrast)) 78%, var(--wp--preset--color--base)); }

/* =====================================================================
   Aviso de privacidade (inc/privacidade.php): cartão na régua da barra de abas, folha de preferências e o lugar dos
   outros flutuantes enquanto ele está na tela (avisos rápidos e a pílula de demonstração sobem acima dele)
   ===================================================================== */
.cvs-pv { position: fixed; left: 22px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 98; width: min(380px, calc(100vw - 44px)); transition: transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-pv[hidden] { display: none; }
.cvs-pv__card { padding: 16px 16px 14px; border-radius: 24px; box-sizing: border-box; background: color-mix(in srgb, var(--cvs-b-paper, #fff) 92%, transparent); -webkit-backdrop-filter: saturate(1.8) blur(22px); backdrop-filter: saturate(1.8) blur(22px); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 22px 50px -22px rgba(0, 0, 0, .5), 0 2px 8px -4px rgba(0, 0, 0, .12), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 7%, transparent); opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .35s ease, transform .55s cubic-bezier(.2, 1.25, .4, 1); }
.cvs-pv.is-in .cvs-pv__card { opacity: 1; transform: none; }
.cvs-pv.is-out .cvs-pv__card { opacity: 0; transform: translateY(22px) scale(.98); transition: opacity .3s ease, transform .4s cubic-bezier(.4, 0, .2, 1); }
.cvs-pv__t { display: flex; align-items: center; gap: 9px; margin: 0 0 6px; font-size: 15px; font-weight: 600; line-height: 1.2; }
.cvs-pv__ico { display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 12%, transparent); color: var(--cvs-b-green, #2f3a2c); }
.cvs-pv__ico svg { width: 16px; height: 16px; }
.cvs-pv__p { margin: 0 0 12px; font-size: 13px; line-height: 1.45; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 72%, transparent); }
.cvs-pv__p a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.cvs-pv__btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.cvs-pv__b { position: relative; height: 40px; padding: 0 8px; border: 0; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 7%, transparent); color: var(--cvs-b-ink, #1d1d1b); font: inherit; font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: transform .15s ease, background .2s ease, color .2s ease; }
.cvs-pv__b:hover { background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 11%, transparent); }
.cvs-pv__b:active { transform: scale(.95); }
.cvs-pv__b:focus-visible { outline: 2px solid var(--cvs-b-green, #2f3a2c); outline-offset: 2px; }
.cvs-pv__b.is-main { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
.cvs-pv__b.is-main:hover { background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 86%, #000); }
/* escolha feita: o texto dá lugar a um visto que entra com um estalo */
.cvs-pv__b.is-done { color: transparent !important; }
.cvs-pv__b.is-done::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 6px; margin: -5px 0 0 -6px; border: solid var(--cvs-b-ink, #1d1d1b); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg) scale(0); animation: cvs-pv-check .4s cubic-bezier(.2, 1.5, .4, 1) forwards; }
.cvs-pv__b.is-main.is-done::after { border-color: var(--cvs-b-paper, #fff); }
@keyframes cvs-pv-check { to { transform: rotate(-45deg) scale(1); } }
/* sacola e checkout: cartão mais baixo, para não roubar a cena do botão de finalizar */
.cvs-pv.is-slim .cvs-pv__card { padding: 12px 12px 10px; }
.cvs-pv.is-slim .cvs-pv__t { display: none; }
.cvs-pv.is-slim .cvs-pv__p { margin-bottom: 9px; font-size: 12.5px; }
.cvs-pv.is-slim .cvs-pv__b { height: 36px; font-size: 13px; }
/* links para mudar de ideia */
.cvs-nf__pv { margin: 6px 0 0; text-align: center; }
.cvs-nf__pv button, .cvs-pv-link button { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: 12.5px; opacity: .7; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; transition: opacity .2s ease; }
.cvs-nf__pv button:hover, .cvs-pv-link button:hover { opacity: 1; }
.cvs-pv-link { margin: 10px 0 14px; text-align: center; }
/* com o cartão na tela, os avisos rápidos e a pílula de demonstração sobem acima dele */
html.cvs-pv-on .cvs-toast { bottom: calc(36px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
html.cvs-pv-on .cvs-demo-pill { bottom: calc(30px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
@media (max-width: 781px) {
	.cvs-pv { left: 12px; right: 12px; width: auto; bottom: calc(12px + env(safe-area-inset-bottom)); }
	.cvs-pv__card { padding: 14px 14px 12px; border-radius: 22px; }
	.cvs-pv__p { font-size: 12.5px; }
	/* em cima da barra de abas (ou da barra de comprar, na página do produto), com o mesmo vão do balão */
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv, body.single-product:has(.cvs-buybar) .cvs-pv { bottom: calc(90px + env(safe-area-inset-bottom)); }
	body:has(.cvs-mbar):not(.single-product) .cvs-pv { bottom: calc(76px + env(safe-area-inset-bottom)); }
	/* a barra de abas desce ao rolar (ou, na loja, ainda não subiu): o cartão desce junto, para o lugar dela, e volta com ela */
	.cvs-tabs-away body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv { transform: translateY(78px); }
	body.cvs-tabs-late:not(.cvs-tabs-in) .cvs-pv { transform: translateY(78px); transition: none; }
	body.cvs-tabs-late.cvs-tabs-in .cvs-pv { transition: transform .7s cubic-bezier(.22, 1.25, .36, 1); }
	html.cvs-pv-on .cvs-toast, html.cvs-pv-on .cvs-estilo-botanico .cvs-toast { bottom: calc(24px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
	html.cvs-pv-on body:has(.cvs-tabs-bt):not(.single-product) .cvs-toast, html.cvs-pv-on body.single-product:has(.cvs-buybar) .cvs-toast { bottom: calc(102px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
	html.cvs-pv-on body:has(.cvs-tabs-bt) .cvs-demo-pill { bottom: calc(102px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
}

/* folha de preferências: no computador, cartão no meio; no celular, folha que sobe de baixo */
.cvs-pvs { position: fixed; inset: 0; z-index: 170; display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; background: rgba(14, 18, 14, .36); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .3s ease; }
.cvs-pvs[hidden] { display: none; }
.cvs-pvs.is-open { opacity: 1; }
.cvs-pvs__panel { position: relative; width: min(440px, 100%); max-height: min(86vh, 680px); overflow: auto; overscroll-behavior: contain; padding: 24px 22px 20px; box-sizing: border-box; border-radius: 28px; background: var(--cvs-b-bg, #f4f1ea); color: var(--cvs-b-ink, #1d1d1b); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .55); transform: translateY(16px) scale(.97); transition: transform .45s cubic-bezier(.2, 1.2, .4, 1); }
.cvs-pvs.is-open .cvs-pvs__panel { transform: none; }
.cvs-pvs__grab { display: none; }
.cvs-pvs__x { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 7%, transparent); color: inherit; font-size: 20px; line-height: 1; cursor: pointer; transition: transform .15s ease, background .2s ease; }
.cvs-pvs__x:hover { background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 11%, transparent); }
.cvs-pvs__x:active { transform: scale(.9); }
.cvs-pvs__t { margin: 2px 44px 6px 0; font-size: 19px; font-weight: 600; line-height: 1.25; }
.cvs-pvs__p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.5; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 70%, transparent); }
.cvs-pvs__list { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.cvs-pvs__item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 6%, transparent); cursor: pointer; animation: cvs-pvs-in .4s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 60ms + 80ms); }
.cvs-pvs__item.is-fixed { cursor: default; }
.cvs-pvs__txt { flex: 1; min-width: 0; }
.cvs-pvs__txt b { display: block; font-size: 14.5px; }
.cvs-pvs__txt small { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.4; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 62%, transparent); }
.cvs-pvs__txt em { display: block; margin-top: 6px; font-size: 11.5px; font-style: normal; font-weight: 600; color: var(--cvs-b-green, #2f3a2c); }
.cvs-pvs__always { flex: none; font-size: 11.5px; font-weight: 600; color: var(--cvs-b-green, #2f3a2c); }
/* chave liga/desliga */
.cvs-pvs__sw { flex: none; position: relative; width: 46px; height: 28px; margin: 0; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 16%, transparent); cursor: pointer; -webkit-appearance: none; appearance: none; transition: background .25s ease; }
.cvs-pvs__sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); transition: transform .35s cubic-bezier(.2, 1.4, .4, 1); }
.cvs-pvs__sw:checked { background: var(--cvs-b-green, #2f3a2c); }
.cvs-pvs__sw:checked::after { transform: translateX(18px); }
.cvs-pvs__sw:focus-visible { outline: 2px solid var(--cvs-b-green, #2f3a2c); outline-offset: 2px; }
.cvs-pvs__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cvs-pvs__btns .cvs-pv__b { height: 46px; font-size: 14.5px; }
.cvs-pvs__links { margin: 14px 0 0; font-size: 12.5px; text-align: center; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 60%, transparent); }
.cvs-pvs__links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@keyframes cvs-pvs-in { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 781px) {
	.cvs-pvs { align-items: flex-end; padding: 0; }
	.cvs-pvs__panel { width: 100%; max-height: 88vh; padding: 10px 18px calc(18px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; transform: translateY(100%); transition: transform .5s cubic-bezier(.2, .9, .3, 1); }
	.cvs-pvs__grab { display: block; width: 40px; height: 5px; margin: 0 auto 14px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 18%, transparent); }
	.cvs-pvs__x { top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.cvs-pv, .cvs-pv__card, .cvs-pvs__panel { transition: opacity .2s ease !important; }
	.cvs-pv__card, .cvs-pvs__panel { transform: none !important; }
	.cvs-pvs__item, .cvs-pv__b.is-done::after { animation: none; }
	.cvs-pv__b.is-done::after { transform: rotate(-45deg); }
}
/* barra de abas com o botão "Loja" saltado (.cvs-tab.is-center): o aviso de privacidade e os avisos rápidos sobem acima dele */
@media (max-width: 781px) {
	body:has(.cvs-tabs-bt .cvs-tab.is-center):not(.single-product) .cvs-pv { bottom: calc(106px + env(safe-area-inset-bottom)); }
	.cvs-tabs-away body:has(.cvs-tabs-bt .cvs-tab.is-center):not(.single-product) .cvs-pv, body.cvs-tabs-late:has(.cvs-tab.is-center):not(.cvs-tabs-in) .cvs-pv { transform: translateY(94px); }
	html.cvs-pv-on body:has(.cvs-tabs-bt .cvs-tab.is-center):not(.single-product) .cvs-toast { bottom: calc(118px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
}
/* aviso de privacidade no LUGAR da barra de abas do celular (0.9.48): o cartão ocupa a régua dela, com o mesmo vidro e
   o mesmo raio; a barra fica guardada embaixo e só sobe, com o impulso de sempre, depois da escolha (html.cvs-pv-done) */
@media (max-width: 781px) {
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv { left: 14px; right: 14px; bottom: calc(12px + env(safe-area-inset-bottom)) !important; transform: none !important; transition: none; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__card {
		padding: 14px 14px 8px; border-radius: 30px;
		background: color-mix(in srgb, var(--cvs-b-paper, #fff) 84%, transparent);
		box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .45), 0 2px 8px -4px rgba(0, 0, 0, .12), inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 7%, transparent);
		transform: translateY(calc(100% + 30px)); opacity: 1;
		transition: transform .7s cubic-bezier(.22, 1.25, .36, 1);
	}
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv.is-in .cvs-pv__card { transform: none; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv.is-out .cvs-pv__card { opacity: 1; transform: translateY(calc(100% + 30px)) scale(.97); transition: transform .42s cubic-bezier(.4, 0, .2, 1); }
	/* título e texto lado a lado com o escudo, numa leitura só */
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__t { margin: 0 0 4px; font-size: 14px; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__ico { width: 26px; height: 26px; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__p { margin: 0 0 11px 35px; font-size: 12.5px; line-height: 1.42; text-wrap: pretty; }
	/* Recusar e Escolher discretos; Aceitar é a pílula cheia, como a aba ativa da barra */
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__btns { grid-template-columns: auto auto 1fr; gap: 4px; align-items: center; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__b { height: 44px; padding: 0 14px; font-size: 13.5px; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__b:not(.is-main) { background: transparent; color: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 72%, transparent); }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__b:not(.is-main):active { background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 7%, transparent); }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__b.is-main { height: 48px; border-radius: 22px; font-size: 14.5px; }
	/* a barra de abas espera embaixo enquanto o cartão está no lugar dela */
	html.cvs-pv-on body:has(.cvs-tabs-bt):not(.single-product) .cvs-tabs-bt { transform: translateY(calc(100% + 30px)) !important; opacity: 0 !important; pointer-events: none; transition: transform .3s cubic-bezier(.4, 0, .2, 1), opacity .2s ease !important; }
	/* escolhido: o cartão desce e a barra sobe logo atrás dele */
	html.cvs-pv-done body:has(.cvs-tabs-bt):not(.single-product) .cvs-tabs-bt { transition: transform .7s cubic-bezier(.22, 1.25, .36, 1) .2s, opacity .35s ease .2s !important; }
	/* avisos rápidos, balão de conversa e selo da demo ficam logo acima do cartão (e não acima da barra, que saiu) */
	html.cvs-pv-on body:has(.cvs-tabs-bt):not(.single-product) .cvs-toast { bottom: calc(24px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)) !important; }
	html.cvs-pv-on body:has(.cvs-tabs-bt):not(.single-product) .cvs-chat { bottom: calc(24px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)); }
	html.cvs-pv-on body:has(.cvs-tabs-bt):not(.single-product) .cvs-demo-pill { bottom: calc(24px + var(--cvs-pv-h, 0px) + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 781px) and (prefers-reduced-motion: reduce) {
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv__card { transform: none !important; opacity: 0; transition: opacity .2s ease !important; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv.is-in .cvs-pv__card { opacity: 1; }
	body:has(.cvs-tabs-bt):not(.single-product) .cvs-pv.is-out .cvs-pv__card { opacity: 0; }
	html.cvs-pv-done body:has(.cvs-tabs-bt):not(.single-product) .cvs-tabs-bt { transition: opacity .2s ease !important; }
}

/* ---------- desempenho no celular (PageSpeed, 29/out/2026): as seções abaixo da primeira tela só calculam estilo e
   layout quando chegam perto da tela. Sem mudança visual (conferido tela a tela na Lume); a altura estimada é corrigida
   pelo navegador quando a seção aparece ("auto" lembra a altura real). Só no celular: no computador a descrição dos
   cartões desce por cima da seção seguinte e a contenção cortaria. */
@media (max-width: 781px) {
	.cvs-home > :nth-child(n+5), footer.wp-block-template-part { content-visibility: auto; contain-intrinsic-size: auto 700px; }
}
/* balão aberto como mini central de atendimento e vendas (0.9.52, inc/conversa.php): véu escuro em gradiente radial
   (mais claro perto do balão, mais escuro nas bordas) destaca o hub; dentro, vitrine "Em alta agora", assuntos para
   tocar e um só botão de WhatsApp com o assunto escolhido */
.cvs-chat-scrim { position: fixed; inset: 0; z-index: 110; pointer-events: none; opacity: 0; background: radial-gradient(130% 95% at 88% 100%, rgba(20, 15, 12, .34) 0%, rgba(20, 15, 12, .6) 48%, rgba(20, 15, 12, .78) 100%); transition: opacity .4s ease; }
body:has(.cvs-chat.is-open) .cvs-chat-scrim { opacity: 1; pointer-events: auto; }
/* aberto, o hub e o véu passam por cima do cabeçalho fixo (z-index 100) */
body .cvs-chat.is-open { z-index: 111; }
.cvs-chat__hub { padding: 14px 14px 12px; border-radius: 28px; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .55), 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #222) 6%, transparent); }
.cvs-chat__hi { margin: 12px 0 0; font-size: 13.5px; }
.cvs-chat__opts { gap: 0; }
.cvs-chat__sec { margin-top: 14px; }
.cvs-chat__lbl { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 2px 8px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--cvs-muted, color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 70%, transparent)); }
.cvs-chat__lbl a { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* vitrine curta: 3 mais vendidos */
.cvs-chat__hot { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cvs-chat__hp { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: inherit; text-decoration: none; }
.cvs-chat__hpi { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 14px; background: var(--cvs-b-card, #f6f1ea); }
.cvs-chat__hpi img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2, .9, .3, 1); }
.cvs-chat__hp:hover .cvs-chat__hpi img { transform: scale(1.04); }
.cvs-chat__hp:active .cvs-chat__hpi img { transform: scale(.97); }
.cvs-chat__hpn { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12px; line-height: 1.25; }
.cvs-chat__hpp { font-size: 12px; font-weight: 600; }
.cvs-chat__hpp del, .cvs-chat__hpp .screen-reader-text { display: none; }
.cvs-chat__hpp ins { text-decoration: none; }
/* assuntos: pílulas de escolha única; a escolhida fica cheia */
.cvs-chat__topics { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.cvs-chat__topic { height: 36px; padding: 0 14px; border: 0; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 6%, transparent); color: var(--cvs-b-ink, #1d1d1b); font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; transition: background .2s ease, color .2s ease, transform .15s ease; }
.cvs-chat__topic:hover { background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 10%, transparent); }
.cvs-chat__topic:active { transform: scale(.95); }
.cvs-chat__topic[aria-checked="true"] { background: var(--cvs-b-ink, #1d1d1b); color: var(--cvs-b-paper, #fff); }
.cvs-chat__topic:focus-visible { outline: 2px solid var(--cvs-b-green, #2f3a2c); outline-offset: 2px; }
/* o único botão de WhatsApp */
.cvs-chat__opt.cvs-chat__wa { gap: 12px; height: 58px; padding: 0 16px 0 9px; border-radius: 20px; background: #0f7a40; color: #fff; box-shadow: 0 12px 26px -14px rgba(15, 122, 64, .9); }
.cvs-chat__opt.cvs-chat__wa:hover { background: #0d6c38; box-shadow: 0 12px 26px -14px rgba(15, 122, 64, .9); }
.cvs-chat__wai { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.cvs-chat__wai svg { width: 22px; height: 22px; }
.cvs-chat__wat { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.2; }
.cvs-chat__wat b { font-size: 15px; font-weight: 600; }
.cvs-chat__wat small { overflow: hidden; font-size: 12px; opacity: .85; text-overflow: ellipsis; white-space: nowrap; }
.cvs-chat__wa .cvs-chat__oa { color: #fff; opacity: .9; }
.cvs-chat__wa.is-swap .cvs-chat__wat small { animation: cvs-chat-swap .35s cubic-bezier(.2, .9, .3, 1); }
@keyframes cvs-chat-swap { from { opacity: 0; transform: translateY(5px); } }
.cvs-chat__note { margin: 8px 2px 0; font-size: 11.5px; text-align: center; color: var(--cvs-muted, color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 70%, transparent)); }
/* vendedor virtual (ShopBot): o destaque do hub, cartão cheio na cor da marca */
.cvs-chat__opt.is-bot { margin-top: 12px; padding: 12px 14px; border-radius: 20px; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); box-shadow: 0 12px 26px -16px rgba(0, 0, 0, .6); }
.cvs-chat__opt.is-bot:hover { box-shadow: 0 12px 26px -16px rgba(0, 0, 0, .6); }
.cvs-chat__opt.is-bot .cvs-chat__oi { background: rgba(255, 255, 255, .16); color: inherit; }
.cvs-chat__opt.is-bot .cvs-chat__ot small { opacity: .8; }
.cvs-chat__opt.is-bot .cvs-chat__oa { color: inherit; opacity: .9; }
/* entrada em cascata */
.cvs-chat.is-open .cvs-chat__sec, .cvs-chat.is-open .cvs-chat__hp, .cvs-chat.is-open .cvs-chat__topic { animation: cvs-chat-opt .42s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-chat.is-open .cvs-chat__sec.is-hot { animation-delay: 70ms; }
.cvs-chat.is-open .cvs-chat__hp { animation-delay: calc(var(--i, 0) * 55ms + 120ms); }
.cvs-chat.is-open .cvs-chat__sec.is-team { animation-delay: 170ms; }
.cvs-chat.is-open .cvs-chat__topic { animation-delay: calc(var(--i, 0) * 40ms + 220ms); }
.cvs-chat.is-open .cvs-chat__wa { animation-delay: 260ms; }
@media (max-width: 781px) {
	/* sempre com folga em cima: assuntos numa linha que desliza e fotos quadradas para caber sem rolar */
	.cvs-chat__hub { width: calc(100vw - 28px); max-height: calc(100dvh - 186px - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
	.cvs-chat__topics { flex-wrap: nowrap; overflow-x: auto; margin: 0 -14px 10px; padding: 0 14px; scrollbar-width: none; -webkit-mask: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent); mask: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent); }
	.cvs-chat__topics::-webkit-scrollbar { display: none; }
	.cvs-chat__topic { flex: none; }
	.cvs-chat__hpi { aspect-ratio: 1; }
	.cvs-chat__sec { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.cvs-chat.is-open .cvs-chat__sec, .cvs-chat.is-open .cvs-chat__hp, .cvs-chat.is-open .cvs-chat__topic, .cvs-chat__wa.is-swap .cvs-chat__wat small { animation: none; }
	.cvs-chat__hpi img { transition: none; }
}
/* hub 0.9.55: WhatsApp por departamento em cima, vitrine no meio e o campo do vendedor digital já aberto no pé */
.cvs-chat__opt[hidden] { display: none; }
.cvs-chat__sec.is-team { margin-top: 12px; }
.cvs-chat__topic { display: inline-flex; align-items: center; gap: 7px; }
.cvs-chat__tdot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #25d366; box-shadow: 0 0 0 2px color-mix(in srgb, #25d366 22%, transparent); }
.cvs-chat__topic[aria-checked="true"] .cvs-chat__tdot { box-shadow: 0 0 0 2px rgba(37, 211, 102, .35); }
.cvs-chat__lbl em { font-size: 11px; font-style: normal; font-weight: 500; letter-spacing: 0; text-transform: none; color: #0f7a40; }
.cvs-chat__lbl em::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #2fb463; vertical-align: 1px; animation: cvs-chat-live 2s ease-in-out infinite; }
@keyframes cvs-chat-live { 50% { opacity: .35; } }
/* vendedor digital: sugestões que deslizam e o campo em pílula, como o de uma conversa */
.cvs-chat__sec.is-ask { position: sticky; bottom: -12px; margin: 14px -14px -12px; padding: 12px 14px; border-top: 1px solid color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 8%, transparent); background: var(--cvs-b-paper, #fff); border-radius: 0 0 28px 28px; }
.cvs-chat__sugs { display: flex; gap: 6px; overflow-x: auto; margin: 0 -14px 9px; padding: 0 14px; scrollbar-width: none; -webkit-mask: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent); mask: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 14px), transparent); }
.cvs-chat__sugs::-webkit-scrollbar { display: none; }
.cvs-chat__sug { flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 9%, var(--cvs-b-paper, #fff)); color: var(--cvs-b-green, #2f3a2c); font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer; transition: transform .15s ease, background .2s ease; }
.cvs-chat__sug:hover { background: color-mix(in srgb, var(--cvs-b-green, #2f3a2c) 15%, var(--cvs-b-paper, #fff)); }
.cvs-chat__sug:active { transform: scale(.95); }
.cvs-chat__sug.is-cont { background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); }
.cvs-chat__ask { display: flex; align-items: center; gap: 4px; height: 50px; padding: 0 5px 0 14px; border-radius: 99px; background: color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 5%, var(--cvs-b-paper, #fff)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 9%, transparent); transition: box-shadow .2s ease, background .2s ease; }
.cvs-chat__ask:focus-within { background: var(--cvs-b-paper, #fff); box-shadow: inset 0 0 0 1.5px var(--cvs-b-green, #2f3a2c), 0 6px 18px -10px rgba(0, 0, 0, .3); }
.cvs-chat__aski { display: grid; flex: none; place-items: center; color: var(--cvs-b-green, #2f3a2c); }
.cvs-chat__ask input { flex: 1; min-width: 0; height: 100%; padding: 0 6px; border: 0; outline: 0; background: transparent; color: var(--cvs-b-ink, #1d1d1b); font: inherit; font-size: 16px; }
.cvs-chat__ask input::placeholder { color: var(--cvs-muted, color-mix(in srgb, var(--cvs-b-ink, #1d1d1b) 60%, transparent)); }
.cvs-chat__ask button { display: grid; flex: none; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--cvs-b-green, #2f3a2c); color: var(--cvs-b-paper, #fff); cursor: pointer; transition: transform .15s ease; }
.cvs-chat__ask button:active { transform: scale(.92); }
.cvs-chat__ask button svg { width: 16px; height: 16px; }
.cvs-chat.is-open .cvs-chat__sug { animation: cvs-chat-opt .4s cubic-bezier(.2, .9, .3, 1) both; animation-delay: calc(var(--i, 0) * 45ms + 260ms); }
.cvs-chat.is-open .cvs-chat__sec.is-ask { animation: none; }
@media (prefers-reduced-motion: reduce) { .cvs-chat.is-open .cvs-chat__sug, .cvs-chat__lbl em::before { animation: none; } }
/* teclado aberto no celular (0.9.57): o hub sobe e fica logo acima do teclado, sem o balão redondo embaixo; a lista de
   mensagens encolhe para o que sobrar e o campo de escrever continua à vista (assets/front.js mede o teclado) */
@media (max-width: 781px) {
	.cvs-chat.is-open { transition: transform .45s cubic-bezier(.2, .9, .3, 1), opacity .3s ease, bottom .3s cubic-bezier(.32, .72, 0, 1); }
	body .cvs-chat.is-open.is-kb { bottom: calc(var(--cvs-kb, 0px) + 8px) !important; transform: none !important; }
	.cvs-chat.is-kb .cvs-chat__bubble, .cvs-chat.is-kb .cvs-chat__hide, .cvs-chat.is-kb .cvs-chat__tip { display: none; }
	.cvs-chat.is-kb .cvs-chat__hub { max-height: calc(var(--cvs-vvh, 100dvh) - 16px) !important; }
	.cvs-chat.is-kb .cvs-chat__msgs { max-height: max(110px, calc(var(--cvs-vvh, 100dvh) - 236px)); }
	.cvs-chat.is-kb .cvs-chat__hub:not(.is-bot) .cvs-chat__sec.is-hot { display: none; }
}
@media (max-width: 781px) and (prefers-reduced-motion: reduce) { .cvs-chat.is-open { transition: opacity .2s ease; } }
/* 0.9.58: no celular, com o hub aberto, o balão redondo sai de cena (o hub tem o × para fechar) e volta quando ele
   fecha; escrevendo (is-typing, qualquer navegador) ou com o teclado medido (is-kb), o hub encosta logo acima do teclado */
@media (max-width: 781px) {
	.cvs-chat__bubble { transition: opacity .3s ease, transform .45s cubic-bezier(.32, .72, 0, 1); }
	.cvs-chat.is-open .cvs-chat__bubble { position: absolute; right: 0; bottom: 0; opacity: 0; transform: translateY(24px) scale(.6); pointer-events: none !important; }
	.cvs-chat.is-open .cvs-chat__hide, .cvs-chat.is-open .cvs-chat__tip { display: none; }
	body .cvs-chat.is-open.is-typing { bottom: calc(var(--cvs-kb, 0px) + 8px) !important; transform: none !important; }
	.cvs-chat.is-typing .cvs-chat__hub { max-height: calc(var(--cvs-vvh, 100dvh) - 16px) !important; }
	.cvs-chat.is-typing .cvs-chat__msgs { max-height: max(110px, calc(var(--cvs-vvh, 100dvh) - 236px)); }
	.cvs-chat.is-typing .cvs-chat__hub:not(.is-bot) .cvs-chat__sec.is-hot { display: none; }
}
@media (max-width: 781px) and (prefers-reduced-motion: reduce) { .cvs-chat__bubble { transition: opacity .2s ease; } .cvs-chat.is-open .cvs-chat__bubble { transform: none; } }
/* bolinha arrastável (0.9.62): sem o × (fecha soltando na lixeira que aparece embaixo); solta em qualquer lugar,
   desliza para a borda mais perto e fica ali nesta aba (assets/front.js) */
.cvs-chat__hide { display: none !important; }
.cvs-chat__bubble { touch-action: none; cursor: grab; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.cvs-chat.is-moved:not(.is-open) { right: var(--cvs-chat-r) !important; bottom: var(--cvs-chat-b) !important; transform: none !important; transition: right .5s cubic-bezier(.32, .72, 0, 1), bottom .5s cubic-bezier(.32, .72, 0, 1), opacity .3s ease; }
.cvs-chat.is-drag, .cvs-chat.is-drag.is-moved:not(.is-open) { transition: none !important; }
.cvs-chat.is-drag .cvs-chat__bubble { cursor: grabbing; transform: scale(1.1); box-shadow: 0 20px 44px -14px rgba(0, 0, 0, .5); transition: transform .2s cubic-bezier(.2, 1.4, .4, 1), box-shadow .2s ease; }
.cvs-chat.is-left .cvs-chat__tip { right: auto; left: 70px; border-radius: 16px 16px 16px 4px; transform: translateX(-8px); }
.cvs-chat.is-left.is-tip .cvs-chat__tip { transform: none; }
html.cvs-chat-drag, html.cvs-chat-drag body { -webkit-user-select: none; user-select: none; }
/* a barra de abas desce enquanto a bolinha é arrastada, para dar lugar à lixeira */
html.cvs-chat-drag .cvs-tabs-bt { transform: translateY(calc(100% + 30px)) !important; opacity: 0 !important; transition: transform .35s cubic-bezier(.32, .72, 0, 1), opacity .25s ease !important; }
.cvs-chat-drop { position: fixed; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom)); z-index: 96; display: grid; justify-items: center; gap: 8px; pointer-events: none; opacity: 0; transform: translate(-50%, 36px) scale(.85); transition: opacity .25s ease, transform .45s cubic-bezier(.32, .72, 0, 1); }
.cvs-chat-drop.is-on { opacity: 1; transform: translate(-50%, 0) scale(1); }
.cvs-chat-drop__x { position: relative; display: block; width: 60px; height: 60px; border-radius: 50%; background: rgba(28, 22, 18, .72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .55), inset 0 0 0 1.5px rgba(255, 255, 255, .35); transition: transform .3s cubic-bezier(.2, 1.4, .4, 1), background .2s ease; }
.cvs-chat-drop__x::before, .cvs-chat-drop__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 2.5px; margin: -1.25px 0 0 -11px; border-radius: 2px; background: #fff; transform: rotate(45deg); }
.cvs-chat-drop__x::after { transform: rotate(-45deg); }
.cvs-chat-drop.is-hot .cvs-chat-drop__x { transform: scale(1.22); background: #b3261e; }
.cvs-chat-drop small { padding: 4px 11px; border-radius: 99px; background: rgba(28, 22, 18, .62); color: #fff; font-size: 12px; font-weight: 500; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
@media (prefers-reduced-motion: reduce) {
	.cvs-chat.is-moved:not(.is-open), .cvs-chat-drop, .cvs-chat-drop__x, .cvs-chat.is-drag .cvs-chat__bubble { transition: opacity .2s ease !important; }
	.cvs-chat.is-drag .cvs-chat__bubble { transform: none; }
}
/* 0.9.65: a bolinha acompanha a barra de abas. Quando a barra desce (rolando para baixo), a bolinha cai para o lugar
   dela; quando a barra volta (ao subir ou ao parar de rolar), a bolinha é empurrada de volta para cima. Vale também
   para a bolinha arrastada que ficou "no chão" (.is-floor); arrastada mais para cima, ela fica onde está */
@media (max-width: 781px) {
	body:has(.cvs-tabs-bt) .cvs-chat:not(.is-open) { transition: transform .45s cubic-bezier(.32, .72, 0, 1), opacity .3s ease, bottom .45s cubic-bezier(.32, .72, 0, 1), right .5s cubic-bezier(.32, .72, 0, 1); }
	.cvs-tabs-away body:has(.cvs-tabs-bt) .cvs-chat.is-moved.is-floor:not(.is-open):not(.is-drag) { bottom: calc(var(--cvs-chat-b) - 80px) !important; }
	.cvs-tabs-away body:has(.cvs-tabs-bt .cvs-tab.is-center) .cvs-chat:not(.is-open):not(.is-moved) { transform: translateY(80px); }
}

/* barra de recompensas da Converte no checkout (inc/checkout-metas.php): faixa logo abaixo do cabeçalho, em tom
   claro da cor da loja, com o caminhãozinho, a frase e a barra fina; no computador frase e barra lado a lado,
   no celular uma embaixo da outra */
.cvs-ck-goal[hidden] { display: none; }
.cvs-ck-goal { background: color-mix(in srgb, var(--cvt-reward-fill, #36422f) 6%, #fff); border-bottom: 1px solid color-mix(in srgb, var(--cvt-reward-fill, #36422f) 10%, transparent); }
.cvs-ck-goal__in { max-width: 1180px; margin: 0 auto; padding: 11px max(16px, env(safe-area-inset-left, 0px)); }
.cvs-ck-goal .cvt-progress { display: flex; align-items: center; gap: 14px; max-width: 620px; margin: 0 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; animation: cvs-goal-in .5s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-ck-goal .cvt-progress::before { content: ""; flex: none; width: 22px; height: 22px; background: var(--cvt-reward-fill, #36422f); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%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='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat; }
.cvs-ck-goal .cvt-progress-msg { flex: none; margin: 0; font-size: 13.5px; font-weight: 500; line-height: 1.3; text-align: left; color: color-mix(in srgb, var(--cvt-reward-fill, #36422f) 70%, #111); }
.cvs-ck-goal .cvt-progress-msg strong { font-weight: 700; color: var(--cvt-reward-fill, #36422f); }
.cvs-ck-goal .cvt-progress-track { flex: 1; min-width: 80px; height: 6px; margin: 0; background: color-mix(in srgb, var(--cvt-reward-fill, #36422f) 14%, #fff); }
.cvs-ck-goal .cvt-progress-fill { transition: width .6s cubic-bezier(.2, .9, .3, 1); }
.cvs-ck-goal .cvt-progress.is-complete .cvt-progress-msg strong { color: #1f8a4c; }
@keyframes cvs-goal-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
	.cvs-ck-goal__in { padding-block: 10px 11px; }
	.cvs-ck-goal .cvt-progress { display: grid; grid-template-columns: auto 1fr; gap: 7px 10px; }
	.cvs-ck-goal .cvt-progress::before { width: 20px; height: 20px; }
	.cvs-ck-goal .cvt-progress-msg { flex: initial; font-size: 13px; }
	.cvs-ck-goal .cvt-progress-track { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .cvs-ck-goal .cvt-progress { animation: none; } }

/* ---------- abertura do Instagram (blocks/bio): quem chega pelo link da bio. Celular: tela cheia; computador: cartão em pé */
html.cvs-bio-pre body::before { content: ''; position: fixed; inset: 0; z-index: 399; background: var(--cvs-b-bg, var(--wp--preset--color--base, #f4efe7)); }
.cvs-bio { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; background: rgba(22, 18, 14, .45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: opacity .5s ease; }
.cvs-bio[hidden] { display: none; }
.cvs-bio, .cvs-bio *, .cvs-bio *::before, .cvs-bio *::after { box-sizing: border-box; } /* link e botão do mesmo tamanho */
.cvs-bio.is-open { opacity: 1; }
.cvs-bio.is-leaving { opacity: 0; transition-duration: .6s; transition-delay: .1s; }
.cvs-bio__card {
	--bio-bg: var(--cvs-b-bg, var(--wp--preset--color--base, #f4efe7)); --bio-ink: var(--cvs-b-ink, var(--wp--preset--color--contrast, #1d1d1b)); --bio-gold: var(--cvs-b-gold, var(--wp--preset--color--accent-2, #b48a52));
	--bio-paper: color-mix(in srgb, var(--bio-bg) 55%, #fff); --bio-line: color-mix(in srgb, var(--bio-ink) 10%, transparent);
	position: relative; display: flex; flex-direction: column; overflow: hidden; width: min(440px, 92vw); height: min(820px, 92vh); border-radius: 36px; color: var(--bio-ink);
	background: radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--bio-bg) 100%, #fff 40%) 0%, var(--bio-bg) 62%), var(--bio-bg);
	box-shadow: 0 40px 120px -30px rgba(0, 0, 0, .55); transform: translateY(24px) scale(.97); transition: transform .8s cubic-bezier(.2, .9, .3, 1), opacity .5s ease;
}
.cvs-bio.is-open .cvs-bio__card { transform: none; }
.cvs-bio.is-leaving .cvs-bio__card { transform: translateY(-28px) scale(.97); opacity: 0; transition-duration: .55s; }
@media (max-width: 781px) {
	.cvs-bio { background: var(--cvs-b-bg, var(--wp--preset--color--base, #f4efe7)); -webkit-backdrop-filter: none; backdrop-filter: none; }
	.cvs-bio__card { width: 100%; height: 100%; height: 100dvh; border-radius: 0; box-shadow: none; }
}
.cvs-bio__x { position: absolute; z-index: 5; top: calc(14px + env(safe-area-inset-top)); right: 14px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--bio-ink) 7%, transparent); color: var(--bio-ink); cursor: pointer; opacity: 0; transition: opacity .5s ease .7s, transform .2s ease, background .2s ease; }
.cvs-bio.is-open .cvs-bio__x { opacity: .8; }
.cvs-bio__x:hover { background: color-mix(in srgb, var(--bio-ink) 12%, transparent); }
.cvs-bio__x:active { transform: scale(.9); }
.cvs-bio__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: calc(48px + env(safe-area-inset-top)) 20px 12px; scrollbar-width: none; }
.cvs-bio__scroll::-webkit-scrollbar { display: none; }
/* entrada em cascata (animação só de entrada: depois dela, o toque e o passar do mouse mexem à vontade) */
.cvs-bio.is-open .cvs-bio__head, .cvs-bio.is-open .cvs-bio__hl, .cvs-bio.is-open .cvs-bio__links > li { animation: cvs-bio-in .75s cubic-bezier(.2, .9, .3, 1) backwards; animation-delay: calc(var(--i, 0) * 70ms + 120ms); }
@keyframes cvs-bio-in { from { opacity: 0; transform: translateY(16px); } }

.cvs-bio__head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 22px; }
.cvs-bio__logo { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; overflow: hidden; background: var(--bio-paper); box-shadow: 0 0 0 3px var(--bio-bg), 0 0 0 4.5px color-mix(in srgb, var(--bio-gold) 70%, transparent), 0 14px 30px -16px rgba(0, 0, 0, .45); }
.cvs-bio__logo-img { width: 100%; height: 100% !important; object-fit: contain; padding: 12px; }
.cvs-bio__logo-img.is-icon { padding: 0; object-fit: cover; }
.cvs-bio__logo-txt { font-size: 34px; font-weight: 600; }
.cvs-bio__title { margin: 16px 0 0; font-family: inherit; font-size: 22px; font-weight: 650; line-height: 1.15; letter-spacing: -.01em; text-transform: none; }
.cvs-bio__p { margin: 6px 0 0; max-width: 300px; font-size: 14px; line-height: 1.45; opacity: .66; text-wrap: pretty; }

/* destaque da semana */
.cvs-bio__hl { display: flex; align-items: stretch; margin-bottom: 14px; border-radius: 24px; overflow: hidden; background: var(--bio-paper); border: 1px solid var(--bio-line); color: inherit; text-decoration: none; box-shadow: 0 18px 40px -26px rgba(0, 0, 0, .5); transition: transform .25s cubic-bezier(.2, .9, .3, 1), box-shadow .25s ease; }
.cvs-bio__hl:hover { transform: translateY(-2px); box-shadow: 0 24px 46px -26px rgba(0, 0, 0, .55); }
.cvs-bio__hl:active { transform: scale(.985); }
.cvs-bio__hl-media { position: relative; flex: 0 0 40%; aspect-ratio: 4 / 5; overflow: hidden; background: color-mix(in srgb, var(--bio-ink) 5%, var(--bio-bg)); }
.cvs-bio__hl-img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transform: scale(1.08); transition: transform 1.6s cubic-bezier(.2, .9, .3, 1) .3s; }
.cvs-bio.is-open .cvs-bio__hl-img { transform: none; }
.cvs-bio__hl-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 14px; }
.cvs-bio__hl.no-img .cvs-bio__hl-body { padding: 18px; }
.cvs-bio__hl-eye { font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--bio-gold); }
.cvs-bio__hl-title { font-size: 17px; font-weight: 650; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cvs-bio__hl-text { font-size: 13px; line-height: 1.4; opacity: .68; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cvs-bio__hl-foot { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 6px; }
.cvs-bio__hl-price { font-size: 15px; font-weight: 650; }
.cvs-bio__hl-price s { font-size: 12px; font-weight: 400; opacity: .5; }
.cvs-bio__hl-cta { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 99px; background: var(--bio-ink); color: var(--bio-bg); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.cvs-bio__hl-cta svg { transition: transform .3s ease; }
.cvs-bio__hl:hover .cvs-bio__hl-cta svg { transform: translateX(3px); }

/* cupom: toque copia; "Copiado ✓" com um pulo */
.cvs-bio__code { margin-top: 4px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1.5px dashed color-mix(in srgb, var(--bio-ink) 35%, transparent); border-radius: 14px; cursor: pointer; transition: border-color .25s ease, background .25s ease, transform .2s ease; }
.cvs-bio__code b { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; letter-spacing: .12em; }
.cvs-bio__code-act { font-size: 12px; font-weight: 600; }
.cvs-bio__code:active { transform: scale(.97); }
.cvs-bio__code-ok, .is-copied .cvs-bio__code-l { display: none; }
.is-copied .cvs-bio__code-ok { display: inline; color: #0f7b4b; animation: cvs-bio-pop .45s cubic-bezier(.2, 1.5, .4, 1); }
.cvs-bio__code.is-copied { border-color: #0f7b4b; background: color-mix(in srgb, #0f7b4b 8%, transparent); }
@keyframes cvs-bio-pop { 0% { transform: scale(.6); opacity: 0; } 100% { transform: none; opacity: 1; } }

/* atalhos */
.cvs-bio__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cvs-bio__a { position: relative; width: 100%; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 10px 14px 10px 10px; border: 1px solid var(--bio-line); border-radius: 18px; background: var(--bio-paper); color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; box-shadow: 0 8px 22px -18px rgba(0, 0, 0, .45); transition: transform .2s cubic-bezier(.2, .9, .3, 1), box-shadow .2s ease, background .2s ease; }
.cvs-bio__a:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -18px rgba(0, 0, 0, .5); }
.cvs-bio__a:active { transform: scale(.98); }
.cvs-bio__ico { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; overflow: hidden; background: color-mix(in srgb, var(--bio-gold) 16%, var(--bio-bg)); color: var(--bio-ink); }
.cvs-bio__ico.is-thumb img { width: 100%; height: 100% !important; object-fit: cover; }
.cvs-bio__a.is-wa .cvs-bio__ico { background: color-mix(in srgb, #25d366 18%, var(--bio-bg)); color: #128c4a; }
.cvs-bio__l { flex: 1; min-width: 0; font-size: 15px; font-weight: 550; line-height: 1.25; }
.cvs-bio__l small { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; opacity: .62; }
.cvs-bio__a .cvs-bio__code-sm { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; opacity: .75; }
.cvs-bio__a.is-copied { border-color: #0f7b4b; }
.cvs-bio__chev { flex: 0 0 auto; opacity: .45; transition: transform .25s ease, opacity .2s ease; }
.cvs-bio__a:hover .cvs-bio__chev { transform: translateX(2px); opacity: .7; }
.cvs-bio__a[aria-expanded="true"] .cvs-bio__chev.is-down { transform: rotate(180deg); }
.cvs-bio__a.is-going .cvs-bio__chev { opacity: 0; }
.cvs-bio__a.is-going::after, .cvs-bio__hl.is-going .cvs-bio__hl-cta::after { content: ''; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: cvs-bio-spin .7s linear infinite; }
.cvs-bio__a.is-going::after { position: absolute; right: 16px; top: calc(50% - 7px); }
@keyframes cvs-bio-spin { to { transform: rotate(360deg); } }
.cvs-bio__wa { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s cubic-bezier(.2, .9, .3, 1); }
.cvs-bio__wa.is-open { grid-template-rows: 1fr; }
.cvs-bio__wa-in { min-height: 0; overflow: hidden; display: flex; flex-wrap: wrap; gap: 8px; padding: 0 4px; }
.cvs-bio__wa.is-open .cvs-bio__wa-in { padding: 10px 4px 4px; }
.cvs-bio__wa a { padding: 9px 14px; border-radius: 99px; background: color-mix(in srgb, #25d366 14%, var(--bio-paper)); border: 1px solid color-mix(in srgb, #25d366 30%, transparent); color: #0e6b39; font-size: 13.5px; font-weight: 600; text-decoration: none; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .35s cubic-bezier(.2, .9, .3, 1); transition-delay: calc(var(--j, 0) * 50ms + 80ms); }
.cvs-bio__wa.is-open a { opacity: 1; transform: none; }
.cvs-bio__wa a:active { transform: scale(.96); }

/* entrar na loja */
.cvs-bio__foot { position: relative; padding: 12px 20px calc(18px + env(safe-area-inset-bottom)); }
.cvs-bio__foot::before { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: 26px; background: linear-gradient(to top, var(--bio-bg), transparent); pointer-events: none; }
.cvs-bio__enter { width: 100%; height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 99px; background: var(--bio-ink); color: var(--bio-bg); font: inherit; font-size: 15px; font-weight: 650; letter-spacing: .01em; cursor: pointer; box-shadow: 0 16px 34px -16px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(14px); transition: opacity .6s ease .45s, transform .8s cubic-bezier(.2, .9, .3, 1) .45s, filter .2s ease; }
.cvs-bio.is-open .cvs-bio__enter { opacity: 1; transform: none; }
.cvs-bio__enter svg { transition: transform .3s ease; }
.cvs-bio__enter:hover svg { transform: translateX(4px); }
.cvs-bio.is-open .cvs-bio__enter:active { transform: scale(.97); transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
	.cvs-bio, .cvs-bio__card, .cvs-bio__head, .cvs-bio__hl, .cvs-bio__links > li, .cvs-bio__enter, .cvs-bio__hl-img, .cvs-bio__wa, .cvs-bio__wa a { transition: none !important; animation: none !important; transform: none !important; }
}

/* Categorias Botânico, estilo do cartão no computador (0.9.82): a foto aparece inteira; o celular segue nas bolinhas. */
@media (min-width: 782px) {
	/* 5 ou mais categorias: o título sobe para a fileira usar a largura toda */
	.cvs-cb.is-many { grid-template-columns: 1fr; gap: 20px; }
	.cvs-cb.is-many .cvs-cb__title { font-size: clamp(30px, 2.6vw, 40px); }
	.cvs-cb.is-many .cvs-cb__title br { display: none; }
	.cvs-cb.is-c-etiqueta .cvs-cb__card, .cvs-cb.is-c-faixa .cvs-cb__card { aspect-ratio: 4 / 5; border-radius: 18px; }
	.cvs-cb__card .cvs-round { transition: opacity .3s ease, transform .35s cubic-bezier(.2, .9, .3, 1); }
	/* etiqueta (padrão): pílula pequena no canto; a seta só aparece ao passar o mouse */
	.cvs-cb.is-c-etiqueta .cvs-cb__label {
		left: 10px; right: auto; bottom: 10px; max-width: calc(100% - 20px); padding: 6px 12px; border-radius: 99px;
		font-size: 13px; line-height: 1.25; white-space: nowrap; color: var(--cvs-b-ink);
		background: color-mix(in srgb, var(--cvs-b-paper) 82%, transparent); box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
	}
	.cvs-cb.is-c-etiqueta .cvs-cb__label > span:first-child { overflow: hidden; text-overflow: ellipsis; }
	.cvs-cb.is-c-etiqueta .cvs-round { position: absolute; top: 50%; left: calc(100% + 6px); opacity: 0; transform: translate(-6px, -50%); }
	.cvs-cb.is-c-etiqueta .cvs-cb__card:hover .cvs-round, .cvs-cb.is-c-etiqueta .cvs-cb__card:focus-visible .cvs-round { opacity: 1; transform: translate(0, -50%); }
	/* legenda: nome embaixo da foto */
	.cvs-cb.is-c-legenda .cvs-cb__card { aspect-ratio: auto; background: none; overflow: visible; display: flex; flex-direction: column; gap: 10px; border-radius: 0; }
	.cvs-cb.is-c-legenda .cvs-cb__img { position: relative; inset: auto; aspect-ratio: 1 / 1; height: auto !important; border-radius: 18px; overflow: hidden; background: var(--cvs-b-soft); }
	.cvs-cb.is-c-legenda .cvs-cb__label {
		position: static; padding: 0 2px; justify-content: flex-start; gap: 6px; font-size: 15px; line-height: 1.3;
		background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; border-radius: 0; color: var(--cvs-b-ink);
	}
	.cvs-cb.is-c-legenda .cvs-round { width: auto; height: auto; background: none; color: inherit; opacity: 0; transform: translateX(-4px); }
	.cvs-cb.is-c-legenda .cvs-cb__card:hover .cvs-round, .cvs-cb.is-c-legenda .cvs-cb__card:focus-visible .cvs-round { opacity: 1; transform: none; }
	/* faixa: tarja escura no rodapé, texto claro numa linha */
	.cvs-cb.is-c-faixa .cvs-cb__label {
		left: 0; right: 0; bottom: 0; padding: 10px 14px; border-radius: 0; font-size: 14px; white-space: nowrap;
		color: var(--cvs-b-paper); background: color-mix(in srgb, var(--cvs-b-ink) 72%, transparent);
	}
	.cvs-cb.is-c-faixa .cvs-cb__label > span:first-child { overflow: hidden; text-overflow: ellipsis; }
	.cvs-cb.is-c-faixa .cvs-round { opacity: 0; transform: translateX(-6px); }
	.cvs-cb.is-c-faixa .cvs-cb__card:hover .cvs-round, .cvs-cb.is-c-faixa .cvs-cb__card:focus-visible .cvs-round { opacity: 1; transform: none; }
}
@media (min-width: 782px) and (prefers-reduced-motion: reduce) {
	.cvs-cb__card .cvs-round, .cvs-cb__pic { transition: none; }
}
/* vidro (0.9.86): o cartão original, título ao lado e no máximo 4 no computador; o celular mostra todas nas bolinhas */
@media (min-width: 782px) {
	.cvs-cb.is-c-vidro .cvs-cb__card:nth-child(n+5) { display: none; }
}
/* banner Botânico no computador: texto um pouco mais largo, para o título de duas palavras por linha não quebrar em 3 ou 4 linhas
   (o banner pega a altura do slide mais alto e empurrava a seção seguinte para fora da primeira tela) */
@media (min-width: 1024px) {
	.cvs-hb__text { max-width: 640px; }
}
