/* ==========================================================================
   Claria — sistema de design v1.1 ("cor com função")
   v1.0: Névoa / Tinta / Luz, Baskervville + IBM Plex, filetes de 1px.
   v1.1 acrescenta: cor de ação (CTA) e fundos de secção por ritual, em 3 presets.
   Regras que se mantêm: Luz (dourado) uma vez por vista; cor de SKU só identifica
   (barra, filete superior, ponto de 8px); sem sombras, gradientes nem brilhos.
   ========================================================================== */

:root {
	/* Núcleo v1.0 */
	--cl-nevoa: #FAF8F4;
	--cl-tinta: #1F1E1B;
	--cl-luz: #C9A227;
	--cl-salvia: #8C8778;      /* só elementos não textuais (≤3:1) */
	--cl-salvia-text: #6B665A; /* metadados em texto — 5,4:1 sobre Névoa (WCAG AA) */
	--cl-filete: #DAD5C9;
	--cl-corpo2: #4A483F;
	--cl-white: #FFFFFF;

	/* Identidade dos SKUs (só identificação) */
	--cl-morning: #E8B04B;
	--cl-night: #2E3A4D;
	--cl-garden: #6E8F6B;
	--cl-terra: #7A6A52;
	--cl-sun: #D9A441;
	--cl-tide: #5B7C99;
	--cl-ore: #9C4F3F;
	--cl-root: #5E5140;

	/* Preset "Ritual" (por omissão) */
	--cl-cta: #5B2547;
	--cl-cta-hover: #45193A;
	--cl-cta-ink: #FFFFFF;
	--cl-tint-morning: #F6EAD2;
	--cl-tint-night: #E3E7EE;
	--cl-tint-sage: #E5EBE1;
	--cl-tint-clay: #F1E1D9;
	--cl-tint-plum: #EFE2EA;
	--cl-dark: #1F1E1B;
	--cl-radius-btn: 0px;
	--cl-radius-card: 0px;
	--cl-radius-pill: 0px;

	/* Tipografia */
	--cl-serif: "Baskervville", "Iowan Old Style", Georgia, serif;
	--cl-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--cl-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

	/* Grelha e espaçamento (base 8px) */
	--cl-max: 1180px;
	--cl-gutter: 24px;
	--cl-margin: 40px;
	--cl-s1: 8px;
	--cl-s2: 16px;
	--cl-s3: 24px;
	--cl-s4: 40px;
	--cl-s5: 64px;
	--cl-s6: 96px;
	--cl-header-h: 72px;
}

body.cl-preset-editorial {
	--cl-cta: #1F1E1B;
	--cl-cta-hover: #000000;
	--cl-tint-morning: #F3F0EA;
	--cl-tint-night: #F3F0EA;
	--cl-tint-sage: #F3F0EA;
	--cl-tint-clay: #F3F0EA;
	--cl-tint-plum: #F3F0EA;
}

body.cl-preset-vibrante {
	--cl-cta: #A8432A;
	--cl-cta-hover: #8C3520;
	--cl-tint-morning: #F7E1BC;
	--cl-tint-night: #D7E0EC;
	--cl-tint-sage: #D8E5D3;
	--cl-tint-clay: #F4D5C8;
	--cl-tint-plum: #ECD5E3;
	--cl-dark: #3A1630;
	--cl-radius-btn: 999px;
	--cl-radius-card: 10px;
	--cl-radius-pill: 999px;
}

@media (max-width: 767px) {
	:root {
		--cl-margin: 24px;
		--cl-s6: 64px;
		--cl-s5: 48px;
		--cl-header-h: 60px;
	}
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--cl-header-h) + 16px); }
body {
	margin: 0;
	background: var(--cl-nevoa);
	color: var(--cl-tinta);
	font-family: var(--cl-sans);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--cl-cta); }
:focus-visible { outline: 2px solid var(--cl-cta); outline-offset: 2px; }
[tabindex="-1"]:focus { outline: none; }
hr { border: 0; border-top: 1px solid var(--cl-filete); margin: var(--cl-s4) 0; }
h1, h2, h3, h4 { font-family: var(--cl-serif); font-weight: 400; line-height: 1.15; margin: 0 0 var(--cl-s2); letter-spacing: -0.005em; text-transform: none; }
h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.05; }
h2 { font-size: clamp(28px, 3.4vw, 40px); }
h3 { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.25; }
h4 { font-size: 20px; line-height: 1.3; }
p { margin: 0 0 var(--cl-s2); }
small { font-size: 13px; }
table { border-collapse: collapse; width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 100000; background: var(--cl-white); padding: 12px 16px; }
.cl-skip { position: absolute; left: -9999px; }
.cl-skip:focus { left: 16px; top: 16px; z-index: 10000; background: var(--cl-white); padding: 12px 16px; }

/* Tipos utilitários (escala do sistema) */
.cl-display { font-family: var(--cl-serif); font-size: clamp(40px, 5.6vw, 64px); line-height: 1.05; letter-spacing: -0.01em; }
.cl-title { font-family: var(--cl-serif); font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; }
.cl-lead { font-family: var(--cl-serif); font-style: italic; font-size: clamp(19px, 2vw, 24px); line-height: 1.45; color: var(--cl-corpo2); }
.cl-label, .cl-eyebrow { font-family: var(--cl-mono); font-size: 11px; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cl-salvia-text); }
.cl-data { font-family: var(--cl-mono); font-weight: 500; font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.cl-measure { max-width: 68ch; }
.cl-muted { color: var(--cl-corpo2); }
.cl-center { text-align: center; }
.cl-center .cl-measure { margin-left: auto; margin-right: auto; }

/* Grelha */
.cl-wrap { width: 100%; max-width: calc(var(--cl-max) + 2 * var(--cl-margin)); margin: 0 auto; padding: 0 var(--cl-margin); }
.cl-wrap--narrow { max-width: calc(780px + 2 * var(--cl-margin)); }
.cl-grid { display: grid; gap: var(--cl-gutter); }
.cl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .cl-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cl-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .cl-grid--2, .cl-grid--3 { grid-template-columns: minmax(0, 1fr); } }

/* Secções e fundos */
.cl-section { padding: var(--cl-s6) 0; position: relative; }
.cl-section--tight { padding: var(--cl-s5) 0; }
.cl-section--flush { padding: 0; }
.cl-section + .cl-section:not([class*="cl-bg-"]) { border-top: 1px solid var(--cl-filete); }
.cl-bg-nevoa { background: var(--cl-nevoa); }
.cl-bg-white { background: var(--cl-white); }
.cl-bg-morning { background: var(--cl-tint-morning); }
.cl-bg-night { background: var(--cl-tint-night); }
.cl-bg-sage { background: var(--cl-tint-sage); }
.cl-bg-clay { background: var(--cl-tint-clay); }
.cl-bg-plum { background: var(--cl-tint-plum); }
.cl-bg-dark { background: var(--cl-dark); color: var(--cl-nevoa); }
.cl-bg-dark .cl-label, .cl-bg-dark .cl-eyebrow, .cl-bg-dark .cl-muted, .cl-bg-dark .cl-lead { color: #CFC9BC; }
.cl-bg-dark a:hover { color: var(--cl-luz); }
.cl-bg-cta { background: var(--cl-cta); color: var(--cl-cta-ink); }
.cl-bg-cta .cl-label, .cl-bg-cta .cl-lead { color: rgba(255,255,255,.82); }

.cl-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--cl-s3); margin-bottom: var(--cl-s4); }
.cl-section__head h2 { margin: 0; }
.cl-section__head .cl-label { display: block; margin-bottom: 12px; }
.cl-section__head--center { flex-direction: column; align-items: center; text-align: center; }
@media (max-width: 767px) { .cl-section__head { flex-direction: column; align-items: flex-start; } }

/* --------------------------------------------------------------------------
   Botões
   -------------------------------------------------------------------------- */
.cl-btn, .button, button.button, a.button, input[type="submit"].button, .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 14px 28px;
	background: var(--cl-cta); color: var(--cl-cta-ink); border: 1px solid var(--cl-cta);
	border-radius: var(--cl-radius-btn);
	font-family: var(--cl-sans); font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: 0.01em;
	text-decoration: none; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.cl-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--cl-cta-hover); border-color: var(--cl-cta-hover); color: var(--cl-cta-ink); }
