/**
 * GiftAura — site-wide responsive system
 * Breakpoint: 1024px (GIFTAURA_DESKTOP_BP in inc/responsive.php)
 *
 * Use in PHP:
 *   giftaura_view_mobile_open( 'ga-page-cart' );
 *   … mobile markup …
 *   giftaura_view_close();
 *   giftaura_view_desktop_open( 'ga-page-cart' );
 *   … desktop markup …
 *   giftaura_view_close();
 *
 * Or add classes directly: mobile-only-block | desktop-only-block
 */

/* ─── Tab bar spacing (mobile only) ─── */
body.giftaura-has-tabbar {
	padding-bottom: 70px;
}

@media (min-width: 1024px) {
	body.giftaura-has-tabbar {
		padding-bottom: 0;
	}
}

/* ─── View shells ─── */
.ga-view {
	width: 100%;
}

/* High-End Desktop Checkout Redesign */
@media (min-width: 1024px) {
    /* Hide standard page title in favor of focused checkout header */
    body.ga-page-checkout .ga-page-hero,
    body.ga-page-checkout .ga-page-hero__title,
    body.woocommerce-checkout .ga-page-hero {
        display: none !important;
    }

    /* Create the Shopify-style split background */
    body.ga-page-checkout,
    body.woocommerce-checkout {
        background: #ffffff !important;
    }

    body.ga-page-checkout .ga-main,
    body.woocommerce-checkout .ga-main {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .ga-checkout-main-grid {
        display: flex !important;
        min-height: 100vh;
        align-items: stretch !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Force all wrappers to 100% width to ensure grid perfectly matches background split */
    body.ga-page-checkout .ga-checkout-fluid-wrapper,
    body.ga-page-checkout .ga-page-article,
    body.ga-page-checkout .ga-page-article__body,
    body.ga-page-checkout form.checkout,
    body.ga-page-checkout .woocommerce,
    body.woocommerce-checkout .ga-checkout-fluid-wrapper,
    body.woocommerce-checkout .ga-page-article,
    body.woocommerce-checkout .ga-page-article__body,
    body.woocommerce-checkout form.checkout,
    body.woocommerce-checkout .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Hide the default page title since we have a custom one in the left column */
    body.woocommerce-checkout .ga-page-article__title,
    body.ga-page-checkout .ga-page-article__title {
        display: none !important;
    }

    /* Left Column: Form Entry */
    .ga-checkout-column--left {
        flex: 0 0 58%;
        max-width: 58%;
        box-sizing: border-box !important;
        background: #ffffff !important;
        padding: 32px 48px 48px 48px;
        border-right: 1px solid #e0e0e0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .ga-checkout-column--left > * {
        width: 100%;
        max-width: 720px;
    }

    /* Right Column: Sticky Summary */
    .ga-checkout-column--right {
        flex: 0 0 42%;
        max-width: 42%;
        box-sizing: border-box !important;
        background: #ffffff !important;
        padding: 32px 48px 48px 40px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .ga-checkout-column--right > * {
        width: 100%;
        max-width: 480px;
    }

    /* Premium Order Summary Card */
    .ga-checkout-column--right #order_review_heading {
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 20px;
        color: #1a1a1a;
    }

    .ga-checkout-column--right .woocommerce-checkout-review-order {
        background: #ffffff !important;
        border-radius: 12px;
        padding: 24px 24px 8px 24px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.04);
        border: 1px solid #f0f0f0;
    }

    .ga-checkout-sidebar-sticky {
        position: sticky;
        top: 40px;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    /* Refined WooCommerce Fields */
    .woocommerce-checkout .form-row {
        margin-bottom: 20px !important;
    }

    .woocommerce-checkout .form-row label {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #666 !important;
        margin-bottom: 8px !important;
    }

    .woocommerce-checkout .form-row input.input-text {
        height: 52px !important;
        border: 1px solid #d9d9d9 !important;
        border-radius: 8px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        transition: all 0.2s ease;
    }

    .woocommerce-checkout .form-row input.input-text:focus {
        border-color: var(--color-primary) !important;
        box-shadow: 0 0 0 1px var(--color-primary) !important;
        outline: none !important;
    }

    /* Payment Section Cleanup */
    #payment {
        background: #fff !important;
        border: 1px solid #e6e6e6 !important;
        border-radius: 12px !important;
        margin-top: 24px !important;
    }

    #payment ul.payment_methods li {
        padding: 20px !important;
    }

    /* Force the checkout review order to look clean */
    .woocommerce-checkout-review-order-table {
        border: none !important;
        margin-bottom: 24px !important;
    }

    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 12px 0 !important;
        border-top: 1px solid #eee !important;
        background: transparent !important;
    }

    .woocommerce-checkout-review-order-table .cart_item td {
        border-top: none !important;
    }
}

/* Fix mobile payment scaling */
@media (max-width: 1023px) {
    .ga-payment-section,
    #payment,
    .StripeElement,
    .StripeElement--payment {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 200px;
    }
    /* Ensure the iframe container is not collapsed */
    #wc-stripe-payment-element,
    #stripe-card-element {
        min-height: 200px !important;
    }
}

/* ─── Desktop page hero (static pages, cart, auth, PDP wrapper) ─── */
.ga-page-hero {
	background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-hero-bg) 100%);
	padding: 28px 0 32px;
	border-bottom: 1px solid #f3ddd8;
	margin-bottom: 24px;
}

.ga-page-hero__title {
	font-family: var(--font-heading);
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: #1a1a1a;
}

.ga-page-hero__subtitle {
	margin: 0;
	font-size: 1rem;
	color: #555;
}

/* ─── Generic page layouts ─── */
.ga-page-content {
	padding: 1rem 0 2rem;
}

@media (min-width: 1024px) {
	.ga-page-content {
		padding: 0 0 3rem;
	}

	.ga-view-desktop .ga-page-layout {
		display: grid;
		grid-template-columns: 1fr;
		max-width: 900px;
		margin: 0 auto;
	}

	.ga-view-desktop .ga-page-layout--wide {
		max-width: 1100px;
	}

	.ga-view-desktop .ga-page-card {
		background: #fff;
		border: 1px solid var(--color-border);
		border-radius: var(--radius-lg);
		padding: 2rem;
		box-shadow: var(--shadow-sm);
	}
}

