/*
 * BioRotina: complementos visuais do theme.json.
 * Cores, fontes e botões base vêm do theme.json; aqui ficam layout das seções, cabeçalho,
 * vitrine de produtos e acabamento do WooCommerce (carrinho e checkout).
 */

:root {
	--br-line: var(--wp--custom--line, rgba(184, 138, 60, 0.35));
	--br-serif: var(--wp--preset--font-family--cormorant);
	--br-sans: var(--wp--preset--font-family--jost);
	--br-cream: var(--wp--preset--color--cream);
	--br-cream-2: var(--wp--preset--color--cream-2);
	--br-paper: var(--wp--preset--color--paper);
	--br-gold: var(--wp--preset--color--gold);
	--br-gold-deep: var(--wp--preset--color--gold-deep);
	--br-gold-light: var(--wp--preset--color--gold-light);
	--br-brown: var(--wp--preset--color--brown);
	--br-mute: var(--wp--preset--color--mute);
	--br-soft-dark: #c4b8a3;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}

body {
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--br-gold);
	outline-offset: 2px;
}

img {
	max-width: 100%;
	height: auto;
}

/* Espaçamento entre cabeçalho, conteúdo e rodapé: as seções controlam o próprio respiro. */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

em {
	font-style: italic;
}

:is(h1, h2, h3) em {
	color: var(--br-gold);
}

/* ------------------------------------------------------------------ Cabeçalho */

.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 30;
}

.admin-bar .wp-site-blocks > header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header {
		top: 46px;
	}
}

.br-header {
	background: rgba(246, 239, 227, 0.97);
	border-bottom: 1px solid var(--br-line);
}

.br-nav {
	min-height: 74px;
	gap: 16px;
}

.br-brand {
	gap: 10px;
}

.br-brand-mark {
	margin: 0;
}

.br-brand-mark img {
	display: block;
	width: 42px;
	height: 42px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.br-brand-name {
	margin: 0;
	font-family: var(--br-serif);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
}

.br-brand-name a {
	color: var(--br-brown);
	text-decoration: none;
}

.br-brand-name strong {
	font-weight: 600;
}

.br-menu {
	flex: 1 1 auto;
	justify-content: center;
}

.br-menu .wp-block-navigation__container {
	gap: 26px;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: var(--br-brown);
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--br-cream);
	color: var(--br-brown);
}

.br-tools {
	gap: 10px;
}

/* O WooCommerce acrescenta sozinho um segundo ícone de conta logo após o menu; o oficial fica em .br-tools. */
.br-nav > .wp-block-woocommerce-customer-account {
	display: none;
}

.br-tools .wp-block-buttons {
	margin: 0;
}

.br-tools .wp-block-button__link {
	padding: 0.7rem 1.25rem;
}

.br-wa-btn .wp-block-button__link {
	white-space: nowrap;
}

/* Entre 601px e 900px o menu completo ainda não cabe ao lado da marca: ele desce para uma segunda linha. */
@media (min-width: 601px) and (max-width: 900px) {
	.br-nav {
		flex-wrap: wrap !important;
		padding-top: 6px;
		gap: 0 16px;
	}

	.br-menu {
		order: 3;
		flex: 1 0 100%;
		margin-top: 6px;
		padding: 8px 0 10px;
		border-top: 1px solid var(--br-line);
	}

	html {
		scroll-padding-top: 130px;
	}
}

@media (max-width: 520px) {
	.br-wa-btn {
		display: none;
	}
}

/* Rodapé sempre no fim da janela, mesmo em páginas curtas (404, políticas). */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}

.wp-site-blocks > footer {
	margin-top: auto;
}

/* Carrinho (mini carrinho) e conta */
.wc-block-mini-cart__button,
.wc-block-customer-account a {
	color: var(--br-brown);
}

.wc-block-mini-cart__button {
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--br-gold);
	border-radius: 0;
	background: transparent;
	transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.wc-block-mini-cart__button:hover {
	background: var(--br-brown);
	border-color: var(--br-brown);
	color: #fff;
}

.wc-block-mini-cart__badge {
	background: var(--br-gold);
	color: #fff;
	font-family: var(--br-sans);
	font-weight: 600;
}

.wc-block-customer-account a {
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
}

/* ------------------------------------------------------------------ Botões */