.cl-btn--ghost { background: transparent; color: var(--cl-tinta); border-color: var(--cl-tinta); }
.cl-btn--ghost:hover { background: var(--cl-tinta); color: var(--cl-nevoa); border-color: var(--cl-tinta); }
.cl-bg-dark .cl-btn--ghost, .cl-bg-cta .cl-btn--ghost { color: var(--cl-nevoa); border-color: var(--cl-nevoa); }
.cl-bg-dark .cl-btn--ghost:hover, .cl-bg-cta .cl-btn--ghost:hover { background: var(--cl-nevoa); color: var(--cl-tinta); }
.cl-bg-cta .cl-btn { background: var(--cl-nevoa); color: var(--cl-tinta); border-color: var(--cl-nevoa); }
.cl-btn--light { background: var(--cl-nevoa); color: var(--cl-tinta); border-color: var(--cl-nevoa); }
.cl-btn--sm { min-height: 40px; padding: 8px 18px; font-size: 14px; }
.cl-btn--block { width: 100%; }
.cl-btn[disabled], .cl-btn.is-loading { opacity: .6; pointer-events: none; }
.cl-link { font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.cl-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.cl-btns { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Chips/badges */
.cl-chip { display: inline-flex; align-items: center; gap: 6px; font-family: var(--cl-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-pill); background: var(--cl-white); color: var(--cl-tinta); line-height: 1.2; }
.cl-chip--cta { background: var(--cl-cta); color: var(--cl-cta-ink); border-color: var(--cl-cta); }
.cl-chip--luz { border-color: var(--cl-luz); }

/* Indicador de ritual */
.cl-ritual { display: inline-flex; align-items: center; gap: 8px; font-family: var(--cl-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cl-tinta); }
.cl-ritual__sq { width: 10px; height: 10px; border: 1px solid var(--cl-tinta); display: inline-block; }
.cl-ritual.is-night .cl-ritual__sq { background: var(--cl-tinta); }
.cl-ritual.is-both .cl-ritual__sq { background: linear-gradient(90deg, transparent 50%, var(--cl-tinta) 50%); }
.cl-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; flex: none; }

/* Ícones */
.cl-icon { display: inline-block; vertical-align: middle; flex: none; }

/* --------------------------------------------------------------------------
   Store notice + barra de apoio
   -------------------------------------------------------------------------- */
.cl-notice { background: var(--cl-cta); color: var(--cl-cta-ink); font-size: 13px; line-height: 1.4; text-align: center; position: relative; }
.cl-notice__track { display: grid; padding: 9px 48px; min-height: 36px; align-items: center; }
.cl-notice__msg { grid-area: 1 / 1; opacity: 0; transition: opacity .5s ease; text-decoration: none; color: inherit; }
.cl-notice__msg.is-active { opacity: 1; }
.cl-notice__msg:hover { color: inherit; text-decoration: underline; }
.cl-notice__close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: inherit; cursor: pointer; padding: 6px; line-height: 0; }
.cl-notice.is-hidden { display: none; }
.cl-preset-editorial .cl-notice { background: var(--cl-tinta); }

.cl-utility { border-bottom: 1px solid var(--cl-filete); font-size: 13px; background: var(--cl-nevoa); }
.cl-utility__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.cl-utility ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; flex-wrap: wrap; }
.cl-utility a { text-decoration: none; color: var(--cl-corpo2); }
.cl-utility a:hover { color: var(--cl-cta); }
.cl-socials { display: flex; gap: 12px; align-items: center; list-style: none; margin: 0; padding: 0; }
.cl-socials a { display: inline-flex; color: currentColor; padding: 4px; }
@media (max-width: 767px) { .cl-utility { display: none; } }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.cl-header { position: sticky; top: 0; z-index: 900; background: var(--cl-nevoa); border-bottom: 1px solid var(--cl-filete); }
.admin-bar .cl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cl-header { top: 0; position: relative; } }
.cl-header__row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--cl-s3); min-height: var(--cl-header-h); }
.cl-header__row--center { grid-template-columns: 1fr auto 1fr; }
.cl-header__row--center .cl-header__icons { justify-self: end; }
.cl-header__menu-row { border-top: 1px solid var(--cl-filete); }
.cl-logo { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--cl-tinta); line-height: 1; }
.cl-logo__word { font-family: var(--cl-serif); font-size: 32px; letter-spacing: 0.07em; text-transform: lowercase; line-height: 1; }
.cl-logo__sign { display: flex; align-items: center; gap: 8px; font-family: var(--cl-serif); font-style: italic; font-size: 13px; color: var(--cl-corpo2); margin-top: 4px; }
.cl-logo__sign::before { content: ""; width: 22px; height: 1px; background: var(--cl-luz); display: inline-block; }
.cl-logo img { max-height: 44px; width: auto; }
.cl-bg-dark .cl-logo, .cl-footer--dark .cl-logo { color: var(--cl-nevoa); }

.cl-header__icons { display: flex; align-items: center; gap: 4px; }
.cl-hicon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: none; border: 0; color: var(--cl-tinta); cursor: pointer; text-decoration: none; padding: 0; }
.cl-hicon:hover { color: var(--cl-cta); }
.cl-hicon__count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--cl-cta); color: var(--cl-cta-ink); font-family: var(--cl-mono); font-size: 10px; line-height: 18px; text-align: center; }
.cl-hicon__count:empty, .cl-hicon__count[data-count="0"] { display: none; }
.cl-menu-toggle { display: none; }
@media (max-width: 1023px) {
	.cl-menu-toggle { display: inline-flex; }
	.cl-header__nav, .cl-header__menu-row { display: none; }
	.cl-header__row, .cl-header__row--center { grid-template-columns: auto 1fr auto; }
	.cl-header__row--center .cl-logo { justify-self: center; }
	.cl-header .cl-search--inline { display: none; }
	.cl-hicon--wishlist { display: none; }
}

/* Barra de pesquisa inline */
.cl-search { position: relative; width: 100%; max-width: 520px; }
.cl-search--inline { justify-self: center; }
.cl-search__field { width: 100%; height: 44px; padding: 0 44px 0 16px; border: 1px solid var(--cl-filete); background: var(--cl-white); border-radius: var(--cl-radius-pill); font-size: 15px; }
.cl-search__field:focus { border-color: var(--cl-tinta); outline: none; }
.cl-search__btn { position: absolute; right: 2px; top: 2px; height: 40px; width: 40px; border: 0; background: none; cursor: pointer; color: var(--cl-tinta); }
.cl-search__results { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: var(--cl-white); border: 1px solid var(--cl-filete); z-index: 950; max-height: 70vh; overflow: auto; display: none; border-radius: var(--cl-radius-card); }
.cl-search__results.is-open { display: block; }
.cl-sr__group { padding: 12px 16px 4px; }
.cl-sr__item { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; padding: 8px 16px; text-decoration: none; }
.cl-sr__item:hover, .cl-sr__item.is-active { background: var(--cl-nevoa); color: inherit; }
.cl-sr__item img { width: 48px; height: 48px; object-fit: cover; background: var(--cl-nevoa); }
.cl-sr__title { font-family: var(--cl-serif); font-size: 18px; line-height: 1.2; display: block; }
.cl-sr__meta { font-size: 13px; color: var(--cl-corpo2); }
.cl-sr__empty { padding: 16px; color: var(--cl-corpo2); font-size: 14px; }
.cl-sr__all { display: block; padding: 12px 16px; border-top: 1px solid var(--cl-filete); font-size: 14px; font-weight: 500; }

