/* Bundle V3 Styles - Unique Alternating Zigzag Design */
/* Section Header V3 - Elegant Minimalist */
.bundle-v3-section .section-header {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-bottom: 40px;
	text-align: center;
	position: relative;
}

.bundle-v3-section .section-header::after {
	content: '';
	position: absolute;
	bottom: -18px;
	left: 50%;
	transform: translateX(-50%);
	width: 120px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--primary-brand-color), transparent);
}

.bundle-v3-title-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-bottom: 12px;
}

.bundle-v3-icon {
	font-size: 32px;
	animation: bundle-v3-glow 3s ease-in-out infinite;
	filter: drop-shadow(0 0 15px rgba(var(--primary-brand-color-rgb), 0.6));
}

@keyframes bundle-v3-glow {
	0%, 100% {
		filter: drop-shadow(0 0 15px rgba(var(--primary-brand-color-rgb), 0.6));
		transform: scale(1);
	}
	50% {
		filter: drop-shadow(0 0 25px rgba(var(--primary-brand-color-rgb), 0.9));
		transform: scale(1.05);
	}
}

.bundle-v3-section .section-title h2 {
	font-size: 32px;
	color: var(--primary-title-color);
	margin-bottom: 10px;
	font-weight: 200;
	letter-spacing: 2px;
	text-transform: uppercase;
	position: relative;
}

.bundle-v3-section .section-title p {
	font-size: 14px;
	color: var(--primary-text-color);
	opacity: 0.75;
	margin-top: 10px;
	font-weight: 300;
	letter-spacing: 1px;
	font-style: italic;
	text-align: center;
}

/* View All Button V3 - Minimalist */
.bundle-v3-section .view-all-desktop {
	display: inline-flex;
	margin-top: 24px;
}

.bundle-v3-section .view-all-mobile {
	display: none !important;
}

.bundle-v3-section .view-all-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	background: transparent;
	color: var(--primary-brand-color);
	text-decoration: none;
	border: 1px solid var(--primary-brand-color);
	border-radius: 0;
	font-weight: 300;
	font-size: 11px;
	transition: transform 0.4s ease, background-color 0.4s ease, color 0.4s ease;
	letter-spacing: 2px;
	text-transform: uppercase;
	position: relative;
	overflow: hidden;
}

.bundle-v3-section .view-all-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--primary-brand-color);
	transition: left 0.4s ease;
	z-index: -1;
}

.bundle-v3-section .view-all-btn:hover {
	color: var(--primary-button-text-color);
	border-color: var(--primary-brand-color);
}

.bundle-v3-section .view-all-btn:hover::before {
	left: 0;
}

.bundle-v3-section .view-all-btn i {
	transition: transform 0.4s ease;
	font-size: 11px;
}

.bundle-v3-section .view-all-btn:hover i {
	transform: translateX(6px);
}

/* Bundle V3 Section */
.bundle-v3-section {
	padding: 56px 0;
	background: linear-gradient(135deg, var(--tertiary-background-color) 0%, var(--tertiary-background-color) 100%);
	position: relative;
	overflow: hidden;
}

.bundle-v3-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		radial-gradient(circle at 20% 50%, rgba(212, 175, 55, 0.1) 0%, transparent 50%),
		radial-gradient(circle at 80% 50%, rgba(212, 175, 55, 0.08) 0%, transparent 50%);
	pointer-events: none;
}

.bundle-v3-section .container {
	position: relative;
	z-index: 1;
}

/* Bundle V3 Grid - Alternating Zigzag Layout */
.bundle-v3-grid {
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 920px;
	margin: 0 auto;
}

/* Bundle V3 Card - Alternating Layout */
.bundle-v3-card {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0;
	background: var(--primary-background-color);
	border: 1px solid rgba(var(--primary-brand-color-rgb), 0.1);
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.bundle-v3-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(var(--primary-brand-color-rgb), 0.03) 0%, transparent 100%);
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
	z-index: 1;
}

.bundle-v3-card:hover::before {
	opacity: 1;
}

.bundle-v3-card:hover {
	border-color: rgba(var(--primary-brand-color-rgb), 0.3);
	box-shadow: 
		0 12px 36px rgba(0, 0, 0, 0.12),
		0 0 0 1px rgba(var(--primary-brand-color-rgb), 0.2);
	transform: translateY(-3px);
}