.wp-block-button__link,
.wp-element-button {
	transition: background-color 0.25s, border-color 0.25s, color 0.25s;
	text-align: center;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background) {
	background: transparent;
	color: var(--br-brown);
	border: 1px solid var(--br-gold);
	padding: 0.95rem 1.75rem;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background):hover {
	background: var(--br-brown);
	border-color: var(--br-brown);
	color: #fff;
}

.br-row {
	gap: 12px;
}

/* Seções escuras */
.br-dark em,
.br-dark :is(h1, h2, h3) em {
	color: var(--br-gold-light);
}

.br-dark a:not(.wp-block-button__link) {
	color: var(--br-gold-light);
}

.br-dark .wp-block-button__link {
	background: var(--br-gold-light);
	border-color: var(--br-gold-light);
	color: var(--br-brown);
}

.br-dark .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--br-brown);
}

.br-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.br-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background) {
	background: transparent;
	border: 1px solid var(--br-gold-light);
	color: #f3ead9;
}

.br-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--br-brown);
}

.br-dark .is-style-br-eyebrow {
	color: var(--br-gold-light);
}

.br-sub {
	max-width: 56ch;
	color: var(--br-mute);
}

.br-dark .br-sub {
	color: var(--br-soft-dark);
}

/* ------------------------------------------------------------------ Estilos de bloco */

.is-style-br-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--br-gold-deep);
}

.is-style-br-eyebrow::before {
	content: "";
	flex: none;
	width: 34px;
	height: 1px;
	background: currentColor;
}

.wp-block-image.is-style-br-moldura {
	position: relative;
	margin: 0;
}

.wp-block-image.is-style-br-moldura::before {
	content: "";
	position: absolute;
	inset: 16px -16px -16px 16px;
	border: 1px solid var(--br-gold);
	pointer-events: none;
}

.wp-block-image.is-style-br-moldura img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #fff;
	box-shadow: 0 30px 70px rgba(80, 55, 20, 0.22);
}

.wp-block-image.is-style-br-arco {
	position: relative;
	width: min(100%, 430px);
	margin: 0;
	justify-self: end;
}

.wp-block-image.is-style-br-arco::before {
	content: "";
	position: absolute;
	inset: 16px -16px -16px 16px;
	border: 1px solid var(--br-gold);
	border-radius: 220px 220px 6px 6px;
	pointer-events: none;
}

.wp-block-image.is-style-br-arco img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 220px 220px 6px 6px;
	box-shadow: 0 30px 70px rgba(80, 55, 20, 0.25);
}

.wp-block-group.is-style-br-cartao {
	background: var(--br-paper);
	border: 1px solid var(--br-line);
	padding: 2rem;
}

/* ------------------------------------------------------------------ Seções */

.br-section {
	padding-block: var(--wp--preset--spacing--80);
}

.br-grid {
	display: grid;
	gap: 60px;
	align-items: center;
}

.br-grid > * {
	margin-block: 0;
}

/* Capa */
.br-hero {
	display: flex;
	align-items: center;
	min-height: clamp(560px, calc(100svh - 74px), 820px);
}

.br-hero > .br-hero-grid {
	width: 100%;
}

.br-hero-grid {
	grid-template-columns: 1.05fr 0.95fr;
}

.br-hero h1 {
	margin: 6px 0 20px;
}

.br-hero .has-lead-font-size {
	max-width: 48ch;
	margin: 0 0 32px;
}

.br-pills {
	gap: 10px 24px;
	margin-top: 38px;
	padding-top: 24px;
	border-top: 1px solid var(--br-line);
	font-size: 0.86rem;
	color: var(--br-mute);
}

.br-pills p {
	margin: 0;
}

.br-pills p::before {
	content: "✦ ";
	color: var(--br-gold);
}

@media (max-width: 860px) {
	.br-hero {
		min-height: 0;
	}

	.br-hero-grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.br-hero-grid > .wp-block-image {
		order: -1;
		justify-self: center;
		width: min(74vw, 320px);
	}
}

/* Kit em destaque */
.br-kit-grid {
	grid-template-columns: 0.85fr 1.15fr;
	gap: 64px;
	align-items: start;
}

.br-kit-photo {
	position: sticky;
	top: 100px;
}

.br-ksub {
	margin: 0 0 16px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--br-gold-deep);
}

.br-benef {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-block: 22px 28px;
}

