/*
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.0
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 span { opacity: .6; }
.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: 8px; }
	.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: 7px 8px; width: 100%; justify-content: center; text-align: center; font-size: 11px; line-height: 1.25; border-radius: 12px; background: var(--cvs-b-card); box-shadow: inset 0 0 0 1px var(--cvs-b-line); }
	.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; height: 1px; }
.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-acc { position: relative; }
.cvs-acc__btn { display: inline-flex; align-items: center; gap: 10px; padding: 3px; border-radius: 99px; color: inherit; text-decoration: none; transition: background .2s ease; }
.cvs-acc.is-logged .cvs-acc__btn { padding-right: 14px; }
.cvs-acc__btn:hover, .cvs-acc.is-open .cvs-acc__btn { background: var(--cvs-b-soft); }
.cvs-acc__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-acc__av.is-guest { background: var(--cvs-b-soft); color: inherit; }
.cvs-acc__av.has-photo { color: transparent; }
.cvs-acc__hi { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.cvs-acc__hi small { font-size: 11px; opacity: .65; }
.cvs-acc__hi strong { font-size: 13px; font-weight: 600; }
.cvs-acc__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-acc.is-open .cvs-acc__panel { opacity: 1; transform: none; }
.cvs-acc__loading { padding: 24px 0; text-align: center; font-size: 13px; opacity: .6; }
.cvs-acc__title { margin: 0; font-family: var(--cvs-b-serif, Georgia, serif); font-size: 22px; line-height: 1.2; }
.cvs-acc__text { margin: 6px 0 14px; font-size: 13px; line-height: 1.5; opacity: .75; }
.cvs-acc__cta, .cvs-acc__ghost { display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 99px; font-size: 14px; font-weight: 600; text-decoration: none; }
.cvs-acc__cta { background: var(--cvs-b-green, #2f5d50); color: #fff; }
.cvs-acc__ghost { margin-top: 8px; color: inherit; box-shadow: inset 0 0 0 1px var(--cvs-b-line, rgba(0,0,0,.15)); }
.cvs-acc__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-acc__perks li, .cvs-acc__links a { display: flex; align-items: center; gap: 10px; }
.cvs-acc__perks svg, .cvs-acc__links svg { color: var(--cvs-b-green, #2f5d50); flex: none; }
.cvs-acc__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.cvs-acc__head .cvs-acc__av { width: 48px; height: 48px; font-size: 16px; }
.cvs-acc__head p { margin: 2px 0 0; font-size: 12.5px; opacity: .7; }
.cvs-acc__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-acc__wallet::after { content: ""; position: absolute; right: -30px; top: -40px; width: 140px; height: 140px; border-radius: 99px; background: rgba(255,255,255,.08); }
.cvs-acc__wallet small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .8; }
.cvs-acc__wallet strong { display: block; margin-top: 4px; font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.cvs-acc__wallet span { display: block; margin-top: 2px; font-size: 12px; opacity: .85; }
.cvs-acc__msg { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--cvs-b-soft); font-size: 12.5px; }
.cvs-acc__sec { margin: 18px 0 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .6; }
.cvs-acc__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-acc__order + .cvs-acc__order { margin-top: 8px; }
.cvs-acc__order:hover { background: color-mix(in srgb, var(--cvs-b-soft) 60%, transparent); }
.cvs-acc__otop { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.cvs-acc__thumbs { display: flex; }
.cvs-acc__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-acc__thumbs img + img { margin-left: -10px; }
.cvs-acc__otop b { font-weight: 600; }
.cvs-acc__otop em { margin-left: auto; font-style: normal; opacity: .7; }
.cvs-acc__steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin: 12px 0 0; padding: 0; list-style: none; }
.cvs-acc__steps li { position: relative; padding-top: 12px; font-size: 10px; line-height: 1.2; text-align: center; opacity: .5; }
.cvs-acc__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-acc__steps li.is-done, .cvs-acc__steps li.is-now { opacity: 1; }
.cvs-acc__steps li.is-done::before { background: var(--cvs-b-green, #2f5d50); }
.cvs-acc__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-acc__steps li.is-now { font-weight: 600; }
.cvs-acc__track { display: inline-flex; margin-top: 10px; font-size: 12px; text-decoration: underline; color: inherit; }
.cvs-acc__stop { display: inline-block; margin-top: 10px; padding: 4px 10px; border-radius: 99px; background: #fbe9e7; color: #a33; font-size: 11.5px; }
.cvs-acc__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-acc__links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cvs-acc__links a { padding: 10px; border-radius: 12px; font-size: 13px; color: inherit; text-decoration: none; }
.cvs-acc__links a:hover { background: var(--cvs-b-soft); }
.cvs-acc__mgr { display: flex; flex-wrap: wrap; gap: 6px; }
.cvs-acc__mgr a { padding: 7px 12px; border-radius: 99px; background: var(--cvs-b-soft); font-size: 12px; color: inherit; text-decoration: none; }
.cvs-acc__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-acc { 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; }
}
