/*
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.1
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 { opacity: .6; }
.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 { width: 0; } }
@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); }
.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__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: 8px; pointer-events: none; }
.cvs-hb__dot { pointer-events: auto; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; cursor: pointer; background: color-mix(in srgb, var(--cvs-b-ink) 25%, transparent); transition: width .3s ease, background-color .3s ease; }
.cvs-hb__dot[aria-current="true"] { width: 26px; background: var(--cvs-b-green); }
@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; }
.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; }
}

/* ---------- 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(5, 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) 50%, var(--cvs-b-line, rgba(0,0,0,.1)) 50%); }
.cvs-me__steps li.is-now { font-weight: 600; }
.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-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; margin-bottom: 18px; }
.cvs-tl__msg { margin: 0; font-size: 16px; font-weight: 600; }
.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; }
.cvs-tl__steps { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; }
.cvs-tl__steps::before, .cvs-tl__steps::after { content: ""; position: absolute; top: 21px; left: 10%; right: 10%; height: 4px; border-radius: 99px; background: var(--cvs-b-line, rgba(0, 0, 0, .1)); }
.cvs-tl__steps::after { right: auto; width: calc(80% * var(--tp, 0) / 100); background: linear-gradient(90deg, var(--cvs-b-green, #2f5d50), #2e9f62); animation: cvs-grow 1.4s .2s cubic-bezier(.2, .9, .3, 1) both; }
.cvs-tl__steps li { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.cvs-tl__dot { width: 46px; height: 46px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: var(--cvs-b-paper, #fff); color: var(--cvs-b-ink, #1d1d1b); box-shadow: inset 0 0 0 2px var(--cvs-b-line, rgba(0, 0, 0, .12)); opacity: .55; transition: .3s ease; }
.cvs-tl__steps li.is-done .cvs-tl__dot { background: var(--cvs-b-green, #2f5d50); color: #fff; box-shadow: none; opacity: 1; animation: cvs-ok .5s calc(var(--i) * .12s + .2s) both; }
.cvs-tl__steps li.is-now .cvs-tl__dot { background: var(--cvs-b-paper, #fff); color: var(--cvs-b-green, #2f5d50); box-shadow: inset 0 0 0 3px var(--cvs-b-green, #2f5d50), 0 0 0 6px color-mix(in srgb, var(--cvs-b-green, #2f5d50) 18%, transparent); opacity: 1; animation: cvs-ring 1.8s ease-in-out infinite; }
@keyframes cvs-ring { 50% { box-shadow: inset 0 0 0 3px var(--cvs-b-green, #2f5d50), 0 0 0 12px color-mix(in srgb, var(--cvs-b-green, #2f5d50) 6%, transparent); } }
.cvs-tl__lbl { font-size: 12.5px; font-weight: 600; opacity: .55; }
.cvs-tl__steps li.is-done .cvs-tl__lbl, .cvs-tl__steps li.is-now .cvs-tl__lbl { opacity: 1; }
.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__steps::before, .cvs-tl:not(.is-big) .cvs-tl__steps::after { top: 14px; height: 3px; }
.cvs-tl:not(.is-big) .cvs-tl__dot { width: 30px; height: 30px; }
.cvs-tl:not(.is-big) .cvs-tl__lbl { font-size: 11px; }
.cvs-tl:not(.is-big) .cvs-tl__steps li.is-now .cvs-tl__dot { animation: none; }

/* 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; }
.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; }
.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__lbl { font-size: 10.5px; }
	.cvs-tl__date { display: none; }
	.cvs-tl__dot { width: 38px; height: 38px; }
	.cvs-tl__steps::before, .cvs-tl__steps::after { top: 17px; }
	.cvs-game__wrap { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.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__steps li .cvs-tl__dot, .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: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; }
}
/* 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; }
@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; }
	.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; }
	.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: 6px; }
	.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; }
@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; }
.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); }

	/* 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(250px, 36svh, 340px) !important; border-radius: 24px; }
	.cvs-estilo-botanico .cvs-hb__text { align-self: end; display: flex; flex-direction: column; align-items: flex-start; padding: 20px 20px 22px; border-radius: 24px; background: linear-gradient(to top, rgba(12, 14, 12, .58) 0%, rgba(12, 14, 12, .18) 48%, rgba(12, 14, 12, 0) 70%); color: #fff; }
	.cvs-estilo-botanico .cvs-hb__eye { margin-bottom: 10px; padding: 5px 11px; border-radius: 99px; background: color-mix(in srgb, #fff 88%, transparent); color: var(--cvs-b-ink, #1d1d1b); font-size: 10.5px; font-weight: 600; letter-spacing: .14em; }
	.cvs-estilo-botanico .cvs-hb__title { max-width: 80%; font-size: clamp(28px, 8vw, 34px); line-height: 1.02; color: #fff; }
	.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; margin-top: 12px; padding: 10px 10px 10px 18px; gap: 10px; border-radius: 99px; background: #fff; color: var(--cvs-b-ink, #1d1d1b); font-size: 14px; font-weight: 600; }
	.cvs-estilo-botanico .cvs-hb__text .cvs-btn-bt svg { width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--cvs-b-ink, #1d1d1b); color: #fff; box-sizing: border-box; }
	/* bolinhas do slide dentro da foto, embaixo à direita */
	.cvs-estilo-botanico .cvs-hb__dots { top: auto; bottom: 26px; left: auto; right: 20px; justify-content: flex-end; }
	.cvs-estilo-botanico .cvs-hb__dot { background: color-mix(in srgb, #fff 55%, transparent); }
	.cvs-estilo-botanico .cvs-hb__dot[aria-current="true"] { background: #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; }
	.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: 24px; }
	.cvs-estilo-botanico .cvs-home .cvs-section__link { font-size: 13px; text-decoration: none; opacity: .7; }
	.cvs-section.is-personal .cvs-section__title::after { display: table; margin: 6px 0 0; }

	/* 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; }
}

/* ================================================================ 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; opacity: .62; 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__bar { display: block; height: 5px; border-radius: 99px; background: var(--cvs-b-soft, #f1eee8); overflow: hidden; }
.cvs-dacc__bar i { display: block; height: 100%; min-width: 10%; border-radius: inherit; background: var(--cvs-b-green, #2f3a2c); }
.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; } }

/* ---------- 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 { 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__thumb img { width: 52px; height: 52px !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; }
	.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; } }

/* 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; } }

/* 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%; } }
@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 { font-size: 12.5px; }
	.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; } }