.br-benef > * {
	margin: 0;
}

.br-benef p {
	padding: 11px 14px;
	border: 1px solid var(--br-line);
	background: var(--br-paper);
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.br-benef p::before {
	content: "✦ ";
	color: var(--br-gold);
}

.br-incl {
	margin: 6px 0 28px;
	padding: 0;
	list-style: none;
	counter-reset: kit;
	border-top: 1px solid var(--br-line);
}

.br-incl li {
	position: relative;
	counter-increment: kit;
	padding: 16px 0 16px 58px;
	border-bottom: 1px solid var(--br-line);
	color: var(--br-mute);
	font-size: 0.92rem;
	line-height: 1.55;
}

.br-incl li::before {
	content: "0" counter(kit);
	position: absolute;
	left: 0;
	top: 12px;
	font-family: var(--br-serif);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--br-gold);
}

.br-incl strong {
	display: block;
	font-family: var(--br-serif);
	font-size: 1.18rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--br-brown);
}

.br-kbuy {
	gap: 18px 26px;
	align-items: center;
	padding: 22px;
	background: var(--br-paper);
	border: 1px solid var(--br-line);
}

.br-kbuy > * {
	margin: 0;
}

.br-price {
	flex: 1 1 150px;
	font-family: var(--br-serif);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.15;
}

.br-price del {
	display: block;
	font-family: var(--br-sans);
	font-size: 0.82rem;
	font-weight: 400;
	color: var(--br-mute);
}

.br-price ins {
	text-decoration: none;
}

.br-kbuy .wp-block-buttons {
	flex: 1 1 220px;
}

.br-kbuy .wp-block-button,
.br-kbuy .wp-block-button__link {
	width: 100%;
}

@media (max-width: 900px) {
	.br-kit-grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.br-kit-photo {
		position: relative;
		top: 0;
		max-width: 420px;
		width: calc(100% - 16px);
		margin-inline: auto;
	}

	.br-kit {
		padding-block: 72px;
	}
}

@media (max-width: 480px) {
	.br-benef {
		grid-template-columns: 1fr;
	}
}

/* Vitrine */
.br-bar,
.br-avhead {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px 24px;
}

.br-bar > *,
.br-avhead > * {
	margin-block: 0;
}

.br-bar {
	margin-bottom: 44px;
}

.br-avhead {
	margin-bottom: 40px;
}

.br-filtros {
	gap: 10px;
}

.br-filtros .wp-block-button.is-style-outline > .wp-block-button__link {
	padding: 10px 20px;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	border-color: var(--br-line);
}

.br-filtros .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--br-brown);
}

.br-note {
	margin-top: 30px;
}

/* História */
.br-story-grid {
	grid-template-columns: 0.9fr 1.1fr;
	gap: 70px;
}

.br-story-photo.is-style-br-moldura::before {
	inset: -14px 14px 14px -14px;
	border-color: var(--br-gold-light);
}

.br-story-photo.is-style-br-moldura img {
	aspect-ratio: 1 / 1;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
}

.br-tl {
	display: grid;
	gap: 22px;
	margin-top: 30px;
	padding-left: 26px;
	border-left: 1px solid var(--br-line);
}

.br-tl > .wp-block-group {
	position: relative;
	margin: 0;
}

.br-tl > .wp-block-group::before {
	content: "";
	position: absolute;
	left: -31px;
	top: 9px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--br-gold-light);
}

.br-tl-title {
	margin: 0;
	font-family: var(--br-serif);
	font-size: 1.25rem;
	font-weight: 500;
	color: #fff;
}

.br-tl-text {
	margin: 0;
	font-size: 0.95rem;
	color: var(--br-soft-dark);
}

@media (max-width: 860px) {
	.br-story-grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}
}

