:root {
	--cq-site-gutter: 20px;
	--cq-site-header-z: 1030;
	--cq-site-header-offset: 0px;
	--cq-sticky-header-height: 6.5rem;
	--cq-sticky-panel-gap: 1rem;
	--cq-z-sticky-panel: 10;
	--cq-z-dropdown: 1040;
	--cq-z-fixed-ui: 1050;
	--cq-z-skip-link: 2000;
	--cq-container-radius: 0;
	--cq-button-radius: 30px;
	--bs-border-radius: 0;
	--bs-border-radius-sm: 0;
	--bs-border-radius-lg: 0;
	--bs-border-radius-xl: 0;
	--bs-border-radius-xxl: 0;
	--bs-border-radius-pill: 30px;
	--bs-btn-border-radius: 30px;
	--bs-btn-border-radius-sm: 30px;
	--bs-btn-border-radius-lg: 30px;
}

@media (min-width: 768px) {
	:root {
		--cq-site-gutter: 28px;
	}
}

body.admin-bar {
	--cq-site-header-offset: var(--wp-admin--admin-bar--height, 32px);
}

.cq-header-sticky .cq-header-sticky-enabled {
	position: sticky;
	top: var(--cq-site-header-offset, 0px);
	z-index: var(--cq-site-header-z, 1030);
	background-color: var(--cq-header-bg, var(--cq-body-bg));
}

.cq-header-sticky .cq-header-surface.cq-header-sticky-enabled,
.cq-header-sticky .cq-header-boxed-shell.cq-header-sticky-enabled {
	top: var(--cq-site-header-offset, 0px);
	z-index: var(--cq-site-header-z, 1030);
	background-color: var(--cq-header-bg, var(--cq-body-bg));
}

.cq-header-sticky .cq-header-surface.cq-header-sticky-enabled .cq-site-header,
.cq-header-sticky .cq-header-boxed-shell .cq-site-header {
	position: static;
	z-index: auto;
}

/* Sticky header only applies at desktop widths (Bootstrap's lg breakpoint).
   Keep in sync with assets/scss/layout/_header.scss. */
@media (max-width: 991.98px) {
	.cq-header-sticky .cq-header-sticky-enabled,
	.cq-header-sticky .cq-header-surface.cq-header-sticky-enabled,
	.cq-header-sticky .cq-header-boxed-shell.cq-header-sticky-enabled {
		position: relative;
		top: auto;
	}
}

.cq-header-bottom {
	z-index: inherit;
}

.cq-primary-nav .dropdown-menu {
	z-index: calc(var(--cq-site-header-z, 1030) + 1);
}

#main-content,
.cq-main {
	position: relative;
	z-index: 0;
}

body.cq-layout-boxed #main-content > .container,
body.cq-layout-boxed .cq-main > .container,
body.cq-layout-boxed #main-content > .container-fluid,
body.cq-layout-boxed .cq-main > .container-fluid {
	max-width: var(--cq-container, 1140px);
}

.cq-layout-row {
	align-items: flex-start;
	width: 100%;
}

.cq-layout-content,
.cq-sidebar {
	min-width: 0;
}

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

.cq-layout-content .entry-content > .alignwide,
.cq-layout-content .entry-content > .alignfull,
.cq-layout-content .alignwide,
.cq-layout-content .alignfull {
	max-width: 100%;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.cq-layout-content {
	position: relative;
	z-index: 1;
	min-width: 0;
	max-width: 100%;
}

.cq-layout-content .entry-content {
	min-width: 0;
	max-width: 100%;
}

#site-header.cq-site-header,
.cq-site-header,
.cq-header-bottom {
	width: 100%;
	max-width: 100%;
	background-color: var(--cq-header-bg, var(--cq-body-bg));
	color: var(--cq-header-color, var(--cq-body-color));
}

.cq-site-header.navbar {
	--bs-navbar-bg: var(--cq-header-bg, var(--cq-body-bg));
	--bs-navbar-color: var(--cq-header-color, var(--cq-body-color));
}

.cq-header-surface,
.cq-header-boxed-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	background-color: var(--cq-header-bg, var(--cq-body-bg));
	color: var(--cq-header-color, var(--cq-body-color));
}

