/**
 * Base do tema — o que sobreviveu ao corte do Automatic CSS (fase 2 do
 * plano de coerência, 2026-08-24).
 *
 * O ACSS vendorizado (116 KB, 230 classes) tinha 4 classes usadas e 40
 * variáveis consumidas no site inteiro. Este ficheiro guarda o que era
 * load-bearing, copiado verbatim do automatic.css/automatic-variables.css.
 * Desde a limpeza final (2026-08-24) já NÃO existem nomes ACSS no site:
 * o CSS do tema, as Global Classes e o Theme Style falam só os tokens
 * Dario (paleta + painel do Bricks) e os derivados deste :root; a ponte
 * dario-bridge.css foi removida.
 *
 * REGRA DE OURO: html a 62,5% ⇒ 1rem = 10px em todo o site. Um rem
 * "contado de 16" sai 37,5% mais pequeno sem dar erro nenhum. Tamanhos
 * saem sempre de tokens (--text-*, --h*, --space-*), nunca de rem à mão.
 */

/* ---- variáveis de suporte (antes no automatic-variables.css) ---- */
:root {
	--black: #000;
	--body-color: var(--black);
	--text-color: var(--black);
	--text-line-height: calc(6px + 2ex);
	--text-text-wrap: pretty;
	--heading-line-height: calc(4px + 2ex);
	--heading-font-weight: 700;
	--heading-text-wrap: pretty;
	--h1-line-height: 1.2;
	--h1-max-width: 100%;
	--h2-line-height: 1.2;
	--h3-line-height: 1.2;
	--h4-line-height: calc(4px + 2ex);
	--h5-line-height: 1.2;
	--h6-line-height: 1.2;
	--link-decoration: inherit;
	--link-underline-offset: 0;
	--transition-duration: 0.3s;
	--transition-timing: ease-in-out;
	--transition-delay: 0s;
	--transition: background var(--transition-duration) var(--transition-timing) var(--transition-delay), color var(--transition-duration) var(--transition-timing) var(--transition-delay), border var(--transition-duration) var(--transition-timing) var(--transition-delay), translate var(--transition-duration) var(--transition-timing) var(--transition-delay);
	--focus-color: var(--amber);
	--focus-width: 0.2rem;
	--focus-offset: 0.25em;
	/* tokens dos links (a cor dos links do site é decisão registada; mudar
	   aqui muda o site inteiro) */
	--link-color: var(--amber);
	--link-weight: inherit;
	/* espaçamento de fluxo dos contextos Woo (regras verbatim mais abaixo) */
	--flow-spacing: 1em;
	/* transparências derivadas da paleta — os únicos "trans" que o site usa */
	--amber-trans-10: rgba(250, 175, 64, 0.1);
	--amber-soft-trans-80: rgba(253, 224, 180, 0.8);
	--purple-trans-10: rgba(40, 34, 98, 0.1);
	--purple-trans-20: rgba(40, 34, 98, 0.2);
	--ink-trans-10: rgba(16, 13, 38, 0.1);
	--ink-trans-80: rgba(16, 13, 38, 0.8);
	--ink-trans-90: rgba(16, 13, 38, 0.9);
	interpolate-size: allow-keywords;
}

/* ---- reset ---- */
html {
	/* 1rem = 10px. Ver o cabeçalho antes de escrever rem à mão. */
	font-size: 62.5% !important;
	scroll-behavior: smooth;
}
*, *::before, *::after {
	box-sizing: border-box;
}
body {
	min-block-size: 100vh;
	font-size: var(--default-font-size, var(--text-m));
	color: var(--text-color);
	line-height: var(--text-line-height);
	text-wrap: var(--text-text-wrap);
}
input, button, textarea, select {
	font: inherit;
}
:where(dd) {
	margin-inline-start: 0;
}
img {
	object-fit: var(--object-fit, cover);
	object-position: var(--object-position, 50% 50%);
}
[id] {
	scroll-margin-top: var(--offset, 0);
}

/* ---- tipografia base ---- */
p, li {
	line-height: var(--text-line-height, calc(6px + 2ex));
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .h--1, .h--2, .h--3, .h--4, .h--5, .h--6 {
	line-height: var(--heading-line-height);
	font-weight: var(--heading-font-weight);
	text-wrap: var(--heading-text-wrap);
}
h1 {
	font-size: var(--h1);
	line-height: var(--h1-line-height);
	max-width: var(--h1-max-width);
}
h2 {
	font-size: var(--h2);
	line-height: var(--h2-line-height);
}
h3 {
	font-size: var(--h3);
	line-height: var(--h3-line-height);
}
h4 {
	font-size: var(--h4);
	line-height: var(--h4-line-height);
}
h5 {
	font-size: var(--h5);
	line-height: var(--h5-line-height);
}
h6 {
	font-size: var(--h6);
	line-height: var(--h6-line-height);
}
body {
	color: var(--body-color, var(--black));
}

/* ---- links (valores de hoje; a migração para Theme Style → Links é a
        fase 3 — mudar aqui é decisão visual, não limpeza) ---- */
body a:where(:not([class*= btn--])) {
	color: var(--link-color, var(--amber));
	font-weight: var(--link-weight, inherit);
	-webkit-text-decoration: var(--link-decoration, inherit);
	text-decoration: var(--link-decoration, inherit);
	text-underline-offset: var(--link-underline-offset, 0);
	transition: var(--link-transition, var(--transition));
}
@media (hover: hover) and (pointer: fine) {
	body a:where(:not([class*= btn--])):hover {
		color: var(--link-color-hover, var(--amber-hover));
	}
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	font-weight: inherit;
	text-decoration: inherit;
	color: currentcolor;
	text-underline-offset: var(--link-underline-offset, 0);
}
@media (hover: hover) and (pointer: fine) {
	h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
		color: currentcolor;
	}
}