/* Avaliações */
.br-stars {
	color: var(--br-gold);
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.br-avscore {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 6px;
}

.br-revs {
	columns: 3 290px;
	column-gap: 20px;
}

.br-rev {
	position: relative;
	break-inside: avoid;
	margin: 0 0 20px;
	padding: 24px 24px 22px;
	background: var(--br-paper);
	border: 1px solid var(--br-line);
}

.br-revs > .br-rev {
	margin-block: 0 20px;
}

.br-rev > p {
	margin: 12px 0 0;
	font-size: 0.98rem;
	line-height: 1.6;
}

.br-who {
	gap: 12px;
	align-items: center;
}

.br-who > * {
	margin: 0;
}

.br-av {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0;
	border-radius: 50%;
	background: var(--br-brown);
	color: var(--br-gold-light);
	font-family: var(--br-serif);
	font-size: 1.25rem;
	font-weight: 600;
}

.br-revs > .br-rev:nth-child(3n + 2) .br-av {
	background: var(--br-gold);
	color: #fff;
}

.br-revs > .br-rev:nth-child(3n) .br-av {
	background: #6b5a3d;
	color: #fff;
}

.br-name {
	margin: 0;
	font-family: var(--br-serif);
	font-size: 1.12rem;
	font-weight: 600;
	line-height: 1.15;
}

.br-rev .br-stars {
	display: block;
	margin: 2px 0 0;
}

.br-rev .br-via {
	margin: 14px 0 0;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--br-gold-deep);
}

.br-rev-cta {
	border-color: var(--br-brown);
}

.br-rev-cta .br-cta-title {
	margin: 0;
	font-family: var(--br-serif);
	line-height: 1.1;
	color: #fff;
}

.br-rev-cta > p {
	color: var(--br-soft-dark);
}

.br-rev-cta .wp-block-buttons {
	margin-top: 18px;
}

.br-rev-cta .wp-block-button,
.br-rev-cta .wp-block-button__link {
	display: block;
	width: 100%;
	background: var(--br-gold-light);
	border-color: var(--br-gold-light);
	color: var(--br-brown);
}

.br-rev-cta .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
}

/* Fundadoras */
.br-fgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin-top: 44px;
}

.br-fgrid > * {
	margin-block: 0;
}

.br-fc {
	display: flex;
	flex-direction: column;
	padding: 40px 34px;
}

.br-fc > * {
	margin-block: 0;
}

.br-q {
	margin-bottom: 22px;
	font-family: var(--br-serif);
	font-size: 1.55rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.3;
}

.br-q::before {
	content: "“";
	display: block;
	margin-bottom: 6px;
	font-size: 4rem;
	font-style: normal;
	line-height: 0.6;
	color: var(--br-gold);
}

.br-fc h3 {
	font-size: 1.7rem;
}

.br-handle {
	margin: 2px 0 22px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--br-gold-deep);
}

.br-fc .wp-block-buttons {
	margin-top: auto;
}

.br-vals {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 70px;
}

.br-vals > * {
	margin-block: 0;
}

.br-vals h3 {
	margin-bottom: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--br-gold);
}

.br-vals p {
	margin: 0;
}

@media (max-width: 760px) {
	.br-fgrid {
		grid-template-columns: 1fr;
	}

	.br-vals {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 44px;
	}
}

/* Chamada final */
.br-cta {
	text-align: center;
}

.br-cta-logo {
	margin: 0 auto 30px;
}

.br-cta-logo img {
	display: block;
	width: 130px;
	height: 130px;
	padding: 6px;
	border: 1px solid var(--br-gold-light);
	border-radius: 50%;
	background: var(--br-cream);
	object-fit: cover;
}

.br-cta .br-sub {
	margin: 0 auto 34px;
}

/* ------------------------------------------------------------------ Rodapé */

.br-footer {
	padding-block: 26px;
	color: #a99d89;
}

.br-footer a {
	color: var(--br-gold-light);
	text-decoration: none;
}

.br-footer a:hover {
	text-decoration: underline;
}

.br-footer-row {
	gap: 10px 24px;
}

.br-footer-row p,
.br-footer-legal {
	margin: 0;
}

.br-footer-legal {
	margin-top: 10px;
	letter-spacing: 0.04em;
	opacity: 0.75;
}

/* ------------------------------------------------------------------ Páginas e blog */

