/**
 * Grand Living Products – Premium Furniture Ecommerce Widget Styles
 * Inspired by high-end furniture storefronts (Devoko, West Elm style)
 */

/* ====================================================================
   Google Font – already loaded by theme usually; safe fallback import
   ==================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ====================================================================
   CSS Custom Properties (tokens)
   ==================================================================== */
.gl-products-section {
	--gl-font:           'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--gl-color-primary:  #1a1a1a;
	--gl-color-muted:    #666666;
	--gl-color-light:    #999999;
	--gl-color-border:   #e8e8e8;
	--gl-color-sale:     #e53935;
	--gl-color-bg:       #ffffff;
	--gl-color-bg-hover: #f9f9f9;
	--gl-star-active:    #f5a623;
	--gl-star-empty:     #d8d8d8;
	--gl-radius-card:    6px;
	--gl-radius-badge:   3px;
	--gl-shadow-card:    0 2px 12px rgba(0,0,0,0.07);
	--gl-shadow-hover:   0 8px 30px rgba(0,0,0,0.13);
	--gl-transition:     0.28s cubic-bezier(0.4, 0, 0.2, 1);
	--gl-columns:        4;

	font-family: var(--gl-font);
	box-sizing: border-box;
}

*, *::before, *::after {
	box-sizing: inherit;
}

/* ====================================================================
   Section Header
   ==================================================================== */
.gl-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--gl-color-border);
}

.gl-section-header-inner {
	flex: 1;
}

.gl-section-title {
	font-family: var(--gl-font);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--gl-color-primary);
	margin: 0 0 4px;
	line-height: 1.2;
}

.gl-section-subtitle {
	font-size: 14px;
	color: var(--gl-color-muted);
	margin: 0;
}

.gl-view-all-link {
	font-family: var(--gl-font);
	font-size: 13px;
	font-weight: 500;
	color: var(--gl-color-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	margin-left: 20px;
	transition: color var(--gl-transition);
}

.gl-view-all-link:hover {
	color: var(--gl-color-primary);
}

/* ====================================================================
   Products Grid & Slider Layouts
   ==================================================================== */
.gl-products-grid {
	display: grid;
	grid-template-columns: repeat(var(--gl-columns, 4), 1fr);
	gap: 20px;
}

/* ====================================================================
   Slider Layout Wrapper – positions swiper + nav as a unit
   ==================================================================== */
.gl-slider-layout-wrap {
	position: relative;
}

/* Slider Container */
.gl-slider-outer-wrapper.swiper-container {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.gl-products-slider.swiper-wrapper {
	display: flex;
	width: 100%;
	height: 100%;
	transition-property: transform;
	box-sizing: content-box;
	overflow: visible;
	scroll-snap-type: none;
	margin: 0;
	padding: 0;
}

.gl-products-slider.swiper-wrapper > .gl-product-card.swiper-slide {
	flex-shrink: 0;
	height: auto;
	position: relative;
	scroll-snap-align: none;
}

/* ====================================================================
   Slider Navigation – Stacked Vertically on Right Side (like image)
   ==================================================================== */
.gl-slider-nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: absolute;
	right: -60px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 999 !important;
}

.gl-slider-btn {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1.5px solid #c8c8c8;
	background-color: #ffffff;
	color: #444444;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition:
		background-color var(--gl-transition),
		border-color var(--gl-transition),
		color var(--gl-transition),
		box-shadow var(--gl-transition),
		transform var(--gl-transition);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	padding: 0;
	line-height: 1;
	z-index: 999 !important;
	pointer-events: auto !important;
}

.gl-slider-btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	stroke-width: 1.5;
	flex-shrink: 0;
	display: block;
	transition: stroke var(--gl-transition);
}

.gl-slider-btn:hover {
	background-color: var(--gl-color-primary);
	border-color: var(--gl-color-primary);
	color: #ffffff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	transform: scale(1.06);
}

.gl-slider-btn:hover svg {
	stroke: #ffffff;
}

.gl-slider-btn:disabled,
.gl-slider-btn.swiper-button-disabled {
	opacity: 0.28;
	cursor: not-allowed;
	pointer-events: none !important;
}