/* Desktop: flex row — image 42% fixed height | .bundle-v3-right (58%) stacks content + footer (compact card). */
.bundle-v3-link {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	width: 100%;
	text-decoration: none;
	color: inherit;
}

.bundle-v3-card:nth-child(even) .bundle-v3-link {
	flex-direction: row-reverse;
}

.bundle-v3-right {
	flex: 1 1 58%;
	min-width: 0;
	max-width: 58%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: var(--primary-background-color);
}

/* Bundle V3 Image Wrapper */
.bundle-v3-image-wrapper {
	flex: 0 0 42%;
	width: 42%;
	max-width: 42%;
	position: relative;
	height: 240px;
	min-height: 240px;
	max-height: 240px;
	overflow: hidden;
	background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
}

.bundle-v3-image-wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(0, 0, 0, 0.2) 0%, transparent 50%);
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 1;
}

.bundle-v3-card:hover .bundle-v3-image-wrapper::after {
	opacity: 1;
}

.bundle-v3-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.bundle-v3-card:hover .bundle-v3-image-wrapper img {
	transform: scale(1.08);
}

/* Bundle V3 Badge - Corner Badge */
.bundle-v3-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--tag-badge-background-color);
	color: var(--tag-badge-text-color);
	padding: 6px 12px;
	border-radius: 0;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	z-index: 3;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
	border: 1px solid var(--primary-brand-color);
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}

.bundle-v3-card:nth-child(even) .bundle-v3-badge {
	left: auto;
	right: 12px;
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
}

.bundle-v3-badge i {
	font-size: 11px;
	margin-right: 6px;
}

/* Bundle V3 Discount - Corner Badge */
.bundle-v3-discount {
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--discount-badge-background-color);
	color: var(--discount-badge-text-color);
	padding: 8px 12px;
	border-radius: 0;
	z-index: 3;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
	border: 1px solid var(--primary-brand-color);
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 62px;
}

.bundle-v3-card:nth-child(even) .bundle-v3-discount {
	right: auto;
	left: 12px;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}

.bundle-v3-discount-value {
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 4px;
}

.bundle-v3-discount-text {
	font-size: 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

/* Bundle V3 Content — details only; footer sits in .bundle-v3-right below */
.bundle-v3-content {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	min-height: 0;
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: var(--primary-background-color);
	position: relative;
	z-index: 2;
}

.bundle-v3-name {
	font-size: 20px;
	color: var(--primary-title-color);
	margin-bottom: 8px;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 1px;
	transition: color 0.3s ease;
	text-transform: uppercase;
}

.bundle-v3-card:hover .bundle-v3-name {
	color: var(--primary-brand-color);
}

.bundle-v3-description {
	font-size: 13px;
	color: var(--secondary-text-color);
	line-height: 1.7;
	margin-bottom: 12px;
	opacity: 0.85;
	font-weight: 300;
}

/* Bundle V3 Products Preview - Elegant Style */
.bundle-v3-products-preview {
	background: linear-gradient(135deg, rgba(var(--primary-brand-color-rgb), 0.08), rgba(var(--primary-brand-color-rgb), 0.03));
	border-left: 3px solid var(--primary-brand-color);
	padding: 10px 12px;
	margin-bottom: 12px;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}

.bundle-v3-card:nth-child(even) .bundle-v3-products-preview {
	border-left: none;
	border-right: 3px solid var(--primary-brand-color);
}

.bundle-v3-card:hover .bundle-v3-products-preview {
	background: linear-gradient(135deg, rgba(var(--primary-brand-color-rgb), 0.12), rgba(var(--primary-brand-color-rgb), 0.06));
	border-left-color: var(--secondary-brand-color);
}

.bundle-v3-card:nth-child(even):hover .bundle-v3-products-preview {
	border-right-color: var(--secondary-brand-color);
}

.bundle-v3-includes {
	display: block;
	font-size: 9px;
	color: var(--primary-title-color);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 8px;
	opacity: 0.9;
}

.bundle-v3-products-list {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.bundle-v3-product-item,
.bundle-v3-product-more {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--secondary-text-color);
	line-height: 1.5;
}

.bundle-v3-product-item i {
	color: var(--primary-brand-color);
	font-size: 10px;
	flex-shrink: 0;
}

.bundle-v3-product-more {
	color: var(--primary-brand-color);
	font-weight: 600;
	font-style: italic;
}

.bundle-v3-product-more i {
	color: var(--primary-brand-color);
}

.bundle-v3-footer {
	flex: 0 0 auto;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px 22px 18px;
	border-top: 1px solid rgba(var(--primary-brand-color-rgb), 0.15);
	background: var(--primary-background-color);
	position: relative;
	z-index: 2;
}

/* Bundle V3 Price - Elegant Typography */
.bundle-v3-price {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.bundle-v3-price .price-original {
	font-size: 13px;
	color: var(--original-price-color);
	text-decoration: line-through;
	font-weight: 400;
	opacity: 0.7;
}

.bundle-v3-price .price-final {
	font-size: 24px;
	color: var(--discount-price-color);
	font-weight: 300;
	letter-spacing: 1px;
}

.bundle-v3-price .price-single {
	font-size: 24px;
	color: var(--discount-price-color);
	font-weight: 300;
	letter-spacing: 1px;
}

/* Bundle V3 Button - Elegant Style */
.bundle-v3-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	color: var(--primary-brand-color);
	padding: 8px 16px;
	border-radius: 0;
	text-decoration: none;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background-color 0.4s ease, color 0.4s ease, transform 0.4s ease;
	border: 1px solid var(--primary-brand-color);
	position: relative;
	overflow: hidden;
}

.bundle-v3-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--primary-brand-color);
	transition: left 0.4s ease;
	z-index: -1;
}