/* ---- as 4 utilidades ACSS que o site usa ---- */
.clickable-parent:not(a) {
	position: static;
}
.clickable-parent:not(a) a {
	position: static;
}
.clickable-parent:not(a) > a::after {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer !important;
	display: flex;
}
a.clickable-parent {
	position: static;
}
a.clickable-parent::after {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer !important;
	display: flex;
}
.focus-parent:focus-within:not(:has(:focus-visible)) {
	outline: none;
	outline-offset: 0;
}
.focus-parent:focus-within {
	outline: var(--focus-width) solid var(--focus-color);
	outline-offset: var(--focus-offset);
}
.focus-parent :focus {
	outline: none !important;
	box-shadow: none !important;
}
ul.list--none, ol.list--none, .list--none > ul, .list--none > ol {
	list-style: none;
	padding-inline-start: 0;
	list-style-type: none;
	-webkit-margin-before: 0em;
	margin-block-start: 0em;
	margin-block-end: 0;
}

/* ---- foco global (acessibilidade) ---- */
:focus {
	outline: none;
	box-shadow: none;
}
:focus-visible {
	outline-style: solid;
	outline-color: var(--focus-color);
	outline-width: var(--focus-width);
	outline-offset: var(--focus-offset);
}
@supports not selector(:focus-visible) {
	:focus {
		outline-style: solid;
		outline-color: var(--focus-color);
		outline-width: var(--focus-width);
		outline-offset: var(--focus-offset);
	}
}

/* ---- fixes que viviam no automatic-custom-css.css ---- */
.bu-comp-counter-btn, .bu-wsl-counter-btn {
	border: none !important;
	padding: 6px !important;
	min-inline-size: auto !important;
}
.selo-imagem img {
	filter: grayscale(100%) brightness(10);
}
.card-sobre-pvpr__text p, .produtos__preco p {
	text-wrap: nowrap !important;
	line-height: 1 !important;
}

/* ---- defaults de layout do ACSS de que o site depende (verbatim) ---- */
:root {
	--container-gap: var(--space-xl);
	--content-gap: var(--space-s);
	--grid-gap: var(--space-m);
}
section:where(:not(.bricks-shape-divider)) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--container-gap);
}
section > div:where(:not(.bricks-shape-divider)) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
}
section > div:where([class*="grid--"]), :where([class*="grid--"]) {
  gap: var(--grid-gap);
}

/* ---- padding por omissão de secções de topo (verbatim do ACSS) ---- */
:root {
	--gutter: clamp(2.4rem, calc(0.5736137667vw + 2.2164435946rem), 3rem);
	--section-space-m: clamp(4.8rem, calc(1.1472275335vw + 4.4328871893rem), 6rem);
	--section-padding-block: var(--section-space-m);
}
:where(section:not(section section)) {
  padding-block: var(--section-padding-block);
  padding-inline: var(--gutter);
}

/* ---- reset de margens de conteudo (verbatim do ACSS) ---- */
body:where(:not(.block-editor-writing-flow, .editor-styles-wrapper)) :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li) {
  margin-block: 0;
}

/* ---- radius por omissao nas imagens fora do header (verbatim) ---- */
:where(img):not(header img), :where(figure:not(figure:has(img))) {
  border-radius: var(--radius);
}

/* ---- flow spacing em contexto WooCommerce (verbatim) ---- */
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + * {
  margin-block-start: var(--flow-spacing, initial);
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + :where(h1, h2, h3, h4, h5, h6) {
  margin-block-start: var(--heading-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :where(* + h2) {
  margin-block-start: var(--h2-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :where(* + h3) {
  margin-block-start: var(--h3-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :where(* + h4) {
  margin-block-start: var(--h4-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :where(* + h5) {
  margin-block-start: var(--h5-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :where(* + h6) {
  margin-block-start: var(--h6-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + p {
  margin-block-start: var(--paragraph-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :is(* + ul, * + ol) {
  margin-block: var(--list-spacing, var(--flow-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :is(ul, ol) {
  padding-inline-start: var(--list-indent-spacing, var(--flow-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > ul * + li, :not(.woocommerce-checkout) [class*="woocommerce"] * + p > ol * + li {
  margin-block-start: var(--list-item-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > ul ul, :not(.woocommerce-checkout) [class*="woocommerce"] * + p > ol ol, :not(.woocommerce-checkout) [class*="woocommerce"] * + p > ul ol, :not(.woocommerce-checkout) [class*="woocommerce"] * + p > ol ul {
  margin-block: var(--nested-list-spacing, var(--list-item-spacing, initial));
  padding-inline-start: var(--nested-list-indent-spacing, initial);
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :is(ul, ol) :is(ul, ol) li {
  margin-block-start: var(--nested-list-item-spacing, var(--list-item-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + figure, :not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + picture {
  margin-block: var(--figure-spacing, var(--flow-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p figcaption {
  margin-block: var(--figcaption-spacing, var(--flow-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > * + blockquote:where(:not(figure > blockquote)) {
  margin-block: var(--blockquote-spacing, var(--flow-spacing, initial));
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > blockquote * + * {
  margin-block-start: var(--paragraph-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
:not(.woocommerce-checkout) [class*="woocommerce"] * + p > :is(figure, blockquote, ul, ol):where(:not(:first-child)) + * {
  --paragraph-spacing: 0;
  --flow-spacing: 0;
}
