/**
 * Bloom Bar Experience: CSS da marca (tema filho).
 *
 * Identidade aprovada no site PHP (out/2026): paleta tirada do logotipo (rosa,
 * folha e oliva), creme e blush; Playfair Display nos títulos, Manrope no
 * texto e Allura só em palavras de destaque.
 *
 * Componentes aprovados pelo responsável do projeto:
 * - Botão (opção A): pílula, sem ícone; a cor escura sobe de baixo no hover.
 * - Menu (opção 2): a palavra troca para itálico serifado oliva no hover;
 *   a página atual fica em itálico. Sem traço embaixo.
 * - Rodapé com faixa final em oliva. Chips informativos nunca parecem botão.
 *
 * Regras do framework: só variáveis do theme.json; classes próprias com o
 * prefixo bb-; WooCommerce só pelas classes de nível superior dos blocos.
 */

/* ---------- Fontes da marca ----------
 * Também declaradas aqui: se a loja tiver fontes salvas na Biblioteca de fontes,
 * a lista do painel substitui a do tema. Arquivos self-hosted (OFL) em ../fonts/.
 */
@font-face {
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("../fonts/playfair-var.woff2") format("woff2");
}

@font-face {
	font-family: "Playfair Display";
	font-style: italic;
	font-weight: 400 900;
	font-display: swap;
	src: url("../fonts/playfair-var-italic.woff2") format("woff2");
}

@font-face {
	font-family: Manrope;
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-var.woff2") format("woff2");
}

@font-face {
	font-family: Allura;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/allura.woff2") format("woff2");
}

:root:root,
.editor-styles-wrapper {
	--wp--preset--font-family--heading: "Playfair Display", Georgia, "Times New Roman", serif;
	--wp--preset--font-family--body: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--wp--preset--font-family--script: Allura, "Brush Script MT", cursive;
	--bb-ease: var(--wp--custom--brand--ease, cubic-bezier(0.16, 1, 0.3, 1));
}

/* ---------- Base tipográfica ---------- */
body {
	font-feature-settings: "kern", "liga";
}

:where(h1, h2, h3) {
	text-wrap: balance;
}

:where(h1, h2, h3) em {
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--primary);
}

.bb-center {
	text-align: center;
}

.bb-center.is-layout-constrained > * {
	margin-inline: auto;
}

.bb-muted {
	color: var(--wp--preset--color--muted);
}

.bb-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}

/* Sobretítulo em caixa alta acima dos títulos. */
.bb-eyebrow {
	margin-bottom: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.bb-eyebrow + :where(h1, h2) {
	margin-top: 0;
}

.bb-eyebrow--light {
	color: var(--wp--preset--color--on-dark);
}

/* Palavra em script (Allura): só destaques curtos, nunca frases inteiras. */
.bb-script {
	font-family: var(--wp--preset--font-family--script);
	font-weight: 400;
	font-style: normal;
	font-size: 1.35em;
	line-height: 1;
	letter-spacing: 0;
	color: var(--wp--preset--color--accent);
}

p.bb-script {
	margin-bottom: 0;
}

.bb-script--grande {
	font-size: var(--wp--preset--font-size--xx-large);
}

/* ---------- Botões (opção A aprovada) ----------
 * O fundo do botão não muda no hover: uma camada mais escura sobe de baixo
 * (::before). Vale para os botões nativos e para o botão dos cartões de produto.
 */
.wp-block-button__link {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	--bb-fill: var(--wp--preset--color--dark);
	transition: color 300ms var(--bb-ease), border-color 300ms var(--bb-ease);
}

.wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-color: var(--bb-fill);
	transform: translateY(101%);
	transition: transform 550ms var(--bb-ease);
}

.wp-block-button__link:is(:hover, :focus-visible)::before {
	transform: none;
}

.wp-block-button:not([class*="is-style-"]) > .wp-block-button__link:is(:hover, :focus-visible),
.wp-block-button.is-style-mdc-compacto > .wp-block-button__link:is(:hover, :focus-visible),
.wp-block-button.is-style-mdc-compra > .wp-block-button__link:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