.bundle-v3-btn:hover {
	color: var(--primary-button-text-color);
	border-color: var(--primary-brand-color);
}

.bundle-v3-btn:hover::before {
	left: 0;
}

.bundle-v3-btn i {
	transition: transform 0.4s ease;
}

.bundle-v3-btn:hover i {
	transform: translateX(6px);
}

/* Responsive Design */
@media (max-width: 992px) {
	.bundle-v3-section {
		padding: 48px 0;
	}

	.bundle-v3-section .section-title h2 {
		font-size: 26px;
		letter-spacing: 2px;
	}

	.bundle-v3-icon {
		font-size: 28px;
	}

	/* One full-width card per row; same split inside each card as desktop (image | content) */
	.bundle-v3-grid {
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 100%;
		box-sizing: border-box;
		overflow: visible;
		padding: 8px 0 8px 0;
	}

	.bundle-v3-card {
		display: flex;
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		align-items: stretch;
	}

	/* Row 1: image | details — Row 2: price + button full width (.bundle-v3-right uses display:contents so grid sees 3 children) */
	.bundle-v3-right {
		display: contents;
	}

	.bundle-v3-link {
		display: grid !important;
		flex-direction: unset;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto auto;
		width: 100%;
		min-height: 0;
	}

	.bundle-v3-card:nth-child(even) .bundle-v3-link {
		flex-direction: unset;
	}

	.bundle-v3-image-wrapper {
		grid-column: 1;
		grid-row: 1;
		flex: unset;
		max-width: none !important;
		width: 100% !important;
		height: 200px;
		min-height: 200px;
		max-height: none;
		position: relative;
		align-self: start;
	}

	.bundle-v3-content {
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		min-width: 0;
		padding: 12px 16px;
		min-height: 200px;
		display: flex !important;
		flex-direction: column;
		justify-content: flex-start;
		position: relative;
		z-index: 10;
		background: var(--primary-background-color);
	}

	.bundle-v3-footer {
		grid-column: 1 / -1;
		grid-row: 2;
		padding: 10px 14px 14px;
		margin: 0;
	}

	.bundle-v3-card:nth-child(even) .bundle-v3-image-wrapper {
		grid-column: 2;
		grid-row: 1;
	}

	.bundle-v3-card:nth-child(even) .bundle-v3-content {
		grid-column: 1;
		grid-row: 1;
	}

	.bundle-v3-card:nth-child(even) .bundle-v3-footer {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.bundle-v3-name {
		font-size: 17px;
	}

	.bundle-v3-price .price-final,
	.bundle-v3-price .price-single {
		font-size: 20px;
	}

	/* Hide desktop button, show mobile button */
	.bundle-v3-section .view-all-desktop {
		display: none !important;
	}

	.bundle-v3-section .view-all-mobile {
		display: flex !important;
		margin-top: 24px;
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	.bundle-v3-section {
		padding: 40px 0;
	}

	.bundle-v3-section .section-title h2 {
		font-size: 22px;
		letter-spacing: 1px;
	}

	.bundle-v3-icon {
		font-size: 24px;
	}

	.bundle-v3-grid {
		gap: 18px;
		padding: 4px 0 4px 0;
	}

	.bundle-v3-card {
		width: 100%;
		max-width: 100%;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}

	.bundle-v3-card:hover {
		transform: translateY(-3px) translateZ(0);
	}

	.bundle-v3-image-wrapper {
		height: 180px;
		width: 100% !important;
	}

	.bundle-v3-content {
		width: 100% !important;
		padding: 10px 12px;
		min-height: 180px;
		justify-content: center;
	}

	.bundle-v3-name {
		font-size: 16px;
	}

	.bundle-v3-price .price-final,
	.bundle-v3-price .price-single {
		font-size: 18px;
	}
}

@media (max-width: 576px) {
	.bundle-v3-section {
		padding: 36px 0;
	}

	.bundle-v3-section .section-title h2 {
		font-size: 19px;
		letter-spacing: 1px;
	}

	.bundle-v3-icon {
		font-size: 22px;
	}

	.bundle-v3-grid {
		gap: 16px;
	}

	.bundle-v3-card {
		width: 100%;
		max-width: 100%;
	}

	.bundle-v3-image-wrapper {
		height: 160px;
		width: 100% !important;
	}

	.bundle-v3-content {
		width: 100% !important;
		padding: 8px 10px;
		min-height: 160px;
		justify-content: center;
	}

	.bundle-v3-name {
		font-size: 15px;
	}

	.bundle-v3-price .price-final,
	.bundle-v3-price .price-single {
		font-size: 17px;
	}
}

/* RTL Support */
[dir="rtl"] .bundle-v3-section .section-header {
	text-align: center;
}

[dir="rtl"] .bundle-v3-section .section-header::after {
	left: 50%;
	transform: translateX(-50%);
}

/* Desktop RTL: same flex mirror as before grid (odd = row-reverse, even = row) */
@media (min-width: 993px) {
	[dir="rtl"] .bundle-v3-card:nth-child(odd) .bundle-v3-link {
		flex-direction: row-reverse;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-link {
		flex-direction: row;
	}
}

/* Mobile RTL: row 1 mirrored; footer still full width */
@media (max-width: 992px) {
	[dir="rtl"] .bundle-v3-card:nth-child(odd) .bundle-v3-image-wrapper {
		grid-column: 2;
		grid-row: 1;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(odd) .bundle-v3-content {
		grid-column: 1;
		grid-row: 1;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(odd) .bundle-v3-footer {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-image-wrapper {
		grid-column: 1;
		grid-row: 1;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-content {
		grid-column: 2;
		grid-row: 1;
	}

	[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-footer {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

[dir="rtl"] .bundle-v3-badge {
	left: auto;
	right: 12px;
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
}

[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-badge {
	right: auto;
	left: 12px;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}

[dir="rtl"] .bundle-v3-discount {
	right: auto;
	left: 12px;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}

[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-discount {
	left: auto;
	right: 12px;
	clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
}

[dir="rtl"] .bundle-v3-products-preview {
	border-left: none;
	border-right: 3px solid var(--primary-brand-color);
}

[dir="rtl"] .bundle-v3-card:nth-child(even) .bundle-v3-products-preview {
	border-right: none;
	border-left: 3px solid var(--primary-brand-color);
}

[dir="rtl"] .bundle-v3-card:hover .bundle-v3-products-preview {
	border-right-color: var(--secondary-brand-color);
}

[dir="rtl"] .bundle-v3-card:nth-child(even):hover .bundle-v3-products-preview {
	border-left-color: var(--secondary-brand-color);
}

/* RTL text: removed old `direction: ltr` on .bundle-v3-grid (it forced English flow on Arabic). */
[dir="rtl"] .bundle-v3-section .bundle-v3-right,
[dir="rtl"] .bundle-v3-section .bundle-v3-image-wrapper {
	direction: rtl;
	text-align: start;
}

[dir="rtl"] .bundle-v3-section .bundle-v3-badge,
[dir="rtl"] .bundle-v3-section .bundle-v3-discount {
	text-align: center;
}

@media (max-width: 768px) {
	[dir="rtl"] .bundle-v3-footer {
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