/* Overlay de pesquisa (mobile e headers sem barra) */
.cl-search-overlay { position: fixed; inset: 0; background: rgba(31,30,27,.4); z-index: 1100; display: none; }
.cl-search-overlay.is-open { display: block; }
.cl-search-overlay__panel { background: var(--cl-nevoa); padding: 24px 0 32px; border-bottom: 1px solid var(--cl-filete); }
.cl-search-overlay .cl-search { max-width: 760px; margin: 0 auto; }
.cl-search-overlay .cl-search__field { height: 56px; font-size: 18px; }
.cl-search-overlay__sugg { max-width: 760px; margin: 16px auto 0; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* Menu de fallback (sem Max Mega Menu) */
.cl-nav { display: flex; justify-content: center; }
.cl-nav ul { list-style: none; margin: 0; padding: 0; }
.cl-nav > ul { display: flex; gap: 28px; }
.cl-nav > ul > li { position: relative; }
.cl-nav > ul > li > a { display: block; padding: 14px 0; text-decoration: none; font-size: 15px; font-weight: 500; }
.cl-nav li ul { position: absolute; top: 100%; left: -16px; min-width: 240px; background: var(--cl-white); border: 1px solid var(--cl-filete); padding: 8px 0; display: none; z-index: 960; }
.cl-nav li:hover > ul, .cl-nav li:focus-within > ul { display: block; }
.cl-nav li ul a { display: block; padding: 8px 16px; text-decoration: none; font-size: 15px; }

/* Max Mega Menu — alinhado ao sistema (complementa o tema MMM "Claria") */
#mega-menu-wrap-primary { background: transparent !important; }
#mega-menu-wrap-primary #mega-menu-primary { text-align: center !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { font-family: var(--cl-sans) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--cl-tinta) !important; background: transparent !important; padding: 0 16px !important; line-height: 52px !important; height: 52px !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link { color: var(--cl-cta) !important; box-shadow: inset 0 -2px 0 var(--cl-cta) !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.cl-menu-highlight > a.mega-menu-link { color: var(--cl-cta) !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu { background: var(--cl-white) !important; border-top: 1px solid var(--cl-filete) !important; border-bottom: 1px solid var(--cl-filete) !important; padding: 32px max(var(--cl-margin), calc((100vw - var(--cl-max)) / 2)) !important; box-shadow: none !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link { font-family: var(--cl-mono) !important; font-size: 11px !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--cl-salvia-text) !important; font-weight: 400 !important; margin-bottom: 12px !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item li.mega-menu-item > a.mega-menu-link { font-family: var(--cl-sans) !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--cl-tinta) !important; line-height: 1.9 !important; padding: 0 !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover { color: var(--cl-cta) !important; text-decoration: underline !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu { background: var(--cl-white) !important; border: 1px solid var(--cl-filete) !important; box-shadow: none !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link { background: var(--cl-white) !important; color: var(--cl-tinta) !important; font-family: var(--cl-sans) !important; font-size: 15px !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover { background: var(--cl-nevoa) !important; color: var(--cl-cta) !important; }
#mega-menu-wrap-primary .mega-menu-toggle { background: transparent !important; }
/* Painel do mega menu com a largura do header (e não do bloco do menu, ~400px). Sem isto as colunas ficam com
   ~40px, o texto parte letra a letra e o painel escondido (3000px+) estica a página muito para lá do footer. */
@media (min-width: 1024px) {
	/* .cl-header já é sticky/relative, por isso serve de referência ao painel absoluto. */
	.cl-header #mega-menu-wrap-primary,
	.cl-header #mega-menu-wrap-primary #mega-menu-primary,
	.cl-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu { position: static !important; }
	.cl-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu { left: 0 !important; right: 0 !important; width: 100% !important; max-width: none !important; box-sizing: border-box !important; text-align: left !important; }
}
.cl-mm-card { display: block; padding: 24px; background: var(--cl-tint-plum); text-decoration: none; border-radius: var(--cl-radius-card); }
.cl-mm-card strong { display: block; font-family: var(--cl-serif); font-weight: 400; font-size: 24px; line-height: 1.2; margin: 8px 0; }

/* Drawer móvel */
.cl-drawer { position: fixed; inset: 0; z-index: 1200; display: none; }
.cl-drawer.is-open { display: block; }
.cl-drawer__scrim { position: absolute; inset: 0; background: rgba(31,30,27,.45); }
.cl-drawer__panel { position: absolute; top: 0; bottom: 0; width: min(440px, 92vw); background: var(--cl-nevoa); display: flex; flex-direction: column; overflow: hidden; }
.cl-drawer--left .cl-drawer__panel { left: 0; border-right: 1px solid var(--cl-filete); }
.cl-drawer--right .cl-drawer__panel { right: 0; border-left: 1px solid var(--cl-filete); }
.cl-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--cl-filete); }
.cl-drawer__head h2 { font-size: 24px; margin: 0; }
.cl-drawer__body { flex: 1; overflow: auto; padding: 16px 24px; }
.cl-drawer__foot { border-top: 1px solid var(--cl-filete); padding: 16px 24px 24px; background: var(--cl-white); }
.cl-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.cl-mobile-nav > ul > li { border-bottom: 1px solid var(--cl-filete); }
.cl-mobile-nav a { display: block; padding: 14px 0; text-decoration: none; font-family: var(--cl-serif); font-size: 22px; }
.cl-mobile-nav li ul a { font-family: var(--cl-sans); font-size: 16px; padding: 8px 0 8px 16px; }
.cl-mobile-nav .sub-menu { display: none; padding-bottom: 8px; }
.cl-mobile-nav li.is-open > .sub-menu { display: block; }
.cl-mobile-nav .menu-item-has-children > a { display: flex; justify-content: space-between; align-items: center; }
.cl-mobile-nav .menu-item-has-children > a::after { content: "+"; font-family: var(--cl-mono); font-size: 18px; }
.cl-mobile-nav li.is-open > a::after { content: "−"; }

/* Barra inferior móvel */
.cl-mobilebar { display: none; }
@media (max-width: 767px) {
	.cl-mobilebar { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 890; background: var(--cl-nevoa); border-top: 1px solid var(--cl-filete); padding-bottom: env(safe-area-inset-bottom); }
	.cl-mobilebar a, .cl-mobilebar button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0 6px; font-size: 11px; text-decoration: none; background: none; border: 0; color: var(--cl-tinta); position: relative; cursor: pointer; }
	.cl-mobilebar .cl-hicon__count { top: 2px; right: calc(50% - 22px); }
	body { padding-bottom: 64px; }
	body.single-product { padding-bottom: 136px; }
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.cl-hero { position: relative; overflow: hidden; }
.cl-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: var(--cl-s5); align-items: center; }
.cl-hero--text .cl-hero__grid { grid-template-columns: minmax(0, 1fr); text-align: left; }
.cl-hero__copy { padding: var(--cl-s6) 0; }
.cl-hero__copy .cl-label { display: inline-block; margin-bottom: var(--cl-s3); }
.cl-hero__title { font-family: var(--cl-serif); font-size: clamp(40px, 5.6vw, 72px); line-height: 1.03; letter-spacing: -0.015em; margin: 0 0 var(--cl-s3); }
.cl-hero__title em { font-style: italic; }
.cl-hero__lead { max-width: 34ch; margin-bottom: var(--cl-s4); }
.cl-hero__media { position: relative; align-self: stretch; min-height: 420px; }
.cl-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--cl-radius-card); }
.cl-hero__media img[src*="/products/"] { object-fit: contain; object-position: center bottom; }
.cl-hero__note { margin-top: var(--cl-s3); font-size: 13px; color: var(--cl-corpo2); display: flex; gap: 16px; flex-wrap: wrap; }
.cl-hero__note span { display: inline-flex; align-items: center; gap: 6px; }
.cl-hero--split .cl-hero__media { margin-right: calc(-1 * max(var(--cl-margin), (100vw - var(--cl-max)) / 2)); }
.cl-hero--split .cl-hero__media img { border-radius: 0; }
.cl-hero--band { padding: var(--cl-s4) 0; }
.cl-hero--band .cl-hero__panel { background: var(--cl-tint-clay); display: grid; grid-template-columns: 1fr 1fr; align-items: center; border-radius: var(--cl-radius-card); overflow: hidden; }
.cl-hero--band .cl-hero__copy { padding: var(--cl-s5); }
.cl-hero--band .cl-hero__media { min-height: 520px; align-self: stretch; display: flex; align-items: flex-end; }
.cl-hero--band .cl-hero__media img { border-radius: 0; }
@media (max-width: 1023px) {
	.cl-hero__grid, .cl-hero--band .cl-hero__panel { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.cl-hero__copy { padding: var(--cl-s5) 0 var(--cl-s4); }
	.cl-hero--band .cl-hero__copy { padding: var(--cl-s4) var(--cl-s3); }
	.cl-hero__media { min-height: 320px; }
	.cl-hero--split .cl-hero__media { margin: 0 calc(-1 * var(--cl-margin)); }
}

/* Marquee de confiança */
.cl-marquee { border-top: 1px solid var(--cl-filete); border-bottom: 1px solid var(--cl-filete); overflow: hidden; background: var(--cl-white); }
.cl-marquee__track { display: flex; width: max-content; animation: cl-marquee 40s linear infinite; }
.cl-marquee:hover .cl-marquee__track { animation-play-state: paused; }
.cl-marquee__item { display: inline-flex; align-items: center; gap: 10px; padding: 14px 28px; font-family: var(--cl-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.cl-marquee__item::after { content: ""; width: 6px; height: 6px; background: var(--cl-cta); margin-left: 28px; display: inline-block; }
@keyframes cl-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cl-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }

/* Manifesto / pilares da marca */
.cl-manifesto__statement { font-family: var(--cl-serif); font-size: clamp(28px, 3.6vw, 44px); line-height: 1.2; max-width: 24ch; margin: 0 0 var(--cl-s5); }
.cl-pillars { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cl-tinta); }
.cl-pillars > div { padding: var(--cl-s3) var(--cl-s3) 0 0; }
.cl-pillars > div + div { padding-left: var(--cl-s3); border-left: 1px solid var(--cl-filete); }
.cl-pillars h3 { font-size: 26px; margin: 12px 0 8px; }
@media (max-width: 767px) { .cl-pillars { grid-template-columns: minmax(0, 1fr); } .cl-pillars > div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--cl-filete); margin-top: var(--cl-s3); } }