/* Contorno: fundo transparente, a cor blush sobe no hover. */
.wp-block-button.is-style-outline > .wp-block-button__link {
	--bb-fill: var(--wp--preset--color--blush);
	background-color: transparent;
	color: var(--wp--preset--color--contrast);
	border: var(--wp--custom--control--border-width, 1px) solid var(--wp--preset--color--border);
}

.wp-block-button.is-style-outline > .wp-block-button__link:is(:hover, :focus-visible) {
	background-color: transparent;
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--blush-2);
}

/* Botão claro (sobre foto ou fundo oliva). */
.wp-block-button.is-style-botao-claro > .wp-block-button__link {
	--bb-fill: var(--wp--preset--color--blush);
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--dark);
	border: var(--wp--custom--control--border-width, 1px) solid var(--wp--preset--color--base);
}

.wp-block-button.is-style-botao-claro > .wp-block-button__link:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--dark);
}

/* Contorno sobre foto escura. */
.wp-block-button.bb-btn-sobre-foto > .wp-block-button__link {
	--bb-fill: var(--wp--preset--color--base);
	color: var(--wp--preset--color--on-dark);
	border-color: color-mix(in srgb, var(--wp--preset--color--on-dark) 70%, transparent);
}

.wp-block-button.bb-btn-sobre-foto > .wp-block-button__link:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--dark);
	border-color: var(--wp--preset--color--base);
}

/* Link de texto (sem cara de botão), usado em cartões e notas. */
.bb-link a {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--secondary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	transition: text-decoration-color 300ms var(--bb-ease), color 300ms var(--bb-ease);
}

.bb-link a:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--dark);
	text-decoration-color: currentColor;
}

/* ---------- Listas informativas ----------
 * Marcador de folha (folha da paleta). Chips são texto, nunca botão:
 * sem borda, sem fundo, sem cursor de clique.
 */
.bb-ticks,
.bb-chips {
	list-style: none;
	padding-left: 0;
}

.bb-ticks > li {
	position: relative;
	padding-left: 1.75rem;
	margin-block: var(--wp--preset--spacing--20);
}

.bb-ticks > li::before,
.bb-chips > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 0 100% 0 100%;
	background-color: var(--wp--preset--color--leaf);
}

.bb-ticks--2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	column-gap: var(--wp--preset--spacing--40);
}

.bb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
}

.bb-chips > li {
	position: relative;
	padding-left: 1.15rem;
}

.bb-chips > li::before {
	top: 0.5em;
	width: 0.55rem;
	height: 0.55rem;
}

/* ---------- Faixa superior e cabeçalho ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: calc(-1 * var(--bb-topbar-height));
	z-index: 100;
	--bb-topbar-height: 2.25rem;
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: calc(32px - var(--bb-topbar-height));
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: calc(-1 * var(--bb-topbar-height));
	}
}

.woocommerce-checkout .wp-site-blocks > header.wp-block-template-part {
	position: relative;
	top: auto;
}

.bb-topbar {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--bb-topbar-height, 2.25rem);
	padding-block: 0;
}

.bb-topbar__text {
	margin: 0;
	letter-spacing: 0.06em;
}

/* Fundo sólido, sem backdrop-filter (prenderia o menu aberto; contrato do cabeçalho). */
.bb-header {
	padding-block: var(--wp--preset--spacing--20);
	border-bottom: 1px solid var(--wp--preset--color--border);
	background-color: var(--wp--preset--color--base);
}

.bb-header__inner {
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}

.bb-header__brand {
	gap: var(--wp--preset--spacing--20);
	flex-shrink: 0;
}

.bb-header__brand .wp-block-site-title {
	margin: 0;
	line-height: 1;
}

.bb-header__brand:has(.wp-block-site-logo img) .wp-block-site-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.bb-header__brand .bb-marca img {
	width: 148px !important;
}

.bb-header__nav {
	flex: 1 1 auto;
	gap: var(--wp--preset--spacing--40);
}