/* Full-width is the default: no max-width cap, just the site gutter.
   Boxed is opt-in via the `.cq-header-boxed` body class (Customizer ->
   Header Width: Boxed). Keep this in sync with assets/scss/layout/_header.scss. */
.cq-header-surface .cq-site-header > .container,
.cq-header-surface .cq-site-header > .container-fluid,
.cq-header-surface .cq-site-header > .cq-header-inner,
.cq-header-surface .cq-header-bottom > .container,
.cq-header-surface .cq-header-bottom > .container-fluid,
.cq-header-boxed-shell .cq-site-header > .container,
.cq-header-boxed-shell .cq-site-header > .container-fluid,
.cq-header-boxed-shell .cq-site-header > .cq-header-inner,
.cq-header-boxed-shell .cq-header-bottom > .container,
.cq-header-boxed-shell .cq-header-bottom > .container-fluid {
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--cq-site-gutter, 28px);
	padding-right: var(--cq-site-gutter, 28px);
}

body.cq-header-boxed .cq-header-surface .cq-site-header > .container,
body.cq-header-boxed .cq-header-surface .cq-site-header > .container-fluid,
body.cq-header-boxed .cq-header-surface .cq-site-header > .cq-header-inner,
body.cq-header-boxed .cq-header-surface .cq-header-bottom > .container,
body.cq-header-boxed .cq-header-surface .cq-header-bottom > .container-fluid,
body.cq-header-boxed .cq-header-boxed-shell .cq-site-header > .container,
body.cq-header-boxed .cq-header-boxed-shell .cq-site-header > .container-fluid,
body.cq-header-boxed .cq-header-boxed-shell .cq-site-header > .cq-header-inner,
body.cq-header-boxed .cq-header-boxed-shell .cq-header-bottom > .container,
body.cq-header-boxed .cq-header-boxed-shell .cq-header-bottom > .container-fluid {
	max-width: var(--cq-container, 1140px);
}

/* Fallback grid when Bootstrap CSS is missing (CDN blocked or theme ZIP built without npm run build). */
.cq-layout-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.cq-layout-row > .cq-layout-content,
.cq-layout-row > .cq-sidebar {
	max-width: 100%;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.cq-layout-row > .col-lg-8,
	.cq-layout-row > .cq-layout-content.col-lg-8 {
		flex: 0 0 auto;
		width: 66.66666667%;
	}

	.cq-layout-row > .col-lg-9,
	.cq-layout-row > .cq-layout-content.col-lg-9 {
		flex: 0 0 auto;
		width: 75%;
	}

	.cq-layout-row > .col-lg-6,
	.cq-layout-row > .cq-layout-content.col-lg-6 {
		flex: 0 0 auto;
		width: 50%;
	}

	.cq-layout-row > .col-lg-4,
	.cq-layout-row > .cq-sidebar.col-lg-4 {
		flex: 0 0 auto;
		width: 33.33333333%;
	}

	.cq-layout-row > .col-lg-3,
	.cq-layout-row > .cq-sidebar.col-lg-3 {
		flex: 0 0 auto;
		width: 25%;
	}
}

@media (min-width: 992px) {
	.cq-sidebar {
		position: sticky;
		top: calc(var(--cq-site-header-offset, 0px) + var(--cq-sticky-header-height, 6.5rem) + var(--cq-sticky-panel-gap, 1rem));
		z-index: var(--cq-z-sticky-panel, 10);
		align-self: flex-start;
		isolation: isolate;
	}

	.cq-sidebar .widget {
		position: relative;
		z-index: auto;
	}

	.cq-sidebar .forminator-ui,
	.cq-sidebar .forminator-button,
	.cq-sidebar .forminator-field,
	.cq-sidebar .cf-turnstile,
	.cq-sidebar iframe {
		position: relative;
		z-index: auto !important;
	}
}

.cq-back-to-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	line-height: 1;
	z-index: var(--cq-z-fixed-ui, 1050);
}

.cq-back-to-top span {
	display: block;
	line-height: 1;
	font-size: 1.25rem;
}