/* Mosaico "por necessidade" */
.cl-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.cl-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 220px; padding: 20px; text-decoration: none; color: var(--cl-tinta); background: var(--cl-tint-morning); border-radius: var(--cl-radius-card); overflow: hidden; transition: transform .2s ease; }
.cl-tile:hover { color: var(--cl-tinta); transform: translateY(-2px); }
.cl-tile__title { font-family: var(--cl-serif); font-size: 24px; line-height: 1.15; }
.cl-tile__meta { font-size: 13px; color: var(--cl-corpo2); display: flex; justify-content: space-between; align-items: center; }
.cl-tile__art { position: absolute; right: -10px; bottom: 30px; width: 110px; opacity: .9; }
.cl-tile--night { background: var(--cl-tint-night); }
.cl-tile--sage { background: var(--cl-tint-sage); }
.cl-tile--clay { background: var(--cl-tint-clay); }
.cl-tile--plum { background: var(--cl-tint-plum); }
.cl-tile--dark { background: var(--cl-dark); color: var(--cl-nevoa); }
.cl-tile--dark .cl-tile__meta { color: #CFC9BC; }
.cl-tile--dark:hover { color: var(--cl-nevoa); }

/* --------------------------------------------------------------------------
   Cartões de produto
   -------------------------------------------------------------------------- */
.cl-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cl-gutter); }
.cl-products--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cl-products--carousel { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--cl-gutter); padding-bottom: 12px; scrollbar-width: thin; }
.cl-products--carousel > * { flex: 0 0 calc((100% - 3 * var(--cl-gutter)) / 4); scroll-snap-align: start; }
@media (max-width: 1023px) { .cl-products, .cl-products--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cl-products--carousel > * { flex-basis: 44%; } }
@media (max-width: 479px) { .cl-products--carousel > * { flex-basis: 78%; } }
.cl-card { position: relative; display: flex; flex-direction: column; background: var(--cl-white); border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-card); overflow: hidden; height: 100%; }
.cl-card__media { position: relative; display: block; aspect-ratio: 4 / 5; background: var(--cl-nevoa); overflow: hidden; }
.cl-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.cl-card:hover .cl-card__media img { transform: scale(1.03); }
.cl-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; flex-wrap: wrap; z-index: 2; }
.cl-card__wish { position: absolute; top: 8px; right: 8px; z-index: 2; }
.cl-card__wish .tinvwl_add_to_wishlist_button, .cl-card__wish a { font-size: 0 !important; }
.cl-card__quick { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; opacity: 0; transform: translateY(6px); transition: all .2s ease; }
.cl-card:hover .cl-card__quick, .cl-card:focus-within .cl-card__quick { opacity: 1; transform: none; }
.cl-card__quick .cl-btn { width: 100%; min-height: 40px; background: var(--cl-nevoa); color: var(--cl-tinta); border-color: var(--cl-tinta); font-size: 14px; }
.cl-card__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 8px; flex: 1; border-top: 3px solid var(--cl-sku, transparent); }
.cl-card__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cl-card__title { font-family: var(--cl-serif); font-size: 24px; line-height: 1.15; margin: 0; }
.cl-card__title a { text-decoration: none; }
.cl-card__desc { font-size: 14px; color: var(--cl-corpo2); line-height: 1.45; margin: 0; }
.cl-card__rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--cl-corpo2); }
.cl-card__foot { padding: 8px 16px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cl-card__price { font-family: var(--cl-mono); font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.cl-card__price del { color: var(--cl-salvia-text); font-weight: 400; margin-right: 4px; }
.cl-card__price ins { text-decoration: none; }
.cl-card__sub { display: block; font-family: var(--cl-sans); font-size: 12px; color: var(--cl-cta); font-weight: 500; }
.cl-card__foot .cl-btn { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.cl-card--bundle .cl-card__body { border-top-color: var(--cl-tinta); }
.cl-card__dots { display: flex; gap: 4px; }
.cl-stars { display: inline-flex; gap: 1px; color: var(--cl-tinta); }
.cl-stars svg { width: 13px; height: 13px; }
.cl-stars .is-on { fill: currentColor; }

/* Conjuntos (bundle spotlight) */
.cl-bundle { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: var(--cl-white); border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-card); overflow: hidden; }
.cl-bundle__media { background: var(--cl-tint-morning); min-height: 420px; position: relative; }
.cl-bundle__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cl-bundle__body { padding: var(--cl-s5); display: flex; flex-direction: column; gap: var(--cl-s2); }
.cl-bundle__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cl-filete); }
.cl-bundle__list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--cl-filete); }
.cl-bundle__list .cl-bundle__name { display: flex; align-items: center; gap: 10px; font-family: var(--cl-serif); font-size: 20px; }
.cl-math { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; font-family: var(--cl-mono); font-size: 13px; font-variant-numeric: tabular-nums; padding: 16px; background: var(--cl-nevoa); border-left: 2px solid var(--cl-luz); }
.cl-math dt { color: var(--cl-corpo2); margin: 0; }
.cl-math dd { margin: 0; text-align: right; }
.cl-math .is-total { color: var(--cl-tinta); font-weight: 500; border-top: 1px solid var(--cl-filete); padding-top: 6px; }
@media (max-width: 1023px) { .cl-bundle { grid-template-columns: minmax(0, 1fr); } .cl-bundle__media { min-height: 300px; } .cl-bundle__body { padding: var(--cl-s4) var(--cl-s3); } }

/* --------------------------------------------------------------------------
   "O que a evidência não mostra"
   -------------------------------------------------------------------------- */
.cl-evidence { border: 1px solid var(--cl-tinta); background: var(--cl-white); padding: var(--cl-s4); border-radius: var(--cl-radius-card); }
.cl-evidence__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--cl-filete); padding-bottom: var(--cl-s2); margin-bottom: var(--cl-s3); }
.cl-evidence__head h3 { margin: 0; font-size: 26px; }
.cl-evidence__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cl-s4); }
.cl-evidence__col h4 { font-family: var(--cl-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; color: var(--cl-salvia-text); }
.cl-evidence__col ul { margin: 0; padding: 0; list-style: none; }
.cl-evidence__col li { padding: 10px 0 10px 24px; border-bottom: 1px solid var(--cl-filete); position: relative; font-size: 15px; line-height: 1.55; }
.cl-evidence__col li::before { content: ""; position: absolute; left: 0; top: 18px; width: 10px; height: 1px; background: var(--cl-tinta); }
.cl-evidence__col--no li::before { width: 10px; height: 10px; top: 15px; border: 1px solid var(--cl-tinta); background: transparent; }
.cl-evidence__foot { margin-top: var(--cl-s3); font-size: 13px; color: var(--cl-corpo2); }
.cl-evidence--inline { margin: var(--cl-s4) 0; }
.cl-evidence--inline .cl-evidence__cols { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 767px) { .cl-evidence { padding: var(--cl-s3); } .cl-evidence__cols { grid-template-columns: minmax(0, 1fr); gap: var(--cl-s3); } }

/* Estatísticas com fonte */
.cl-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cl-tinta); }
.cl-stat { padding: var(--cl-s3) var(--cl-s3) 0 0; }
.cl-stat + .cl-stat { padding-left: var(--cl-s3); border-left: 1px solid var(--cl-filete); }
.cl-stat__num { font-family: var(--cl-serif); font-size: clamp(44px, 5vw, 64px); line-height: 1; display: block; margin-bottom: 12px; }
.cl-stat__src { display: block; margin-top: 8px; font-family: var(--cl-mono); font-size: 11px; color: var(--cl-salvia-text); }
@media (max-width: 767px) { .cl-stats { grid-template-columns: minmax(0, 1fr); } .cl-stat + .cl-stat { border-left: 0; padding-left: 0; } }

/* Especialistas */
.cl-experts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cl-gutter); }
.cl-expert { background: var(--cl-white); border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-card); overflow: hidden; display: flex; flex-direction: column; }
.cl-expert__photo { aspect-ratio: 1; background: var(--cl-tint-plum); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cl-expert__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15); }
.cl-expert__initials { font-family: var(--cl-serif); font-size: 56px; color: var(--cl-corpo2); }
.cl-expert__body { padding: 16px; }
.cl-expert__name { font-family: var(--cl-serif); font-size: 21px; line-height: 1.2; margin: 0 0 4px; }
.cl-expert__role { font-size: 13px; color: var(--cl-corpo2); margin: 0 0 8px; }
.cl-expert__creds { font-family: var(--cl-mono); font-size: 11px; color: var(--cl-salvia-text); letter-spacing: .06em; }
@media (max-width: 1023px) { .cl-experts { grid-template-columns: repeat(2, 1fr); } }

/* Citação */
.cl-quote { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: var(--cl-radius-card); overflow: hidden; }
.cl-quote__text { padding: var(--cl-s5); background: var(--cl-tint-night); display: flex; flex-direction: column; justify-content: center; }
.cl-quote__text blockquote { margin: 0 0 var(--cl-s3); font-family: var(--cl-serif); font-style: italic; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.35; }
.cl-quote__media { min-height: 380px; background: var(--cl-tint-clay); }
.cl-quote__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) { .cl-quote { grid-template-columns: minmax(0, 1fr); } .cl-quote__text { padding: var(--cl-s4) var(--cl-s3); } .cl-quote__media { min-height: 260px; } }