/* Menu (opção 2 aprovada): itálico serifado oliva no hover e na página atual. */
.bb-header__nav .wp-block-navigation-item__content {
	padding-block: 0.25rem;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.bb-header__nav .wp-block-navigation-item__label {
	display: inline-block;
	transition: color 300ms var(--bb-ease), opacity 300ms var(--bb-ease);
}

.bb-header__nav .wp-block-navigation-item__content:is(:hover, :focus-visible) .wp-block-navigation-item__label,
.bb-header__nav .wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label,
.bb-header__nav .wp-block-navigation-submenu:is(:hover, :focus-within) > .wp-block-navigation-item__content .wp-block-navigation-item__label {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-weight: 400;
	font-size: 1.07em;
	letter-spacing: 0;
	color: var(--wp--preset--color--primary);
}

/* Submenu: painel claro, item com fundo blush no hover. */
.bb-header__nav .wp-block-navigation__submenu-container {
	padding: var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--base) !important;
	box-shadow: var(--wp--custom--brand--shadow);
}

.bb-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 0.9rem;
	border-radius: var(--wp--custom--radius--sm);
}

.bb-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:is(:hover, :focus-visible) {
	background-color: var(--wp--preset--color--blush);
}

.bb-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	font-family: var(--wp--preset--font-family--body) !important;
	font-style: normal !important;
	font-size: 1em !important;
	color: var(--wp--preset--color--contrast) !important;
}

.bb-header__actions {
	gap: var(--wp--preset--spacing--10);
	flex-shrink: 0;
	margin-left: auto;
}

.bb-header__actions > :not(.bb-header__cta) {
	min-width: var(--wp--custom--touch-target, 44px);
	min-height: var(--wp--custom--touch-target, 44px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.bb-header__cta {
	margin-inline: var(--wp--preset--spacing--20);
}

.bb-header__search .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 0;
	padding: 0.5rem;
}

/* Menu recolhido aberto: nomes em Playfair, grandes. */
.bb-header__nav-mobile .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--contrast);
}

.bb-header__nav-mobile .is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--40);
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.bb-header__inner,
	.bb-header__nav {
		gap: var(--wp--preset--spacing--30);
	}

	.bb-header__cta {
		display: none;
	}
}

@media (max-width: 1023px) {
	.bb-header__brand .bb-marca img {
		width: 124px !important;
	}
}

@media (max-width: 599px) {
	.bb-header__inner {
		position: relative;
		gap: var(--wp--preset--spacing--20);
	}

	.bb-header__actions {
		gap: 0;
	}

	.bb-header__brand .bb-marca img {
		width: 100px !important;
	}

	.bb-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
		position: absolute;
		top: 50%;
		left: 0;
		right: calc(3 * var(--wp--custom--touch-target, 44px));
		width: auto !important;
		transform: translateY(-50%);
		z-index: 5;
		background-color: var(--wp--preset--color--base);
	}

	.bb-topbar__text {
		overflow: hidden;
		font-size: 0.75rem;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}

@media (orientation: landscape) and (max-height: 500px) {
	.bb-header {
		padding-block: var(--wp--preset--spacing--10);
	}

	.bb-header__brand .bb-marca img {
		width: 92px !important;
	}
}

/* Logotipo (patterns mdc-bloombar/marca e marca-clara): arquivos do tema. */
.bb-marca {
	margin: 0;
	line-height: 0;
}

.bb-marca img {
	max-width: 100%;
	height: auto !important;
}

.bb-marca--clara img {
	width: 150px !important;
}

/* ---------- Seções ---------- */
.bb-section {
	padding-block: var(--wp--preset--spacing--70);
}

.wp-block-post-content > :is(.bb-section, .bb-hero, .bb-reflorescer) {
	margin-block-start: 0;
}

.wp-site-blocks > .wp-block-template-part:last-child {
	margin-block-start: 0;
}

.bb-section__head {
	margin-bottom: var(--wp--preset--spacing--50);
	gap: var(--wp--preset--spacing--40);
}

.bb-section__head h2 {
	margin-block: 0;
}

.bb-split {
	gap: var(--wp--preset--spacing--60);
}

/* Foto com recorte em arco (marca registrada do site PHP). */
.bb-arco img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--wp--custom--brand--arch);
}