/* ─── Product (PDP): one markup, responsive grid ─── */
.ga-pdp {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: start;
	padding-bottom: 110px; /* Space for mobile sticky cart */
}

/* Gallery */
.ga-pdp__gallery {
	position: relative;
	margin: 0 -16px;
	background: #fff;
}
.ga-pdp__gallery .woocommerce-product-gallery {
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
	margin: 0 16px;
	border: 1px solid #f0e8e4;
	position: relative;
	padding-bottom: 24px; /* Space for dots */
}
@media (max-width: 1023px) {
	.ga-pdp__gallery .woocommerce-product-gallery__wrapper {
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		scrollbar-width: none !important; /* Firefox */
		-webkit-overflow-scrolling: touch !important;
		width: 100% !important; /* Override FlexSlider */
		transform: none !important; /* Override FlexSlider */
	}
	.ga-pdp__gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
		display: none;
	}
	.ga-pdp__gallery .woocommerce-product-gallery__image {
		flex: 0 0 100% !important;
		width: 100% !important;
		scroll-snap-align: start !important;
		float: none !important; /* Override FlexSlider */
		display: block !important;
	}
	.ga-pdp__gallery .woocommerce-product-gallery__image img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		display: block;
	}
}
.ga-pdp__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: #00b87c; /* Match reference green badge if needed, or keep primary */
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 4px;
	z-index: 10;
	text-transform: uppercase;
}
.ga-pdp__wishlist {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	background: #fff;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	z-index: 10;
	cursor: pointer;
}
.ga-pdp__gallery-counter {
	display: none; /* Hidden in favor of FlexSlider dots */
}

/* FlexSlider Dots Customization */
.ga-pdp__gallery .flex-control-nav {
	position: absolute;
	bottom: 12px;
	left: 0;
	right: 0;
	text-align: center;
	margin: 0;
	padding: 0;
	list-style: none;
	z-index: 10;
}
.ga-pdp__gallery .flex-control-nav li {
	display: inline-block;
	margin: 0 4px;
}
.ga-pdp__gallery .flex-control-nav li a {
	width: 6px;
	height: 6px;
	display: block;
	background: #e0e0e0;
	text-indent: -9999px;
	border-radius: 50%;
	box-shadow: none;
	cursor: pointer;
}
.ga-pdp__gallery .flex-control-nav li a.flex-active {
	background: #0066FF; /* Blue dot for active */
	width: 8px;
	height: 8px;
	transform: translateY(1px); /* vertically align with smaller dots */
}
.ga-pdp__gallery .woocommerce-product-gallery__trigger {
	display: none; /* Hide default zoom icon to allow clicking whole image for lightbox */
}

/* PhotoSwipe Lightbox Customization (White Theme) */
.pswp__bg {
	background: #fff !important; width: 100% !important;
	opacity: 1 !important;
}
.pswp__top-bar {
	background: transparent !important;
	box-shadow: none !important;
}
.pswp__button--close {
	background: transparent !important;
	opacity: 1 !important;
	float: left !important;
	margin-top: 10px;
	margin-left: 10px;
}
.pswp__button--close::before {
	content: "✕" !important; /* Simple cross */
	font-size: 24px;
	color: #1a1a1a;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: transparent !important;
}
.pswp__button--arrow--left::before, .pswp__button--arrow--right::before {
	background-color: transparent !important;
	border: solid #1a1a1a !important;
	border-width: 0 2px 2px 0 !important;
	width: 16px !important;
	height: 16px !important;
}
.pswp__button--arrow--left::before {
	transform: rotate(135deg) !important;
}
.pswp__button--arrow--right::before {
	transform: rotate(-45deg) !important;
}
.pswp__caption {
	display: none !important; /* Hide captions in clean mode */
}