.br-page {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.br-page > :where(.wp-block-post-title, h1) {
	margin-bottom: 1.5rem;
}

/* Títulos dentro do texto de páginas e posts são menores que o título da página. */
.wp-block-post-content :where(h2) {
	margin-top: 2.2rem;
	font-size: var(--wp--preset--font-size--x-large);
}

.wp-block-post-content :where(h3) {
	margin-top: 1.8rem;
	font-size: var(--wp--preset--font-size--large);
}

.br-meta {
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.br-postnav {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--br-line);
}

.wp-block-post-template.is-layout-grid {
	gap: 22px;
}

.wp-block-search__input {
	padding: 13px 14px;
	border: 1px solid var(--br-line);
	border-radius: 0;
	background: #fff;
	font-family: var(--br-sans);
}

.wp-block-search__input:focus {
	outline: 0;
	border-color: var(--br-gold);
	box-shadow: 0 0 0 3px rgba(184, 138, 60, 0.22);
}

.woocommerce-account .wp-block-post-content > .woocommerce {
	max-width: none;
}

/* ------------------------------------------------------------------ Vitrine e produtos (WooCommerce) */

/* A grade é definida aqui (e não pelo layout flexível do WooCommerce) para ficar igual em qualquer versão do plugin. */
.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wc-block-product-template.columns-1 {
	grid-template-columns: minmax(0, 1fr) !important;
}

.wc-block-product-template.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.wc-block-product-template.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.wc-block-product-template > li {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

@media (max-width: 900px) {
	.wc-block-product-template,
	.wc-block-product-template.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px;
	}
}

/* Seções de largura total ficam coladas umas nas outras (sem o espaço padrão entre blocos). */
.wp-site-blocks > *,
main > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}


.wc-block-product {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	background: var(--br-paper);
	border: 1px solid var(--br-line);
	transition: transform 0.35s, box-shadow 0.35s;
}

.wc-block-product:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 50px rgba(80, 55, 20, 0.16);
}

.wc-block-product > * {
	margin-block: 0;
}

.wc-block-product .wc-block-components-product-image {
	margin: 0 0 12px;
	background: #fff;
}

.wc-block-product .wc-block-components-product-image img {
	transition: transform 0.6s;
}

.wc-block-product:hover .wc-block-components-product-image img {
	transform: scale(1.04);
}

.wc-block-product .wp-block-post-title {
	margin: 0 0 2px;
	padding: 0 20px;
	font-size: 1.4rem;
	line-height: 1.15;
}

.wc-block-product .wp-block-post-title a {
	color: var(--br-brown);
	text-decoration: none;
}

.wc-block-product .wp-block-post-title a:hover {
	color: var(--br-gold-deep);
}

.wc-block-product .wp-block-woocommerce-product-price {
	margin: 0 0 14px;
	padding: 0 20px;
}

.wc-block-components-product-price {
	font-family: var(--br-serif);
	font-weight: 600;
}

.wc-block-components-product-price del {
	font-family: var(--br-sans);
	font-size: 0.8em;
	font-weight: 400;
	color: var(--br-mute);
}

.wc-block-components-product-price ins {
	text-decoration: none;
}

.wc-block-product .wp-block-woocommerce-product-button {
	margin-top: auto;
	padding: 14px 20px 0;
	border-top: 1px solid var(--br-line);
}

.wc-block-product .wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button {
	width: 100%;
	padding: 0.8rem 1rem;
	border-radius: 0;
}

.wc-block-components-product-sale-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 6px 11px;
	border: 0;
	border-radius: 0;
	background: var(--br-brown);
	color: var(--br-gold-light);
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* Etiquetas do produto (Lançamento, Kit, Gloss...) como selo sobre a foto */
.br-chips {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.br-chips a,
.br-chips span {
	padding: 6px 11px;
	background: var(--br-brown);
	color: var(--br-gold-light);
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-decoration: none;
	text-transform: uppercase;
}

.br-loja-tools {
	margin-block: 1.5rem 1.75rem;
	font-size: 0.875rem;
	color: var(--br-mute);
}

.br-loja-tools > * {
	margin: 0;
}

.woocommerce-ordering select,
.wc-block-catalog-sorting select {
	padding: 10px 14px;
	border: 1px solid var(--br-line);
	border-radius: 0;
	background-color: #fff;
	font-family: var(--br-sans);
}

.wp-block-query-pagination {
	margin-top: 2.5rem;
	gap: 0.75rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	text-decoration: none;
}

.wp-block-woocommerce-breadcrumbs,
.woocommerce-breadcrumb {
	font-size: 0.8rem;
	color: var(--br-mute);
}

.woocommerce-breadcrumb a {
	color: var(--br-mute);
}

/* Página de produto */
.br-single .wp-block-post-title {
	margin: 0 0 0.5rem;
	font-size: clamp(2.1rem, 4vw, 3rem);
}

.br-single .wp-block-woocommerce-product-price {
	margin-bottom: 1rem;
	font-family: var(--br-serif);
	font-weight: 600;
}

.br-single .wp-block-post-excerpt {
	color: var(--br-mute);
}

.br-single-cols {
	gap: clamp(2rem, 5vw, 4rem);
}

.br-single .woocommerce-product-gallery img,
.br-single .wp-block-woocommerce-product-image-gallery img {
	border: 1px solid var(--br-line);
	background: #fff;
}

.br-single form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin-block: 1.25rem;
}

