.offer-card .card-title {
	height: auto;
}

.offer-card {
	box-shadow: none;
}

.offer-card-wrapper {
	display: flex;
	flex-direction: column;
}

/* Desktop: horizontal layout */
@media (min-width: 768px) {
	.offer-card-wrapper {
		flex-direction: row;
	}
}

.offer-card-text {
	display: flex;
	flex: 1 1 0%;
	flex-direction: column;
}

.offer-card-icon i {
	color: var(--e-global-color-primary);
	font-size: 2rem;
}

.offer-card-description {
	font-size: 0.8rem;
}

.offer-card-button button {
	font-size: 0.8rem;
}

.offer-modal {
	width: 75vw;
}

.modal-offer .modal-header {
	border: none;
}

.modal-offer .modal-content {
	border: none;
	border-radius: 6px;
}

.modal-offer .card {
	margin-bottom: 20px;
}

.btn-close {
	border: none !important;
	margin-right: 0 !important;
}

.btn-close:hover {
	background-color: transparent !important;
}

a {
	text-decoration: none !important;
}

.offer-card-link {
	display: block;
	position: relative;
	overflow: hidden;
	/* Allow Elementor to control background */
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}

/* Background Overlay - controlled by Elementor */
.offer-card-link::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

.sort-products select {
	width: 200px;
}

.offer-archive-title {
	flex: 1 1 100%;
	/* Makes it take full width */
	width: 100%;
	/* Ensures 100% width */
	color: #fff;
	display: block;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.offer-archive-text-wrapper {
	padding: 20px;
	height: 100%;
}

.offer-card-wrapper .product-archive-title {
	text-transform: none;
}

.offer-card-wrapper {
	position: relative;
	z-index: 2;
}

/* Single offer full height styles */
/* Apply height to the entire widget when it contains a single offer */
.elementor-widget-offers:has(.single-offer-full-height-row) {
	height: 100% !important;
}

.elementor-widget-offers:has(.single-offer-full-height-row) .elementor-widget-container {
	height: 100% !important;
}

.single-offer-full-height-row {
	height: 100% !important;
}

.single-offer-full-height {
	height: 100% !important;
}

.single-offer-full-height .offer-card-link {
	height: 100% !important;
	margin-bottom: 0 !important;
}

.single-offer-full-height .offer-card-wrapper {
	height: 100% !important;
	min-height: 100% !important;
}

/* Product cards styling for offer products - match categories styling */
.product-grid .product-card.card,
.modal-offer .product-card.card,
.elementor-widget-offers .product-card.card,
.offer-products-container .product-card.card {
	background-color: #f8f9fa !important;
	border-style: none;
	padding: 25px;
	height: 300px;
	min-height: 300px;
	border-radius: 25px;
}

/* Ensure styling applies to AJAX-loaded offer products with high specificity */
[data-widget-type*="offers"] .product-card.card,
.elementor-element[data-element_type*="offers"] .product-card.card {
	background-color: #f8f9fa !important;
	border-style: none;
	padding: 25px;
	height: 300px;
	min-height: 300px;
	border-radius: 25px;
}