/* Layout/interaction glue for pieces Elementor Free's controls can't express on their own.
   Every visual element itself is a real Elementor widget/container — these rules only handle
   sticky/fixed positioning offsets, hover-reveal, and simple crop/scroll behaviour. */

.gi-site-header {
	position: sticky;
	top: 0;
	z-index: 60;
}

.gi-hero {
	position: relative;
	overflow: hidden;
}
.gi-hero-slides,
.gi-hero-slide,
.gi-hero-slide .gi-media-cover {
	top: 0;
	left: 0;
}
.gi-hero-slide {
	opacity: 0;
	transition: opacity 1s ease;
	pointer-events: none;
	z-index: 0;
}
.gi-hero-slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}
.gi-hero-bottom-bar {
	left: 0;
	bottom: 0;
	z-index: 5;
}
.gi-hero-dot {
	width: 58px !important;
	height: 2px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	cursor: pointer;
}
.gi-hero-dot.is-active {
	background: #ffffff !important;
}

.gi-nav-clothing-wrap {
	position: relative;
}
.gi-mega-panel {
	left: 0;
	top: 100%;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	transition: max-height .38s cubic-bezier(.2,.7,.2,1), opacity .28s ease;
	z-index: 50;
}
.gi-nav-clothing-wrap:hover .gi-mega-panel,
.gi-nav-clothing-wrap.is-open .gi-mega-panel {
	max-height: 600px;
	opacity: 1;
	pointer-events: auto;
}
.gi-mega-card {
	transition: border-color .28s ease;
}
.gi-mega-card:hover {
	border-color: #000000 !important;
}

.gi-whatsapp-fixed {
	top: auto !important;
	left: auto !important;
	right: 26px !important;
	bottom: 26px !important;
	width: 54px !important;
	height: 54px !important;
	flex-shrink: 0;
	border-radius: 50%;
	transition: transform .25s ease;
	z-index: 90;
}
.gi-whatsapp-fixed:hover {
	transform: translateY(-3px);
}

.gi-faq-sticky {
	position: sticky;
	top: 200px;
	align-self: start;
}

.gi-media-cover {
	overflow: hidden;
}
.gi-media-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
a:hover .gi-media-cover img {
	transform: scale(1.05);
}
.gi-grid-span-2 { grid-column: span 2; }
.gi-ratio-16-10 { aspect-ratio: 16 / 10; }
.gi-ratio-1-1   { aspect-ratio: 1 / 1; }
.gi-ratio-4-5   { aspect-ratio: 4 / 5; }
.gi-ratio-3-4   { aspect-ratio: 3 / 4; }

.gi-gallery-strip {
	overflow-x: auto;
}
.gi-gallery-item {
	flex-shrink: 0;
}

.gi-utility-bar a:hover {
	color: #ffffff !important;
}

@media (max-width: 1024px) {
	.gi-mega-panel {
		position: fixed !important;
	}
}
