/* === FBG UI === */

.fbg-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 3px;
	background: linear-gradient(90deg, #B89863 0%, #D4B783 100%);
	z-index: 9999;
	pointer-events: none;
	transition: width 0.05s linear;
}

.fbg-back-to-top {
	position: fixed;
	bottom: 1.5rem;
	left: 1.5rem;
	width: 44px;
	height: 44px;
	background: #06101D;
	color: #B89863;
	border: 1px solid #B89863;
	border-radius: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, background 0.2s ease, color 0.2s ease;
	z-index: 998;
}
.fbg-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.fbg-back-to-top:hover, .fbg-back-to-top:focus-visible {
	background: #B89863;
	color: #06101D;
	outline: none;
}
.fbg-back-to-top svg { width: 18px; height: 18px; display: block; }
@media (max-width: 600px) {
	.fbg-back-to-top { bottom: 1rem; left: 1rem; width: 40px; height: 40px; }
}

/* === HERO === */
.fbg-hero {
	position: relative;
	background-color: #06101D;
	background-size: cover;
	background-position: 78% 50%;
	background-repeat: no-repeat;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.fbg-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #06101D 0%, #06101D 30%, rgba(6,16,29,0.95) 46%, rgba(6,16,29,0.55) 64%, rgba(6,16,29,0.05) 90%, rgba(6,16,29,0) 100%);
	pointer-events: none;
	z-index: 0;
}
.fbg-hero > * { position: relative; z-index: 1; }
.fbg-hero__inner {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 3rem 4rem;
	box-sizing: border-box;
}
.fbg-hero__col { max-width: 540px; }
@media (max-width: 900px) {
	.fbg-hero { min-height: 560px; }
	.fbg-hero__inner { padding: 2.5rem 1.5rem; }
	.fbg-hero::before {
		background: linear-gradient(180deg, rgba(6,16,29,0.95) 0%, rgba(6,16,29,0.85) 60%, rgba(6,16,29,0.75) 100%);
	}
}

/* Zera margens entre os 3 filhos diretos de .wp-site-blocks (header / main / footer)
   — o is-layout-flow aplica margin-block-start: var(--wp--style--block-gap) que cria
   24px de faixa off-white entre eles. */
.wp-site-blocks > main,
.wp-site-blocks > main.wp-block-group,
.wp-site-blocks > footer,
.wp-site-blocks > header,
.wp-site-blocks > .wp-block-template-part {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}
.wp-site-blocks > main > *,
.wp-site-blocks > main > .entry-content > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