/* Bottom Progress Bar */
.gl-slider-progress-wrap.swiper-pagination {
	width: 100%;
	height: 2px;
	background-color: var(--gl-color-border);
	margin-top: 24px;
	position: relative;
	border-radius: 2px;
	overflow: hidden;
}

.gl-slider-progress-wrap.swiper-pagination .swiper-pagination-progressbar-fill {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: var(--gl-color-primary) !important;
	border-radius: 2px;
	transform-origin: left top;
	transition: transform var(--gl-transition);
}

/* No products */
.gl-no-products {
	text-align: center;
	color: var(--gl-color-muted);
	padding: 40px 0;
	font-family: var(--gl-font);
}

/* ====================================================================
   Product Card
   ==================================================================== */
.gl-product-card {
	background-color: var(--gl-color-bg);
	border-radius: var(--gl-radius-card);
	box-shadow: var(--gl-shadow-card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--gl-transition), transform var(--gl-transition);
	position: relative;
}

.gl-product-card:hover {
	box-shadow: var(--gl-shadow-hover);
	transform: translateY(-3px);
}

/* ====================================================================
   Image Area
   ==================================================================== */
.gl-product-image-wrap {
	position: relative;
	overflow: hidden;
	height: 260px;
	background-color: #f5f5f5;
	flex-shrink: 0;
}

.gl-product-image-wrap img.gl-main-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--gl-transition);
}

.gl-product-card:hover .gl-main-image {
	transform: scale(1.04);
}

/* Card Actions overlay buttons (Wishlist / Compare) */
.gl-card-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 3;
	opacity: 0;
	transform: translateX(10px);
	transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.gl-product-card:hover .gl-card-actions {
	opacity: 1;
	transform: translateX(0);
}

.gl-action-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: #ffffff;
	color: #1a1a1a;
	border: 1px solid #e8e8e8;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.25s ease;
	padding: 0;
}

.gl-action-btn svg {
	width: 16px;
	height: 16px;
	stroke: #1a1a1a;
	stroke-width: 2px;
	fill: none;
	transition: all 0.25s ease;
}

.gl-action-btn:hover {
	background-color: #e53935;
	border-color: #e53935;
	color: #ffffff;
	transform: scale(1.08);
}

.gl-action-btn:hover svg {
	stroke: #ffffff;
	fill: #ffffff;
}

/* Active State */
.gl-action-btn.active {
	background-color: #e53935;
	border-color: #e53935;
	color: #ffffff;
}

.gl-action-btn.active svg {
	stroke: #ffffff;
	fill: #ffffff;
}

/* Premium Toast Notification Styles */
.gl-toast-container {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
}

.gl-toast {
	background-color: #1a1a1a;
	color: #ffffff;
	padding: 14px 24px;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	align-items: center;
	gap: 10px;
	pointer-events: auto;
}

.gl-toast.show {
	opacity: 1;
	transform: translateY(0);
}

.gl-toast-icon {
	color: #e53935;
	font-size: 16px;
	line-height: 1;
	display: flex;
	align-items: center;
}

.gl-toast-close {
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	padding: 0;
	margin-left: 20px;
	font-size: 16px;
	transition: color 0.2s ease;
	line-height: 1;
}

.gl-toast-close:hover {
	color: #ffffff;
}

/* ====================================================================
   Badges
   ==================================================================== */
.gl-badges {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 10px 10px 0;
	pointer-events: none;
	z-index: 2;
}

.gl-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	font-family: var(--gl-font);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: var(--gl-radius-badge);
	line-height: 1.6;
}

.gl-badge-category {
	background-color: rgba(0, 0, 0, 0.72);
	color: #ffffff;
}

.gl-badge-sale {
	background-color: var(--gl-color-sale);
	color: #ffffff;
}

/* ====================================================================
   Gallery Thumbnails
   ==================================================================== */
.gl-gallery-thumbs {
	display: flex;
	gap: 6px;
	padding: 8px 12px;
	background: #fafafa;
	border-top: 1px solid var(--gl-color-border);
	flex-wrap: wrap;
}

.gl-thumb-btn {
	padding: 0;
	border: 2px solid transparent;
	border-radius: 3px;
	cursor: pointer;
	background: none;
	overflow: hidden;
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	transition: border-color var(--gl-transition), transform var(--gl-transition);
}

.gl-thumb-btn img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gl-thumb-btn:hover {
	border-color: var(--gl-color-primary);
	transform: scale(1.08);
}