/* Summary */
.ga-pdp__title {
	font-family: var(--font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 16px 0 8px;
	line-height: 1.2;
}
.ga-pdp__rating {
	font-size: 0.85rem;
	color: #666;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.ga-pdp__rating .star-rating { color: var(--color-star, #f5a623); font-size: 14px; }

.ga-pdp__price-wrap {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 16px;
}

/* Delivery Banner */
.ga-pdp__delivery-banner {
	display: flex;
	align-items: center;
	background: var(--color-accent-light);
	padding: 12px 16px;
	border-radius: 8px;
	gap: 12px;
	margin-bottom: 24px;
	font-size: 0.85rem;
	color: #333;
}
.ga-pdp__delivery-banner .highlight { color: var(--color-primary); font-weight: 600; }

/* PDP Options Styling (Numbered List Look) - Global */
.ga-pdp__options-container {
	counter-reset: pdp-section;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.ga-pdp__option-section .ga-zone-widget {
	background: transparent;
	padding: 0;
	border: none;
}
.ga-pdp__option-section .ga-zone-widget h3 {
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin-bottom: 12px !important;
	display: flex;
	align-items: center;
}
.ga-pdp__option-section .ga-zone-widget h3::before {
	counter-increment: pdp-section;
	content: counter(pdp-section) ". ";
	margin-right: 6px;
}
/* Fake required label */
.ga-pdp__option-section .ga-zone-widget h3::after {
	content: "(Required)";
	color: var(--color-primary);
	font-size: 0.75rem;
	font-weight: 600;
	margin-left: 6px;
}
.ga-pdp__option-section .ga-zone-widget h3.is-optional span::after {
	content: "(Optional)";
	color: #888;
	font-size: 0.75rem;
	font-weight: 500;
	margin-left: 6px;
}

/* View All link */
.ga-addons-view-all {
	font-size: 0.75rem;
	color: var(--color-primary);
	font-weight: 600;
	text-transform: none;
	text-decoration: none;
}

/* Specific Inputs */
.ga-pdp__option-section .ga-input {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 0.9rem;
	background: #fff;
	width: 100%;
}
.ga-pdp__option-section .ga-input:focus {
	border-color: var(--color-primary);
	outline: none;
}

/* Custom Select/Date Wrap */
.ga-delivery-select-wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.ga-delivery-select-wrap .icon-calendar {
	position: absolute;
	left: 16px;
	pointer-events: none;
	z-index: 2;
}
.ga-delivery-select-wrap .icon-chevron {
	position: absolute;
	right: 16px;
	pointer-events: none;
	z-index: 2;
}
.ga-pdp__option-section .ga-delivery-select-wrap .ga-select,
.ga-pdp__option-section .ga-delivery-select-wrap .ga-date-display {
	padding-left: 44px;
	padding-right: 40px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	color: #1a1a1a;
	font-weight: 500;
	width: 100%;
}
.ga-date-input-hidden {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	z-index: 10 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	color: transparent !important;
}
.ga-date-input-hidden::-webkit-calendar-picker-indicator {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	background: transparent !important;
	color: transparent !important;
	opacity: 1 !important;
}

/* Delivery Badge */
.ga-delivery-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #e6f8f1;
	color: #00b87c;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 99px;
	margin-bottom: 16px;
}

/* Delivery Slots Grid */
.ga-delivery-slots {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.ga-delivery-slot-pill {
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 14px 8px;
	text-align: center;
	font-size: 0.8rem;
	font-weight: 600;
	color: #1a1a1a;
	cursor: pointer;
	background: #fff;
	transition: all 0.2s;
}
.ga-delivery-slot-pill:hover {
	border-color: #ddd;
}
.ga-delivery-slot-pill.active {
	border-color: var(--color-primary);
	color: var(--color-primary);
	background: #fff5f8;
}

/* Delivery Block Specifics */
.ga-pdp__option-section .ga-input-group {
	display: flex;
	gap: 8px;
}
.ga-pdp__option-section .ga-input-group .ga-btn {
	background: #fff;
	border: 1px solid #ddd;
	color: #1a1a1a;
	border-radius: 8px;
	padding: 0 20px;
	font-weight: 600;
}

/* Addons List Styling - Global */
.ga-addons-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.ga-addon-item {
	display: flex;
	align-items: center;
	gap: 16px;
}
.ga-addon-img {
	width: 60px;
	height: 60px;
	border-radius: 12px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	flex-shrink: 0;
}
.ga-addon-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ga-addon-info {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.ga-addon-info strong {
	font-size: 0.9rem;
	color: #1a1a1a;
	line-height: 1.2;
	font-weight: 700;
}
.ga-addon-info span {
	font-size: 0.8rem;
	color: #1a1a1a;
	font-weight: 700;
	margin-top: 4px;
}
.ga-addon-add {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	border: 1.5px solid var(--color-primary);
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}

/* Hide hero on single product */
body.single-product .ga-page-hero {
	display: none;
}

/* Add to Cart Global Styling */
.ga-pdp__add-to-cart-action {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}
.ga-pdp__add-to-cart-action form.cart {
	display: flex;
	gap: 10px;
	margin: 0;
	width: 100%;
	justify-content: flex-end;
}
.ga-pdp__add-to-cart-action .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
	border-radius: 8px;
	height: 44px;
	background: #fff;
	overflow: hidden;
}
.ga-pdp__add-to-cart-action .quantity .qty-btn {
	width: 32px;
	height: 100%;
	background: transparent;
	border: none;
	font-size: 1.2rem;
	color: #666;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.ga-pdp__add-to-cart-action .quantity input.qty {
	width: 32px;
	height: 100%;
	border: none;
	text-align: center;
	font-weight: 600;
	font-size: 0.9rem;
	padding: 0;
	-moz-appearance: textfield;
	background: transparent;
}
.ga-pdp__add-to-cart-action .quantity input::-webkit-outer-spin-button,
.ga-pdp__add-to-cart-action .quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.ga-pdp__add-to-cart-action button.single_add_to_cart_button {
	flex: 1;
	max-width: 180px;
	height: 44px;
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	padding: 0 16px !important;
	margin: 0 !important;
}

/* Sticky Cart Mobile */
@media (max-width: 1023px) {
	.ga-pdp__options-container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	
	.ga-pdp__sticky-cart-wrap {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: #fff;
		box-shadow: 0 -10px 30px rgba(0,0,0,0.1);
		z-index: 2000;
		padding: 16px 16px 20px;
		border-top: 1px solid #f0e8e4;
		border-radius: 20px 20px 0 0;
	}
	body.giftaura-has-tabbar .ga-pdp__sticky-cart-wrap {
		bottom: 70px;
	}
	.ga-pdp__sticky-cart-top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 16px;
		margin-bottom: 8px;
	}
	.ga-pdp__sticky-price {
		display: flex;
		flex-direction: column;
	}
	.ga-pdp__sticky-price .price { font-size: 1.1rem; font-weight: 700; color: #1a1a1a; margin: 0; line-height: 1.1; }
	.ga-pdp__sticky-price .tax-note { font-size: 0.65rem; color: #888; margin-top: 4px; }
	
	.ga-pdp__add-to-cart-action {
		flex: 1;
		display: flex;
		justify-content: flex-end;
	}
	.ga-pdp__add-to-cart-action form.cart {
		display: flex;
		gap: 10px;
		margin: 0;
		width: 100%;
		justify-content: flex-end;
	}
	.ga-pdp__add-to-cart-action .quantity {
		display: flex;
		align-items: center;
		border: 1px solid #ddd;
		border-radius: 8px;
		height: 44px;
		background: #fff;
		overflow: hidden;
	}
	.ga-pdp__add-to-cart-action .quantity .qty-btn {
		width: 32px;
		height: 100%;
		background: transparent;
		border: none;
		font-size: 1.2rem;
		color: #666;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
	}
	.ga-pdp__add-to-cart-action .quantity input.qty {
		width: 32px;
		height: 100%;
		border: none;
		text-align: center;
		font-weight: 600;
		font-size: 0.9rem;
		padding: 0;
		-moz-appearance: textfield;
		background: transparent;
	}
	.ga-pdp__add-to-cart-action .quantity input::-webkit-outer-spin-button,
	.ga-pdp__add-to-cart-action .quantity input::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
	.ga-pdp__add-to-cart-action button.single_add_to_cart_button {
		flex: 1;
		max-width: 180px;
		height: 44px;
		background: var(--color-primary) !important;
		color: #fff !important;
		border: none !important;
		border-radius: 8px !important;
		font-weight: 600 !important;
		font-size: 0.95rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px;
		padding: 0 16px !important;
		margin: 0 !important;
	}
	
	.ga-pdp__secure-checkout {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		font-size: 0.75rem;
		color: #666;
		font-weight: 500;
		padding-top: 8px;
	}

	/* Info Cards */
	.ga-pdp__info-cards {
		display: flex;
		flex-direction: column;
		gap: 16px;
		margin-top: 24px;
		padding-top: 24px;
		border-top: 1px solid #eee;
	}
	.ga-pdp__info-card {
		display: flex;
		gap: 16px;
		background: #fff;
		border: 1px solid #f0e8e4;
		padding: 16px;
		border-radius: 12px;
	}
	.ga-pdp__info-card .icon {
		width: 40px;
		height: 40px;
		background: var(--color-accent-light);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}
	.ga-pdp__info-card h4 {
		font-size: 0.9rem;
		font-weight: 700;
		margin: 0 0 4px;
		color: #1a1a1a;
	}
	.ga-pdp__info-card p {
		font-size: 0.8rem;
		color: #666;
		margin: 0;
		line-height: 1.4;
	}
	.ga-pdp__info-card span {
		color: var(--color-primary);
		font-weight: 600;
	}

	/* PDP Options Styling (Numbered List Look) */
	.ga-pdp__options-container {
		counter-reset: pdp-section;
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	.ga-pdp__option-section .ga-zone-widget {
		background: transparent;
		padding: 0;
		border: none;
	}
	.ga-pdp__option-section .ga-zone-widget h3 {
		font-family: var(--font-body) !important;
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		color: #1a1a1a !important;
		margin-bottom: 12px !important;
		display: flex;
		align-items: center;
	}
	.ga-pdp__option-section .ga-zone-widget h3::before {
		counter-increment: pdp-section;
		content: counter(pdp-section) ". ";
		margin-right: 6px;
	}
	/* Fake required label */
	.ga-pdp__option-section .ga-zone-widget h3:not(.is-optional)::after {
		content: "(Required)";
		color: var(--color-primary);
		font-size: 0.75rem;
		font-weight: 600;
		margin-left: 6px;
	}
	.ga-pdp__option-section .ga-zone-widget h3.is-optional span::after {
		content: "(Optional)";
		color: #888;
		font-size: 0.75rem;
		font-weight: 500;
		margin-left: 6px;
	}
	
	/* View All link */
	.ga-addons-view-all {
		font-size: 0.75rem;
		color: var(--color-primary);
		font-weight: 600;
		text-transform: none;
		text-decoration: none;
	}

	/* Specific Inputs */
	.ga-pdp__option-section .ga-input {
		border: 1px solid #ddd;
		border-radius: 8px;
		padding: 12px 16px;
		font-size: 0.9rem;
		background: #fff;
		width: 100%;
	}
	.ga-pdp__option-section .ga-input:focus {
		border-color: var(--color-primary);
		outline: none;
	}
	
	/* Delivery Block Specifics */
	.ga-pdp__option-section .ga-input-group {
		display: flex;
		gap: 8px;
	}
	.ga-pdp__option-section .ga-input-group .ga-btn {
		background: #fff;
		border: 1px solid #ddd;
		color: #1a1a1a;
		border-radius: 8px;
		padding: 0 20px;
		font-weight: 600;
	}
	
	/* Addons List Styling */
	.ga-addons-list {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.ga-addon-item {
		display: flex;
		align-items: center;
		gap: 16px;
	}
	.ga-addon-img {
		width: 60px;
		height: 60px;
		border-radius: 12px;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		box-shadow: 0 2px 8px rgba(0,0,0,0.04);
		flex-shrink: 0;
	}
	.ga-addon-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.ga-addon-info {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
	.ga-addon-info strong {
		font-size: 0.9rem;
		color: #1a1a1a;
		line-height: 1.2;
		font-weight: 700;
	}
	.ga-addon-info span {
		font-size: 0.8rem;
		color: #1a1a1a;
		font-weight: 700;
		margin-top: 4px;
	}
	.ga-addon-add {
		width: 32px;
		height: 32px;
		border-radius: 8px;
		border: 1.5px solid var(--color-primary);
		background: transparent;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		flex-shrink: 0;
	}
}

@media (min-width: 1024px) {
	.ga-pdp {
		grid-template-columns: 1.1fr 0.9fr;
		gap: 3rem;
		padding-bottom: 0;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	/* Gallery Side */
	.ga-pdp__gallery {
		margin: 0;
	}
	.ga-pdp__gallery .woocommerce-product-gallery {
		margin: 0;
		padding: 0;
		box-shadow: none;
		border: none;
		display: flex;
		flex-direction: row-reverse;
		gap: 1.5rem;
		border-radius: 0;
	}
	
	/* Main Image Wrapper */
	.ga-pdp__gallery .flex-viewport,
	.ga-pdp__gallery .woocommerce-product-gallery__wrapper {
		flex: 1;
		min-width: 0;
		border-radius: 12px;
		background: var(--color-accent-light);
		height: 600px;
	}
	/* Reset wrapper if it is inside viewport so it doesn't double up */
	.ga-pdp__gallery .flex-viewport .woocommerce-product-gallery__wrapper {
		flex: none;
		border-radius: 0;
		background: transparent;
		height: auto;
	}
	
	.ga-pdp__gallery .woocommerce-product-gallery__image {
		height: 600px;
	}
	.ga-pdp__gallery .woocommerce-product-gallery__image img {
		height: 100% !important;
		width: 100% !important;
		object-fit: cover;
	}
	
	/* Desktop Vertical Thumbnails */
	.ga-pdp__gallery .flex-control-nav {
		position: static;
		width: 80px;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.ga-pdp__gallery .flex-control-nav li {
		margin: 0;
		display: block;
	}
	.ga-pdp__gallery .flex-control-nav li img {
		width: 80px;
		height: 80px;
		object-fit: cover;
		border-radius: 8px;
		border: 2px solid transparent;
		cursor: pointer;
		opacity: 0.6;
		transition: all 0.2s;
		background: #fcfcfc;
	}
	.ga-pdp__gallery .flex-control-nav li img.flex-active {
		border-color: var(--color-primary);
		opacity: 1;
	}
	.ga-pdp__gallery .flex-control-nav li a {
		display: none; /* Hide dots on desktop */
	}

	/* Summary Side (Sticky) */
	.ga-pdp__summary {
		position: sticky;
		top: 30px;
	}
	
	.ga-pdp__title {
		font-size: 2.2rem;
		margin-top: 0;
	}
	
	.ga-pdp__price-wrap {
		font-size: 1.8rem;
		margin-bottom: 24px;
	}
	
	.ga-pdp__options-container {
		gap: 30px;
	}
	
	/* Desktop Addons Grid */
	.ga-addons-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
	.ga-addon-img {
		width: 48px;
		height: 48px;
	}
	.ga-addon-info strong {
		font-size: 0.8rem;
	}
	.ga-addon-info span {
		font-size: 0.75rem;
	}
	.ga-addon-add {
		width: 24px;
		height: 24px;
	}
	
	/* Desktop Add to Cart Layout */
	.ga-pdp__sticky-cart-wrap {
		position: static;
		box-shadow: none;
		padding: 30px 0 0;
		border-top: 1px solid #f0e8e4;
		border-radius: 0;
		margin-top: 2rem;
	}
	.ga-pdp__sticky-cart-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 16px;
	}
	.ga-pdp__sticky-price {
		display: flex;
		flex-direction: column;
	}
	.ga-pdp__sticky-price .price {
		font-size: 1.4rem;
	}
	.ga-pdp__add-to-cart-action {
		width: auto;
		flex: none;
	}
	.ga-pdp__add-to-cart-action form.cart {
		justify-content: flex-start;
		gap: 16px;
	}
	.ga-pdp__add-to-cart-action button.single_add_to_cart_button {
		width: 180px;
		height: 48px;
		font-size: 1rem !important;
	}
	/* Add the "Buy Now" ghost button to desktop */
	.ga-pdp__add-to-cart-action form.cart::after {
		content: "Buy Now";
		display: flex;
		align-items: center;
		justify-content: center;
		width: 140px;
		height: 48px;
		background: #fce8e8;
		color: var(--color-primary);
		font-weight: 600;
		border-radius: 8px;
		cursor: pointer;
	}
	
	.ga-pdp__secure-checkout {
		justify-content: center;
		margin-top: 16px;
	}
	
	/* Trust Badges - we will add this structure to the PHP */
	.ga-pdp__trust-badges {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		background: #faf8f6;
		border-radius: 12px;
		padding: 24px;
		margin-top: 30px;
		gap: 20px;
	}
	.ga-trust-badge {
		display: flex;
		flex-direction: column;
		gap: 12px;
		flex: 1;
	}
	.ga-trust-badge svg {
		flex-shrink: 0;
		color: var(--color-accent);
		width: 32px;
		height: 32px;
	}
	.ga-trust-badge h4 {
		font-size: 0.85rem;
		font-weight: 700;
		margin: 0 0 4px;
		color: #1a1a1a;
	}
	.ga-trust-badge p {
		font-size: 0.75rem;
		color: #666;
		margin: 0;
		line-height: 1.4;
	}
	
	.ga-pdp__badge {
		left: 110px; /* offset over thumbnails */
	}
	.ga-pdp__wishlist {
		right: 32px; /* Add some breathing room on desktop */
	}

	body.ga-page-product .ga-section {
		padding-top: 0;
	}

	body.ga-page-product .ga-main {
		padding-top: 0;
	}
}

/* ─── WooCommerce cart & checkout ─── */
@media (max-width: 1023px) {
	body.ga-page-cart {
		background-color: #f9f9f9 !important;
	}

	body.ga-page-cart .ga-main {
		padding: 0 !important;
		margin: 0 !important;
		background: #f9f9f9 !important;
	}

	/* FIXED HEADER - Edge to Edge */
	.ga-mobile-header-wrap {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 1000 !important;
	}

	.ga-mobile-header {
		padding: 0 16px !important;
		height: 64px !important;
	}

	.ga-cart-mobile {
		padding: 20px 0 180px !important;
		font-family: var(--font-body);
		background: #f9f9f9;
	}

	.ga-cart-mobile__header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 24px;
		padding: 0 16px;
	}

	.ga-cart-mobile__title {
		font-family: var(--font-body) !important;
		font-size: 1.4rem !important;
		font-weight: 800 !important;
		margin: 0;
		color: #1a1a1a;
	}

	.ga-cart-mobile__count { color: #999; margin-left: 6px; }

	.ga-cart-mobile__clear {
		color: var(--color-primary);
		font-size: 0.9rem;
		font-weight: 700;
		text-decoration: none;
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.ga-cart-mobile__items { padding: 0 16px; }

	.ga-cart-mobile__item {
		background: #fff;
		border-radius: 16px;
		padding: 16px;
		margin-bottom: 16px;
		position: relative;
		display: grid;
		grid-template-columns: 110px 1fr;
		gap: 16px;
		box-shadow: 0 4px 15px rgba(0,0,0,0.04);
		border: 1px solid #f0f0f0;
	}

	.ga-cart-mobile__remove {
		position: absolute;
		top: 12px;
		right: 12px;
		font-size: 1.4rem;
		color: #ccc;
		text-decoration: none;
		line-height: 1;
	}

	.ga-cart-mobile__item-image { display: flex; flex-direction: column; gap: 12px; }
	.ga-cart-mobile__item-image img {
		width: 110px;
		height: 110px;
		object-fit: cover;
		border-radius: 10px;
	}

	/* QUANTITY STYLING - Force buttons */
	.ga-cart-mobile__item-qty .quantity {
		display: flex !important;
		align-items: center !important;
		border: 1px solid #eee !important;
		border-radius: 8px !important;
		height: 36px !important;
		width: 100px !important;
		background: #fdfdfd !important;
		overflow: hidden !important;
		margin-top: 8px !important;
	}

	.ga-cart-mobile__item-qty .quantity .qty-btn {
		width: 32px !important;
		height: 100% !important;
		background: transparent !important;
		border: none !important;
		font-size: 1.4rem !important;
		color: #333 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		cursor: pointer !important;
	}

	.ga-cart-mobile__item-qty .quantity input.qty {
		flex: 1 !important;
		border: none !important;
		text-align: center !important;
		font-size: 1.1rem !important;
		font-weight: 800 !important;
		padding: 0 !important;
		color: #1a1a1a !important;
		background: transparent !important;
	}

	.ga-cart-mobile__item-title {
		font-family: var(--font-body) !important;
		font-size: 1.15rem !important;
		font-weight: 800 !important;
		margin: 0 0 6px !important;
		color: #1a1a1a;
		padding-right: 24px;
		line-height: 1.2;
	}

	.ga-cart-mobile__item-meta { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
	.ga-cart-mobile__meta-row { display: flex; flex-direction: column; gap: 4px; }

	.ga-cart-mobile__meta-label {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 0.8rem;
		color: #888;
		font-weight: 600;
	}
	.ga-cart-mobile__meta-label svg { color: var(--color-primary); }

	.ga-cart-mobile__meta-value {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		font-size: 0.9rem;
		color: #1a1a1a;
		padding-left: 24px;
	}

	.ga-cart-mobile__meta-action {
		color: var(--color-primary);
		font-weight: 800;
		background: none;
		border: none;
		padding: 0;
		font-size: 0.9rem;
		margin-left: 12px;
	}

	.ga-cart-mobile__item-price {
		font-weight: 900;
		font-size: 1.25rem;
		color: #1a1a1a;
		text-align: right;
		margin-top: 8px;
	}

	.ga-cart-mobile__upsell {
		background: #fff;
		border: 1.5px dashed #eee;
		border-radius: 16px;
		padding: 18px;
		margin: 32px 16px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-shadow: 0 4px 15px rgba(0,0,0,0.02);
	}

	.ga-cart-mobile__summary {
		background: #fff;
		margin-top: 40px;
		padding: 32px 20px 48px;
		display: flex;
		flex-direction: column;
		gap: 20px;
		border-top: 1px solid #eee;
	}

	.ga-cart-mobile__summary-row {
		display: flex;
		justify-content: space-between;
		font-size: 1.1rem;
		color: #555;
	}
	.ga-cart-mobile__summary-row .value { font-weight: 800; color: #1a1a1a; }
	.ga-cart-mobile__summary-row .value.free { color: #22c55e !important; }

	.ga-cart-mobile__summary-row--total {
		margin-top: 12px;
		padding-top: 24px;
		border-top: 1px solid #f0f0f0;
		font-size: 1.3rem;
		color: #1a1a1a;
		font-weight: 900;
	}
	.ga-cart-mobile__summary-row--total .value { font-size: 1.6rem; }

	/* FIXED FULL-WIDTH FOOTER */
	.ga-cart-mobile__footer {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		background: #fff !important;
		padding: 16px 20px 24px !important;
		box-shadow: 0 -12px 40px rgba(0,0,0,0.1) !important;
		z-index: 9999 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 12px !important;
		border-top: 1px solid #eee !important;
		border-radius: 0 !important; /* Remove island look */
		margin: 0 !important;
	}

	body.giftaura-has-tabbar .ga-cart-mobile__footer {
		bottom: 70px !important;
	}

	.ga-cart-mobile__checkout-btn {
		background: var(--color-primary) !important;
		color: #fff !important;
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		height: 64px !important;
		padding: 0 32px !important;
		border-radius: 12px !important;
		font-weight: 800 !important;
		font-size: 1.2rem !important;
		box-shadow: 0 8px 30px rgba(209, 44, 92, 0.35) !important;
		border: none !important;
	}

	.ga-cart-mobile__secure {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 0.85rem;
		color: #aaa;
		font-weight: 700;
		padding-bottom: 4px;
	}

	/* Messages */
	.ga-cart-notices:empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		min-height: 0 !important;
	}

	body.ga-page-cart .woocommerce-message,
	body.ga-page-cart .woocommerce-info {
		background: #fff !important;
		border: 1px solid #eee !important;
		border-left: 5px solid var(--color-primary) !important;
		border-radius: 16px !important;
		padding: 16px 20px !important;
		margin: 16px !important;
		font-size: 1rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
	}

	/* HIDE WC CLUTTER */
	.ga-view-mobile .woocommerce-cart-form__contents,
	.ga-view-mobile .cart-collaterals,
	.ga-view-mobile .cart_totals,
	.ga-view-mobile .wc-proceed-to-checkout,
	.ga-view-mobile .shop_table.cart,
	.ga-view-mobile .cart-empty,
	.ga-view-mobile .return-to-shop {
		display: none !important;
		visibility: hidden !important;
	}
}

@media (min-width: 1024px) {
	/* Desktop cart + checkout */
	body.ga-page-cart .woocommerce,
	body.ga-page-checkout .woocommerce {
		max-width: 1200px;
		margin: 0 auto;
		padding: 12px 20px 24px;
	}

	body.ga-page-cart .ga-page-content,
	body.ga-page-cart .ga-main {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.ga-page-cart .ga-page-layout--cart {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0;
		background: transparent;
		border: none;
		box-shadow: none;
	}

	body.ga-page-cart .ga-page-article__title {
		display: none !important;
	}

	body.ga-page-cart .ga-page-article {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.ga-page-cart .ga-page-article__body {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.ga-page-cart .ga-cart-d-breadcrumbs {
		margin-bottom: 12px;
	}

	body.ga-page-cart .ga-cart-d-header {
		margin-bottom: 16px;
	}

	body.ga-page-cart .ga-page-layout,
	body.ga-page-checkout .ga-page-layout {
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Hide duplicate WC/page hero — cart uses in-form breadcrumbs */
	body.ga-page-cart .ga-page-hero {
		display: none !important;
	}

	body.ga-page-cart .woocommerce .ga-cart-desktop-form {
		width: 100% !important;
		float: none !important;
		clear: both;
		max-width: 100% !important;
	}

	body.ga-page-cart .woocommerce .cart-collaterals {
		display: none !important;
	}

	body.ga-page-checkout .woocommerce-checkout {
		display: block !important;
		width: 100% !important;
	}

	body.ga-page-checkout #customer_details {
		grid-column: auto;
	}

	.ga-plp-main-layout {
		display: grid;
		grid-template-columns: 260px 1fr;
		gap: 40px;
		align-items: start;
	}

	/* Sidebar Refinements */
	.ga-sidebar-filters {
		background: #fff;
	}

	.ga-filter-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
		padding-bottom: 12px;
		border-bottom: 1px solid #f0f0f0;
	}

	.ga-filter-header h4 {
		font-size: 1.1rem;
		font-weight: 700;
		color: #1a1a1a;
	}

	.ga-filter-header .reset-btn {
		font-size: 0.85rem;
		color: var(--color-primary);
		font-weight: 600;
		text-decoration: none;
	}

	.ga-filter-section {
		margin-bottom: 30px;
	}

	.ga-filter-section__title {
		font-size: 0.95rem;
		font-weight: 700;
		margin-bottom: 15px;
		color: #333;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.ga-filter-section__title::after {
		content: '⌵';
		font-size: 0.8rem;
		color: #888;
	}

	.ga-filter-item {
		display: flex;
		align-items: center;
		padding: 7px 0;
		font-size: 0.9rem;
		color: #555;
		text-decoration: none;
	}

	.ga-filter-item .icon {
		margin-right: 12px;
		color: #888;
		display: flex;
		align-items: center;
	}

	.ga-filter-item.active {
		color: var(--color-primary);
		font-weight: 600;
	}

	.ga-filter-checkbox {
		width: 18px;
		height: 18px;
		border: 1px solid #ccc;
		border-radius: 4px;
		margin-left: auto;
		background: #fff;
	}

	.ga-filter-item.active .ga-filter-checkbox {
		background: var(--color-primary);
		border-color: var(--color-primary);
		position: relative;
	}

	.ga-filter-item.active .ga-filter-checkbox::after {
		content: '✓';
		color: #fff;
		position: absolute;
		font-size: 12px;
		left: 3px;
		top: -1px;
	}

	/* Price Range */
	.ga-price-filter-track {
		height: 2px;
		background: #eee;
		position: relative;
		margin: 15px 0 25px;
	}

	.ga-price-filter-progress {
		position: absolute;
		height: 100%;
		background: var(--color-primary);
	}

	.ga-price-filter-thumb {
		width: 14px;
		height: 14px;
		background: var(--color-primary);
		border: 2px solid #fff;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	}

	.ga-price-pills {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.ga-price-pill {
		border: 1px solid #eee;
		padding: 8px;
		font-size: 0.75rem;
		text-align: center;
		border-radius: 4px;
		color: #666;
	}

	.ga-price-pill.active {
		border-color: var(--color-primary);
		background: #fff5f8;
		color: var(--color-primary);
		font-weight: 600;
	}

	/* Category Pill Nav */
	.ga-plp-categories-desktop {
		margin-bottom: 30px;
	}

	.ga-plp-categories-desktop__scroll {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		padding-bottom: 4px;
		-ms-overflow-style: none;  /* IE and Edge */
		scrollbar-width: none;  /* Firefox */
	}

	.ga-plp-categories-desktop__scroll::-webkit-scrollbar {
		display: none; /* Chrome, Safari and Opera */
	}

	.ga-plp-cat-pill-item {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 6px 16px 6px 6px;
		background: #fff;
		border: 1px solid #eee;
		border-radius: 99px;
		text-decoration: none;
		white-space: nowrap;
		transition: all 0.2s;
	}

	.ga-plp-cat-pill-item .pill-img {
		width: 44px;
		height: 44px;
		border-radius: 50%;
		overflow: hidden;
		flex-shrink: 0;
	}

	.ga-plp-cat-pill-item .pill-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.ga-plp-cat-pill-item .pill-label {
		font-size: 0.9rem;
		font-weight: 500;
		color: #333;
	}

	.ga-plp-cat-pill-item:hover {
		border-color: var(--color-primary);
	}

	.ga-plp-cat-pill-item.is-active {
		background: #fff5f8;
		border-color: var(--color-primary);
	}

	.ga-plp-cat-pill-item.is-active .pill-label {
		color: var(--color-primary);
		font-weight: 600;
	}

	/* Toolbar */
	.ga-plp-top-actions {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 25px;
	}

	.ga-product-count {
		font-size: 1.1rem;
		font-weight: 700;
		color: #1a1a1a;
		margin: 0;
	}

	.ga-plp-sort-wrap {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 0.9rem;
	}

	.ga-plp-sort-label {
		color: #888;
	}

	.ga-custom-sort select {
		border: 1px solid #ddd;
		border-radius: 4px;
		padding: 8px 30px 8px 15px;
		background: #fff;
		font-size: 0.9rem;
		cursor: pointer;
	}

	/* Product Grid Override */
	.ga-view-desktop .ga-product-grid--plp {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 30px !important;
	}

	.ga-view-desktop .ga-product-card {
		background: #fff;
		border: 1px solid #f3ddd8;
		border-radius: 12px;
		overflow: hidden;
		position: relative;
		display: flex;
		flex-direction: column;
		transition: transform 0.2s, box-shadow 0.2s;
	}

	.ga-view-desktop .ga-product-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 10px 25px rgba(0,0,0,0.08);
	}

	.ga-product-card__image-wrap {
		height: 200px;
		background: #fcfcfc;
		position: relative;
		overflow: hidden;
	}

	.ga-product-card__image {
		display: block;
		height: 100%;
	}

	.ga-product-card__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.ga-product-card__wishlist {
		position: absolute;
		top: 12px;
		right: 12px;
		color: var(--color-primary);
		background: rgba(255,255,255,0.9);
		border: none;
		border-radius: 50%;
		width: 32px;
		height: 32px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-shadow: 0 2px 5px rgba(0,0,0,0.1);
		cursor: pointer;
		z-index: 5;
	}

	.ga-product-card__badge--bestseller {
		position: absolute;
		top: 12px;
		left: 0;
		background: var(--color-primary);
		color: #fff;
		font-size: 0.7rem;
		font-weight: 700;
		padding: 4px 10px;
		border-radius: 0 4px 4px 0;
		text-transform: uppercase;
		z-index: 5;
	}

	.ga-product-card__actions-overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 10px;
		background: rgba(255,255,255,0.8);
		transform: translateY(100%);
		transition: transform 0.3s;
		display: flex;
		justify-content: center;
	}

	.ga-product-card:hover .ga-product-card__actions-overlay {
		transform: translateY(0);
	}

	.ga-product-card__quickview {
		background: #fff;
		border: 1px solid #ddd;
		padding: 6px 12px;
		border-radius: 4px;
		font-size: 0.75rem;
		font-weight: 600;
		display: flex;
		align-items: center;
		gap: 6px;
		cursor: pointer;
	}

	.ga-product-card__body {
		padding: 15px;
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	.ga-product-card__title {
		margin: 0 0 8px;
		font-size: 1rem;
		font-weight: 500;
	}

	.ga-product-card__title a {
		color: #333;
		text-decoration: none;
	}

	.ga-product-card__price {
		font-size: 1.15rem;
		font-weight: 700;
		color: #1a1a1a;
		margin-bottom: 10px;
	}

	.ga-product-card__meta {
		margin-top: auto;
	}

	.ga-product-card__rating {
		display: flex;
		align-items: center;
		gap: 5px;
		font-size: 0.8rem;
		color: #888;
		margin-bottom: 12px;
	}

	.ga-product-card__rating .star {
		font-size: 1rem;
	}

	.ga-product-card__delivery {
		font-size: 0.75rem;
		font-weight: 700;
		display: flex;
		align-items: center;
		gap: 5px;
	}

	.delivery-tag--same { color: var(--color-primary); }
	.delivery-tag--next { color: var(--color-primary); }

	/* Desktop Footer Refinement */
	.ga-desktop-footer {
		display: block !important;
		background: #fff;
		border-top: 1px solid #eee;
		margin-top: 60px;
		font-family: var(--font-body);
	}

	.ga-footer-top-bar {
		border-bottom: 1px solid #eee;
		padding: 20px 0;
	}

	.ga-footer-top-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.ga-ft-item {
		display: flex;
		align-items: center;
		gap: 15px;
		color: #333;
	}

	.ga-ft-item svg {
		color: #666;
	}

	.ga-ft-item div {
		display: flex;
		flex-direction: column;
	}

	.ga-ft-item strong {
		font-size: 1.05rem;
		font-weight: 600;
	}

	.ga-ft-item span, .ga-ft-item a {
		font-size: 0.85rem;
		color: #666;
		margin-top: 2px;
		text-decoration: none;
	}

	.ga-ft-item a:hover {
		color: var(--color-primary);
		text-decoration: underline;
	}

	.ga-footer-main-bg {
		background: #f8f9fa;
		padding: 50px 0;
		border-bottom: 1px solid #e0e0e0;
	}

	.ga-footer-main-grid {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 30px;
	}

	.ga-footer-col {
		border-right: 1px solid #e0e0e0;
		padding-right: 20px;
	}

	.ga-footer-col:last-child {
		border-right: none;
		padding-right: 0;
	}

	.ga-footer-col-subscribe {
		grid-column: span 1;
	}

	.ga-footer-title {
		font-size: 1rem;
		font-weight: 700;
		color: #1a1a1a;
		margin-bottom: 16px;
	}

	.ga-footer-links {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.ga-footer-links li {
		margin-bottom: 10px;
	}

	.ga-footer-links a {
		font-size: 0.85rem;
		color: #555;
		text-decoration: none;
		transition: color 0.2s;
	}

	.ga-footer-links a:hover {
		color: var(--color-primary);
	}

	.ga-footer-col-subscribe p {
		font-size: 0.85rem;
		color: #555;
		margin-bottom: 15px;
	}

	.ga-fs-input-wrap {
		position: relative;
		display: flex;
		align-items: center;
		background: #fff;
		border: 1px solid #ddd;
		border-radius: 4px;
		padding: 5px 10px;
	}

	.ga-fs-input-wrap input {
		border: none;
		outline: none;
		padding: 8px 10px;
		width: 100%;
		font-size: 0.85rem;
		background: transparent;
	}

	.ga-fs-input-wrap button {
		background: transparent;
		border: none;
		color: var(--color-primary);
		cursor: pointer;
		display: flex;
		align-items: center;
		padding: 5px;
	}

	.ga-footer-bottom-info {
		background: #f8f9fa;
		padding: 25px 0;
		font-size: 0.8rem;
		color: #666;
		text-align: center;
		line-height: 1.6;
	}

	.ga-footer-bottom-info p {
		margin: 0 0 5px;
	}

	.ga-footer-bottom-info a {
		color: var(--color-primary);
		text-decoration: none;
	}

	.ga-footer-absolute-bottom {
		background: #f8f9fa;
		padding: 15px 0 25px;
	}

	.ga-fab-flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-top: 1px solid #e0e0e0;
		padding-top: 15px;
	}

	.ga-fab-socials {
		display: flex;
		gap: 15px;
	}

	.ga-fab-socials a {
		color: #999;
		transition: color 0.2s;
	}

	.ga-fab-socials a:hover {
		color: var(--color-primary);
	}

	.ga-fab-copyright {
		font-size: 0.85rem;
		color: #888;
	}

	.ga-fab-payments {
		display: flex;
		gap: 10px;
		align-items: center;
	}

	.ga-fab-payments img {
		height: 24px !important;
		width: auto !important;
		display: block;
	}
}
