/* Promotions Wrapper - Two Column Layout */
.sales-plus-promotions-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	margin: 1.5rem 0;
	width: 100%;
}

/* Two column layout for promotion cards */
.sales-plus-promotion-card {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

/* Unified Promotion Card Styles */
.sales-plus-promotion-card {
	display: flex;
	flex-direction: column;
	padding: 1rem 1.25rem;
	border-radius: 10px;
	background: #fafafa;
	border: 1px solid #e0e0e0;
	margin: 0;
	transition: all 0.2s ease;
}

.sales-plus-promotion-card:hover {
	background: #f5f5f5;
	border-color: #bdbdbd;
}

/* Progress Notice (Left Column) - Féláras akció */
.sales-plus-notice.sales-plus-promotion-card {
	background: #fafafa;
	border: 1px solid #e0e0e0;
	border-left: 3px solid #7c4dff;
}

.sales-plus-notice__content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.sales-plus-notice__headline {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #333;
	line-height: 1.4;
}

.sales-plus-notice__detail {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	color: #666;
	line-height: 1.4;
}

.sales-plus-status-inline {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0 0 0.5rem;
}

.sales-plus-status-inline__item {
	display: flex;
	align-items: center;
	padding: 0.4rem 0.6rem;
	border-radius: 6px;
	background: rgba(124, 77, 255, 0.08);
	font-size: 0.85rem;
	color: #333;
	line-height: 1.4;
}

.sales-plus-status-inline__item.is-achieved {
	background: rgba(46, 125, 50, 0.12);
}

.sales-plus-status-inline__text {
	display: block;
	line-height: 1.35;
}

.sales-plus-progress {
	position: relative;
	height: 6px;
	border-radius: 999px;
	background: #e0e0e0;
	overflow: hidden;
	margin: 0;
}

.sales-plus-progress__fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #7c4dff 0%, #e040fb 100%);
	transition: width 0.3s ease;
}

.sales-plus-cta-row {
	display: none;
}

