/* ==========================================================================
   Egg Break Factory Process Timeline Elementor Widget Styling
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

.elementor-widget-egg_break_process_timeline {
	display: block;
	width: 100%;
	overflow: visible !important;
}

.elementor-widget-egg_break_process_timeline *,
.elementor-widget-egg_break_process_timeline *::before,
.elementor-widget-egg_break_process_timeline *::after {
	box-shadow: none !important;
	text-shadow: none !important;
}

/* Prevent white flash or repaint glitch during GSAP pinning boundary */
.pin-spacer {
	background: transparent !important;
}

/* Outer Section Container */
.egg-break-process-track {
	position: relative;
	width: 100%;
	min-height: 100vh;
	height: 100vh;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}

/* Inner Stage Container */
.egg-break-process-sticky-container {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.egg-break-process-stage {
	position: relative;
	width: 100%;
	max-width: 1360px;
	height: 100%;
	max-height: 900px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Central Content Container */
.egg-break-process-center-content {
	position: relative;
	z-index: 10;
	max-width: 540px;
	text-align: center;
	padding: 0 16px;
	box-sizing: border-box;
	margin: 0 auto;
}

/* Pre-title Tag */
.egg-break-process-tag {
	display: inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 12px;
}

/* Main Heading Title */
.egg-break-process-title {
	font-family: 'Inter', sans-serif;
	font-size: 38px;
	font-weight: 800;
	line-height: 1.25;
	color: #FFFFFF;
	margin: 0 0 16px 0;
}

/* Sticker Highlight Badge */
.egg-break-process-sticker-badge {
	display: inline-block;
	background-color: #E23F97;
	color: #FFFFFF;
	padding: 4px 18px;
	border-radius: 8px;
	font-weight: 800;
	transform: rotate(-2deg);
	margin: 0 4px;
}

/* Subtitle Headline */
.egg-break-process-subtitle {
	font-family: 'Inter', sans-serif;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	color: #FFFFFF;
	margin: 0 0 14px 0;
}

/* Description Text Block */
.egg-break-process-desc {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.95);
	margin: 0 auto 10px auto;
	max-width: 500px;
}

.egg-break-process-desc-sub {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.9);
	margin: 0 auto;
	max-width: 460px;
}

/* ==========================================================================
   PROCESS STEP CARDS (RADIAL POSITIONS MATCHING REFERENCE SCREENSHOT 2)
   ========================================================================== */