.gl-thumb-btn.active {
	border-color: var(--gl-color-sale);
}

/* ====================================================================
   Card Body
   ==================================================================== */
.gl-card-body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

/* ====================================================================
   Product Title
   ==================================================================== */
.gl-product-title {
	font-family: var(--gl-font);
	font-size: 14px;
	font-weight: 500;
	color: var(--gl-color-primary);
	line-height: 1.45;
	margin: 0 0 8px;

	/* Line clamp default */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gl-product-title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--gl-transition);
}

.gl-product-title a:hover {
	color: var(--gl-color-sale);
}

/* ====================================================================
   Rating Row
   ==================================================================== */
.gl-rating-row {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.gl-stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.gl-star {
	font-size: 13px;
	line-height: 1;
	color: var(--gl-star-empty);
}

.gl-star-full,
.gl-star-half {
	color: var(--gl-star-active);
}

/* Half star via clip */
.gl-star-half {
	position: relative;
	color: var(--gl-star-empty);
}

.gl-star-half::before {
	content: '★';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--gl-star-active);
	width: 50%;
	overflow: hidden;
}

.gl-rating-value {
	font-family: var(--gl-font);
	font-size: 12px;
	font-weight: 600;
	color: var(--gl-star-active);
	margin-left: 2px;
}

.gl-review-count {
	font-family: var(--gl-font);
	font-size: 12px;
	color: var(--gl-color-muted);
}

.gl-review-count::before {
	content: '●';
	display: inline-block;
	margin-right: 4px;
	font-size: 7px;
	vertical-align: middle;
	color: var(--gl-color-muted);
}

/* ====================================================================
   Price Row
   ==================================================================== */
.gl-price-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}

/* WooCommerce price HTML */
.gl-price {
	font-family: var(--gl-font);
}

.gl-price .amount {
	font-size: 15px;
	font-weight: 600;
	color: var(--gl-color-primary);
}

.gl-price del {
	font-size: 13px;
}

.gl-price del .amount {
	color: var(--gl-color-light) !important;
	font-weight: 400;
}

.gl-price ins {
	text-decoration: none;
}

.gl-price ins .amount {
	color: var(--gl-color-primary) !important;
	font-weight: 600;
}

.gl-discount-percent {
	font-family: var(--gl-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--gl-color-sale);
	white-space: nowrap;
}

/* ====================================================================
   Add To Cart Button
   ==================================================================== */
.gl-cart-wrap {
	margin-top: auto;
	padding-top: 4px;
}

.gl-add-to-cart {
	display: block;
	width: 100%;
	padding: 12px 20px;
	background-color: var(--gl-color-sale);
	color: #ffffff;
	border: none;
	border-radius: var(--gl-radius-badge);
	font-family: var(--gl-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--gl-transition),
		color var(--gl-transition),
		transform var(--gl-transition),
		box-shadow var(--gl-transition);
	position: relative;
	overflow: hidden;
}

.gl-add-to-cart::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0);
	transition: background var(--gl-transition);
}

.gl-add-to-cart:hover {
	background-color: #c62828;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(229, 57, 53, 0.40);
}

.gl-add-to-cart:active {
	transform: translateY(0);
	box-shadow: none;
}

/* Loading state */
.gl-add-to-cart.is-loading {
	opacity: 0.75;
	cursor: wait;
	pointer-events: none;
}

/* Added state */
.gl-add-to-cart.added {
	background-color: #2e7d32;
}

.gl-add-to-cart.added:hover {
	background-color: #1b5e20;
	box-shadow: 0 4px 14px rgba(46, 125, 50, 0.35);
}

/* ====================================================================
   Responsive – Tablet (max 1024px)
   ==================================================================== */
@media (max-width: 1024px) {
	.gl-products-section {
		--gl-columns: 2;
	}

	.gl-products-slider > .gl-product-card {
		flex: 0 0 calc((100% - (var(--gl-columns, 2) - 1) * var(--gl-gap, 20px)) / var(--gl-columns, 2));
	}

	.gl-product-image-wrap {
		height: 220px;
	}

	.gl-slider-nav {
		right: -14px;
	}
}

/* ====================================================================
   Responsive – Mobile (max 767px)
   ==================================================================== */