/* Mystery Box (Right Column) */
.sales-plus-mystery-box.sales-plus-promotion-card {
	background: linear-gradient(135deg, #e8f5e9 0%, #fff3e0 100%);
	border: 2px solid #ff9800;
}

.sales-plus-mystery-box__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.sales-plus-mystery-box__title {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: #2c1256;
	line-height: 1.4;
}

.sales-plus-mystery-box__description {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #4a3c6a;
}

.sales-plus-mystery-box__description p {
	margin: 0;
}

.sales-plus-mystery-box__description strong {
	color: #f55455;
	font-weight: 700;
}

/* Price styling in description */
.sales-plus-mystery-box__description .woocommerce-Price-amount,
.sales-plus-mystery-box__description .amount,
.sales-plus-mystery-box__description bdi,
.sales-plus-mystery-box__description .woocommerce-Price-currencySymbol,
.sales-plus-mystery-box__description strong .woocommerce-Price-amount,
.sales-plus-mystery-box__description strong .amount,
.sales-plus-mystery-box__description strong bdi,
.sales-plus-mystery-box__description strong .woocommerce-Price-currencySymbol {
	color: #f55455 !important;
	font-weight: 700 !important;
}

.sales-plus-mystery-box__actions {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.sales-plus-mystery-box__info {
	margin: 0;
	padding: 0.5rem 0.75rem;
	border-radius: 8px;
	background: rgba(76, 175, 80, 0.1);
	color: #2e7d32;
	font-size: 0.85rem;
	font-weight: 600;
}

.sales-plus-mystery-box__info strong {
	color: #1b5e20;
}

/* Unified Button Styles */
.sales-plus-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 1.15rem;
	border-radius: 8px;
	background: #f55455;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(245, 84, 85, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
	border: none;
	cursor: pointer;
	width: auto;
	min-width: auto;
}

.sales-plus-button:hover,
.sales-plus-button:focus {
	background: #ff7676;
	box-shadow: 0 6px 16px rgba(245, 84, 85, 0.36);
	transform: translateY(-1px);
	color: #ffffff;
	text-decoration: none;
}

.sales-plus-button:focus {
	outline: 2px solid #2c1256;
	outline-offset: 3px;
}

/* Mystery box add to cart button - piros háttér, fehér szöveg */
.sales-plus-mystery-box__add-to-cart.sales-plus-button,
button.sales-plus-mystery-box__add-to-cart.sales-plus-button,
.button.sales-plus-mystery-box__add-to-cart.sales-plus-button,
button.button.sales-plus-mystery-box__add-to-cart.sales-plus-button {
	background: #d32f2f !important;
	background-color: #d32f2f !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	padding: 0.45rem 1.15rem !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(211, 47, 47, 0.3) !important;
}

.sales-plus-mystery-box__add-to-cart.sales-plus-button:hover,
.sales-plus-mystery-box__add-to-cart.sales-plus-button:focus,
button.sales-plus-mystery-box__add-to-cart.sales-plus-button:hover,
button.sales-plus-mystery-box__add-to-cart.sales-plus-button:focus,
.button.sales-plus-mystery-box__add-to-cart.sales-plus-button:hover,
.button.sales-plus-mystery-box__add-to-cart.sales-plus-button:focus,
button.button.sales-plus-mystery-box__add-to-cart.sales-plus-button:hover,
button.button.sales-plus-mystery-box__add-to-cart.sales-plus-button:focus {
	background: #1b5e20 !important;
	background-color: #1b5e20 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(27, 94, 32, 0.4) !important;
}

/* Price styling inside button - fehér szöveg */
.sales-plus-mystery-box__add-to-cart.sales-plus-button .woocommerce-Price-amount,
.sales-plus-mystery-box__add-to-cart.sales-plus-button .woocommerce-Price-amount .amount,
.sales-plus-mystery-box__add-to-cart.sales-plus-button .woocommerce-Price-amount bdi,
.sales-plus-mystery-box__add-to-cart.sales-plus-button .woocommerce-Price-amount .woocommerce-Price-currencySymbol,
.sales-plus-mystery-box__add-to-cart.sales-plus-button .amount,
.sales-plus-mystery-box__add-to-cart.sales-plus-button bdi,
.sales-plus-mystery-box__add-to-cart.sales-plus-button .woocommerce-Price-currencySymbol,
.sales-plus-mystery-box__add-to-cart.sales-plus-button span,
.sales-plus-mystery-box__add-to-cart.sales-plus-button * {
	color: #ffffff !important;
	font-weight: 600 !important;
	fill: #ffffff !important;
}

.sales-plus-mystery-box__remove.sales-plus-button,
button.sales-plus-mystery-box__remove.sales-plus-button,
.button.sales-plus-mystery-box__remove.sales-plus-button {
	background: #757575 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	padding: 0.45rem 1.15rem !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(117, 117, 117, 0.3) !important;
}

.sales-plus-mystery-box__remove.sales-plus-button:hover,
.sales-plus-mystery-box__remove.sales-plus-button:focus,
button.sales-plus-mystery-box__remove.sales-plus-button:hover,
button.sales-plus-mystery-box__remove.sales-plus-button:focus,
.button.sales-plus-mystery-box__remove.sales-plus-button:hover,
.button.sales-plus-mystery-box__remove.sales-plus-button:focus {
	background: #424242 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(66, 66, 66, 0.4) !important;
}

.sales-plus-shipping-note {
	display: inline-block;
	margin-left: 0.5rem;
	font-size: 0.85em;
	font-weight: 600;
	color: #2c1256;
}

/* Upsale Products Section (Full Width) */
.sales-plus-upsale {
	margin: 1.5rem 0;
	padding: 1.15rem 1.4rem;
	border-radius: 12px;
	background: linear-gradient(135deg, #fff5e6 0%, #ffe6f0 100%);
	box-shadow: 0 10px 25px rgba(24, 10, 60, 0.08);
	width: 100%;
}

.sales-plus-upsale__header {
	margin-bottom: 1rem;
	text-align: center;
}

.sales-plus-upsale__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #2c1256;
}

.sales-plus-upsale__subtitle {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	color: #666;
	font-weight: normal;
}

/* Extra Items Section (Mystery Box, Insurance) */
.sales-plus-extras {
	margin: 1.5rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.sales-plus-extra-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-radius: 10px;
	background: #fafafa;
	border: 1px solid #e0e0e0;
	transition: all 0.2s ease;
}

.sales-plus-extra-item:hover {
	background: #f5f5f5;
	border-color: #bdbdbd;
}

.sales-plus-extra-item.is-active {
	background: #e8f5e9;
	border-color: #4caf50;
}

.sales-plus-extra-item--mystery-box {
	border-left: 3px solid #ff9800;
}

.sales-plus-extra-item--insurance {
	border-left: 3px solid #ffc107;
}

.sales-plus-extra-item__icon {
	font-size: 1.75rem;
	flex-shrink: 0;
	width: 40px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sales-plus-extra-item__content {
	flex: 1;
	min-width: 0;
}

.sales-plus-extra-item__title {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	font-weight: 600;
	color: #333;
}

.sales-plus-extra-item__description {
	margin: 0;
	font-size: 0.85rem;
	color: #666;
	line-height: 1.4;
}

.sales-plus-extra-item__action {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sales-plus-extra-item__button {
	min-width: 160px;
	height: 40px;
	padding: 0 1.25rem;
	border: none;
	border-radius: 6px;
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	transition: all 0.15s ease;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Price inside button - white color with spacing */
.sales-plus-extra-item__button .sales-plus-extra-item__price {
	color: #fff !important;
	font-weight: 700;
	margin: 0 0.25em;
}

.sales-plus-extra-item__button .sales-plus-extra-item__price .woocommerce-Price-amount,
.sales-plus-extra-item__button .sales-plus-extra-item__price .woocommerce-Price-currencySymbol {
	color: #fff !important;
}

.sales-plus-extra-item__button--add {
	background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
	color: #fff;
	box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
}

.sales-plus-extra-item__button--add:hover {
	background: linear-gradient(135deg, #1b5e20 0%, #0d3d13 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(46, 125, 50, 0.35);
}

.sales-plus-extra-item__button--remove {
	background: linear-gradient(135deg, #d32f2f 0%, #c62828 100%);
	color: #fff;
	box-shadow: 0 2px 8px rgba(211, 47, 47, 0.25);
}

.sales-plus-extra-item__button--remove:hover {
	background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(211, 47, 47, 0.35);
}

/* Mobile responsive for extra items */
@media (max-width: 640px) {
	.sales-plus-extras {
		gap: 0.5rem;
	}

	.sales-plus-extra-item {
		flex-wrap: wrap;
		padding: 0.75rem 1rem;
		gap: 0.5rem;
	}

	.sales-plus-extra-item__icon {
		width: 32px;
		font-size: 1.5rem;
		flex-shrink: 0;
	}

	.sales-plus-extra-item__content {
		flex: 1;
		min-width: calc(100% - 50px);
	}

	.sales-plus-extra-item__title {
		font-size: 0.95rem;
		margin-bottom: 0.15rem;
	}

	.sales-plus-extra-item__description {
		font-size: 0.8rem;
		line-height: 1.3;
	}

	.sales-plus-extra-item__action {
		width: 100%;
		margin-top: 0.5rem;
	}

	.sales-plus-extra-item__button {
		width: 100%;
		min-width: auto;
		height: 36px;
		font-size: 0.85rem;
	}
}

.sales-plus-upsale__products {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1rem;
	justify-content: flex-start;
	align-items: flex-start;
}

.sales-plus-upsale__product {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	/* Asztali: 4 termék egy sorban, gap-et figyelembe véve */
	/* calc((100% - 3 * 1rem) / 4) = kb 23% */
	width: calc(25% - 0.75rem) !important;
	min-width: 160px !important;
	max-width: 220px !important;
	flex: 1 1 calc(25% - 0.75rem) !important;
}

.sales-plus-upsale__product:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.sales-plus-upsale__product-link {
	text-decoration: none;
	color: inherit;
	flex: 1;
}

.sales-plus-upsale__product-image {
	margin-bottom: 0.75rem;
	border-radius: 8px;
	overflow: hidden;
	width: 100%;
	height: 150px;
}

.sales-plus-upsale__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sales-plus-upsale__product-info {
	margin-bottom: 0.75rem;
}

.sales-plus-upsale__product-title {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: #2c1256;
	line-height: 1.4;
}

.sales-plus-upsale__product-price {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.sales-plus-upsale__price-regular {
	font-size: 0.85rem;
	color: #888;
	text-decoration: line-through;
}

.sales-plus-upsale__price-sale {
	font-size: 1rem;
	font-weight: 700;
	color: #f55455;
}

.sales-plus-upsale__price-current {
	font-size: 1rem;
	font-weight: 700;
	color: #2c1256;
}

.sales-plus-upsale__price-current .woocommerce-Price-amount,
.sales-plus-upsale__price-current .amount,
.sales-plus-upsale__price-current bdi {
	color: #2c1256;
	font-weight: 700;
}

.sales-plus-upsale__add-to-cart,
.sales-plus-upsale__view-product {
	margin-top: auto;
	padding: 0.6rem 1rem;
	border: none;
	border-radius: 8px;
	background: #723bff;
	color: #ffffff;
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	width: 100%;
	text-decoration: none;
	display: inline-block;
	text-align: center;
}

.sales-plus-upsale__add-to-cart:hover,
.sales-plus-upsale__view-product:hover {
	background: #5a2dd1;
	transform: translateY(-1px);
	color: #ffffff;
	text-decoration: none;
}

.sales-plus-upsale__add-to-cart:disabled {
	background: #ccc;
	cursor: not-allowed;
	transform: none;
}

/* Responsive Design */
@media (max-width: 768px) {
	/* Stack cards on mobile */
	.sales-plus-promotions-wrapper {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.sales-plus-upsale__products {
		gap: 0.5rem;
		justify-content: flex-start;
	}

	/* Tablet: 4 termék egy sorban */
	.sales-plus-upsale__product {
		width: calc(25% - 0.4rem) !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: 1 1 calc(25% - 0.4rem) !important;
		padding: 0.6rem;
	}

	.sales-plus-upsale__product-image {
		height: 100px;
	}

	.sales-plus-upsale__product-title {
		font-size: 0.75rem;
	}

	.sales-plus-upsale__view-product {
		padding: 0.4rem 0.5rem;
		font-size: 0.75rem;
	}
}

@media (max-width: 640px) {
	.sales-plus-promotion-card {
		padding: 0.75rem 1rem;
		margin-bottom: 0.5rem;
	}

	.sales-plus-notice__headline,
	.sales-plus-mystery-box__title {
		font-size: 0.95rem;
		margin-bottom: 0.35rem;
	}

	.sales-plus-notice__detail,
	.sales-plus-mystery-box__description {
		font-size: 0.8rem;
	}

	.sales-plus-status-inline {
		gap: 0.3rem;
		margin-bottom: 0.4rem;
	}

	.sales-plus-status-inline__item {
		font-size: 0.8rem;
		padding: 0.35rem 0.5rem;
	}

	.sales-plus-progress {
		height: 5px;
	}

	.sales-plus-button {
		padding: 0.55rem 1rem;
		font-size: 0.85rem;
	}

	.sales-plus-upsale {
		padding: 1rem 1.1rem;
		margin: 1rem 0;
	}

	.sales-plus-upsale__products {
		gap: 0.5rem;
		justify-content: flex-start;
	}

	/* Kis mobil: 2 termék egy sorban (2x2 grid) */
	.sales-plus-upsale__product {
		width: calc(50% - 0.25rem) !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: 1 1 calc(50% - 0.25rem) !important;
		padding: 0.6rem;
	}

	.sales-plus-upsale__product-image {
		height: 120px;
		margin-bottom: 0.5rem;
	}

	.sales-plus-upsale__product-title {
		font-size: 0.8rem;
		margin-bottom: 0.3rem;
	}

	.sales-plus-upsale__product-info {
		margin-bottom: 0.5rem;
	}

	.sales-plus-upsale__product-price {
		font-size: 0.85rem;
	}

	.sales-plus-upsale__price-sale {
		font-size: 0.9rem !important;
	}

	.sales-plus-upsale__price-regular {
		font-size: 0.75rem !important;
	}

	.sales-plus-upsale__view-product {
		padding: 0.5rem 0.6rem;
		font-size: 0.8rem;
	}

	.sales-plus-upsale__product-title {
		font-size: 0.85rem;
	}

	.sales-plus-upsale__price-sale {
		font-size: 0.95rem;
	}

	.sales-plus-upsale__add-to-cart,
	.sales-plus-upsale__view-product {
		padding: 0.5rem 0.75rem;
		font-size: 0.85rem;
	}
}