.cq-skip-link {
	z-index: var(--cq-z-skip-link, 2000);
}

@media (min-width: 992px) {
	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-header-collapse,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-header-collapse {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0;
		justify-content: flex-end;
	}

	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-header-bar-end,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-header-bar-end {
		margin-left: auto !important;
		width: auto;
		max-width: 100%;
		flex: 0 1 auto;
		justify-content: flex-end;
	}

	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-primary-nav,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-primary-nav {
		flex: 0 1 auto !important;
		min-width: 0;
		max-width: 100%;
	}

	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-primary-nav > .navbar-nav,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-primary-nav > .navbar-nav {
		flex-wrap: wrap !important;
		justify-content: flex-end;
		row-gap: 0.15rem;
		max-width: 100%;
	}

	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-primary-nav .nav-link,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-primary-nav .nav-link {
		padding-left: 0.55rem;
		padding-right: 0.55rem;
	}

	.cq-header-logo-left .cq-site-header.navbar-expand-lg .cq-header-actions-desktop,
	.cq-header-split-nav .cq-site-header.navbar-expand-lg .cq-header-actions-desktop {
		margin-left: 0 !important;
		flex: 0 0 auto;
	}
}

.cq-site-footer {
	width: 100%;
	max-width: 100%;
}

.cq-site-footer .cq-footer-inner {
	margin-left: auto;
	margin-right: auto;
}

body.cq-layout-boxed .cq-site-footer .cq-footer-inner {
	max-width: var(--cq-container, 1140px);
}

.cq-footer-bar .cq-footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.cq-footer-bar--copyright-only .cq-footer-copyright {
	width: 100%;
	text-align: center;
}

.cq-footer-widget-placeholder {
	background-color: rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.03);
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.alert,
.form-control,
.form-select,
.input-group-text,
.accordion-item,
.toast,
.offcanvas,
.pagination .page-link,
.nav-tabs .nav-link,
.cq-hero-banner,
.cq-block-hero,
.cq-footer-widget-placeholder,
.tab-content,
.carousel-inner,
.carousel-caption,
.cq-mini-cart-panel,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.rounded,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-4,
.rounded-5,
.rounded-top,
.rounded-bottom,
.rounded-start,
.rounded-end {
	border-radius: var(--cq-container-radius, 0) !important;
}

.btn,
button.btn,
a.btn,
input[type="submit"].btn,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-block-button__link,
.cq-header-cta,
.cq-newsletter-form .btn {
	border-radius: var(--cq-button-radius, 30px) !important;
}

.rounded-circle,
.avatar.rounded-circle,
img.rounded-circle,
.cq-back-to-top.rounded-circle {
	border-radius: 50% !important;
}

@media (max-width: 991.98px) {
	.cq-site-header .cq-header-row--logo-left {
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem;
	}

	.cq-site-header .cq-header-row--logo-left .cq-site-branding {
		order: 1;
		flex: 0 0 100%;
		max-width: 100%;
		display: flex;
		justify-content: center;
	}

	.cq-site-header .cq-header-row--logo-left .cq-navbar-toggler {
		order: 3;
		margin-left: auto !important;
	}

	.cq-site-header .cq-header-row--logo-left .cq-header-collapse {
		order: 4;
	}

	.cq-site-header .cq-header-row--logo-left .cq-header-cta-mobile-standalone {
		order: 2;
		flex: 0 0 100%;
		display: flex;
		justify-content: center;
	}

	.cq-site-header {
		--cq-logo-max-height-mobile: 82px;
		--cq-logo-max-width-mobile: 320px;
	}

	.cq-header-cta-mobile-standalone {
		padding-top: 0.75rem;
	}

	.cq-header-cta-mobile-standalone .cq-header-cta {
		width: auto;
		line-height: 1.2;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 575.98px) {
	.cq-site-header .cq-header-collapse {
		padding-bottom: 0;
	}

	.cq-header-cta-mobile-standalone {
		padding-bottom: 20px;
	}

	.cq-header-cta-mobile-standalone .cq-header-cta {
		width: auto !important;
		align-self: auto;
		margin-left: auto;
		margin-right: auto;
	}
}