.egg-break-process-card {
	position: absolute;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 220px;
	box-sizing: border-box;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* Override in Elementor Editor Mode & Static Fallback */
body.elementor-editor-active .egg-break-process-card,
.elementor-editor-active .egg-break-process-card {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
}

.egg-break-process-card:hover {
	transform: translateY(-6px) scale(1.06) !important;
	z-index: 20;
}

/* Icon Box Frame - matching reference screenshot squircle */
.egg-break-process-icon-box {
	width: 110px;
	height: 110px;
	border-radius: 18px;
	background-color: #FCD746;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
	padding: 16px;
	box-sizing: border-box;
	transition: transform 0.3s ease;
}

.egg-break-process-icon-box img,
.egg-break-process-icon-box svg {
	width: 100%;
	height: 100%;
	max-width: 72px;
	max-height: 72px;
	object-fit: contain;
	display: block;
}

/* Item Title Below Box (Matches tile image box width so word wrap aligns with tile boundaries) */
.egg-break-process-card-title {
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 19px;
	letter-spacing: 0%;
	color: #FFFFFF;
	margin: 0;
	word-break: normal;
	width: 100%;
	max-width: 130px;
	text-align: center;
}

/* ==========================================================================
   EXACT ASYMMETRIC STAGGERED FIGMA PLACEMENT & INDIVIDUAL TILE SIZING (DESKTOP)
   ========================================================================== */

/* 1. Automated Collection (Bottom Left) */
.egg-break-process-card.pos-bottom-left {
	left: 17%;
	bottom: 12%;
}

/* 2. Visual Pre-Inspection (Far Left Middle) */
.egg-break-process-card.pos-far-left {
	left: 5%;
	top: 46%;
}

/* 3. Washing & UV Sanitization (Top Left) */
.egg-break-process-card.pos-top-left {
	left: 17%;
	top: 9%;
}

/* 4. AI-based crack detection (Top Center-Left) */
.egg-break-process-card.pos-top-center {
	left: 41%;
	top: 7%;
}

/* 5. Weight Grading (Top Right) */
.egg-break-process-card.pos-top-right {
	right: 21%;
	top: 3%;
}

/* 6. Dirt/Blood-Spot Detection (Middle Right) */
.egg-break-process-card.pos-far-right-top {
	right: 6%;
	top: 25%;
}

/* 7. Automated Sorting & Packing (Lower Right) */
.egg-break-process-card.pos-far-right-bottom {
	right: 6%;
	top: 49%;
}

/* 8. Blast Freezing / Cold Storage (Bottom Right) */
.egg-break-process-card.pos-bottom-right {
	right: 18%;
	bottom: 3%;
}

/* Individual Tile Sizing Overrides (Desktop Only - No per-tile overrides on Mobile) */
@media (min-width: 769px) {
	.egg-break-process-card.pos-bottom-left .egg-break-process-icon-box {
		width: 110px;
		height: 110px;
	}
	.egg-break-process-card.pos-far-left .egg-break-process-icon-box {
		width: 115px;
		height: 115px;
	}
	.egg-break-process-card.pos-top-left .egg-break-process-icon-box {
		width: 120px;
		height: 120px;
	}
	.egg-break-process-card.pos-top-center .egg-break-process-icon-box {
		width: 120px;
		height: 120px;
	}
	.egg-break-process-card.pos-top-right .egg-break-process-icon-box {
		width: 135px;
		height: 135px;
	}
	.egg-break-process-card.pos-top-right .egg-break-process-icon-box img,
	.egg-break-process-card.pos-top-right .egg-break-process-icon-box svg {
		max-width: 85px;
		max-height: 85px;
	}
	.egg-break-process-card.pos-far-right-top .egg-break-process-icon-box {
		width: 115px;
		height: 115px;
	}
	.egg-break-process-card.pos-far-right-bottom .egg-break-process-icon-box {
		width: 115px;
		height: 115px;
	}
	.egg-break-process-card.pos-bottom-right .egg-break-process-icon-box {
		width: 140px;
		height: 140px;
	}
	.egg-break-process-card.pos-bottom-right .egg-break-process-icon-box img,
	.egg-break-process-card.pos-bottom-right .egg-break-process-icon-box svg {
		max-width: 88px;
		max-height: 88px;
	}
}

/* Responsive Rules for Laptops & Tablets */
@media (max-width: 1280px) and (min-width: 769px) {
	.egg-break-process-title {
		font-size: 34px;
	}
	.egg-break-process-subtitle {
		font-size: 17px;
	}
	.egg-break-process-icon-box {
		width: 95px;
		height: 95px;
		border-radius: 20px;
		padding: 15px;
	}
	.egg-break-process-card-title {
		font-size: 13px;
	}
	.egg-break-process-card.pos-bottom-left { left: 15%; bottom: 5%; }
	.egg-break-process-card.pos-far-left { left: 2%; top: 45%; }
	.egg-break-process-card.pos-top-left { left: 16%; top: 6%; }
	.egg-break-process-card.pos-top-center { left: 50%; margin-left: -80px; top: 1%; }
	.egg-break-process-card.pos-top-right { right: 18%; top: 2%; }
	.egg-break-process-card.pos-far-right-top { right: 4%; }
	.egg-break-process-card.pos-far-right-bottom { right: 2%; }
	.egg-break-process-card.pos-bottom-right { right: 15%; bottom: 5%; }
}

@media (max-width: 768px), body.elementor-device-mobile {
	.egg-break-process-track {
		height: auto !important;
		min-height: auto !important;
		max-height: none !important;
		padding: 40px 16px !important;
	}
	.egg-break-process-sticky-container {
		position: relative !important;
		height: auto !important;
		min-height: auto !important;
	}
	.egg-break-process-stage {
		display: flex;
		flex-direction: column;
		align-items: center;
		height: auto !important;
		max-height: none !important;
		gap: 20px;
	}
	.egg-break-process-center-content {
		max-width: 100% !important;
		padding: 0;
		margin-bottom: 8px;
	}
	.egg-break-process-title {
		font-size: 26px !important;
	}
	.egg-break-process-subtitle {
		font-size: 16px !important;
	}
	.egg-break-process-desc,
	.egg-break-process-desc-sub {
		font-size: 13.5px !important;
		max-width: 100% !important;
	}
	.egg-break-process-card {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		margin: 0 auto !important;
		width: auto !important;
		max-width: 280px !important;
		box-sizing: border-box !important;
	}
	.egg-break-process-card .egg-break-process-icon-box,
	.egg-break-process-card[class*="pos-"] .egg-break-process-icon-box {
		margin: 0 auto 10px auto !important;
	}
	.egg-break-process-card .egg-break-process-icon-box img,
	.egg-break-process-card .egg-break-process-icon-box svg,
	.egg-break-process-card[class*="pos-"] .egg-break-process-icon-box img,
	.egg-break-process-card[class*="pos-"] .egg-break-process-icon-box svg {
		width: 60%;
		height: 60%;
		max-width: 75%;
		max-height: 75%;
		object-fit: contain;
	}
	.egg-break-process-card-title {
		font-size: 14.5px !important;
		line-height: 19px !important;
		max-width: 140px !important;
		margin: 0 auto !important;
		text-align: center !important;
	}

	.egg-break-process-mobile-nav {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 16px;
		margin-top: 14px;
	}
	.egg-break-mobile-nav-btn {
		width: 32px;
		height: 32px;
		border-radius: 50%;
		border: 1.5px solid #FFFFFF;
		background: transparent;
		color: #FFFFFF;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: all 0.25s ease;
	}
	.egg-break-mobile-nav-btn:hover {
		background: #E23F97;
		border-color: #E23F97;
	}
	.egg-break-mobile-step-counter {
		font-family: 'Inter', sans-serif;
		font-size: 14px;
		font-weight: 600;
		color: #FFFFFF;
		letter-spacing: 0.5px;
	}
}

@media (min-width: 769px) {
	body:not(.elementor-device-mobile) .egg-break-process-mobile-nav {
		display: none !important;
	}
}