/* Reviews */
.cl-reviews__summary { display: flex; align-items: center; gap: 16px; }
.cl-reviews__score { font-family: var(--cl-serif); font-size: 56px; line-height: 1; }
.cl-reviews__row { display: flex; gap: var(--cl-gutter); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.cl-review { flex: 0 0 min(340px, 80%); scroll-snap-align: start; background: var(--cl-white); border: 1px solid var(--cl-filete); padding: var(--cl-s3); border-radius: var(--cl-radius-card); display: flex; flex-direction: column; gap: 12px; }
.cl-review__text { font-family: var(--cl-serif); font-size: 19px; line-height: 1.45; margin: 0; }
.cl-review__meta { font-size: 13px; color: var(--cl-corpo2); margin-top: auto; display: flex; justify-content: space-between; gap: 8px; }
.cl-review__verified { font-family: var(--cl-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--cl-salvia-text); }
.cl-empty { padding: var(--cl-s4); border: 1px dashed var(--cl-filete); text-align: center; color: var(--cl-corpo2); background: var(--cl-white); }

/* Artigos / pilares de conteúdo */
.cl-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cl-gutter); }
.cl-post { display: flex; flex-direction: column; text-decoration: none; background: var(--cl-white); border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-card); overflow: hidden; height: 100%; }
.cl-post:hover { color: inherit; }
.cl-post__media { aspect-ratio: 16 / 10; background: var(--cl-tint-sage); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.cl-post__media img { width: 100%; height: 100%; object-fit: cover; }
.cl-post__body { padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cl-post__title { font-family: var(--cl-serif); font-size: 24px; line-height: 1.2; margin: 0; }
.cl-post:hover .cl-post__title { text-decoration: underline; text-decoration-thickness: 1px; }
.cl-post__excerpt { font-size: 15px; color: var(--cl-corpo2); margin: 0; }
.cl-post__more { margin-top: auto; font-size: 14px; font-weight: 500; }
.cl-pillar-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cl-tinta); }
.cl-pillar-list li { border-bottom: 1px solid var(--cl-filete); }
.cl-pillar-list a { display: grid; grid-template-columns: 48px 1fr auto; gap: 16px; align-items: baseline; padding: 20px 0; text-decoration: none; }
.cl-pillar-list .cl-pillar-list__n { font-family: var(--cl-mono); font-size: 12px; color: var(--cl-salvia-text); }
.cl-pillar-list .cl-pillar-list__t { font-family: var(--cl-serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; }
.cl-pillar-list .cl-pillar-list__d { display: block; font-family: var(--cl-sans); font-size: 14px; color: var(--cl-corpo2); margin-top: 4px; }
@media (max-width: 1023px) { .cl-posts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .cl-posts { grid-template-columns: minmax(0, 1fr); } }

/* Faixa de subscrição */
.cl-subband { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--cl-s5); align-items: center; }
.cl-subband ul { list-style: none; padding: 0; margin: var(--cl-s3) 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.cl-subband li { display: flex; gap: 10px; align-items: center; font-weight: 500; }
.cl-subband li .cl-icon { color: var(--cl-cta); }
.cl-subband__media img { width: 100%; display: block; border-radius: var(--cl-radius-card); }
@media (max-width: 1023px) { .cl-subband { grid-template-columns: minmax(0, 1fr); } .cl-subband ul { grid-template-columns: minmax(0, 1fr); } }

/* Jornada (fases) */
.cl-journey { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--cl-tinta); counter-reset: fase; }
.cl-journey__step { padding: var(--cl-s3) var(--cl-s3) var(--cl-s3) 0; position: relative; }
.cl-journey__step + .cl-journey__step { padding-left: var(--cl-s3); border-left: 1px solid var(--cl-filete); }
.cl-journey__step::before { counter-increment: fase; content: "0" counter(fase); font-family: var(--cl-mono); font-size: 12px; color: var(--cl-salvia-text); display: block; margin-bottom: 12px; }
.cl-journey__step h3 { font-size: 24px; margin-bottom: 8px; }
.cl-journey__step p { font-size: 15px; color: var(--cl-corpo2); }
.cl-journey__step .cl-link-arrow { font-size: 14px; }
@media (max-width: 1023px) { .cl-journey { grid-template-columns: 1fr 1fr; } .cl-journey__step:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 599px) { .cl-journey { grid-template-columns: minmax(0, 1fr); } .cl-journey__step + .cl-journey__step { border-left: 0; padding-left: 0; border-top: 1px solid var(--cl-filete); } }

/* Passos ("como fazemos") */
.cl-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cl-tinta); }
.cl-steps li { display: grid; grid-template-columns: 80px 1fr 1.4fr; gap: var(--cl-s3); padding: var(--cl-s3) 0; border-bottom: 1px solid var(--cl-filete); align-items: baseline; }
.cl-steps__n { font-family: var(--cl-mono); font-size: 13px; color: var(--cl-cta); }
.cl-steps h3 { font-size: 26px; margin: 0; }
.cl-steps p { margin: 0; color: var(--cl-corpo2); }
@media (max-width: 767px) { .cl-steps li { grid-template-columns: minmax(0, 1fr); gap: 8px; } }

/* Comparação */
.cl-compare { width: 100%; border-top: 1px solid var(--cl-tinta); background: var(--cl-white); }
.cl-compare th, .cl-compare td { padding: 16px; border-bottom: 1px solid var(--cl-filete); text-align: center; font-size: 15px; vertical-align: middle; }
.cl-compare th:first-child, .cl-compare td:first-child { text-align: left; }
.cl-compare thead th { font-family: var(--cl-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cl-salvia-text); font-weight: 400; }
.cl-compare thead th.is-us { color: var(--cl-tinta); }
.cl-compare td.is-us { background: var(--cl-tint-plum); font-weight: 500; }
.cl-compare .cl-yes { color: var(--cl-cta); }
.cl-compare .cl-no { color: var(--cl-salvia); }
.cl-compare-wrap { overflow-x: auto; }

/* FAQ (acordeão) */
.cl-faq { border-top: 1px solid var(--cl-tinta); }
.cl-faq details { border-bottom: 1px solid var(--cl-filete); }
.cl-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-family: var(--cl-serif); font-size: 21px; line-height: 1.3; }
.cl-faq summary::-webkit-details-marker { display: none; }
.cl-faq summary::after { content: "+"; font-family: var(--cl-mono); font-size: 20px; flex: none; }
.cl-faq details[open] summary::after { content: "−"; }
.cl-faq__a { padding: 0 0 20px; max-width: 68ch; color: var(--cl-corpo2); }
.cl-faq__a p:last-child { margin-bottom: 0; }
.cl-faq-group { margin-bottom: var(--cl-s5); }
.cl-faq-group > h2 { font-size: 28px; }

/* Newsletter */
.cl-newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cl-s5); align-items: center; }
.cl-newsletter--compact { grid-template-columns: minmax(0, 1fr); gap: var(--cl-s2); }
.cl-nl-form { display: flex; flex-direction: column; gap: 12px; }
.cl-nl-form__row { display: flex; gap: 8px; }
.cl-nl-form input[type="email"], .cl-nl-form input[type="text"] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 1px solid var(--cl-tinta); background: var(--cl-white); border-radius: var(--cl-radius-btn); }
.cl-nl-form small { color: var(--cl-corpo2); font-size: 12px; line-height: 1.5; }
.cl-bg-dark .cl-nl-form small, .cl-bg-cta .cl-nl-form small { color: #CFC9BC; }
.cl-nl-done { padding: 20px; background: var(--cl-white); border: 1px solid var(--cl-tinta); color: var(--cl-tinta); }
.cl-nl-done__code { display: inline-block; margin: 8px 0; padding: 10px 16px; border: 1px dashed var(--cl-tinta); font-family: var(--cl-mono); font-size: 18px; letter-spacing: .14em; }
@media (max-width: 767px) { .cl-newsletter { grid-template-columns: minmax(0, 1fr); gap: var(--cl-s3); } .cl-nl-form__row { flex-direction: column; } .cl-nl-form .cl-nl-form__row input[type] { flex: 0 0 auto; width: 100%; } }

/* Imprensa / logos */
.cl-press { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 24px 48px; }
.cl-press__item { font-family: var(--cl-serif); font-size: 22px; color: var(--cl-corpo2); text-decoration: none; }
.cl-press__item img { max-height: 28px; width: auto; filter: grayscale(1); opacity: .8; }

/* Faixa de ícones de confiança */
.cl-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--cl-filete); border-bottom: 1px solid var(--cl-filete); }
.cl-trust__item { display: flex; gap: 12px; align-items: flex-start; padding: 20px; }
.cl-trust__item + .cl-trust__item { border-left: 1px solid var(--cl-filete); }
.cl-trust__item .cl-icon { color: var(--cl-cta); margin-top: 2px; }
.cl-trust__item strong { display: block; font-size: 15px; font-weight: 600; }
.cl-trust__item span { font-size: 13px; color: var(--cl-corpo2); line-height: 1.45; display: block; }
@media (max-width: 1023px) { .cl-trust { grid-template-columns: 1fr 1fr; } .cl-trust__item:nth-child(3) { border-left: 0; } .cl-trust__item:nth-child(n+3) { border-top: 1px solid var(--cl-filete); } }
@media (max-width: 479px) { .cl-trust { grid-template-columns: minmax(0, 1fr); } .cl-trust__item + .cl-trust__item { border-left: 0; border-top: 1px solid var(--cl-filete); } }