.bb-foto img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}

.bb-nota {
	max-width: 24rem;
	margin-inline: auto;
	text-align: center;
	color: var(--wp--preset--color--muted);
}

.bb-nota .bb-script {
	display: block;
	margin-bottom: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--x-large);
}

/* ---------- Hero ---------- */
.wp-block-cover.bb-hero {
	padding-inline: max(var(--wp--style--root--padding-left, 1.25rem), calc((100% - var(--wp--style--global--wide-size, 84rem)) / 2 + var(--wp--style--root--padding-left, 1.25rem)));
}

.bb-hero,
.bb-hero :where(h1, p) {
	color: var(--wp--preset--color--on-dark);
}

.bb-hero :where(h1) em {
	color: var(--wp--preset--color--secondary);
}

.bb-hero__title {
	margin-block: 0 var(--wp--preset--spacing--30);
	line-height: 1.05;
}

.bb-hero__lead {
	max-width: 34rem;
	opacity: 0.92;
}

.bb-hero .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--40);
}

@media (min-width: 782px) {
	.wp-block-cover.bb-hero {
		min-height: min(82vh, 48rem) !important;
	}
}

@media (max-width: 781px) {
	.wp-block-cover.bb-hero {
		min-height: 0 !important;
		padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--70);
	}

	/* No celular o véu escurece a foto inteira, para o texto ficar legível em qualquer ponto. */
	.bb-hero .wp-block-cover__background {
		background: color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent) !important;
	}
}

@media (orientation: landscape) and (max-height: 500px) {
	.wp-block-cover.bb-hero {
		min-height: 0 !important;
		padding-block: var(--wp--preset--spacing--50);
	}
}

/* ---------- Experiências (grade de cartões) ---------- */
.bb-xcards {
	gap: var(--wp--preset--spacing--40);
}

.bb-xcard {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.bb-xcard > * {
	margin-block: 0;
}

.bb-xcard__img {
	overflow: hidden;
	margin-bottom: var(--wp--preset--spacing--20) !important;
	border-radius: var(--wp--custom--radius--lg);
}

.bb-xcard__img img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 900ms var(--bb-ease);
}

.bb-xcard:hover .bb-xcard__img img {
	transform: scale(1.04);
}

.bb-xcard__titulo a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

/* O título cobre o cartão inteiro, para facilitar o toque. */
.bb-xcard__titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.bb-xcard__titulo a:focus-visible {
	outline: none;
}

.bb-xcard:has(.bb-xcard__titulo a:focus-visible) {
	outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--primary);
	outline-offset: var(--wp--custom--focus--offset, 3px);
	border-radius: var(--wp--custom--radius--lg);
}

.bb-xcard .bb-link {
	margin-top: auto;
}

/* ---------- Passos numerados ---------- */
.bb-passos {
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--50);
}

.bb-passo {
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border);
}

.bb-passo > * {
	margin-block: 0 var(--wp--preset--spacing--20);
}

.bb-num {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1;
	color: var(--wp--preset--color--accent);
}

.bb-aviso-atelie {
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--lg);
	background-color: var(--wp--preset--color--blush);
}

.bb-aviso-atelie > p {
	margin: 0;
}

/* ---------- Reflorescer ---------- */
.wp-block-cover.bb-reflorescer {
	padding-inline: max(var(--wp--style--root--padding-left, 1.25rem), calc((100% - var(--wp--style--global--wide-size, 84rem)) / 2 + var(--wp--style--root--padding-left, 1.25rem)));
}

.bb-reflorescer__card {
	max-width: 34rem;
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--lg);
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	box-shadow: var(--wp--custom--brand--shadow);
}

.bb-reflorescer__card :where(h2, p, li) {
	color: var(--wp--preset--color--contrast);
}

.bb-reflorescer__card .bb-eyebrow {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 781px) {
	.wp-block-cover.bb-reflorescer {
		min-height: 0 !important;
		padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
	}

	.bb-reflorescer__card {
		padding: var(--wp--preset--spacing--40);
	}
}

