/* supplement.css — Crystal Canvas: generic supplement layer */

/* Brand tokens: primary = purple, secondary = gold (must stay distinct) */
:root {
	--nv-primary-accent: #3b007f;
	--nv-secondary-accent: #c6a337;
	--e-global-color-nvsitebg: #ffffff;
}

/*
 * Header "Virtual CC gallery" button.
 * Theme sets background via --nv-primary-accent and text via --nv-secondary-accent;
 * if both resolve to gold, the label disappears. Force readable contrast.
 */
.builder-item--button_base .component-wrap > a.button.button-primary,
.builder-item > .item--inner.builder-item--button_base > .component-wrap > a.button.button-primary {
	background-color: #c6a337 !important;
	color: #3b007f !important;
	border: 2px solid #c6a337 !important;
}
.builder-item--button_base .component-wrap > a.button.button-primary:hover,
.builder-item > .item--inner.builder-item--button_base > .component-wrap > a.button.button-primary:hover {
	background-color: transparent !important;
	color: #c6a337 !important;
	border-color: #c6a337 !important;
	opacity: 1;
}

/*
 * Site footer is included AFTER .wrapper closes. Neve’s sticky-footer pattern
 * (wrapper min-height:100vh + main flex:1) then fills the viewport, and the
 * footer sits below it — huge empty gap. Drop that forced height so content
 * + footer sit naturally on short pages.
 */
.wrapper {
	min-height: 0 !important;
}
.neve-main,
main {
	flex: 0 1 auto !important;
}

/* Gallery page (Elementor 572): compact layout + intact top bar */
.elementor-572 {
	width: 100%;
}
.elementor-572 .elementor-section.elementor-section-stretched {
	left: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-572 .elementor-element-231d08e {
	background-color: #3b007f;
}
.elementor-572 .elementor-element-231d08e .elementor-container {
	max-width: 1140px;
	margin: 0 auto;
}
.elementor-572 .elementor-element-231d08e .elementor-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.elementor-572 .elementor-element-d2d27e9,
.elementor-572 .elementor-element-49f892b {
	width: 50%;
}
.elementor-572 .elementor-element-bed6b18 {
	text-align: right;
}
.elementor-572 .elementor-element-bed6b18 .elementor-button {
	background-color: transparent !important;
	color: #fff !important;
	fill: #fff !important;
	font-family: Raleway, sans-serif;
	font-weight: 700;
}
/* Shrink oversized Elementor spacers on this short page */
.elementor-572 .elementor-element-6961709f .elementor-spacer-inner { height: 20px !important; }
.elementor-572 .elementor-element-cb875ba .elementor-spacer-inner { height: 12px !important; }
.elementor-572 .elementor-element-b00aa0e .elementor-spacer-inner { height: 16px !important; }
.elementor-572 .elementor-element-1bb74560 .elementor-heading-title {
	font-size: clamp(28px, 5vw, 60px);
	color: #c6a337;
	text-align: center;
}
.elementor-572 .elementor-element-12e42a8 {
	text-align: center;
	font-size: clamp(16px, 2vw, 22px);
}
/* App-store row */
.elementor-572 .elementor-element-c68599a .elementor-container {
	justify-content: center;
}
.elementor-572 .elementor-element-7442c98,
.elementor-572 .elementor-element-28d5853 {
	text-align: center;
}
.elementor-572 .elementor-element-7442c98 .elementor-image,
.elementor-572 .elementor-element-28d5853 .elementor-image {
	display: inline-block;
}
.elementor-572 .elementor-element-fcb0c9a .elementor-divider {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}
/* Sitewide footer under short gallery content */
.page-id-572 .site-footer,
.elementor-page-572 .site-footer {
	margin-top: 0;
}
.romlifooter img {
	max-width: 120px;
	height: auto;
}
@media (max-width: 767px) {
	.elementor-572 .elementor-element-d2d27e9 { width: 45%; }
	.elementor-572 .elementor-element-49f892b { width: 55%; }
	.elementor-572 .elementor-element-bed6b18 .elementor-button { font-size: 12px; }
}