@media (max-width: 767px) {
	.gl-products-section {
		--gl-columns: 1;
	}

	.gl-products-slider > .gl-product-card {
		flex: 0 0 100%;
	}

	.gl-section-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.gl-view-all-link {
		margin-left: 0;
	}

	.gl-section-title {
		font-size: 18px;
	}

	.gl-product-image-wrap {
		height: 200px;
	}

	.gl-products-grid {
		gap: 14px;
	}

	.gl-slider-nav {
		position: static;
		flex-direction: row;
		justify-content: center;
		margin-top: 16px;
		transform: none;
	}
}

/* ====================================================================
   Elementor responsive CSS variable overrides.
   ==================================================================== */
@media (max-width: 1024px) {
	.gl-products-grid {
		grid-template-columns: repeat(var(--gl-columns, 2), 1fr);
	}
	.gl-products-slider {
		--gl-columns: 2;
	}
}

@media (max-width: 767px) {
	.gl-products-grid {
		grid-template-columns: repeat(var(--gl-columns, 1), 1fr);
	}
	.gl-products-slider {
		--gl-columns: 1;
	}
}

/* ====================================================================
   Grand Living Categories Styles
   ==================================================================== */
.gl-categories-section {
	font-family: var(--gl-font);
	box-sizing: border-box;
}

.gl-categories-grid {
	display: grid;
	grid-template-columns: repeat(var(--gl-columns, 4), 1fr);
	gap: 20px;
}

.gl-categories-slider.swiper-wrapper {
	display: flex;
	width: 100%;
	height: 100%;
	transition-property: transform;
	box-sizing: content-box;
	overflow: visible;
	scroll-snap-type: none;
	margin: 0;
	padding: 0;
}

.gl-categories-slider.swiper-wrapper > .gl-category-card.swiper-slide {
	flex-shrink: 0;
	height: auto;
	position: relative;
	scroll-snap-align: none;
}

/* Category Card */
.gl-category-card {
	background-color: var(--gl-color-bg);
	border-radius: var(--gl-radius-card);
	box-shadow: var(--gl-shadow-card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--gl-transition), transform var(--gl-transition);
	position: relative;
}

.gl-category-card:hover {
	box-shadow: var(--gl-shadow-hover);
	transform: translateY(-3px);
}

/* Image Wrap */
.gl-cat-image-wrap {
	position: relative;
	overflow: hidden;
	height: 280px;
	background-color: #f5f5f5;
	flex-shrink: 0;
}

.gl-cat-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--gl-transition);
}

.gl-category-card:hover .gl-cat-image-wrap img {
	transform: scale(1.04);
}

/* Card Body */
.gl-cat-body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

/* Typography & Count */
.gl-cat-title {
	font-family: var(--gl-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--gl-color-primary);
	line-height: 1.4;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}

.gl-cat-title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--gl-transition);
}

.gl-cat-title a:hover {
	color: var(--gl-color-sale);
}

.gl-cat-count {
	font-size: 13px;
	font-weight: 400;
	color: var(--gl-color-muted);
}

/* Link */
.gl-cat-link {
	font-family: var(--gl-font);
	font-size: 13px;
	font-weight: 500;
	color: var(--gl-color-primary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	margin-top: auto;
	transition: color var(--gl-transition);
}

.gl-cat-link:hover {
	color: var(--gl-color-sale);
}

/* Responsive Overrides */
@media (max-width: 1024px) {
	.gl-categories-grid {
		grid-template-columns: repeat(var(--gl-columns, 2), 1fr);
	}
	.gl-categories-slider {
		--gl-columns: 2;
	}
	.gl-categories-slider > .gl-category-card {
		flex: 0 0 calc((100% - (var(--gl-columns, 2) - 1) * var(--gl-gap, 20px)) / var(--gl-columns, 2));
	}
}

@media (max-width: 767px) {
	.gl-categories-grid {
		grid-template-columns: repeat(var(--gl-columns, 1), 1fr);
	}
	.gl-categories-slider {
		--gl-columns: 1;
	}
	.gl-categories-slider > .gl-category-card {
		flex: 0 0 100%;
	}
}

/* ====================================================================
   YITH & TI WooCommerce Wishlist/Compare Styling Overrides
   ==================================================================== */

/* Align wishlist / compare wrapper blocks vertically inside gl-card-actions */
.gl-card-actions > div,
.gl-card-actions > a,
.gl-card-actions > span {
	display: block;
	margin: 0;
	padding: 0;
}

/* YITH Wishlist style override */
.gl-card-actions .yith-wcwl-add-to-wishlist {
	margin: 0;
	padding: 0;
	background: none !important;
	border: none !important;
}

.gl-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-add-button,
.gl-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedexists,
.gl-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexists {
	margin: 0;
	padding: 0;
}

.gl-card-actions .yith-wcwl-add-to-wishlist a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: var(--wl_btn_size-size, 36px) !important;
	height: var(--wl_btn_size-size, 36px) !important;
	border-radius: 50%;
	background-color: #ffffff;
	color: #1a1a1a;
	border: 1px solid #e8e8e8;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
	transition: all var(--gl-transition);
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px;
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
}