/* ---------- Ateliês ---------- */
.bb-atelies h2 .bb-script {
	display: inline-block;
	font-size: 1.4em;
}

.bb-atelies__lista > li {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
}

/* ---------- Galeria ---------- */
.bb-galeria.wp-block-gallery {
	gap: var(--wp--preset--spacing--30);
}

.bb-galeria .wp-block-image img {
	border-radius: var(--wp--custom--radius--md);
}

/* ---------- Chamada final ---------- */
.bb-cta h2 {
	margin-block: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--xx-large);
}

.bb-cta .bb-script {
	color: var(--wp--preset--color--secondary);
}

.bb-cta p:not(.bb-script) {
	opacity: 0.9;
}

/* ---------- Página Sobre ---------- */
.bb-manifesto {
	padding-block: var(--wp--preset--spacing--40);
	border-left: 0 !important;
	text-align: center;
	font-size: var(--wp--preset--font-size--x-large) !important;
	color: var(--wp--preset--color--primary);
}

/* ---------- Rodapé ---------- */
.bb-footer__cols {
	gap: var(--wp--preset--spacing--50);
}

.bb-footer__tagline {
	max-width: 22rem;
	opacity: 0.85;
	font-size: var(--wp--preset--font-size--small);
}

.bb-footer .mdc-rodape__titulo {
	margin-bottom: var(--wp--preset--spacing--30);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--leaf);
}

.bb-footer__col p {
	margin-block: 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
}

.bb-footer a {
	text-decoration: none;
}

.bb-footer a:is(:hover, :focus-visible) {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.bb-footer .bb-muted {
	color: inherit;
	opacity: 0.7;
}

.bb-footer__social:not(:has(li)) {
	display: none;
}

/* Faixa final em oliva (aprovada), da borda à borda. */
.bb-footer__bottom {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-block: var(--wp--preset--spacing--30);
}

.bb-footer__bottom-inner {
	gap: var(--wp--preset--spacing--30);
	align-items: center;
}

.bb-footer__bottom p {
	margin: 0;
	opacity: 0.9;
}

/* ---------- Links no conteúdo ---------- */
.entry-content a:where(:not(.wp-element-button)),
.wp-block-post-content a:where(:not(.wp-element-button)) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link::before,
	.bb-xcard__img img,
	.bb-header__nav .wp-block-navigation-item__label {
		transition: none;
	}

	.bb-xcard:hover .bb-xcard__img img {
		transform: none;
	}
}

/* ---------- Páginas internas (conteúdo inicial, 0.1.1) ---------- */
/* Abertura das páginas: mais baixa que a da home. */
@media (min-width: 782px) {
	.wp-block-cover.bb-hero.bb-hero--pagina {
		min-height: min(62vh, 36rem) !important;
	}
}

/* Perguntas frequentes (bloco Detalhes nativo). */
.bb-faq__item {
	padding-block: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.bb-faq__item > summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	min-height: var(--wp--custom--touch-target, 44px);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	cursor: pointer;
	list-style: none;
}

.bb-faq__item > summary::-webkit-details-marker {
	display: none;
}

.bb-faq__item > summary::after {
	content: "+";
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--primary);
	transition: transform 300ms var(--bb-ease);
}

.bb-faq__item[open] > summary::after {
	transform: rotate(45deg);
}

.bb-faq__item > :not(summary) {
	margin-top: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--muted);
}

/* Links para outras experiências: texto, não botão. */
.bb-relacionados {
	gap: var(--wp--preset--spacing--40);
}

.bb-relacionado {
	margin: 0;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.bb-relacionado a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.bb-relacionado a strong {
	font-weight: 400;
}

.bb-relacionado a:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--secondary);
	text-underline-offset: 0.25em;
}

/* Blog: resumo do artigo e capa. */
.bb-resumo {
	margin-block: var(--wp--preset--spacing--40);
}

.bb-resumo h2 {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--large);
}

.bb-capa img {
	aspect-ratio: 3 / 2;
}

/* ---------- RSVP dos Ateliês e planos da assinatura (0.1.2) ---------- */
.bb-rsvp {
	gap: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--blush);
	border-color: var(--wp--preset--color--blush-2);
}

