/* Significo theme builder: header behavior, popups, off-canvas, mega menu. */

/* Header behavior */

.sgc-location--header {
	position: relative;
	z-index: 90;
}

.sgc-header--sticky {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.sgc-header--transparent {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	left: 0;
}

.sgc-header--transparent.sgc-header--sticky {
	position: fixed;
}

.sgc-header--sticky.is-scrolled {
	background-color: var(--sgc-scrolled-bg, transparent);
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.08);
}

.sgc-header--sticky-up.is-hidden {
	transform: translateY(-110%);
}

.sgc-header--shrink > .elementor > .e-con {
	transition: padding 0.3s ease;
}

.sgc-header--shrink.is-scrolled > .elementor > .e-con {
	--padding-top: 8px;
	--padding-bottom: 8px;
}

.sgc-header--shrink .sgc-logo img {
	transform-origin: left center;
	transition: transform 0.3s ease;
}

.sgc-header--shrink.is-scrolled .sgc-logo img {
	transform: scale(0.85);
}

/* The WordPress admin bar scrolls away on small phones. */
@media (max-width: 600px) {
	.sgc-header--sticky,
	.sgc-header--transparent {
		top: 0;
	}
}

/* Popups and off-canvas share the dialog shell. */

.sgc-dialog[hidden] {
	display: none;
}

.sgc-dialog {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: flex;
	pointer-events: none;
}

.sgc-dialog__overlay {
	position: absolute;
	inset: 0;
	background: var(--sgc-overlay, rgb(0 0 0 / 0.6));
	opacity: 0;
	pointer-events: auto;
	transition: opacity 0.3s ease;
}

.sgc-dialog__box {
	position: relative;
	max-height: 100%;
	overflow-y: auto;
	background: #fff;
	color: #12161c;
	pointer-events: auto;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.sgc-dialog__box:focus {
	outline: none;
}

.sgc-dialog__close {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 10px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: calc(50% * var(--sg-radius-scale, 1));
	background: color-mix(in srgb, currentColor 10%, transparent);
	color: inherit;
	font-size: 22px;
	line-height: 36px;
	cursor: pointer;
}

.sgc-dialog__close:hover {
	background: color-mix(in srgb, currentColor 18%, transparent);
}

/* sg-ui-guard: the close button keeps its own shape and colors when Elementor's global button
   style (Site Settings → Buttons, or Theme Options → Buttons & forms) targets every <button>. */
.sgc-dialog__close:not(#sg-ui) {
	padding: 0;
	border: 0;
	border-radius: calc(50% * var(--sg-radius-scale, 1));
	background: color-mix(in srgb, currentColor 10%, transparent);
	color: inherit;
	font-size: 22px;
	line-height: 36px;
}

.sgc-dialog__close:hover:not(#sg-ui) {
	background: color-mix(in srgb, currentColor 18%, transparent);
}

.sgc-dialog.is-open .sgc-dialog__overlay {
	opacity: 1;
}

body.sgc-dialog-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.sgc-dialog__overlay,
	.sgc-dialog__box {
		transition: none;
	}
}

/* Popup positions */

.sgc-popup .sgc-dialog__box {
	width: min(var(--sgc-popup-width, 600px), calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	margin: 16px;
	border-radius: calc(12px * var(--sg-radius-scale, 1));
	box-shadow: 0 24px 64px rgb(0 0 0 / 0.25);
	opacity: 0;
}

.sgc-popup--center { align-items: center; justify-content: center; }
.sgc-popup--top { align-items: flex-start; justify-content: center; }
.sgc-popup--bottom { align-items: flex-end; justify-content: center; }
.sgc-popup--bottom-right { align-items: flex-end; justify-content: flex-end; }
.sgc-popup--bottom-left { align-items: flex-end; justify-content: flex-start; }

.sgc-popup--bottom-right .sgc-dialog__overlay,
.sgc-popup--bottom-left .sgc-dialog__overlay {
	display: none;
}

.sgc-popup--fade .sgc-dialog__box { transform: none; }
.sgc-popup--slide .sgc-dialog__box { transform: translateY(40px); }
.sgc-popup--zoom .sgc-dialog__box { transform: scale(0.9); }

.sgc-popup.is-open .sgc-dialog__box {
	opacity: 1;
	transform: none;
}

/* Off-canvas */

.sgc-offcanvas .sgc-dialog__box {
	width: min(var(--sgc-offcanvas-width, 360px), 90vw);
	height: 100%;
	max-height: none;
	padding-top: 48px;
}

.sgc-offcanvas--right { justify-content: flex-end; }
.sgc-offcanvas--right .sgc-dialog__box { transform: translateX(100%); }
.sgc-offcanvas--left .sgc-dialog__box { transform: translateX(-100%); }
.sgc-offcanvas.is-open .sgc-dialog__box { transform: none; }

.admin-bar .sgc-offcanvas .sgc-dialog__box {
	padding-top: calc(48px + var(--wp-admin--admin-bar--height, 0px));
}

/* Off-canvas toggle */

.sgc-offcanvas-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.sgc-offcanvas-toggle__bars,
.sgc-offcanvas-toggle__bars::before,
.sgc-offcanvas-toggle__bars::after {
	display: block;
	width: 24px;
	height: 2px;
	background: currentColor;
	content: "";
}

.sgc-offcanvas-toggle__bars {
	position: relative;
}

.sgc-offcanvas-toggle__bars::before { position: absolute; top: -7px; }
.sgc-offcanvas-toggle__bars::after { position: absolute; top: 7px; }

/* Mega menu */

.sgc-nav:not(.is-mobile) .sgc-nav__menu > li.sgc-has-mega {
	position: static;
}

.sgc-nav:not(.is-mobile) .sgc-nav__menu > li.sgc-has-mega.sgc-mega--px {
	position: relative;
}

.sgc-has-mega > .sub-menu {
	display: none !important;
}

.sgc-mega {
	position: absolute;
	z-index: 100;
	top: 100%;
	right: 0;
	left: 0;
	overflow: hidden;
	border-radius: calc(8px * var(--sg-radius-scale, 1));
	background: var(--sgc-nav-dropdown-bg, #fff);
	box-shadow: 0 18px 44px rgb(0 0 0 / 0.12);
	display: none;
}

.sgc-mega--px > .sgc-mega {
	right: auto;
	left: -18px;
	width: var(--sgc-mega-width, 640px);
}

.sgc-nav__menu li:hover > .sgc-mega,
.sgc-nav__menu li:focus-within > .sgc-mega {
	display: block;
	animation: sgc-drop-in 0.15s ease-out;
}

.sgc-nav.is-mobile .sgc-nav__menu .sgc-mega {
	display: none;
	position: static;
	width: auto !important;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
}

.sgc-nav.is-mobile .sgc-nav__menu li.is-expanded > .sgc-mega {
	display: block;
}

/* Saved layout widget / shortcode */

.sgc-saved-layout:empty {
	display: none;
}