/* Ingredientes em destaque */
.cl-ingredients { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: var(--cl-radius-card); overflow: hidden; }
.cl-ingredients__list { padding: var(--cl-s5); background: var(--cl-tint-clay); }
.cl-ingredients__list ol { list-style: none; margin: var(--cl-s3) 0 0; padding: 0; }
.cl-ingredients__list li { padding: 14px 0; border-top: 1px solid rgba(31,30,27,.15); }
.cl-ingredients__list li strong { font-family: var(--cl-serif); font-weight: 400; font-size: 24px; display: block; }
.cl-ingredients__list li span { font-size: 14px; color: var(--cl-corpo2); }
.cl-ingredients__art { background: var(--cl-tint-morning); display: flex; align-items: center; justify-content: center; padding: var(--cl-s4); min-height: 380px; }
.cl-ingredients__art img { max-width: 360px; width: 100%; }
@media (max-width: 767px) { .cl-ingredients { grid-template-columns: minmax(0, 1fr); } .cl-ingredients__list { padding: var(--cl-s4) var(--cl-s3); } }

/* --------------------------------------------------------------------------
   Questionário "Encontra o teu ritual"
   -------------------------------------------------------------------------- */
.cl-quiz { background: var(--cl-white); border: 1px solid var(--cl-filete); border-radius: var(--cl-radius-card); max-width: 820px; margin: 0 auto; }
.cl-quiz__progress { height: 3px; background: var(--cl-filete); }
.cl-quiz__progress span { display: block; height: 100%; width: 0; background: var(--cl-cta); transition: width .3s ease; }
.cl-quiz__step { padding: var(--cl-s5); display: none; }
.cl-quiz__step.is-active { display: block; }
.cl-quiz__q { font-family: var(--cl-serif); font-size: clamp(26px, 3vw, 36px); line-height: 1.2; margin: 8px 0 var(--cl-s3); }
.cl-quiz__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cl-quiz__opt { position: relative; }
.cl-quiz__opt input { position: absolute; opacity: 0; }
.cl-quiz__opt label { display: flex; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid var(--cl-filete); cursor: pointer; border-radius: var(--cl-radius-card); background: var(--cl-nevoa); min-height: 64px; font-weight: 500; }
.cl-quiz__opt label::before { content: ""; width: 14px; height: 14px; border: 1px solid var(--cl-tinta); flex: none; }
.cl-quiz__opt input:checked + label { border-color: var(--cl-cta); background: var(--cl-tint-plum); }
.cl-quiz__opt input:checked + label::before { background: var(--cl-cta); border-color: var(--cl-cta); }
.cl-quiz__opt input:focus-visible + label { outline: 2px solid var(--cl-cta); outline-offset: 2px; }
.cl-quiz__nav { display: flex; justify-content: space-between; align-items: center; margin-top: var(--cl-s4); gap: 12px; }
.cl-quiz__note { font-size: 13px; color: var(--cl-corpo2); margin-top: var(--cl-s3); }
.cl-quiz__result h3 { font-size: 32px; }
.cl-quiz__pick { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: var(--cl-s3) 0; }
.cl-quiz__item { border: 1px solid var(--cl-filete); padding: 16px; border-top: 3px solid var(--cl-sku, var(--cl-tinta)); background: var(--cl-nevoa); }
.cl-quiz__item strong { font-family: var(--cl-serif); font-size: 22px; font-weight: 400; display: block; }
.cl-quiz__item p { font-size: 14px; color: var(--cl-corpo2); margin: 6px 0 0; }
.cl-quiz__alert { border-left: 2px solid var(--cl-luz); padding: 12px 16px; background: var(--cl-nevoa); font-size: 14px; margin: var(--cl-s3) 0; }
@media (max-width: 599px) { .cl-quiz__step { padding: var(--cl-s4) var(--cl-s3); } .cl-quiz__opts { grid-template-columns: minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   Construtor de ritual (escada de desconto)
   -------------------------------------------------------------------------- */
.cl-builder { display: grid; grid-template-columns: 1fr 360px; gap: var(--cl-s4); align-items: start; }
.cl-builder__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cl-gutter); }
.cl-builder__col h3 { display: flex; align-items: center; gap: 10px; font-size: 26px; border-bottom: 1px solid var(--cl-tinta); padding-bottom: 12px; }
.cl-builder__item { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--cl-filete); }
.cl-builder__item img { width: 64px; height: 64px; object-fit: cover; background: var(--cl-nevoa); border-left: 3px solid var(--cl-sku, transparent); }
.cl-builder__item strong { font-family: var(--cl-serif); font-weight: 400; font-size: 20px; display: block; line-height: 1.2; }
.cl-builder__item small { color: var(--cl-corpo2); display: block; }
.cl-builder__item .cl-data { font-size: 12px; }
.cl-qty { display: inline-flex; align-items: center; border: 1px solid var(--cl-tinta); border-radius: var(--cl-radius-btn); }
.cl-qty button { width: 36px; height: 36px; background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.cl-qty input, .cl-qty output { width: 32px; text-align: center; font-family: var(--cl-mono); border: 0; background: none; -moz-appearance: textfield; }
.cl-builder__summary { position: sticky; top: calc(var(--cl-header-h) + 24px); background: var(--cl-white); border: 1px solid var(--cl-tinta); padding: var(--cl-s3); border-radius: var(--cl-radius-card); }
.cl-builder__summary h3 { font-size: 26px; }
.cl-ladder { margin: var(--cl-s2) 0; }
.cl-ladder__bar { position: relative; height: 1px; background: var(--cl-filete); margin: 28px 6px 36px; }
.cl-ladder__fill { position: absolute; left: 0; top: -1px; height: 3px; background: var(--cl-luz); width: 0; transition: width .3s ease; }
.cl-ladder__stop { position: absolute; top: -6px; width: 12px; height: 12px; margin-left: -6px; background: var(--cl-nevoa); border: 1px solid var(--cl-tinta); }
.cl-ladder__stop.is-reached { background: var(--cl-tinta); }
.cl-ladder__stop span { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); font-family: var(--cl-mono); font-size: 10px; white-space: nowrap; letter-spacing: .04em; }
.cl-ladder__stop em { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); font-family: var(--cl-mono); font-style: normal; font-size: 10px; color: var(--cl-salvia-text); }
.cl-ladder__msg { font-family: var(--cl-mono); font-size: 13px; padding: 12px; background: var(--cl-nevoa); border-left: 2px solid var(--cl-cta); }
.cl-ladder__msg strong { color: var(--cl-cta); font-weight: 500; }
.cl-builder__totals { display: grid; grid-template-columns: 1fr auto; gap: 6px; font-family: var(--cl-mono); font-size: 13px; margin: var(--cl-s2) 0; }
.cl-builder__totals dt, .cl-builder__totals dd { margin: 0; }
.cl-builder__totals dd { text-align: right; }
.cl-builder__totals .is-total { font-size: 16px; font-weight: 500; border-top: 1px solid var(--cl-filete); padding-top: 8px; }
.cl-builder__actions { display: grid; gap: 8px; }
.cl-builder__fine { font-size: 12px; color: var(--cl-corpo2); margin-top: 12px; }
@media (max-width: 1023px) { .cl-builder { grid-template-columns: minmax(0, 1fr); } .cl-builder__summary { position: static; } }
@media (max-width: 599px) { .cl-builder__cols { grid-template-columns: minmax(0, 1fr); } }

/* Barra de progresso (portes/escada) usada no carrinho lateral e no carrinho */
.cl-progress { padding: 12px 14px; background: var(--cl-nevoa); border: 1px solid var(--cl-filete); font-size: 13px; }
.cl-progress__track { height: 3px; background: var(--cl-filete); margin-top: 8px; position: relative; }
.cl-progress__track span { position: absolute; left: 0; top: 0; bottom: 0; background: var(--cl-cta); }
.cl-progress strong { font-weight: 600; }
.cl-progress.is-done { border-color: var(--cl-cta); }

/* --------------------------------------------------------------------------
   Formulário de contacto (Make → Sender)
   -------------------------------------------------------------------------- */