.bb-rsvp .bb-script {
	font-size: var(--wp--preset--font-size--x-large);
}

.bb-planos {
	gap: var(--wp--preset--spacing--40);
}

.bb-plano {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.bb-plano > * {
	margin-block: 0;
}

.bb-plano img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--md);
}

.bb-plano__preco {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--primary);
}

.bb-plano .wp-block-buttons {
	margin-top: auto;
}

.bb-section--aviso {
	padding-block: var(--wp--preset--spacing--30);
}

.bb-plano__preco {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
}

/* Links do rodapé sempre claros, inclusive os que vêm de patterns (Atendimento). */
.bb-footer a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--on-dark);
}

/* Cabeçalho e rodapé mínimos (checkout e landing): logotipo menor. */
.bb-header-min .bb-marca img,
.bb-footer-min .bb-marca img {
	width: 120px !important;
}

/* =====================================================================
 * Eventos (Essentials, módulo Eventos): faixa, agenda e próximos ateliês
 * ===================================================================== */

/* Faixa superior: com um evento à venda, o aviso ocupa o lugar da frase (que volta quando não há eventos). */
.bb-topbar:has(.mdc-aviso-evento) .bb-topbar__text {
	display: none;
}
.bb-topbar__aviso {
	width: 100%;
	margin: 0;
	letter-spacing: 0.04em;
}
.bb-topbar .mdc-aviso-evento__nome {
	font-weight: 700;
}
.bb-topbar .mdc-aviso-evento__cta {
	color: var(--wp--preset--color--leaf);
}

/* Agenda: abertura curta, lista logo em seguida. */
.bb-agenda-topo.bb-section {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}
.bb-agenda-topo__titulo {
	margin-block: 0.25rem 0.5rem;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem);
}
.bb-agenda-topo .bb-lead {
	margin: 0;
}
.bb-agenda.bb-section {
	padding-top: var(--wp--preset--spacing--40);
}

/* Cartões de evento na identidade da Bloom Bar. */
.mdc-evento {
	border-color: var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--base);
}
.mdc-evento:hover,
.mdc-evento:focus-within {
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--brand--shadow, 0 10px 30px rgba(52, 57, 23, 0.08));
}
.mdc-evento__data {
	padding: 0.75rem 0.25rem;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--leaf-soft);
	color: var(--wp--preset--color--dark);
}
.mdc-evento__dia {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
}
.mdc-evento__mes {
	color: var(--wp--preset--color--primary);
}
.mdc-evento__titulo {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 500;
}
.mdc-evento__info {
	color: var(--wp--preset--color--primary);
}
.mdc-evento__resumo {
	color: var(--wp--preset--color--muted);
	opacity: 1;
}
.mdc-evento__vagas {
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--blush);
	color: var(--wp--preset--color--accent);
}
.mdc-evento.is-esgotado .mdc-evento__vagas {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
}
.mdc-evento__botao {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}
.mdc-eventos__mes-titulo {
	color: var(--wp--preset--color--accent);
	opacity: 1;
}
.mdc-eventos__vazio {
	padding: var(--wp--preset--spacing--40);
	border: 1px dashed var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--muted);
	text-align: center;
}
.bb-proximos__head {
	gap: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--40);
}
.bb-proximos__head .wp-block-heading {
	margin: 0;
}

/* Inscrições encerradas e dados do interessado. */
.mdc-evento-encerrado {
	border-color: var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}
.mdc-evento-encerrado__titulo {
	font-family: var(--wp--preset--font-family--heading);
}
.mdc-interessado__titulo {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
}
.mdc-interessado__campo input {
	border-color: var(--wp--preset--color--border);
	border-radius: var(--wp--custom--field--radius, 12px);
}
.mdc-interessado__campo input:focus-visible {
	outline-color: var(--wp--preset--color--primary);
}
.mdc-interessado__nota a {
	color: inherit;
}
.bb-agenda-topo__link {
	margin: 0.75rem 0 0;
}
.mdc-evento.has-foto .mdc-evento__data {
	background: var(--wp--preset--color--base);
}