.br-single .quantity .qty,
.wc-block-components-quantity-selector {
	border-radius: 0;
}

.br-single .quantity .qty {
	min-height: 48px;
	border: 1px solid var(--br-line);
	background: #fff;
	font-family: var(--br-sans);
}

.br-single .single_add_to_cart_button {
	min-height: 48px;
}

.br-single .wp-block-woocommerce-product-meta {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--br-line);
	font-size: 0.86rem;
	color: var(--br-mute);
}

.br-single .wp-block-woocommerce-product-meta > .wp-block-group {
	gap: 0.5rem 1.5rem;
}

.br-single .wp-block-woocommerce-product-meta a {
	color: var(--br-gold-deep);
}

/* ------------------------------------------------------------------ Carrinho e checkout (blocos do WooCommerce) */

.wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border: 1px solid var(--br-gold);
	border-radius: 0;
	background: var(--br-gold);
	color: #fff;
	font-family: var(--br-sans);
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus {
	border-color: var(--br-brown);
	background: var(--br-brown);
	color: #fff;
}

.wc-block-components-button.outlined:not(.is-link),
.wc-block-components-button.wc-block-components-button--outlined:not(.is-link) {
	background: transparent;
	color: var(--br-brown);
}

.wc-block-components-button.outlined:not(.is-link):hover {
	color: #fff;
}

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-textarea,
.wc-block-components-combobox .components-combobox-control input[type="text"],
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border-color: var(--br-line);
	border-radius: 0;
	background-color: #fff;
	font-family: var(--br-sans);
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--br-gold);
	box-shadow: 0 0 0 3px rgba(184, 138, 60, 0.22);
}

.wc-block-components-checkout-step__title,
.wc-block-components-title.wc-block-components-title {
	font-family: var(--br-serif);
	font-weight: 600;
	letter-spacing: 0;
}

.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-cart-items,
.wc-block-cart-items th,
.wc-block-cart-items td {
	border-color: var(--br-line);
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-content {
	border-color: var(--br-line);
}

.wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--br-serif);
	font-size: 1.45rem;
	font-weight: 600;
}

.wc-block-cart-item__prices del,
.wc-block-components-product-price del {
	color: var(--br-mute);
}

.wc-block-components-product-badge {
	border-radius: 0;
}

.wc-block-mini-cart__drawer,
.wp-block-woocommerce-mini-cart-contents {
	background: var(--br-paper);
}

.wc-block-components-notice-banner {
	border-radius: 0;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.wc-block-product,
	.wc-block-product .wc-block-components-product-image img {
		transition: none;
	}

	.wc-block-product:hover {
		transform: none;
	}
}

/* ------------------------------------------------------------------ Ajustes finais de celular (ficam no fim para vencer as regras base) */

/* Título da aba "Descrição" na página do produto: menor que o título do produto. */
.wp-block-woocommerce-product-details h2 {
	margin-top: 0.5rem;
	font-size: var(--wp--preset--font-size--x-large);
}

/* Menu aberto no celular: fundo creme da marca em vez do branco padrão. */
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--br-cream);
	color: var(--br-brown);
}

@media (max-width: 600px) {
	.wc-block-product .wc-block-components-product-button__button.wp-element-button {
		padding: 0.7rem 0.25rem;
		font-size: 0.58rem !important;
		line-height: 1.3;
		letter-spacing: 0.06em;
	}

	.wc-block-product .wp-block-woocommerce-product-button {
		padding-inline: 8px;
	}
}

@media (max-width: 420px) {
	.wc-block-product .wp-block-post-title,
	.wc-block-product .wp-block-woocommerce-product-price {
		padding-inline: 10px;
	}

	.wc-block-product .wp-block-post-title {
		font-size: 1.15rem !important;
	}
}