.cl-contact { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--cl-s5); align-items: start; }
.cl-form { display: block; }
.cl-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.cl-field { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.cl-field--full { grid-column: 1 / -1; }
.cl-field label { font-size: 14px; font-weight: 500; }
.cl-field .req { color: var(--cl-cta); margin-left: 2px; }
.cl-field .opt { color: var(--cl-salvia-text); font-weight: 400; }
.cl-field input, .cl-field select, .cl-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--cl-filete); background: var(--cl-white); border-radius: var(--cl-radius-btn); font-size: 15px; }
.cl-preset-vibrante .cl-field input, .cl-preset-vibrante .cl-field select, .cl-preset-vibrante .cl-field textarea { border-radius: 8px; }
.cl-field textarea { min-height: 150px; resize: vertical; }
.cl-field input:focus, .cl-field select:focus, .cl-field textarea:focus { border-color: var(--cl-tinta); outline: none; }
.cl-field [aria-invalid="true"] { border-color: #A23A2A; }
.cl-err { color: #A23A2A; font-size: 13px; min-height: 1em; }
.cl-hint { color: var(--cl-salvia-text); font-size: 13px; }
.cl-checks { margin: 20px 0; display: grid; gap: 10px; }
.cl-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.cl-check input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--cl-cta); flex: none; }
.cl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cl-submit { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cl-small { font-size: 13px; color: var(--cl-corpo2); }
.cl-alert { margin-top: 12px; font-size: 14px; }
.cl-alert:empty { display: none; }
.cl-alert--error { color: #A23A2A; border-left: 2px solid #A23A2A; padding-left: 12px; }
.cl-done { padding: var(--cl-s4); border: 1px solid var(--cl-tinta); background: var(--cl-white); }
.cl-done h3 { margin-top: 0; }
.cl-aside { background: var(--cl-tint-sage); padding: var(--cl-s4); border-radius: var(--cl-radius-card); }
.cl-aside h3 { font-size: 24px; margin-bottom: 8px; }
.cl-aside h3 + p { color: var(--cl-corpo2); }
.cl-quick { list-style: none; padding: 0; margin: 0 0 var(--cl-s4); border-top: 1px solid rgba(31,30,27,.15); }
.cl-quick li { border-bottom: 1px solid rgba(31,30,27,.15); }
.cl-quick a { display: flex; gap: 12px; align-items: center; padding: 14px 0; text-decoration: none; font-weight: 500; }
.cl-quick a::after { content: "→"; margin-left: auto; }
.cl-address { font-style: normal; line-height: 1.7; }
.cl-note { font-size: 13px; color: var(--cl-corpo2); margin-top: 12px; }
@media (max-width: 1023px) { .cl-contact { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 599px) { .cl-form__grid { grid-template-columns: minmax(0, 1fr); } .cl-aside { padding: var(--cl-s3); } }

/* --------------------------------------------------------------------------
   Rodapé
   -------------------------------------------------------------------------- */
.cl-footer { background: var(--cl-nevoa); border-top: 1px solid var(--cl-tinta); font-size: 15px; }
.cl-footer--dark { background: var(--cl-dark); color: var(--cl-nevoa); border-top: 0; }
.cl-footer--dark a { color: var(--cl-nevoa); }
.cl-footer--dark a:hover { color: var(--cl-luz); }
.cl-footer--dark .cl-label { color: #CFC9BC; }
.cl-footer__top { padding: var(--cl-s5) 0 var(--cl-s4); display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: var(--cl-gutter); }
.cl-footer__brand p { color: var(--cl-corpo2); max-width: 30ch; margin-top: 16px; }
.cl-footer--dark .cl-footer__brand p { color: #CFC9BC; }
.cl-footer__col-title { font-family: var(--cl-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 16px; color: var(--cl-salvia-text); font-weight: 400; }
.cl-footer--dark .cl-footer__col-title { color: #CFC9BC; }
.cl-footer ul { list-style: none; margin: 0; padding: 0; }
.cl-footer li { margin: 0 0 8px; }
.cl-footer li a { text-decoration: none; }
.cl-footer li a:hover { text-decoration: underline; }
.cl-footer__wordmark { font-family: var(--cl-serif); font-size: clamp(56px, 10vw, 140px); line-height: .8; letter-spacing: .02em; text-transform: lowercase; margin: var(--cl-s3) 0 var(--cl-s2); overflow: hidden; white-space: nowrap; }
.cl-footer__nl { border-bottom: 1px solid var(--cl-filete); padding: var(--cl-s5) 0; }
.cl-footer--dark .cl-footer__nl { border-color: rgba(250,248,244,.2); }
@media (max-width: 1023px) { .cl-footer__top { grid-template-columns: 1fr 1fr; } .cl-footer__brand { grid-column: 1 / -1; } }

.cl-legal { border-top: 1px solid var(--cl-filete); padding: var(--cl-s3) 0; font-size: 12.5px; color: var(--cl-corpo2); }
.cl-footer--dark .cl-legal { border-color: rgba(250,248,244,.2); color: #CFC9BC; }
.cl-legal__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.cl-legal__links { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.cl-legal__links a { text-decoration: underline; text-underline-offset: 3px; }
.cl-lr-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid currentColor; text-decoration: none !important; font-weight: 600; font-size: 12px; line-height: 1.2; }
.cl-lr-badge svg { flex: none; }
.cl-legal__id { margin-top: 12px; line-height: 1.6; }
.cl-pay { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.cl-pay span { font-family: var(--cl-mono); font-size: 10px; letter-spacing: .08em; padding: 4px 6px; border: 1px solid var(--cl-filete); background: var(--cl-white); color: var(--cl-tinta); }
.cl-footer--dark .cl-pay span { background: transparent; color: var(--cl-nevoa); border-color: rgba(250,248,244,.3); }

/* --------------------------------------------------------------------------
   Conteúdo editorial (páginas, artigos, legais)
   -------------------------------------------------------------------------- */
.cl-page-head { padding: var(--cl-s5) 0 var(--cl-s4); border-bottom: 1px solid var(--cl-filete); }
.cl-page-head h1 { margin: 12px 0 0; max-width: 20ch; }
.cl-page-head .cl-lead { margin-top: 16px; max-width: 46ch; }
.cl-breadcrumbs { font-size: 13px; color: var(--cl-salvia-text); }
.cl-breadcrumbs a { text-decoration: none; }
.cl-prose { font-size: 17px; line-height: 1.75; }
.cl-prose > * { max-width: 68ch; }
.cl-prose h2 { font-size: clamp(26px, 3vw, 34px); margin: var(--cl-s5) 0 var(--cl-s2); }
.cl-prose h3 { font-size: 24px; margin: var(--cl-s4) 0 12px; }
.cl-prose ul, .cl-prose ol { padding-left: 1.2em; }
.cl-prose li { margin-bottom: 8px; }
.cl-prose blockquote { margin: var(--cl-s4) 0; padding: 0 0 0 24px; border-left: 2px solid var(--cl-luz); font-family: var(--cl-serif); font-style: italic; font-size: 22px; line-height: 1.45; }
.cl-prose table { margin: var(--cl-s3) 0; font-size: 15px; max-width: 100%; }
.cl-prose th, .cl-prose td { border-bottom: 1px solid var(--cl-filete); padding: 10px 12px 10px 0; text-align: left; vertical-align: top; }
.cl-prose th { font-family: var(--cl-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cl-salvia-text); font-weight: 400; }
.cl-prose a { color: var(--cl-cta); }
.cl-prose .cl-callout { padding: 20px 24px; background: var(--cl-tint-morning); border-left: 2px solid var(--cl-tinta); margin: var(--cl-s3) 0; }
.cl-prose sup a { text-decoration: none; font-family: var(--cl-mono); font-size: 11px; }
.cl-legal-page .cl-prose h2 { font-size: 24px; margin-top: var(--cl-s4); }
.cl-legal-page .cl-prose { font-size: 16px; }
.cl-legal-meta { font-family: var(--cl-mono); font-size: 12px; color: var(--cl-salvia-text); margin-top: 16px; }
.cl-toc { position: sticky; top: calc(var(--cl-header-h) + 24px); font-size: 14px; }
.cl-toc ol { padding-left: 1.2em; margin: 12px 0 0; }
.cl-toc a { text-decoration: none; }
.cl-layout-aside { display: grid; grid-template-columns: 240px 1fr; gap: var(--cl-s5); padding: var(--cl-s5) 0 var(--cl-s6); }
@media (max-width: 1023px) { .cl-layout-aside { grid-template-columns: minmax(0, 1fr); } .cl-toc { position: static; } }

/* Artigo */
.cl-article__head { padding: var(--cl-s5) 0 var(--cl-s4); }
.cl-article__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; font-size: 14px; color: var(--cl-corpo2); margin-top: var(--cl-s3); padding-top: var(--cl-s2); border-top: 1px solid var(--cl-filete); }
.cl-article__byline strong { color: var(--cl-tinta); font-weight: 600; }
.cl-article__hero { margin: 0 0 var(--cl-s4); }
.cl-article__hero img { width: 100%; display: block; border-radius: var(--cl-radius-card); }
.cl-review-pending { border: 1px solid var(--cl-luz); padding: 12px 16px; font-size: 14px; margin-bottom: var(--cl-s3); background: var(--cl-white); }
.cl-footnotes { border-top: 1px solid var(--cl-tinta); margin-top: var(--cl-s5); padding-top: var(--cl-s3); font-size: 14px; color: var(--cl-corpo2); }
.cl-footnotes h2 { font-family: var(--cl-mono); font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px !important; color: var(--cl-salvia-text); }
.cl-footnotes ol { padding-left: 1.4em; }
.cl-footnotes li { margin-bottom: 8px; word-break: break-word; }
.cl-pilar-filter { display: flex; gap: 8px; flex-wrap: wrap; margin: var(--cl-s3) 0; }
.cl-pilar-filter a { text-decoration: none; }
.cl-pilar-filter a.is-current .cl-chip, .cl-pilar-filter a:hover .cl-chip { background: var(--cl-tinta); color: var(--cl-nevoa); border-color: var(--cl-tinta); }
.cl-pagination { display: flex; justify-content: center; gap: 8px; margin: var(--cl-s5) 0; }
.cl-pagination .page-numbers { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--cl-filete); text-decoration: none; font-family: var(--cl-mono); font-size: 13px; }
.cl-pagination .current { background: var(--cl-tinta); color: var(--cl-nevoa); border-color: var(--cl-tinta); }

/* 404 */
.cl-404 { padding: var(--cl-s6) 0; text-align: center; }
.cl-404 .cl-display { margin-bottom: 16px; }
.cl-404 .cl-search { margin: var(--cl-s4) auto; }

/* Manutenção */
.cl-maint { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px 24px; }
.cl-maint .cl-logo { align-items: center; margin-bottom: var(--cl-s5); }
.cl-maint .cl-logo__word { font-size: 56px; }

/* Modal (quick view) */
.cl-modal { position: fixed; inset: 0; z-index: 1300; display: none; align-items: center; justify-content: center; padding: 24px; }
.cl-modal.is-open { display: flex; }
.cl-modal__scrim { position: absolute; inset: 0; background: rgba(31,30,27,.5); }
.cl-modal__panel { position: relative; background: var(--cl-nevoa); width: min(980px, 100%); max-height: 90vh; overflow: auto; border-radius: var(--cl-radius-card); }
.cl-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; }
.cl-qv { display: grid; grid-template-columns: 1fr 1fr; }
.cl-qv__media { background: var(--cl-white); }
.cl-qv__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cl-qv__body { padding: var(--cl-s4); }
@media (max-width: 767px) { .cl-qv { grid-template-columns: minmax(0, 1fr); } }

/* Toast */
.cl-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 140%); z-index: 1400; background: var(--cl-tinta); color: var(--cl-nevoa); padding: 14px 20px; font-size: 14px; display: flex; gap: 16px; align-items: center; transition: transform .25s ease; max-width: calc(100vw - 32px); border-radius: var(--cl-radius-card); }
.cl-toast:not(.is-open) { visibility: hidden; opacity: 0; transition: transform .25s ease, opacity .2s ease, visibility 0s .25s; }
.cl-toast.is-open { transform: translate(-50%, 0); visibility: visible; opacity: 1; }
.cl-toast a { color: var(--cl-luz); font-weight: 600; }
@media (max-width: 767px) { .cl-toast { bottom: 80px; } }

/* Elementor: widgets Claria ocupam a largura toda e controlam o próprio respiro */
.elementor-widget[class*="elementor-widget-claria-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-section.cl-el-full > .elementor-container { max-width: none !important; }
.elementor-section.cl-el-full .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0; }
.elementor-section.cl-el-full .elementor-widget-wrap { padding: 0 !important; }
.elementor-section.cl-el-full .elementor-widget:not(:last-child) { margin-bottom: 0; }
.elementor-page .site-main > .cl-page-head:first-child { display: none; }

/* Movimento reduzido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Header via Header Footer Builder: o invólucro é sticky com "top" negativo (= altura do aviso + barra de apoio, medida em JS),
   por isso essas faixas saem do ecrã com o scroll e só a barra principal fica fixa — sem mudanças de altura nem saltos. */
.cl-header-hfe { position: sticky; top: calc(-1 * var(--cl-hfe-off, 0px)); z-index: 900; background: var(--cl-nevoa); }
.admin-bar .cl-header-hfe { top: calc(32px - var(--cl-hfe-off, 0px)); }
@media (max-width: 782px) { .admin-bar .cl-header-hfe { top: calc(-1 * var(--cl-hfe-off, 0px)); } }
.cl-header-hfe .cl-header { position: relative; top: auto; }
.cl-header-hfe.is-scrolled .cl-header { box-shadow: 0 1px 0 var(--cl-filete); }
.cl-header-hfe #masthead { margin: 0; }
.cl-header-hfe .bhf-hidden { display: none; }

/* Variantes de header (widget "Header completo") */
.cl-header__right { display: flex; align-items: center; gap: 12px; justify-self: end; }
.cl-header__left { display: flex; align-items: center; min-width: 0; }
.cl-header__cta { font-size: 14px; font-weight: 600; text-decoration: none; color: var(--cl-cta); padding: 8px 14px; border: 1px solid var(--cl-cta); border-radius: var(--cl-radius-btn); white-space: nowrap; }
.cl-header__cta:hover { background: var(--cl-cta); color: var(--cl-cta-ink); }
.cl-header__row--inline { grid-template-columns: auto 1fr auto; }
.cl-header__row--inline .cl-search { width: 240px; }
.cl-header--centered .cl-nav, .cl-header--centered #mega-menu-wrap-primary #mega-menu-primary { justify-content: flex-start; text-align: left !important; }
.cl-header--centered .cl-logo { align-items: center; }
/* No header centrado o botão "Faz o questionário" já cumpre o papel do item em destaque, e o menu tem de caber numa linha. */
.cl-header--centered .cl-menu-highlight, .cl-header--centered #mega-menu-wrap-primary #mega-menu-primary > li.cl-menu-highlight { display: none !important; }
.cl-header__left #mega-menu-wrap-primary #mega-menu-primary { flex-wrap: nowrap; white-space: nowrap; }
.cl-header__left #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { padding-left: 12px !important; padding-right: 12px !important; }
@media (max-width: 1240px) { .cl-header__left #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { padding-left: 8px !important; padding-right: 8px !important; font-size: 14px !important; } }
.cl-utility__search { flex: 0 1 380px; }
.cl-utility__search .cl-search__field { height: 32px; font-size: 13px; }
.cl-utility__search .cl-search__btn { height: 28px; }
.cl-header--dark { background: var(--cl-dark); color: var(--cl-nevoa); border-bottom: 0; }
.cl-header--dark .cl-logo, .cl-header--dark .cl-hicon, .cl-header--dark .cl-nav a { color: var(--cl-nevoa); }
.cl-header--dark .cl-logo__sign { color: #CFC9BC; }
.cl-header--dark .cl-search__field { background: rgba(250,248,244,.08); border-color: rgba(250,248,244,.25); color: var(--cl-nevoa); }
.cl-header--dark .cl-search__field::placeholder { color: #CFC9BC; }
.cl-header--dark .cl-search__btn { color: var(--cl-nevoa); }
.cl-header--dark #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { color: var(--cl-nevoa) !important; }
.cl-header--dark #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover { color: var(--cl-luz) !important; box-shadow: inset 0 -2px 0 var(--cl-luz) !important; }
.cl-header--dark .cl-hicon__count { background: var(--cl-luz); color: var(--cl-tinta); }
@media (max-width: 1023px) { .cl-header__cta, .cl-header__left, .cl-utility__search { display: none; } .cl-header__row--inline .cl-search { display: none; } }

/* Separadores de produto */
.cl-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: -16px 0 24px; }
.cl-tabs .cl-chip { cursor: pointer; }
.cl-tabs .cl-chip.is-current { background: var(--cl-tinta); color: var(--cl-nevoa); border-color: var(--cl-tinta); }
.cl-products__cell[hidden] { display: none !important; }

/* Seguimento de encomenda */
.cl-track form.track_order { background: var(--cl-white); border: 1px solid var(--cl-filete); padding: 24px; margin: 24px 0; }
.cl-track form.track_order p { margin-bottom: 16px; }
.cl-track input[type="text"], .cl-track input[type="email"] { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--cl-filete); }
.cl-id-table th { width: 40%; }

/* CookieYes: o botão "rever consentimento" não pode tapar a barra inferior no telemóvel. */
@media (max-width: 767px) { .cky-btn-revisit-wrapper { bottom: 84px !important; left: 12px !important; transform: scale(.85); } }
