/* ==========================================================================
   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;
}

/* 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;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
}

/* 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;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.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;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* 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;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* 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;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* 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;
	box-shadow: 0 4px 14px rgba(226, 63, 151, 0.4);
}

/* 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;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

/* 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;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

.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;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   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: 170px;
	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 rounded square */
.egg-break-process-icon-box {
	width: 115px;
	height: 115px;
	border-radius: 26px;
	background-color: #FCD746;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
	margin-bottom: 10px;
	padding: 18px;
	box-sizing: border-box;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.egg-break-process-card:hover .egg-break-process-icon-box {
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
}

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

/* Item Title Below Box (Figma Specs: max-width 287px, Inter 18px / 23px line-height, reserved min-height) */
.egg-break-process-card-title {
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 23px;
	letter-spacing: 0%;
	color: #FFFFFF;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7), 0 0 2px rgba(0, 0, 0, 0.8);
	margin: 0;
	word-break: break-word;
	max-width: 287px;
	min-height: 46px; /* Reserved line height budget for 2 lines */
}

/* ==========================================================================
   EXACT RADIAL POSITIONING (NO TRANSFORM CONFLICTS, AI CARD ELEVATED ABOVE HEADER)
   ========================================================================== */

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

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

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

/* 4. AI-based crack detection (Top Center - Step 4 - ELEVATED ABOVE LOREM IPSUM) */
.egg-break-process-card.pos-top-center {
	left: 50%;
	margin-left: -85px;
	top: 2%;
}

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

/* 6. Dirt/Blood-Spot Detection (Far Right Top - Step 6) */
.egg-break-process-card.pos-far-right-top {
	right: 5%;
	top: 22%;
}

/* 7. Automated Sorting & Packing (Far Right Bottom - Step 7) */
.egg-break-process-card.pos-far-right-bottom {
	right: 3%;
	top: 48%;
}

/* 8. Blast Freezing (Bottom Right - Step 8) */
.egg-break-process-card.pos-bottom-right {
	right: 17%;
	bottom: 6%;
}

/* Responsive Rules for Laptops & Tablets */
@media (max-width: 1280px) {
	.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: 991px) {
	.egg-break-process-track {
		height: auto !important;
		min-height: auto !important;
		max-height: none !important;
		padding: 60px 20px;
	}
	.egg-break-process-sticky-container {
		position: relative !important;
		height: auto !important;
		min-height: auto !important;
	}
	.egg-break-process-stage {
		display: flex;
		flex-direction: column;
		height: auto !important;
		max-height: none !important;
		gap: 30px;
	}
	.egg-break-process-card {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		width: 100% !important;
		max-width: 280px !important;
		margin-left: 0 !important;
	}
}