.gl-card-actions .yith-wcwl-add-to-wishlist a::before {
	content: '❤';
	font-family: inherit;
	font-size: 16px;
	color: #1a1a1a;
	text-indent: 0;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color var(--gl-transition);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.gl-card-actions .yith-wcwl-add-to-wishlist a:hover {
	background-color: #e53935 !important;
	border-color: #e53935 !important;
	transform: scale(1.08);
}

.gl-card-actions .yith-wcwl-add-to-wishlist a:hover::before {
	color: #ffffff !important;
}

.gl-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedexists a::before,
.gl-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexists a::before {
	color: #e53935;
}

/* TI Wishlist style override */
.gl-card-actions .tinv-wraper.tinv-wishlist {
	margin: 0;
	display: block;
}

.gl-card-actions .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: var(--wl_btn_size-size, 36px) !important;
	height: var(--wl_btn_size-size, 36px) !important;
	border-radius: 50%;
	background-color: #ffffff;
	color: #1a1a1a;
	border: 1px solid #e8e8e8;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
	transition: all var(--gl-transition);
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px;
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
}

.gl-card-actions .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist-button::before {
	content: '❤';
	font-size: 16px;
	color: #1a1a1a;
	text-indent: 0;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.gl-card-actions .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist-button:hover {
	background-color: #e53935 !important;
	border-color: #e53935 !important;
	transform: scale(1.08);
}

.gl-card-actions .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist-button:hover::before {
	color: #ffffff !important;
}

.gl-card-actions .tinv-wraper.tinv-wishlist a.tinvwl_add_to_wishlist-button.tinvwl-product-in-list::before {
	color: #e53935;
}

/* YITH Compare style override */
.gl-card-actions .woocommerce.compare-button {
	margin: 0;
	padding: 0;
	display: block;
}

.gl-card-actions .woocommerce.compare-button a.compare {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: var(--wl_btn_size-size, 36px) !important;
	height: var(--wl_btn_size-size, 36px) !important;
	border-radius: 50%;
	background-color: #ffffff;
	color: #1a1a1a;
	border: 1px solid #e8e8e8;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
	transition: all var(--gl-transition);
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px;
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
}

.gl-card-actions .woocommerce.compare-button a.compare::before {
	content: '⇄';
	font-size: 18px;
	color: #1a1a1a;
	text-indent: 0;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.gl-card-actions .woocommerce.compare-button a.compare:hover {
	background-color: #e53935 !important;
	border-color: #e53935 !important;
	transform: scale(1.08);
}

.gl-card-actions .woocommerce.compare-button a.compare:hover::before {
	color: #ffffff !important;
}

.gl-card-actions .woocommerce.compare-button a.compare.added::before {
	color: #e53935;
}

/* ====================================================================
   Additional Custom Alignment & Add-to-Cart Sizing Rules
   ==================================================================== */

/* Header Alignment */
.gl-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

/* Add To Cart width settings via prefix classes */
.gl-add-to-cart-width-full .gl-add-to-cart {
	width: 100%;
	display: block;
}

.gl-add-to-cart-width-auto .gl-add-to-cart {
	width: auto;
	display: inline-block;
}

.gl-add-to-cart-width-auto .gl-cart-wrap {
	text-align: center;
}

/* Keep swiper inner tracks clipped to their containers */
.gl-products-slider,
.gl-categories-slider {
	overflow: hidden !important;
}
