/*
 * Zuki 100% Pixel-Perfect Design System
 * Based on Figma & PDF (March 2026)
 */

/* Zuki Mobile Section Image */
.zuki-mobile-img-wrapper {
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
}
.zuki-mobile-img-wrapper img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
}

@media (max-width: 767px) {
    .zuki-mobile-full-yes {
        position: relative;
        z-index: 10;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        width: 100vw !important;
        max-width: 100vw !important;
        left: 0 !important;
    }
    .zuki-mobile-full-yes .zuki-mobile-img-wrapper {
        width: 100vw !important;
    }
}

/* Global Reset for Edge-to-Edge compatibility */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    width: 100%;
}
/* Thick Slash before text utility */
.zuki-slash-before {
    display: inline-flex !important;
    align-items: center;
    position: relative;
    text-decoration: none !important;
}

.zuki-slash-before::before {
    content: "/" !important;
    font-size: 1.3em;
    font-weight: 900 !important;
    margin-right: 15px;
    font-style: normal;
    color: inherit;
    display: inline-block;
    line-height: 1;
    transform: scaleX(2.5); /* Extreme thickness like in Figma */
    margin-top: -2px;
}

/* Zuki Sparkle Effects */
.zuki-sparkle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: #e91e63;
    border-radius: 50%;
    pointer-events: none;
    z-index: 10000;
}

@keyframes sparkle-burst {
    0% { transform: translate(0, 0) scale(0); opacity: 1; }
    100% { transform: translate(var(--dx), var(--dy)) scale(1.5); opacity: 0; }
}

/* Badge Update Animation */
@keyframes zuki-badge-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.zuki-action-badge.updated {
    animation: zuki-badge-pop 0.4s ease;
}

/* Import Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Inter:wght@100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

/* Zuki Design System - Responsive Variables */
@media (min-width: 1025px) {
    :root {
        --zuki-shop-card-width: 100%;
        --zuki-shop-card-height: auto;
        --zuki-shop-card-image-height: auto;
        --zuki-shop-card-content-height: auto;
        --zuki-shop-grid-width: 100%;
        --zuki-shop-grid-column-gap: 18px;
        --zuki-shop-grid-row-gap: 40px;
        --zuki-shop-card-side-padding: 17px;
        --zuki-shop-card-icon-size: 16.35px;
    }
}

@media (max-width: 1024px) {
    :root {
        --zuki-shop-card-width: 100%;
        --zuki-shop-card-height: auto;
        --zuki-shop-card-image-height: auto;
        --zuki-shop-card-content-height: auto;
        --zuki-shop-grid-width: 100%;
        --zuki-shop-grid-column-gap: 10px;
        --zuki-shop-grid-row-gap: 20px;
        --zuki-shop-card-side-padding: 10px;
        --zuki-shop-card-icon-size: 18px;
    }
}

.zuki-product-card {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    height: auto !important;
    margin-bottom: 0;
    font-family: 'Plus Jakarta Sans', 'Montserrat', sans-serif;
    display: flex !important;
    flex-direction: column;
    transition: transform 0.3s ease;
    box-sizing: border-box;
    overflow: visible !important;
}

.zuki-product-image-link {
    display: block !important;
    text-decoration: none !important;
    width: 100% !important;
    height: auto;
}

/* Image Container - Strict Figma Dimensions */
.zuki-product-image-container {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 248/340 !important;
    background-color: #f7f7f7 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.zuki-product-image-container .swiper {
    width: 100%;
    height: 100%;
}

.zuki-product-image-container .swiper-slide {
    width: 100% !important;
    height: auto !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.zuki-product-image-container .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Full size as requested */
    padding: 0;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Hover State: Subtle Scale - REMOVED for Bestsellers as requested */
/* .zuki-product-card:hover .zuki-product-image-container img { transform: scale(1.08); } */

/* Overlays - Luxury Badge Pin Tooltip */
.zuki-product-badges {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    z-index: 9999 !important; /* Force on top of everything */
    pointer-events: none !important;
}

.zuki-badge-new {
    display: block !important; /* Ensure it is a block rectangle */
    margin: 0 !important;
    padding: 6px 12px !important; /* Premium spacing */
    background-color: #f2994a !important; /* FORCE BRAND YELLOW #f2994a */
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    line-height: 1 !important;
    border-radius: 0 !important; /* FORCE SQUARE RECTANGLE */
    box-shadow: 2px 2px 5px rgba(0,0,0,0.15) !important;
    width: auto !important;
    max-width: fit-content !important;
}

/* ==========================================================
/* ==========================================================
   ZUKI SHOP SIDEBAR - PRICE FILTER & BUTTONS
   ========================================================== */
.zuki-price-filter-container {
    padding-top: 10px;
}

#zuki-price-slider {
    margin-bottom: 30px !important;
}

.zuki-price-row {
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    margin: 15px 0 !important;
    text-align: left !important;
    white-space: nowrap !important; /* Keep as one line */
    overflow: visible !important;
}

.zuki-price-row *, 
.zuki-price-label, 
.zuki-price-range, 
.zuki-price-min, 
.zuki-price-max {
    display: inline !important; /* Force inline string appearance */
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: normal !important;
}

.zuki-price-label {
    color: #888 !important;
    margin-right: 4px !important;
}

.zuki-price-range, 
.zuki-price-min, 
.zuki-price-max {
    color: #111 !important;
}

.zuki-price-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    margin-top: 25px !important;
    align-items: flex-start !important;
}

/* Sidebar Sort Filter - AGGRESSIVE NON-ITALIC OVERRIDE */
.zuki-shop-sidebar .zuki-sort-list li a,
.zuki-shop-sidebar .zuki-sort-list li.active a,
.zuki-shop-sidebar a[href*="orderby"] {
    font-style: normal !important;
    font-weight: 500 !important; /* Unified weight */
    text-transform: uppercase !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: 1px !important;
}

/* Base style for Sidebar Buttons */
.zuki-btn-apply-price,
.zuki-btn-clear-price {
    width: 100% !important; /* Reset to override previous */
    height: auto !important;
    padding: 12px 24px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

/* Apply Filter - Narrower per Figma (Frame width vs button width) */
.zuki-btn-apply-price {
    width: auto !important; /* Allow it to shrink to padding */
    min-width: 140px !important;
    background-color: transparent !important;
    color: #111 !important;
    border: 1px solid #111 !important; 
}

.zuki-btn-apply-price:hover {
    background-color: #111 !important;
    color: #fff !important;
}

/* Clear All Filters - Purple Fill */
.zuki-btn-clear-price {
    width: 100% !important; /* Keep secondary action full width for balance or as per design */
    max-width: 200px !important;
    background-color: #6D58A6 !important;
    color: #fff !important;
    border: none !important;
}

.zuki-btn-clear-price:hover {
    background-color: #5a488c !important;
    box-shadow: 0 4px 15px rgba(109, 88, 166, 0.2) !important;
}

.zuki-price-slider-wrapper .widget_price_filter .ui-slider .ui-slider-range {
    background-color: #f2994a !important;
}

/* Wishlist Heart ??? absolute overlay on top right of image */
.zuki-wishlist-btn {
    position: absolute !important;
    top: 10px;
    right: 10px;
    width: 20px !important;
    height: 20px !important;
    background: transparent !important;
    color: #111111 !important;
    opacity: 1 !important;
    z-index: 5 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: all !important;
    flex-shrink: 0 !important;
}

/* No position: static override here. Responsive offsets are handled by the main selector. */

.zuki-wishlist-btn svg {
    width: 100%;
    height: 100%;
    stroke-width: 1.2;
    transition: all 0.3s ease;
}

.zuki-wishlist-btn.active svg {
    fill: #e91e63 !important;
    stroke: #e91e63 !important;
}

/* Swiper Navigation - Custom Arraw SVGs - PERMANENTLY VISIBLE */
.zuki-product-image-container .swiper-button-next,
.zuki-product-image-container .swiper-button-prev,
.zuki-product-image-container .zuki-product-swiper .swiper-button-next,
.zuki-product-image-container .zuki-product-swiper .swiper-button-prev {
    background: transparent !important;
    width: 30px !important;
    height: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important; /* Force opacity to 1 at all times */
    visibility: visible !important; /* Force visibility at all times */
    display: flex !important; /* Force display at all times */
    align-items: center !important;
    justify-content: center !important;
    z-index: 100 !important;
    pointer-events: auto !important;
    color: #222 !important;
}

/* Specific override for any theme-level hover rules that might still exist */
body .zuki-product-card .zuki-product-image-container .swiper-button-next,
body .zuki-product-card .zuki-product-image-container .swiper-button-prev,
body .zuki-product-card:not(:hover) .swiper-button-next,
body .zuki-product-card:not(:hover) .swiper-button-prev {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
}

/* Hide theme/default pseudo content */
.zuki-product-image-container .swiper-button-next::after,
.zuki-product-image-container .swiper-button-prev::after {
    display: none !important; 
    content: "" !important;
}

.zuki-product-image-container .swiper-button-next svg,
.zuki-product-image-container .swiper-button-prev svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
    opacity: 1 !important;
    transition: transform 0.3s ease;
}

.zuki-product-image-container .swiper-button-next:hover svg {
    transform: translateX(3px);
}

.zuki-product-image-container .swiper-button-prev:hover svg {
    transform: translateX(-3px);
}

.zuki-product-image-container .swiper-button-next {
    right: 5px !important;
}

.zuki-product-image-container .swiper-button-prev {
    left: 5px !important;
}

/* Removed hover-only rule as they are now permanently visible */


/* Consolidated duplicate section removed */

/* Product Info Section - Typography handled by Elementor */
.zuki-product-info {
    padding: 13px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
}

.zuki-product-card-title,
.zuki-product-card-title a {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    margin: 0 0 4px 0;
    color: inherit;
    line-height: 1.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none !important;
}


.zuki-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto !important;
    padding-top: 4px;
    padding-right: 12px; /* Align with wishlist default offset */
}

/* Bottom meta row: New badge on left, Wishlist heart on right */
.zuki-product-bottom-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    min-height: 24px;
}

.zuki-badge-new-wrap {
    flex: 1;
    min-height: 18px;
    display: flex;
    align-items: center;
}

.zuki-product-card-price {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: 1;
}

.zuki-product-card-price del {
    font-size: 0.9em;
    font-weight: 400;
    color: #888;
    margin-right: 4px;
}

/* Definitive Universal Background Reset */
.zuki-add-to-cart-btn,
.zuki-add-to-cart-btn *,
.zuki-add-to-cart-btn svg,
[class*="zuki-add-to-cart"] {
    background: none;
    background-color: transparent;
    border: none;
    box-shadow: none;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Cart Badge & Feedback */
.zuki-cart-count {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: #5D3E9F;
    /* Zuki Violet */
    color: #fff;
    font-size: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: none;
    font-weight: 700;
}

.zuki-add-to-cart-btn.added .zuki-cart-count {
    opacity: 1;
    transform: translateY(0);
}

/* Hide WooCommerce Default Bits */
.zuki-add-to-cart-btn .added_to_cart,
.added_to_cart.wc-forward {
    display: none !important;
}

/* Fix Loading State */
.zuki-add-to-cart-btn.loading svg {
    opacity: 0.3;
}

.zuki-add-to-cart-btn.loading::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border: 2px solid #5D3E9F;
    border-top-color: transparent;
    border-radius: 50%;
    animation: zuki-spin 0.6s linear infinite;
}

@keyframes zuki-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Header Cart Count Badge */
.premium-mobile-menu__link {
    position: relative !important;
}

.zuki-header-cart-count, 
.zuki-header-wishlist-count {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: #5D3E9F;
    /* Zuki Violet */
    color: #fff;
    font-size: 9px;
    min-width: 15px;
    height: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 0 4px;
    line-height: 1;
    z-index: 5;
    pointer-events: none;
}
.zuki-header-wishlist-count:empty {
    display: none !important;
}

.zuki-wishlist-btn svg {
    color: #111;
    stroke-width: 1.25;
}

.zuki-add-to-cart-btn svg {
    width: 100%;
    height: 100%;
    stroke-width: 1.25;
}

/* Grid Layouts - Precise Widths */
.zuki-products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    column-gap: 24px !important;
    row-gap: 40px !important;
    width: 100% !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.zuki-products-grid-wrapper {
    max-width: 1589px !important;
    margin: 0 auto !important;
    padding: 80px 70px !important;
}

/* Mobile and Tablet Shop Overrides have been consolidated at the end of this file for priority */

.zuki-shop-layout-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    gap: 40px !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 40px auto 0 !important;
    padding: 0 24px !important;
    overflow: visible !important;
}

#primary.content-area,
#main.site-main,
#content.site-main,
.page-header,
.page-content,
.entry-content,
.elementor-template-full-width #primary,
.elementor-template-full-width #main,
.elementor-template-full-width .entry-content,
.elementor-template-full-width #content,
.post-type-archive-product #primary,
.post-type-archive-product #main,
.is-layout-constrained>.zuki-shop-layout-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

.zuki-sidebar-column {
    flex: 0 0 160px;
    max-width: 160px;
    padding-left: 0;
}

.zuki-products-column {
    flex: 0 0 var(--zuki-shop-grid-width);
    min-width: 0 !important;
    width: var(--zuki-shop-grid-width) !important;
}

.zuki-products-grid.zuki-grid-3,
.zuki-products-grid.zuki-grid-4,
.zuki-products-grid.zuki-grid-5,
.zuki-products-grid.zuki-grid-6 {
    grid-template-columns: repeat(4, var(--zuki-shop-card-width)) !important;
}

.zuki-shop-sidebar {
    font-family: 'Plus Jakarta Sans', 'Montserrat', sans-serif;
    color: #111;
    padding-left: 0;
}

.zuki-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 19px;
    border-bottom: none;
    margin-bottom: 20px;
}

.zuki-filter-title {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    line-height: 1;
}

.zuki-reset-all {
    font-size: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    text-decoration: none !important;
    color: #111 !important;
    background: transparent !important;
    border: 1px solid #d9d9d9 !important;
    padding: 10px 18px !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.zuki-reset-all:hover {
    background-color: #6D58A6 !important;
    border-color: #6D58A6 !important;
    color: #fff !important;
}

.zuki-filter-section {
    margin-bottom: 22px;
    border-bottom: none;
    padding-bottom: 0;
}

.zuki-filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 12px;
}

.zuki-filter-header span {
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    text-transform: none;
    line-height: 1;
}

.zuki-filter-header i {
    font-size: 10px;
    transition: transform 0.3s ease;
    transform: rotate(-90deg);
}

.zuki-filter-header.active i {
    transform: rotate(0deg);
}

.zuki-filter-content {
    display: none;
}

.zuki-filter-header.active+.zuki-filter-content {
    display: block;
}

.zuki-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zuki-filter-list li {
    margin-bottom: 12px;
    position: relative;
    display: flex;
    align-items: center;
}

.zuki-filter-list li a {
    text-decoration: none !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important; padding-left: 0 !important;
    display: block;
    transition: color 0.2s ease;
}

.zuki-filter-list li a:hover {
    color: #bbb !important;
}

.zuki-sort-list a {
    font-style: normal !important;
}

/* Eradicate any lingering cached Elementor ::before pseudo-element */
.zuki-filter-list li::before,
.zuki-filter-list li.active::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
}

/* Replaced pseudo element with dynamic flex indicator */ 
.category-item { gap: 8px !important; } 
.category-item .active-indicator { 
    display: none !important;
    width: 2px !important; 
    height: 14px !important; 
    border-radius: 2px !important; 
    background-color: #f2994a; 
    flex-shrink: 0; 
} 
.category-item.active .active-indicator { display: block !important; }

.zuki-filter-list li.active a {
    color: #111 !important;
    font-weight: 600 !important;
}

.zuki-checkbox {
    width: 8px;
    height: 8px;
    border: 1px solid #ddd;
    border-radius: 2px;
    display: inline-block;
    position: relative;
}

.zuki-filter-list li.active .zuki-checkbox {
    background-color: #f2994a;
    border-color: #f2994a;
}

.zuki-shop-sidebar ul li a {
    text-transform: uppercase !important;
    font-size: 8px;
    letter-spacing: 0.18em;
    color: #111;
    transition: all 0.3s ease;
}

.zuki-size-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.zuki-size-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    border: 1px solid #eee;
    font-size: 12px;
    text-decoration: none;
    color: #666;
    transition: all 0.2s ease;
}

.zuki-size-item:hover,
.zuki-size-item.active {
    border-color: #111;
    color: #111;
    background-color: #f9f9f9;
}

.zuki-price-slider-wrapper .widget_price_filter .ui-slider .ui-slider-range {
    background-color: #f2994a !important;
}

.zuki-price-slider-wrapper .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #fff !important;
    border: 2px solid #f2994a !important;
}

.zuki-price-slider-wrapper .price_slider_amount .button {
    background-color: #111 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-size: inherit;
    padding: 8px 20px !important;
}

.products .product {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.zuki-standard-loop {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 30px !important;
}

.zuki-standard-loop .zuki-product-card-title a {
    text-decoration: none;
    color: inherit;
    font-family: 'Plus Jakarta Sans', 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.zuki-standard-loop .zuki-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.zuki-standard-loop .zuki-product-card-price {
    font-weight: 500;
    font-size: 14px;
}

.zuki-standard-loop .zuki-add-to-cart-btn svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.5;
    color: #111;
}

.zuki-standard-loop .zuki-add-to-cart-btn:hover svg {
    color: #f2994a;
}

.zuki-single-product-container {
    max-width: 1440px !important;
    margin: 40px auto !important;
    padding: 0 60px !important;
    font-family: inherit;
    background-color: #fff;
}

.zuki-product-main-flex {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: 60px !important;
    align-items: start !important;
}

@media (max-width: 1024px) {
    .zuki-product-main-flex {
        gap: 30px !important;
        grid-template-columns: 1fr !important;
    }
    
    .zuki-product-left-column { order: 1 !important; }
    .zuki-product-summary-section { order: 2 !important; }
}

.zuki-product-left-column {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 50px !important;
}

.zuki-product-summary-section {
    min-width: 0 !important;
}

.zuki-gallery-wrapper {
    display: flex !important;
    gap: 20px !important;
}

/* Fixed height only for thumb styles */
.zuki-gallery-style-left_thumbs .zuki-gallery-wrapper,
.zuki-gallery-style-bottom_thumbs .zuki-gallery-wrapper {
    height: var(--zuki-thumb-height, 450px) !important;
}

.zuki-gallery-style-left_thumbs .zuki-gallery-wrapper {
    flex-direction: row-reverse !important;
}

/* HM GRID (2-1-2-1) */
.zuki-gallery-grid-wrapper.layout-hm_grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    width: 100% !important;
}

.zuki-gallery-grid-wrapper.layout-hm_grid .zuki-grid-item.full-width {
    grid-column: span 2 !important;
}

.zuki-gallery-grid-wrapper.layout-hm_grid .zuki-grid-item a {
    display: block !important;
    width: 100% !important;
}

.zuki-gallery-grid-wrapper.layout-hm_grid .zuki-grid-item img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}

/* Reviews Section in Summary Column */
.zuki-product-summary-section .zuki-product-reviews-section-alt {
    margin-top: 50px !important;
    border-top: 1px solid #f0f0f0 !important;
    padding-top: 40px !important;
}

.zuki-gallery-thumbs {
    width: 100px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
}

.zuki-gallery-thumbs .swiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
}

.zuki-gallery-thumbs .swiper-slide {
    width: 100% !important;
    height: 100px !important;
    cursor: pointer !important;
    opacity: 0.5 !important;
    transition: opacity 0.3s ease !important;
}

.zuki-gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1 !important;
}

.zuki-gallery-main {
    flex: 1 !important;
    min-width: 0 !important;
    position: relative !important;
    background: #fff !important;
}

.zuki-gallery-top-actions {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    z-index: 20 !important;
}

.zuki-gallery-top-actions button {
    background: #fff !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #111 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
    transition: all 0.2s ease !important;
}

.zuki-gallery-top-actions button:hover {
    background: #111 !important;
    color: #fff !important;
}

.zuki-gallery-top-actions .zuki-wishlist-btn.active svg {
    fill: #6D58A6 !important;
    stroke: #6D58A6 !important;
}

.zuki-gallery-static .zuki-gallery-grid-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
}

.layout-hm_grid .zuki-grid-item {
    aspect-ratio: 1/1.2 !important; /* Portrait feel for top row left */
}

.layout-hm_grid .zuki-grid-item:nth-child(2) {
    aspect-ratio: 1/1 !important; /* Square for top row right */
}

.layout-hm_grid .zuki-grid-item.full-width {
    grid-column: span 2 !important;
    width: 100% !important;
    aspect-ratio: 16/11 !important; /* Wider for full width feature */
    margin-top: 10px !important;
}

/* Zuki Pattern (3-6-9-12) */
.layout-zuki_pattern .zuki-grid-item {
    aspect-ratio: 2/3 !important; /* Narrow Portrait */
}

.layout-zuki_pattern .zuki-grid-item:nth-child(3n+1) {
    grid-column: 1 / 2 !important;
}

.layout-zuki_pattern .zuki-grid-item:nth-child(3n+2) {
    grid-column: 2 / 3 !important;
    aspect-ratio: 1/1 !important; /* Square */
}

.layout-zuki_pattern .zuki-grid-item:nth-child(3n+0) {
    grid-column: 1 / 3 !important;
    aspect-ratio: 16/10 !important; /* Wide */
}

.zuki-grid-item {
    position: relative !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.zuki-grid-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
    display: block !important;
}

.zuki-badge-new-overlay {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    color: #999 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    z-index: 10 !important;
}

.zuki-gallery-thumbs {
    width: 100px !important;
    flex-shrink: 0 !important;
}

.zuki-product-header-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 10px !important;
}

.zuki-product-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 48px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    margin-bottom: 20px !important;
    color: #111 !important;
    letter-spacing: -0.01em !important;
}

.zuki-product-summary-section .zuki-product-price {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: #111 !important;
    margin-bottom: 35px !important;
}

.zuki-product-short-description {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #666 !important;
    margin-bottom: 40px !important;
    max-width: 100% !important;
}

/* Sticky Scroll Column */
.zuki-sticky-scroll-column {
    position: sticky !important;
    top: 30px !important;
    align-self: start !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    scrollbar-width: thin !important;
    padding-right: 5px !important; /* Space for scrollbar if needed */
}

.zuki-sticky-scroll-column::-webkit-scrollbar {
    width: 4px !important;
}

.zuki-sticky-scroll-column::-webkit-scrollbar-thumb {
    background: #eee !important;
    border-radius: 10px !important;
}

@media (max-width: 1024px) {
    .zuki-sticky-scroll-column {
        position: relative !important;
        top: 0 !important;
        max-height: none !important;
        overflow-y: visible !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .zuki-product-title {
        font-size: inherit;
    }
    .zuki-product-summary-section .zuki-product-price {
        font-size: inherit;
    }
    .zuki-product-short-description {
        font-size: inherit;
        max-width: 100% !important;
        margin-bottom: 30px !important;
    }
}

.zuki-attribute-row {
    margin-bottom: 30px !important;
}

.zuki-attr-label {
    display: block !important;
    font-weight: 700 !important;
    font-size: inherit;
    color: #111 !important;
    margin-bottom: 15px !important;
}

.zuki-attr-option {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.material .zuki-attribute-options-group {
    display: flex !important;
    gap: 25px !important;
}

.material .zuki-attr-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
}

.pa_material .zuki-attribute-options-group,
.pa_colour .zuki-attribute-options-group {
    display: flex !important;
    gap: 20px !important;
}

.pa_material .zuki-attr-option,
.pa_colour .zuki-attr-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
}

.zuki-swatch {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    border: 1px solid transparent !important;
    padding: 2px !important;
    background-clip: content-box !important;
    transition: all 0.3s ease !important;
}

.zuki-attr-option.selected .zuki-swatch {
    border-color: #f2c94c !important;
}

.zuki-swatch-label {
    font-size: 11px !important;
    color: #999 !important;
    text-transform: capitalize !important;
    font-weight: 400 !important;
}

.size .zuki-attribute-options-group {
    width: 100% !important;
}

.size .zuki-attr-option {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 54px !important;
    border: 1px solid #eee !important;
    padding: 0 20px !important;
    margin-bottom: 10px !important;
}

.pa_size .zuki-attribute-options-group {
    max-width: 320px !important;
}

.pa_size .zuki-attr-option {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 48px !important;
    border: 1px solid #eee !important;
    padding: 0 15px !important;
    margin-bottom: 5px !important;
}

.zuki-radio-dot {
    width: 14px !important;
    height: 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 50% !important;
    position: relative;
}

.zuki-attr-option.selected .zuki-radio-dot::after {
    content: '' !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #f2c94c;
    border-radius: 50%;
}

.zuki-arrow-down {
    border: solid #999;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
}

.zuki-quantity-delivery-container {
    margin-bottom: 45px !important;
}

.zuki-quantity-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 54px !important;
    border: 1px solid #eee !important;
    margin-bottom: 20px !important;
}

.zuki-quantity-wrapper button {
    width: 60px !important;
    height: 100% !important;
    background: none !important;
    border: none !important;
    font-size: inherit;
    cursor: pointer !important;
    color: #333 !important;
}

.zuki-quantity-wrapper input.qty {
    flex: 1 !important;
    border: none !important;
    text-align: left !important;
    font-size: inherit;
    font-weight: 500 !important;
    padding: 0 !important;
    background: transparent !important;
}

.zuki-delivery-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: inherit;
    color: #444 !important;
}

.zuki-delivery-info i {
    color: #5D3E9F !important;
    font-size: inherit;
}

.zuki-cart-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    margin-top: 40px !important;
}

.zuki-btn {
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: inherit;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
}

.zuki-btn-cart { background: #5D3E9F !important; color: #fff !important; flex: 1 !important; border: none !important; }
.zuki-btn-buy { background: transparent !important; color: #111 !important; flex: 1 !important; border: 1px solid #111 !important; }

.pa_size .zuki-attribute-options-group {
    display: block !important;
    width: 100% !important;
}
.pa_size .zuki-attr-option {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    padding: 15px 20px !important;
    border: 1px solid #eee !important;
    margin-bottom: 2px !important;
    width: 100% !important;
}

.zuki-attr-option {
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Color Swatches Selection */
.zuki-attr-option.selected .zuki-swatch {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #6D58A6;
}

.zuki-attr-option.selected .zuki-swatch-label {
    font-weight: 700;
    color: #1A1A1A;
}

/* Size chips Selection */
.zuki-attr-option.selected {
    border-color: #6D58A6 !important;
    background: #fbfaff !important;
}

.zuki-attr-option.selected .zuki-chip-text {
    color: #6D58A6 !important;
    font-weight: 700;
}

.zuki-attr-option.selected .zuki-radio-dot {
    background: #6D58A6 !important;
    border-color: #6D58A6 !important;
}

.zuki-make-it-special {
    margin-bottom: 50px !important;
}

.zuki-special-title {
    font-size: inherit;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    color: #111 !important;
}

.zuki-special-options {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 25px !important;
}

.zuki-special-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
    background: #fff !important;
    padding: 15px !important;
    border: 1px solid #f0f0f0 !important;
}

.zuki-special-content {
    display: flex !important;
    flex-direction: column !important;
}

.zuki-special-image img {
    width: 60px !important;
    height: 60px !important;
    object-fit: contain !important;
    background: #f7f7f7 !important;
    padding: 10px !important;
    border: 1px solid #eee !important;
}

.zuki-special-name {
    display: block !important;
    font-family: inherit;
    font-size: inherit;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
}

.zuki-special-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.zuki-special-price {
    font-size: inherit;
    color: #666 !important;
    font-weight: 500 !important;
}

.zuki-add-special {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-size: inherit;
    color: #111 !important;
}

.zuki-product-meta-alt {
    margin-top: 50px !important;
    padding-top: 40px !important;
    border-top: 1px solid #f0f0f0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px 40px !important;
}
.zuki-meta-row {
    font-size: inherit;
    color: #666 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
}
.zuki-meta-label { 
    font-weight: 400 !important; 
    margin-right: 5px !important; 
    color: #888 !important; 
}
.zuki-meta-value {
    color: #444 !important;
}

.zuki-product-reviews-section-alt {
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: none !important;
}

.zuki-reviews-title {
    font-family: inherit;
    font-size: 22px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #111 !important;
    margin-bottom: 0 !important;
}

.zuki-reviews-header-alt {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 40px !important;
}

.zuki-write-review-btn {
    background: none !important;
    border: 1px solid #e0e0e0 !important;
    color: #111 !important;
    padding: 8px 15px !important;
    font-size: inherit;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.zuki-review-highlight {
    max-width: 100% !important;
}

.zuki-review-quote {
    font-family: inherit;
    font-size: inherit;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 15px !important;
}

.zuki-review-text {
    font-size: inherit;
    line-height: 1.6 !important;
    color: #666 !important;
    margin-bottom: 25px !important;
}

.zuki-review-meta-info {
    border-top: none !important;
    padding-top: 0 !important;
}

.zuki-review-by {
    font-size: inherit;
    color: #999 !important;
    margin-bottom: 20px !important;
}

.zuki-reviewer-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.zuki-reviewer-card img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
}

.zuki-reviewer-name {
    font-family: inherit;
    font-size: inherit;
    color: #111 !important;
    margin-bottom: 2px !important;
}
.text-gold { color: #FFB800 !important; }

.zuki-quantity-label {
    font-size: inherit;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 30px 0 15px !important;
}

.zuki-quantity-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 160px !important;
    height: 44px !important;
    border: 1px solid #e0e0e0 !important;
    margin-bottom: 40px !important;
}

.zuki-quantity-wrapper button {
    width: 44px !important;
    height: 100% !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 18px !important;
    color: #111 !important;
}

.zuki-qty-value {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    color: #111 !important;
    border-left: none !important;
    border-right: none !important;
}

.zuki-delivery-row {
    display: flex !important;
    align-items: center !important;
    padding: 20px 0 !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    margin-bottom: 50px !important;
}

.zuki-delivery-label {
    font-size: inherit;
    font-weight: 700 !important;
    color: #111 !important;
    width: 120px !important;
}

.zuki-pincode-wrapper {
    display: flex !important;
    align-items: center !important;
    flex: 1;
}

.zuki-pincode-input {
    border: none !important;
    background: none !important;
    font-size: inherit;
    font-style: italic !important;
    color: #111 !important;
    outline: none !important;
    flex: 1;
}

.zuki-pincode-check {
    background: none !important;
    border: none !important;
    color: #6D58A6 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    padding: 0 10px !important;
}

.zuki-make-it-special {
    margin-bottom: 60px !important;
}

.zuki-special-title {
    font-size: inherit;
    font-weight: 700 !important;
    margin-bottom: 30px !important;
}

.zuki-special-options {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
}

.zuki-special-item {
    background: #fdfdfd !important;
    overflow: hidden !important;
    border: 1px solid #f0f0f0 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.zuki-special-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
}

.zuki-special-image {
    height: 180px !important;
    background: #eaebed !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
}

.zuki-special-image.note-bg {
    background: #FFFEF2 !important; /* Notepad yellow */
    padding: 20px !important;
    position: relative;
}

.zuki-note-placeholder {
    width: 100%;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.zuki-note-placeholder span {
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

.zuki-note-placeholder p {
    font-family: 'Montserrat', sans-serif !important;
    font-style: italic !important;
    font-size: 14px !important;
    color: #999 !important;
    text-align: left !important;
    margin: 0 !important;
}

.zuki-special-footer {
    padding: 15px 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #fff !important;
    border-top: 1px solid #f5f5f5 !important;
}

.zuki-special-name {
    font-family: inherit;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 2px !important;
    color: #111 !important;
}

.zuki-special-price {
    font-size: 13px !important;
    color: #888 !important;
    font-weight: 500 !important;
}

.zuki-add-special-btn {
    background: #111 !important;
    border: none !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #fff !important;
    transition: background 0.3s ease !important;
}

.zuki-add-special-btn:hover {
    background: #6D58A6 !important;
}

.zuki-product-accordions {
    border-top: 1px solid #eee !important;
    margin-bottom: 50px !important;
}

.zuki-accordion-item {
    border-bottom: 1px solid #eee !important;
}

.zuki-accordion-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 24px 0 !important;
    cursor: pointer !important;
    font-size: inherit;
    font-weight: 500 !important;
    color: #111 !important;
}

.zuki-accordion-icon {
    color: #5D3E9F !important;
    transition: transform 0.4s ease !important;
}

.zuki-accordion-item.active .zuki-accordion-icon {
    transform: rotate(45deg) !important;
}

.zuki-accordion-content {
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.zuki-accordion-item.active .zuki-accordion-content {
    max-height: 1000px !important;
    opacity: 1 !important;
    padding-bottom: 30px !important;
}

.zuki-accordion-inner {
    font-size: inherit;
    line-height: 1.8 !important;
    color: #444 !important;
}

.zuki-final-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.zuki-final-actions .zuki-btn {
    height: 56px !important;
}

.zuki-btn-buy {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #111 !important;
}

.zuki-btn-buy:hover {
    background: #111 !important;
    color: #fff !important;
}

.zuki-btn-cart {
    background: #5D3E9F !important;
    color: #fff !important;
    border: none !important;
}

.zuki-btn-cart:hover {
    background: #4a317f !important;
}

@media (max-width: 1024px) {
    .zuki-product-main-flex { grid-template-columns: 1fr !important; gap: 40px !important; }
    .zuki-product-left-column, .zuki-product-summary-section { width: 100% !important; }
    
    .zuki-final-actions {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        padding: 20px !important;
        box-shadow: 0 -10px 30px rgba(0,0,0,0.05) !important;
        z-index: 999 !important;
        grid-template-columns: 1fr 1.5fr !important;
    }
    
    body { padding-bottom: 100px !important; }
}

/* ==========================================================================
   LUXURY CART PAGE (REFINED)
   ========================================================================== */

/* ==========================================================================
   LUXURY CART PAGE (BRANDED)
   ========================================================================== */

/* Hide default WooCommerce/Theme Cart Title */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart h1.page-title,
body.woocommerce-cart .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-cart header.entry-header {
    display: none !important;
}

/* ==========================================================================
   ZUKI BRAND CONSTITUTION - THE CART PAGE
   ========================================================================== */

/* Hide default WooCommerce/Theme Cart Title */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart h1.page-title,
body.woocommerce-cart .page-header,
body.woocommerce-cart .entry-header,
body.woocommerce-cart header.entry-header {
    display: none !important;
}

.zuki-cart-page-wrapper {
    max-width: 1720px;
    margin: 80px 0 160px 0; /* Set to 0 from left edge */
    padding: 0 40px 0 0; 
    font-family: 'Montserrat', 'General Sans', sans-serif;
    color: #1A1A1A; 
    text-align: left !important;
}

.zuki-cart-header {
    margin-bottom: 80px; /* Section Padding 80px */
    text-align: left !important;
}

.zuki-cart-main-title {
    font-family: inherit;
    font-size: inherit; /* Updated from 110px */
    font-weight: 400 !important;
    color: #1A1A1A !important;
    margin: 0 0 24px !important;
    line-height: 1.1 !important;
    font-style: italic !important;
    letter-spacing: -0.02em !important;
}

.zuki-cart-subtitle {
    font-family: inherit;
    font-size: inherit;
    color: #757575 !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em;
}

.zuki-cart-layout {
    display: grid;
    grid-template-columns: 1fr 380px; 
    gap: 50px; /* Adjusted from 500px to 50px */
    align-items: start;
}

/* Left Column: Items */
.zuki-cart-items-column {
    width: 100%;
}

.zuki-cart-item {
    display: flex;
    gap: 24px; /* Figma horizontal gap */
    padding: 40px 0;
    min-height: 307px; /* Figma Frame Height */
    background: transparent !important;
    border-bottom: 1px solid #E0E0E0 !important;
    box-sizing: border-box;
}

.zuki-cart-item:last-child {
    border-bottom: none !important;
}

.zuki-cart-item-image {
    flex: 0 0 160px;
    height: 160px;
    overflow: hidden;
    border-radius: 2px;
    background: #F9F9F9; /* Figma Visual Bg */
    display: flex;
    align-items: center;
    justify-content: center;
}

.zuki-cart-item-image img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
}

.zuki-cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.zuki-cart-item-header {
    display: flex;
    flex-direction: column; 
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 24px;
}

.zuki-cart-item-title {
    font-family: inherit;
    font-size: inherit; /* 20pt equivalent */
    font-weight: 600 !important; /* Semi-Bold per Figma */
    margin: 0 0 4px !important;
    color: #1A1A1A !important;
    line-height: 1.2 !important;
}

.zuki-cart-item-title a {
    color: #1A1A1A !important;
    text-decoration: none !important;
}

.zuki-cart-item-price {
    font-family: inherit;
    font-weight: 700 !important; /* Bold per Figma */
    font-size: inherit; /* 20pt equivalent */
    color: #1A1A1A !important;
}

.zuki-cart-item-meta {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Figma vertical spacing logic */
    font-size: inherit; /* 14pt equivalent */
    color: #666666 !important; /* Slate Grey per Figma */
    margin-bottom: 24px;
    line-height: 1.5 !important;
}

.zuki-item-attributes dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.zuki-item-attributes dt,
.zuki-item-attributes dd {
    display: inline-block;
    margin: 0;
    font-size: 18px; /* 14pt */
}

.zuki-item-attributes dt {
    font-weight: 400;
    color: #666666;
}

.zuki-item-attributes dt::after {
    content: ": ";
}

.zuki-item-attributes dd p {
    margin: 0;
    display: inline;
}

.zuki-cart-qty {
    color: #666666 !important;
}

.zuki-cart-item-badges {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}

.zuki-cart-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: inherit;
    color: #666666 !important;
}

.zuki-cart-badge svg {
    color: #6D58A6 !important; /* Brand Purple */
    width: 18px; /* 18px stroke icons */
    height: 18px;
}

.zuki-cart-item-actions {
    display: flex;
    gap: 12px;
    margin-top: auto; /* Push to bottom of detail area */
    flex-wrap: wrap;
}

.zuki-cart-action-btn {
    display: inline-flex !important;
    background: #FFFFFF !important;
    border: 1px solid #E0E0E0 !important;
    padding: 6px 16px !important; /* Figma padding */
    font-size: inherit; /* 12pt equivalent */
    color: #1A1A1A !important;
    cursor: pointer !important;
    text-decoration: none !important;
    font-family: inherit;
    border-radius: 2px !important; /* 2px radius */
    transition: all 0.2s ease !important;
    font-weight: 400 !important; /* Regular per Figma */
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Force override WooCommerce .remove styles */
.zuki-cart-item-actions a.zuki-cart-action-btn.remove {
    color: #1A1A1A !important;
    background: #FFFFFF !important;
    font-size: inherit;
    height: auto !important;
    width: auto !important;
    line-height: 1 !important;
    position: static !important;
    font-weight: 400 !important;
    border-radius: 2px !important;
    border: 1px solid #E0E0E0 !important;
}

.zuki-cart-item-actions a.zuki-cart-action-btn.remove::before {
    display: none !important;
}

.zuki-cart-action-btn:hover,
.zuki-cart-item-actions a.zuki-cart-action-btn.remove:hover {
    background: #1A1A1A !important;
    color: #FFFFFF !important;
    border-color: #1A1A1A !important;
}

/* Right Column: Summary Sidebar */
.zuki-cart-summary-sticky {
    position: sticky;
    top: 120px;
}

.zuki-cart-summary-card {
    background: #fff;
    padding: 32px; /* Standard internal padding */
    border: 1px solid #E0E0E0; /* Brand Neutral Border */
    border-radius: 2px;
}

.zuki-summary-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
    font-size: 16px;
    color: #1A1A1A;
}

.zuki-summary-row span:first-child {
    color: #757575; /* Slate Gray Metadata */
}

/* Success Highlight */
.zuki-free-text {
    color: #F9A825 !important; /* Golden Accent Token */
    font-weight: 700;
}

.zuki-summary-coupon {
    margin: 40px 0;
}

.zuki-summary-coupon p {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #1A1A1A;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.zuki-coupon-input-group {
    display: flex !important;
    width: 100% !important;
    height: 44px !important; /* Standard height */
    border: none !important;
    overflow: hidden !important;
    background: #F5F5F5 !important; /* Fill Token */
    border-radius: 2px;
}

.zuki-coupon-input-group input#coupon_code {
    flex: 1 !important;
    border: none !important;
    padding: 0 16px !important;
    font-size: inherit;
    background: transparent !important;
    outline: none !important;
    height: 100% !important;
    color: #1A1A1A !important;
}

.zuki-btn-apply {
    flex: 0 0 100px !important;
    background: #6D58A6 !important; /* Brand Purple */
    color: #fff !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-size: inherit;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    height: 100% !important;
}

.zuki-summary-divider {
    height: 1px;
    background: #E0E0E0;
    margin: 32px 0;
}

.zuki-total-row {
    font-size: inherit;
    font-weight: 700 !important;
    margin-bottom: 48px !important;
    border-top: none;
}

.zuki-total-row span:first-child {
    color: #1A1A1A !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.zuki-btn-checkout {
    display: flex !important;
    width: 100% !important;
    height: 52px !important; 
    background: #6D58A6 !important; /* Brand Purple Primary CTA */
    color: #fff !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center !important;
    font-family: inherit;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: inherit;
    text-decoration: none !important;
    border-radius: 2px !important; /* Sharp Brand Corners */
    transition: all 0.3s ease !important;
}

.zuki-btn-checkout:hover {
    background: #5a488c !important;
    box-shadow: 0 4px 20px rgba(109, 88, 166, 0.25) !important;
}

.zuki-btn-checkout:hover {
    opacity: 0.9;
}

/* Delivery Fee Highlight */
.zuki-free-text {
    color: #F2A900 !important; /* Brand Gold/Success */
    font-weight: 700;
}

/* Responsive */
@media (max-width: 1024px) {
    .zuki-cart-layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .zuki-cart-summary-sticky {
        position: static;
    }
}

@media (max-width: 767px) {
    .zuki-cart-main-title { font-size: inherit; }
    .zuki-cart-item { flex-direction: column; gap: 16px; align-items: flex-start; }
    .zuki-cart-item-image { width: 100%; height: 200px; }
}

.zuki-share-popover {
    position: absolute;
    background: #fff;
    border: 1px solid #eee;
    padding: 20px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.12);
    z-index: 99999;
    border-radius: 8px;
    width: 220px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
.zuki-share-popover.active { opacity: 1; transform: translateY(0); pointer-events: auto; }

.zuki-blog-posts-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px !important;
    max-width: 100% !important;
    margin: 60px auto !important;
    padding: 0 20px !important;
}

@media (max-width: 767px) {
    .zuki-blog-posts-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}

.zuki-blog-item {
    display: flex !important;
    gap: 30px !important; 
    overflow: hidden;
}

.zuki-blog-image {
    height: 600px !important;
    flex-shrink: 0 !important;
    overflow: hidden;
}
.zuki-blog-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

.zuki-blog-title {
    font-family: inherit;
    font-size: inherit;
    line-height: 1.2 !important;
    color: #111 !important;
}

.zuki-collection-full-width,
.zuki-products-full-width,
.zuki-bestsellers-full-width {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden;
}

.zuki-bestsellers-boxed {
    max-width: 1320px !important;
    margin: 0 auto !important;
    width: 100% !important;
    overflow: hidden !important; 
    position: relative !important;
}

.zuki-bestsellers-boxed .zuki-bestsellers-container {
    padding: 60px 0;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.zuki-bestsellers-header {
    text-align: left;
    margin-bottom: 40px;
}

.zuki-bestsellers-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    color: #111;
    font-weight: 400;
}

.zuki-bestsellers-slider {
    width: 100% !important;
    overflow: hidden !important; 
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    left: 0 !important;
}

.zuki-bestsellers-slider .swiper-slide {
    height: auto !important;
    flex-shrink: 0;
}

.zuki-bestsellers-slider .zuki-product-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    flex: 1 !important;
}

.zuki-bestsellers-slider .zuki-product-image-container {
    background-color: #f7f7f7 !important;
    aspect-ratio: 1 / 1.36;
    height: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    position: relative;
}

.zuki-bestsellers-slider .zuki-product-image-container img.zuki-full-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
}

.zuki-bestsellers-slider .zuki-product-info {
    padding-top: 15px;
    text-align: left;
}

.zuki-bestsellers-slider .zuki-product-card-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin-bottom: 12px !important;
    height: 40px !important; /* Fixed height for 2 lines */
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.zuki-bestsellers-slider .zuki-product-card-title a {
    text-decoration: none !important;
    color: #111 !important;
}

@media (max-width: 767px) {
    .zuki-bestsellers-slider .swiper-slide {
        /* Remove fixed width to allow Swiper slidesPerView to work */
        height: auto !important;
    }
    .zuki-bestsellers-slider .zuki-product-card {
        width: 100% !important;
        height: auto !important;
    }
    .zuki-bestsellers-slider .zuki-product-image-container {
        height: auto !important;
        width: 100% !important;
    }
}

.zuki-bestsellers-container .zuki-add-to-cart-btn svg {
    stroke: #111 !important;
}

.zuki-bestsellers-container .zuki-add-to-cart-btn:hover svg {
    stroke: #5D3E9F !important;
}

/* 
 * Collection Showcase Slider 
 */
.zuki-collection-container {
    padding: 0;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.zuki-collection-slider {
    width: 100%;
}

.collection-card {
    position: relative !important;
    overflow: hidden !important;
    height: 600px; /* Default height overridden by Elementor */
    display: flex !important;
}

.collection-bg-img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transform: translate(-50%, -50%) !important;
}

.zuki-hover-zoom-yes .collection-card:hover .collection-bg-img {
    transform: translate(-50%, -50%) scale(1.1) !important;
}

.collection-card .overlay {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 2;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center; /* Default center vertical */
    align-items: center; /* Default center horizontal */
    text-align: center; /* Default center text */
    background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%);
    transition: all 0.4s ease !important;
    box-sizing: border-box !important;
}

/* Force bottom alignment logic while keeping titles inline */
.collection-bottom-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* Center children horizontally */
    min-height: 180px; /* Adjust based on your longest description */
    width: 100%;
}

.collection-card .overlay .subtitle {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    color: #fff;
    line-height: 1;
}

.collection-card .overlay h2 {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 25px;
    color: #fff;
    margin-top: 0;
}

/* Force bottom alignment logic while keeping titles inline */
.collection-bottom-content {
    display: flex;
    flex-direction: column;
    min-height: 180px; /* Adjust based on your longest description */
    width: 100%;
}

@media (max-width: 1024px) {
    .collection-bottom-content {
        min-height: 150px;
    }
}

.collection-card .overlay p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    max-width: 450px;
    margin-bottom: 25px !important;
    color: #f0f0f0;
    margin-top: 0;
    flex-grow: 0; /* Don't stretch the description */
    min-height: 60px; /* Reserve space for at least 2-3 lines */
}

.collection-card .outline-btn {
    display: inline-block;
    width: fit-content;
    padding: 10px 45px !important; /* Forced slim dimension */
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    background: transparent;
    line-height: 1 !important;
}

.collection-card .outline-btn:hover {
    background: #fff;
    color: #111;
}

.zuki-btn-glow .outline-btn:hover {
    box-shadow: 0 0 20px rgba(255,255,255,0.4);
}

/* Collection Slider Pagination Styles */
.zuki-pagination-container {
    display: flex;
    width: 100%;
    z-index: 10;
    position: relative;
}

.zuki-pagination-inside {
    position: absolute;
    bottom: 40px;
    left: 0;
    pointer-events: none;
}

.zuki-pagination-inside .swiper-pagination {
    pointer-events: auto;
    position: relative;
    bottom: 0;
}

.zuki-pagination-outside {
    position: relative;
    padding: 0 15px;
}

.zuki-pagination-outside .swiper-pagination {
    position: relative;
}

/* Bullet Dots Style */
.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.4);
    opacity: 1;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    margin: 0 6px !important;
}

.swiper-pagination-bullet-active {
    background: #fff;
    transform: scale(1.3);
}

/* Progress Bar (Line) Style */
.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.1);
    height: 3px;
    border-radius: 10px;
    overflow: hidden;
    position: relative !important;
    top: auto !important;
    left: auto !important;
}

.zuki-pagination-inside .swiper-pagination-progressbar {
    background: rgba(255, 255, 255, 0.2);
}

.swiper-pagination-progressbar-fill {
    background: #111;
}

.zuki-pagination-inside .swiper-pagination-progressbar-fill {
    background: #fff;
}

/* Fraction Style */
.swiper-pagination-fraction {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 2px;
    color: #fff;
}

.zuki-pagination-outside .swiper-pagination-fraction {
    color: #111;
}

.zuki-collection-grid .collection-grid-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.zuki-collection-grid .collection-card {
    flex: 1 1 50%;
}

@media (max-width: 1024px) {
    .collection-card .overlay {
        padding: 40px;
    }
    .collection-card .overlay h2 {
        font-size: 38px;
    }
}

@media (max-width: 767px) {
    .zuki-collection-slider {
        height: 400px !important;
    }
    .collection-card {
        height: 400px !important;
    }
    .collection-card .overlay {
        padding: 40px 20px !important;
    }
    .collection-card .overlay h2 {
        font-size: inherit;
        margin-bottom: 10px !important;
    }
    .collection-card .overlay p {
        font-size: inherit;
        margin-bottom: 20px !important;
        line-height: 1.4 !important;
    }
    .zuki-section-header {
        margin-bottom: 30px !important;
        padding: 0 15px !important;
    }
    .zuki-section-title {
        font-size: inherit;
        line-height: 1.2 !important;
    }
    .zuki-section-subtitle {
        font-size: inherit;
    }
    .zuki-bestsellers-header h2 {
        font-size: inherit;
    }
    .zuki-stack-mobile-yes .collection-grid-container {
        flex-direction: column;
        gap: 20px;
    }
}

/* 
 * Luxury Category Showcase 
 */

.zuki-luxury-cat-showcase {
    background-color: #fff;
    position: relative;
}

.zuki-cat-showcase-container {
    margin: 0 auto;
}

.zuki-cat-showcase-title {
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    font-weight: 400;
    font-style: italic;
    color: #111;
    margin-bottom: 45px;
    line-height: 1.2;
}

.zuki-cat-full-width {
    max-width: 100% !important;
    padding: 0 40px;
}

.zuki-cat-showcase-title {
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    font-weight: 400;
    font-style: italic;
    color: #111;
    margin-bottom: 45px;
    line-height: 1.2;
}

/* Alignment Classes */
.zuki-cat-align-center .zuki-cat-showcase-title { text-align: center; }
.zuki-cat-align-right .zuki-cat-showcase-title { text-align: right; }

.zuki-cat-showcase-wrapper {
    position: relative;
    width: 100%;
}

.zuki-cat-inner {
    display: flex;
    transition: all 0.3s ease;
}

/* Modes */
.zuki-cat-showcase-wrapper.display-grid .zuki-cat-inner {
    display: grid;
    grid-template-columns: repeat(var(--zuki-cat-grid-cols, 5), 1fr);
}

@media (max-width: 1024px) {
    .zuki-cat-showcase-title {
        font-size: inherit;
        margin-bottom: 30px !important;
    }
}

@media (max-width: 480px) {
    .zuki-cat-showcase-wrapper.display-grid .zuki-cat-inner {
        grid-template-columns: 1fr !important;
    }
}

.zuki-cat-showcase-wrapper.display-scroll .zuki-cat-inner {
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
}

.zuki-cat-showcase-wrapper.display-scroll .zuki-cat-inner::-webkit-scrollbar {
    display: none;
}

/* Card Styling */
.zuki-cat-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    flex: 0 0 auto;
}

.zuki-cat-img-box {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #f7f7f7;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-cat-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), 
                filter 0.5s ease;
}

/* Force Category Showcase Title Typography */
html body .zuki-luxury-cat-showcase .zuki-cat-title,
html body .zuki-cat-card .zuki-cat-title {
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #111 !important;
    margin-top: 8px !important;
    text-align: left !important;
    font-style: normal !important;
    display: block !important;
    line-height: 1.4 !important;
}

/* Ratios */
.ratio-1-1 .zuki-cat-img-box { aspect-ratio: 1 / 1; }
.ratio-3-4 .zuki-cat-img-box { aspect-ratio: 3 / 4; }
.ratio-4-5 .zuki-cat-img-box { aspect-ratio: 4 / 5; }
.ratio-9-16 .zuki-cat-img-box { aspect-ratio: 9 / 16; }

/* Hover Effects */
.effect-zoom:hover .zuki-cat-img-box img {
    transform: scale(1.1);
}

.effect-lift:hover .zuki-cat-img-box {
    transform: translateY(-10px);
}

.effect-shadow:hover .zuki-cat-img-box {
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.effect-grayscale .zuki-cat-img-box img {
    filter: grayscale(100%);
}

.effect-grayscale:hover .zuki-cat-img-box img {
    filter: grayscale(0%);
}

/* Overlay */
.zuki-cat-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0);
    transition: background-color 0.4s ease;
    z-index: 2;
    pointer-events: none;
}

.zuki-cat-card:hover .zuki-cat-overlay {
    background-color: rgba(0,0,0,0.15); /* Controlled by Elementor but default fallback */
}

/* Containers */
.zuki-cat-showcase-container,
.zuki-bestsellers-container,
.zuki-collection-container {
    position: relative;
    width: 100%;
    overflow: visible !important;
}

.elementor-widget-zuki_luxury_category_showcase,
.elementor-widget-zuki_bestsellers_slider,
.elementor-widget-zuki_collection_showcase {
    overflow: visible !important;
}

/* Ensure parents have enough room for arrows without clipping */
.zuki-has-nav-outside {
    padding-left: 70px !important;
    padding-right: 70px !important;
    overflow: visible !important;
}

.elementor-widget-zuki_luxury_category_showcase,
.elementor-widget-zuki_bestsellers_slider,
.elementor-widget-zuki_collection_showcase {
    overflow: visible !important;
}

/* 
 * Global Slider Navigation Arrows 
 */

.zuki-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 31px !important;
    height: 31px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10000;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: #ffffff !important;
    color: var(--zuki-nav-color, #111) !important;
    visibility: visible !important;
    border: 1px solid #111 !important;
    border-radius: 50% !important;
    padding: 0 !important;
}

.zuki-nav-arrow svg {
    width: 31px !important;
    height: 31px !important;
    display: block;
    transition: all 0.3s ease;
}

.zuki-nav-arrow svg path {
    stroke: currentColor !important;
    stroke-width: 1.2px !important;
}

.zuki-nav-arrow:hover {
    background: #111 !important;
    color: #fff !important;
}

.zuki-nav-pos-outside.zuki-nav-prev { left: -15px; }
.zuki-nav-pos-outside.zuki-nav-next { right: -15px; }

@media (min-width: 1400px) {
    .zuki-nav-pos-outside.zuki-nav-prev { left: -45px; }
    .zuki-nav-pos-outside.zuki-nav-next { right: -45px; }
}

.zuki-nav-arrow.disabled {
    display: none !important; /* Hide if disabled (e.g. non-loop scroll) */
}

/* Force show in Elementor Editor ALWAYS */
.elementor-editor-active .zuki-nav-arrow,
.elementor-editor-active .zuki-nav-arrow.disabled {
    display: flex !important;
    opacity: 0.85 !important;
    z-index: 999999 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

@media (max-width: 767px) {
    .zuki-nav-arrow.mobile-hide { display: none !important; }
}

.zuki-nav-pos-floating {
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

@media (max-width: 1300px) {
    .zuki-nav-pos-outside.zuki-nav-prev { left: 10px; background: rgba(255,255,255,0.85); border-radius: 50%; }
    .zuki-nav-pos-outside.zuki-nav-next { right: 10px; background: rgba(255,255,255,0.85); border-radius: 50%; }
}

/* Category Specific Adjustment to align with image center */
.zuki-cat-showcase-visual-wrapper .zuki-nav-arrow {
    top: 50%; /* Now that it is relative to visual wrapper, 50% is correct */
}

.zuki-bestsellers-slider .zuki-nav-arrow {
    top: 43%;
}

@media (max-width: 767px) {
    .zuki-nav-arrow.mobile-hide { display: none !important; }
    .zuki-cat-showcase-title { font-size: 28px; margin-bottom: 30px; }
    
    /* Make arrows visible and well-positioned on mobile */
    .zuki-has-nav-outside { padding-left: 0 !important;
        padding-right: 15px !important;
    }
    .zuki-nav-pos-outside.zuki-nav-prev { left: 0px !important; z-index: 100 !important; }
    .zuki-nav-pos-outside.zuki-nav-next { right: 0px !important; z-index: 100 !important; }
    
    /* Ensure arrows are easily clickable on mobile */
    .zuki-nav-arrow {
        min-width: 30px;
    }
}

/* ==========================================================================
   LUXURY WISHLIST GRID
   ========================================================================== */
.zuki-luxury-wishlist-wrapper {
    max-width: 1400px;
    margin: 60px auto;
    padding: 0 15px;
}

.zuki-wishlist-main-title {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    margin-bottom: 40px;
    text-align: center;
    color: #111;
}

.zuki-wishlist-grid {
    display: grid;
    /* Columns handled by prefix_class in PHP */
}

/* Grid Columns Utility */
.zuki-wishlist-cols-1- .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr); }
.zuki-wishlist-cols-2- .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr); }
.zuki-wishlist-cols-3- .zuki-wishlist-grid { grid-template-columns: repeat(3, 1fr); }
.zuki-wishlist-cols-4- .zuki-wishlist-grid { grid-template-columns: repeat(4, 1fr); }
.zuki-wishlist-cols-5- .zuki-wishlist-grid { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 1024px) {
    .zuki-wishlist-cols-tablet-1- .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr); }
    .zuki-wishlist-cols-tablet-2- .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr); }
    .zuki-wishlist-cols-tablet-3- .zuki-wishlist-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
    .zuki-wishlist-cols-mobile-1- .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr); }
    .zuki-wishlist-cols-mobile-2- .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Wishlist Card Styling */
.zuki-wishlist-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.zuki_luxury_wishlist_grid .zuki-wishlist-card {
    position: relative;
    background: transparent;
    border-radius: 12px;
}

.zuki-wishlist-img-box {
    position: relative;
    overflow: hidden;
}

.zuki-wishlist-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Badge & Icons */
.zuki-wishlist-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #111;
    color: #fff;
    font-size: 10px;
    padding: 4px 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 20px;
    z-index: 5;
}

.zuki-wishlist-remove {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 18px;
    cursor: pointer;
    border: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    z-index: 5;
    padding: 0;
}

.zuki-wishlist-remove:hover {
    color: #e74c3c;
    background: #fff;
    transform: rotate(90deg);
}

.zuki-wishlist-remove svg {
    width: 14px;
    height: 14px;
}

/* Card Info */
.zuki-wishlist-card-info {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.zuki-wishlist-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 17px;
    margin: 0 0 10px 0;
    line-height: 1.4;
    font-weight: 500;
}

.zuki-wishlist-card-title a {
    text-decoration: none;
    color: inherit;
}

.zuki-wishlist-card-bottom {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.zuki-wishlist-card-price {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #111;
}

.zuki-wishlist-add-cart {
    width: 36px;
    height: 36px;
    background: #111;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
}

.zuki-wishlist-add-cart:hover {
    background: #4F358B;
    transform: scale(1.1);
}

.zuki-wishlist-add-cart svg {
    width: 16px;
    height: 16px;
}

/* Empty State */
.zuki-wishlist-empty {
    text-align: center;
    padding: 60px 20px;
    background: #F9F9F9;
    border-radius: 20px;
    max-width: 600px;
    margin: 40px auto;
}

.zuki-wishlist-empty p {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    color: #999;
    margin-bottom: 25px;
}

.zuki-continue-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.zuki-continue-btn:hover {
    background: #4F358B;
    letter-spacing: 3px;
}

/* ==========================================================================
   WOOCOMMERCE GLOBAL NOTICES & EMPTY STATE (ZUKI BRANDED)
   ========================================================================== */

/* Notices Styling */
.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
    background-color: #fcfaff !important;
    border-top: 2px solid #6D58A6 !important;
    color: #1A1A1A !important;
    padding: 20px 20px 20px 60px !important; /* Increased left padding for icon */
    font-family: inherit;
    font-size: inherit;
    position: relative !important;
    margin: 0 auto 30px !important; /* Centered */
    max-width: 1200px !important; /* Match brand layout */
    list-style: none !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 15px rgba(109, 88, 166, 0.05) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: #6D58A6 !important;
    font-size: inherit;
    top: 20px !important;
    left: 20px !important;
    position: absolute !important;
}

/* Empty Cart State Fixes */
.cart-empty,
.zuki-empty-cart p {
    font-family: inherit;
    font-size: inherit;
    color: #1A1A1A !important;
    text-align: left !important;
    margin: 40px auto !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: block !important;
    font-style: italic !important;
}

/* Hide the box icon that appears next to empty cart message */
.cart-empty::before {
    display: none !important;
}

.zuki-empty-cart {
    text-align: center;
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.return-to-shop {
    text-align: left !important;
    margin-bottom: 80px !important;
}

.return-to-shop .button.wc-backward,
.zuki-btn-buy {
    display: inline-flex !important;
    background: #6D58A6 !important; /* Brand Purple */
    color: #fff !important;
    padding: 18px 40px !important;
    font-family: inherit;
    font-weight: 700 !important;
    font-size: inherit;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: opacity 0.3s ease !important;
}

.return-to-shop .button.wc-backward:hover,
.zuki-btn-buy:hover {
    opacity: 0.9 !important;
    color: #fff !important;
}

/* ==========================================================================
   ZUKI MULTI-STEP CHECKOUT
   ========================================================================== */

.zuki-checkout-steps-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.zuki-step-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: #D1D1D1;
    position: relative;
    cursor: pointer;
    transition: color 0.3s ease;
}

.zuki-step-nav-item.active {
    color: #6D58A6;
}

.zuki-step-icon {
    width: 48px;
    height: 48px;
    background: #F5F5F5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.zuki-step-nav-item.active .zuki-step-icon {
    background: #6D58A6;
    color: #fff;
}

.zuki-step-nav-item span {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.zuki-step-line {
    flex: 1;
    height: 1px;
    background: #D1D1D1;
    margin: 0 15px;
    margin-top: -30px; /* Aligned with icon center */
}

/* Address Step */
.zuki-address-group-label {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #111;
}

.zuki-address-list {
    margin-bottom: 40px;
}

.zuki-address-card {
    display: flex;
    gap: 24px;
    padding: 24px;
    background: #fff;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    margin-bottom: 16px;
    position: relative;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.zuki-address-card.selected {
    border-color: #F9A825;
}

.zuki-address-radio {
    margin-top: 4px;
}

.zuki-address-radio input[type="radio"] {
    display: none;
}

.zuki-radio-inner {
    width: 20px;
    height: 20px;
    border: 2px solid #D1D1D1;
    border-radius: 50%;
    display: block;
    position: relative;
}

.zuki-address-card.selected .zuki-radio-inner {
    border-color: #F9A825;
}

.zuki-address-card.selected .zuki-radio-inner::after {
    content: '';
    width: 10px;
    height: 10px;
    background: #F9A825;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.zuki-address-info {
    flex: 1;
}

.zuki-address-name-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.zuki-address-name {
    font-weight: 700;
    font-size: 16px;
}

.zuki-address-tag {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}

.zuki-address-tag.home {
    background: rgba(109, 88, 166, 0.1);
    color: #6D58A6;
}

.zuki-address-text {
    color: #757575;
    margin: 4px 0;
}

.zuki-address-phone {
    font-weight: 500;
}

.zuki-address-actions .zuki-address-more {
    background: none;
    border: none;
    cursor: pointer;
    color: #D1D1D1;
}

.zuki-add-address-btn {
    width: 100%;
    padding: 16px;
    border: 1px dashed #D1D1D1;
    background: transparent;
    font-weight: 700;
    font-size: 14px;
    color: #757575;
    transition: all 0.3s ease;
    cursor: pointer;
}

.zuki-add-address-btn:hover {
    border-color: #6D58A6;
    color: #6D58A6;
}

/* Payment Step */
.zuki-payment-option {
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    margin-bottom: 20px;
    overflow: hidden;
}

.zuki-payment-option-header {
    display: flex;
    align-items: center;
    padding: 20px 24px;
    gap: 16px;
    cursor: pointer;
}

.zuki-payment-radio .zuki-radio-inner {
    border-color: #D1D1D1;
}

.zuki-payment-option.active .zuki-payment-radio .zuki-radio-inner {
    border-color: #6D58A6;
}

.zuki-payment-option.active .zuki-payment-radio .zuki-radio-inner::after {
    background: #6D58A6;
}

.zuki-card-types {
    margin-left: auto;
    display: flex;
    gap: 8px;
}

.zuki-card-types img {
    height: 24px;
}

.ZUKI-card-badge {
    font-size: 10px;
    font-weight: 800;
    padding: 4px 8px;
    background: #f5f5f5;
    border-radius: 4px;
    color: #6D58A6;
    letter-spacing: 0.5px;
}

.zuki-card-details-form {
    padding: 0 24px 32px 60px;
    display: none;
}

.zuki-payment-option.active .zuki-card-details-form {
    display: block;
}

.zuki-form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.zuki-form-group {
    flex: 1;
}

.zuki-form-group label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #757575;
    margin-bottom: 8px;
}

.zuki-form-group input {
    width: 100%;
    height: 48px;
    background: #F5F5F5;
    border: none !important;
    padding: 0 16px;
    border-radius: 4px;
}

.zuki-btn-pay-now {
    background: #6D58A6;
    color: #fff;
    border: none;
    padding: 12px 32px;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
}

/* Review Step */
.zuki-review-delivery-est {
    color: #6D58A6;
    font-weight: 700;
    margin-bottom: 32px;
}

.zuki-review-items {
    margin-bottom: 40px;
}

.zuki-review-item {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
}

.zuki-review-item-img {
    width: 80px;
    height: 80px;
    border-radius: 4px;
    overflow: hidden;
    background: #F9F9F9;
}

.zuki-review-item-img img {
    width: 100%; height: 100%; object-fit: contain;
}

.zuki-review-item-info h4 { margin: 0 0 8px; font-size: 14px; font-weight: 700; }
.zuki-review-item-price { font-weight: 700; color: #111; margin-bottom: 4px; }
.zuki-review-item-qty { font-size: 12px; color: #757575; font-weight: 600; }

.zuki-review-summary-box {
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    padding: 24px;
}

.zuki-review-summary-section {
    margin-bottom: 24px;
}

.zuki-review-summary-section:last-child { margin-bottom: 0; }

.zuki-review-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.zuki-review-label { font-size: 14px; font-weight: 700; color: #111; }
.zuki-review-val-name { font-weight: 700; margin-bottom: 4px; }
.zuki-review-val-text { color: #757575; font-size: 14px; }
.zuki-review-val-sub { color: #757575; font-size: 12px; margin-top: 4px; }

.zuki-edit-step { background: none; border: none; cursor: pointer; color: #D1D1D1; }

/* Global Step Actions */
.zuki-step-actions-footer {
    display: flex;
    gap: 16px;
    margin-top: 60px;
}

.zuki-btn-next-step {
    flex: 1;
    background: #6D58A6 !important;
    height: 52px !important;
    color: #fff !important;
}

.zuki-btn-prev-step {
    flex: 1;
    background: #fff !important;
    border: 1px solid #E0E0E0 !important;
    color: #111 !important;
}

/* Success Modal */
.zuki-success-modal {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
}

.zuki-success-modal.active { display: flex; }

.zuki-modal-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
}

.zuki-modal-content {
    background: #fff;
    padding: 60px 40px;
    border-radius: 12px;
    text-align: center;
    max-width: 500px;
    width: 90%;
    position: relative;
    z-index: 10;
}

.zuki-success-icon { margin-bottom: 32px; }
.zuki-modal-title { font-family: 'Bodoni FLF', serif; font-size: 32px; font-style: italic; margin-bottom: 16px; }
.zuki-modal-text { color: #757575; margin-bottom: 40px; }

.zuki-modal-buttons {
    display: flex;
    gap: 16px;
}

.zuki-modal-buttons .zuki-btn {
    flex: 1;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    border-radius: 4px;
}

.zuki-btn-outline { border: 1px solid #E0E0E0; color: #111; }
.zuki-btn-solid { background: #6D58A6; color: #fff; }

/* ==========================================================================
   ZUKI SIDE CART DRAWER
   ========================================================================== */

.zuki-side-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 50% opacity black */
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.zuki-side-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.zuki-side-cart-drawer {
    position: fixed;
    top: 0;
    right: -100%; /* Hidden by default */
    width: 30%; /* 30% screen width per Figma */
    height: 100%;
    background: #FFFFFF;
    z-index: 100001;
    box-shadow: -10px 0 50px rgba(0, 0, 0, 0.1);
    transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* 300ms slide-in */
    display: flex;
    flex-direction: column;
}

@media (max-width: 1024px) {
    .zuki-side-cart-drawer { width: 400px; }
}

@media (max-width: 767px) {
    .zuki-side-cart-drawer { width: 100%; }
}

.zuki-side-cart-drawer.active {
    right: 0;
}

.zuki-side-cart-header {
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #E0E0E0; /* Light grey divider */
}

.zuki-side-cart-title {
    font-family: 'General Sans', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #1A1A1A;
}

.zuki-side-cart-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #1A1A1A;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zuki-side-cart-content-wrapper {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.zuki-side-cart-item {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #F5F5F5;
}

.zuki-side-cart-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.zuki-side-cart-item-image {
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    background: #F9F9F9;
    border-radius: 4px;
    overflow: hidden;
}

.zuki-side-cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zuki-side-cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.zuki-side-cart-item-title {
    margin: 0 0 8px;
    font-family: 'General Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.zuki-side-cart-item-title a {
    color: #1A1A1A;
    text-decoration: none;
}

.zuki-side-cart-item-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #757575;
    margin-bottom: 8px;
}

.zuki-side-cart-drawer .zuki-side-cart-item .zuki-side-cart-remove.remove {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    color: #757575 !important;
    text-decoration: underline !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    background: none !important;
    border: none !important;
    width: fit-content !important;
    text-align: left !important;
}

.zuki-side-cart-drawer .zuki-side-cart-item .zuki-side-cart-remove.remove:hover {
    color: #6D58A6 !important; /* Zuki Purple on hover */
    background: none !important;
    border: none !important;
    opacity: 1 !important;
}

.zuki-side-cart-footer {
    padding: 24px;
    border-top: 1px solid #E0E0E0;
    background: #FFFFFF;
}

.zuki-side-cart-subtotal-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.zuki-side-cart-subtotal-row .zuki-label {
    font-family: 'General Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #757575;
}

.zuki-side-cart-subtotal-row .zuki-value {
    font-family: 'General Sans', sans-serif;
    font-weight: 700;
    font-size: 20px; /* 16pt approx */
    color: #1A1A1A;
}

.zuki-btn-view-cart {
    display: flex;
    width: 100%;
    height: 52px;
    background: #6D58A6;
    color: #fff;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-family: 'General Sans', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.1em;
    border-radius: 4px;
    transition: opacity 0.3s ease;
}

.zuki-btn-view-cart:hover {
    opacity: 0.9;
}

/* Button Loading State */
.zuki-btn.loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}

.zuki-btn.loading::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin: -10px 0 0 -10px;
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: zuki-spin 0.8s linear infinite;
}

@keyframes zuki-spin {
    to { transform: rotate(360deg); }
}

.zuki-empty-side-cart {
    text-align: center;
    padding: 60px 0;
    color: #757575;
    font-family: 'General Sans', sans-serif;
}

.zuki-side-cart-item-variations dl {
    margin: 4px 0 8px;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #757575;
}

.zuki-side-cart-item-variations dt,
.zuki-side-cart-item-variations dd {
    display: inline;
    margin: 0;
}

.zuki-side-cart-item-variations dt::after {
    content: ": ";
}

.zuki-side-cart-item-variations dd p {
    display: inline;
    margin: 0;
}

/**
 * Zuki Blog Posts Styles
 */
.zuki-blog-wrapper {
    width: 100%;
}

.zuki-blog-posts-grid {
    display: grid;
    gap: 40px 30px;
}

.zuki-blog-item {
    background: transparent;
    transition: all 0.3s ease;
    position: relative;
}

/* Simple vertical divider ??? standalone, centered, NOT attached to any blog post */
.zuki-blog-posts-grid {
    position: relative;
}

.zuki-blog-v-divider {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background-color: #4F358B;
    pointer-events: none;
    z-index: 2;
}

.zuki-blog-image {
    position: relative;
    overflow: hidden;
    margin-bottom: 25px;
}

.zuki-blog-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-blog-hover-zoom-yes .zuki-blog-item:hover .zuki-blog-image img {
    transform: scale(1.05);
}

.zuki-blog-content {
    padding: 0;
}

.zuki-blog-cat {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #4F358B;
    margin-bottom: 15px;
}

.zuki-blog-title {
    font-family: 'Bodoni Moda', serif;
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 500;
}

.zuki-blog-title a {
    color: #111;
    text-decoration: none;
    transition: color 0.3s;
}

.zuki-blog-title a:hover {
    color: #4F358B;
}

.zuki-blog-excerpt {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 25px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.zuki-blog-meta {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #999;
    margin-bottom: 20px;
    display: flex;
    gap: 15px;
    text-transform: capitalize;
}

.zuki-blog-read-more a {
    font-family: 'Bodoni Moda', serif;
    font-size: 20px;
    font-style: italic;
    color: #111;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 10px;
}

.zuki-blog-read-more a i {
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    color: #4F358B;
}

.zuki-blog-read-more a:hover {
    color: #4F358B;
    border-color: #4F358B;
}

/* On Side Skin */
.zuki-blog-skin-on-side .zuki-blog-item {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.zuki-blog-skin-on-side .zuki-blog-image {
    flex: 0 0 45%;
    margin-bottom: 0;
}

.zuki-blog-skin-on-side .zuki-blog-content {
    flex: 1;
    min-width: 0;
    word-wrap: break-word;
    word-break: break-word;
}

/* Section Header for Blog */
.zuki-blog-wrapper .zuki-section-header {
    margin-bottom: 60px;
}

.zuki-blog-wrapper .zuki-section-title {
    font-family: 'Bodoni Moda', serif;
    font-size: 48px;
    margin-bottom: 15px;
}

.zuki-blog-wrapper .zuki-section-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #666;
}

@media (max-width: 1024px) {
    .zuki-blog-title {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .zuki-blog-skin-on-side .zuki-blog-item {
        flex-direction: row !important; /* Side-by-side */
        gap: 0px; 
        align-items: flex-start;
        padding: 0 5%; /* 5% on each side for spacing/arrows */
        box-sizing: border-box;
    }
    .zuki-blog-skin-on-side .zuki-blog-image {
        flex: 0 0 50%; /* 50% of the 90% available = 45% total */
        max-width: 50%;
        margin-bottom: 0;
        aspect-ratio: 163.61 / 291.79 !important;
        height: auto !important;
        padding-right: 10px; /* Small gap between columns */
    }
    .zuki-blog-skin-on-side .zuki-blog-content {
        flex: 0 0 50%; /* 50% of the 90% available = 45% total */
        max-width: 50%;
        min-width: 0;
        text-align: left;
    }
    .zuki-blog-wrapper .zuki-section-title {
        font-size: 32px;
        margin-bottom: 15px;
    }

    /* Slider Specific Mobile Styles */
    .zuki-blog-slider-active {
        position: relative;
        padding-bottom: 0; /* Remove extra padding */
    }
    
    .zuki-blog-slider-active .zuki-blog-posts-grid {
        display: block !important; 
        overflow: visible;
        width: 100%;
        margin: 0;
    }

    .zuki-blog-slider-active .zuki-blog-item {
        padding: 0 10px;
        box-sizing: border-box;
    }

    /* Figma Layout for Mobile Blog Card */
    .zuki-blog-slider-active .zuki-blog-image {
        margin-bottom: 0px; 
        height: auto !important; /* Allow aspect-ratio to work */
        aspect-ratio: 163.61 / 291.79;
    }

    .zuki-blog-slider-active .zuki-blog-title {
        font-size: 18px; /* Slightly smaller to fit side-by-side better */
        margin-bottom: 10px;
    }

    .zuki-blog-slider-active .zuki-blog-excerpt {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.5;
        margin-bottom: 12px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
    }

    .zuki-blog-slider-active .zuki-blog-cat {
        display: block !important;
        font-size: 10px;
        margin-bottom: 8px;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .zuki-blog-slider-active .zuki-blog-meta {
        display: flex !important;
        font-size: 11px;
        margin-bottom: 12px;
        gap: 10px;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .zuki-blog-slider-active .zuki-blog-content {
        padding-left: 0;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-height: 0;
    }

    .zuki-blog-slider-active .zuki-blog-read-more a {
        font-size: 16px;
    }

    /* Tiny Arrows on Both Sides - Constrained within 5% margins */
    .zuki-blog-nav-container {
        position: absolute;
        top: 45%; 
        transform: translateY(-50%);
        left: 5%;
        right: 5%;
        width: 90%;
        display: flex;
        justify-content: space-between;
        pointer-events: none;
        z-index: 100;
        padding: 0;
        margin: 0;
    }

    .zuki-blog-nav-container .zuki-nav-arrow {
        pointer-events: auto;
        min-width: 10px;
        min-height: 10px;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #333;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        cursor: pointer;
        position: absolute; 
        top: 0;
    }

    .zuki-blog-nav-container .zuki-nav-prev { left: 0px !important; }
    .zuki-blog-nav-container .zuki-nav-next { right: 0px !important; }

    .zuki-blog-nav-container .zuki-nav-arrow svg {
        width: 16px;
        height: 16px;
    }
}

/**
 * Zuki Master Image Widget Styles
 */
.zuki-master-image-slider-container {
    position: relative;
    width: 100%;
}

.zuki-master-slider {
    width: 100%;
    overflow: hidden;
}

.zuki-master-item {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.zuki-master-image-box {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f9f9f9;
}

.zuki-master-image-box img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.zuki-master-content {
    position: relative;
    width: 100%;
    padding: 20px 0;
    transition: all 0.3s ease;
}

.zuki-master-title {
    margin: 0 0 10px;
}

.zuki-master-title a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.zuki-master-title a:hover {
    opacity: 0.8;
}

.zuki-master-desc {
    margin: 0 0 20px;
    line-height: 1.6;
}

.zuki-master-button {
    display: inline-block;
    cursor: pointer;
}

/* Master Navigation */
.zuki-master-image-slider-container .zuki-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    color: #111;
}

.zuki-master-image-slider-container .zuki-nav-arrow:hover {
    background: #111;
    color: #fff;
}

.zuki-master-image-slider-container .zuki-nav-arrow svg {
    width: 20px;
    height: 20px;
}

.zuki-master-image-slider-container .zuki-nav-prev {
    left: 20px;
}

.zuki-master-image-slider-container .zuki-nav-next {
    right: 20px;
}

/* Master Pagination */
.zuki-master-slider .swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 30px;
}

.zuki-master-slider .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}

.zuki-master-slider .swiper-pagination-bullet-active {
    background: #111;
}

/**
 * Zuki Master Nav Styles
 */
.zuki-master-nav-wrap {
    width: 100%;
}

.zuki-nav-container {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
}

.zuki-nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.zuki-nav-item {
    position: relative;
}

.zuki-nav-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 10px 0;
    position: relative;
}

/* Hover Effects */
.zuki-nav-hover-underline .zuki-nav-link:after,
.zuki-nav-hover-overline .zuki-nav-link:after {
    content: '';
    position: absolute;
    left: 0;
    width: 0;
    height: 1.5px;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.zuki-nav-hover-underline .zuki-nav-link:after {
    bottom: 0;
}

.zuki-nav-hover-overline .zuki-nav-link:after {
    top: 0;
}

.zuki-nav-hover-underline .zuki-nav-link:hover:after,
.zuki-nav-hover-overline .zuki-nav-link:hover:after {
    width: 100%;
}

.zuki-nav-hover-slide-up .zuki-nav-link:hover {
    transform: translateY(-3px);
}

.zuki-dropdown-icon {
    margin-left: 6px;
    display: flex;
    transition: transform 0.3s;
}

.zuki-nav-item:hover .zuki-dropdown-icon {
    transform: rotate(180deg);
}

/* Dropdown */
.zuki-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #fff;
    list-style: none;
    margin: 0;
    padding: 15px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 0.3s ease;
    z-index: 100;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.zuki-nav-item:hover > .zuki-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.zuki-dropdown-link {
    display: block;
    padding: 10px 25px;
    text-decoration: none;
    transition: all 0.3s;
    font-size: 14px;
}

/* Mobile Toggle */
.zuki-nav-toggle {
    display: none;
    cursor: pointer;
    padding: 10px;
}

/* Mobile Overlay */
.zuki-mobile-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    padding: 80px 40px;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-mobile-nav-overlay.active {
    transform: translateX(0);
}

.zuki-mobile-close {
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
}

.zuki-mobile-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zuki-mobile-item {
    margin-bottom: 25px;
}

.zuki-mobile-link {
    font-size: 24px;
    font-weight: 600;
    text-decoration: none;
    color: #111;
    font-family: 'Bodoni Moda', serif;
}

.zuki-mobile-submenu {
    list-style: none;
    padding: 15px 0 0 20px;
    margin: 0;
}

.zuki-mobile-submenu-link {
    font-size: 16px;
    text-decoration: none;
    color: #666;
    display: block;
    padding: 8px 0;
}

@media (max-width: 1024px) {
    .zuki-nav-menu {
        display: none;
    }
    .zuki-nav-toggle {
        display: block;
    }
}

/**
 * Zuki Mobile Header Styles
 */
.zuki-mobile-header-wrapper {
    width: 100%;
    background: #fff;
}

.zuki-mobile-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    border-bottom: 1px solid #EDEDED;
    height: 60px;
}

.zuki-nav-trigger {
    width: 60px; /* Equal width to balance logo */
    justify-content: flex-start;
}

.zuki-mobile-logo {
    flex-grow: 1;
    display: flex;
    justify-content: center;
}

.zuki-mobile-logo img {
    height: 30px !important;
    width: auto !important;
}

.zuki-mobile-actions {
    display: flex;
    align-items: center;
    gap: 12px !important;
    width: auto !important;
    justify-content: flex-end;
}

.zuki-header-action-icon {
    color: #111;
    font-size: inherit;
}

.zuki-header-action-icon svg {
    width: 20px !important;
    height: 20px !important;
}

.zuki-cart-count {
    top: -2px !important;
    right: -5px !important;
    background: #6D58A6 !important;
    color: #fff !important;
    font-size: inherit;
    min-width: 13px !important;
    height: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
}

/* Secondary Nav Bar (Horizontal) */
.zuki-mobile-nav-bar {
    padding: 10px 0;
    background: #fff;
    border-bottom: 1px solid #EDEDED;
}

.zuki-mobile-nav-list {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 0 10px;
}

.zuki-mobile-nav-link {
    text-decoration: none;
    font-size: 11px;
    font-weight: 400;
    color: #888;
    letter-spacing: 0.1em;
    font-family: 'Jost', 'Montserrat', sans-serif;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.zuki-mobile-nav-link.active {
    color: #111;
    font-weight: 700;
    position: relative;
}

.zuki-mobile-nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #111;
}

/* Full Overlays */
.zuki-full-mobile-overlay,
.zuki-search-overlay-full {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh; /* Enforce full viewport height */
    background: #fff;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center menu items vertically */
    align-items: center; /* Center items horizontally */
    padding: 60px 40px;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto; /* Allow scrolling if menu is long */
    -webkit-overflow-scrolling: touch;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-full-mobile-overlay.active,
.zuki-search-overlay-full.active {
    opacity: 1;
    visibility: visible;
}

.zuki-overlay-close,
.zuki-search-close {
    position: absolute;
    top: 30px;
    right: 30px;
    font-size: 40px;
    cursor: pointer;
}

.zuki-overlay-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center; /* Center text for luxury feel */
}

.zuki-overlay-menu li {
    margin-bottom: 25px;
}

.zuki-overlay-menu a {
    font-size: 32px;
    text-decoration: none;
    color: #111;
    font-family: 'Bodoni Moda', serif;
    transition: color 0.3s ease;
}

.zuki-overlay-menu a.active,
.zuki-overlay-menu a:hover {
    color: #6D58A6;
}

/* Search Form */
.zuki-search-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.zuki-search-form input {
    width: 100%;
    font-size: 36px;
    border: none;
    border-bottom: 3px solid #111;
    padding: 10px 0;
    font-family: 'Bodoni Moda', serif;
    background: transparent;
}

.zuki-search-form button {
    background: #111;
    color: #fff;
    border: none;
    padding: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    cursor: pointer;
}

/**
 * Zuki Master Grid Styles
 */
.zuki-master-grid-wrap {
    width: 100%;
}

.zuki-master-grid-container {
    display: grid;
    grid-auto-flow: dense;
    /* Columns and rows are controlled by Elementor selectors */
}

.zuki-grid-item {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #fff;
}

.zuki-grid-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.zuki-grid-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-grid-item.zuki-hover-zoom:hover .zuki-grid-image img {
    transform: scale(1.08);
}

.zuki-grid-item-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
}

/* Specific styling for 'both' type (text BELOW image) */
.zuki-item-type-both {
    justify-content: flex-start;
    display: flex !important;
    gap: 15px; /* Spacing between image and text */
}

.zuki-item-type-both .zuki-grid-image {
    position: relative;
    height: 70%; /* Image takes 70% of the box */
}

.zuki-item-type-both .zuki-grid-item-content {
    height: 30%; /* Text takes 30% */
    background: transparent;
    color: #111;
    padding: 15px;
}

.zuki-item-type-both .zuki-grid-item-content p,
.zuki-item-type-both .zuki-grid-item-content h1,
.zuki-item-type-both .zuki-grid-item-content h2,
.zuki-item-type-both .zuki-grid-item-content h3 {
    color: #111;
}

/* Mobile Carousel Support */
.zuki-master-grid-mobile-slider {
    display: none;
}

@media (max-width: 767px) {
    .zuki-mobile-scroll-yes .zuki-desktop-grid {
        display: none;
    }

    .zuki-mobile-scroll-yes .zuki-master-grid-mobile-slider {
        display: block;
        width: 100%;
        overflow: hidden; 
        position: relative;
        box-sizing: border-box;
        padding-bottom: 20px; /* Default bottom space */
    }

    /* Edge-to-Edge when arrows are OFF */
    .zuki-arrows-mobile-no .zuki-master-grid-mobile-slider {
        padding-left: 0;
        padding-right: 0;
    }

    /* Outside arrows when ON */
    .zuki-arrows-mobile-yes .zuki-master-grid-mobile-slider {
        padding-left: 45px;
        padding-right: 45px;
    }

    /* Extra bottom space ONLY if pagination dots are ON */
    .zuki-pagination-mobile-yes .zuki-master-grid-mobile-slider {
        padding-bottom: 40px;
    }

    /* No hardcoded gap here - controlled by Elementor */
    .zuki-master-grid-container.mobile-grid-2x2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    .zuki-mobile-scroll-yes .zuki-grid-item {
        width: 100%;
        aspect-ratio: 1;
    }

    .zuki-mobile-scroll-yes .swiper-pagination {
        bottom: 0;
    }

    .zuki-mobile-scroll-yes .swiper-pagination-bullet-active {
        background: #6D58A6;
    }

    .zuki-master-grid-container.mobile-grid-1x1 {
        display: grid;
        width: 100%;
    }

    .zuki-grid-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        width: 32px;
        height: 32px;
        background: transparent !important;
        border: 1px solid #111 !important; /* Minimalist outlined style from Figma */
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: none !important;
        cursor: pointer;
        color: #111;
        transition: all 0.3s ease;
    }

    .zuki-nav-prev { left: 5px; } 
    .zuki-nav-next { right: 5px; }

    .zuki-grid-nav:hover {
        background: #111;
        color: #fff;
    }

    /* Fix for text centering with max-width */
    .zuki-grid-item-content {
        margin: 0 auto;
    }

    /* --- MOBILE HEADER REORGANIZATION (2 ROWS) --- */
    /* Root parent of the header rows */
    .elementor-element-2aba1d8 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 15px !important;
    }

    /* Hamburger Menu Container (Originally Row 2) */
    .elementor-element-9bce4e9 {
        width: 40px !important;
        order: 1 !important;
        margin: 0 !important;
    }

    /* Logo Container (Originally Row 1) */
    .elementor-element-5d52b6d {
        flex: 1 !important;
        order: 2 !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        padding-right: 40px !important; /* Counter-balance the hamburger for true centering */
    }

    /* Action Icons Container (Originally Row 3) */
    .elementor-element-930088a {
        width: 100% !important;
        order: 3 !important;
        margin-top: 10px !important;
        padding-top: 10px !important;
        border-top: 1px solid #f0f0f0 !important;
    }

    /* Ensure icons are spaced well in Row 2 */
    .elementor-element-930088a .premium-mobile-menu-container {
        display: flex !important;
        justify-content: space-around !important;
        width: 100% !important;
    }
}

.zuki-checkbox {
    width: 8px;
    height: 8px;
    border: 1px solid #ddd;
}

/* Sort & Price Filter Styles */
.zuki-sort-list li a {
    font-family: inherit;
    font-style: italic !important;
    text-transform: none !important;
    font-size: inherit;
    letter-spacing: 0 !important;
    color: #999 !important;
}

.zuki-sort-list li.active a {
    color: #111 !important;
}

.zuki-price-filter-container {
    padding: 10px 0;
}

#zuki-price-slider {
    height: 4px;
    background: #e0e0e0;
    border: none;
    margin: 20px 0;
    position: relative;
}

#zuki-price-slider .ui-slider-range {
    background: #f2994a;
    position: absolute;
    height: 100%;
}

#zuki-price-slider .ui-slider-handle {
    width: 12px;
    height: 12px;
    background: #f2994a;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    top: -4px;
    margin-left: -6px;
    position: absolute;
    outline: none;
}

.zuki-price-values {
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    margin-bottom: 20px;
    color: #666;
}

.zuki-price-label {
    font-weight: 400;
}

.zuki-price-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.zuki-btn-apply-price {
    background: transparent !important;
    border: 1px solid #6D58A6 !important;
    color: #6D58A6 !important;
    padding: 12px;
    font-family: inherit;
    font-size: 12px;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    width: 100%;
}

.zuki-btn-apply-price:hover {
    background: #6D58A6 !important;
    color: #fff !important;
}

.zuki-btn-clear-price {
    background: #6D58A6 !important;
    border: 1px solid #6D58A6 !important;
    color: #fff !important;
    padding: 12px;
    font-family: inherit;
    font-size: 12px;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    width: 100%;
}

.zuki-btn-clear-price:hover {
    background: transparent !important;
    color: #6D58A6 !important;
}

/* WooCommerce & Zuki Pagination Styling */
.woocommerce-pagination,
.zuki-pagination {
    margin: 60px 0;
    display: flex;
    justify-content: center;
    width: 100%;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.woocommerce-pagination ul.page-numbers,
.zuki-pagination ul.page-numbers,
.zuki-pagination ul {
    display: flex;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li,
.zuki-pagination ul li {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.zuki-pagination ul li a,
.zuki-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    text-decoration: none;
    color: #000;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 400;
    border: 1px solid #E5E5E5;
    margin-right: -1px; /* Avoid double borders */
    transition: all 0.2s ease;
    background: #fff;
}

/* Remove borders from the first and last elements (Arrows) */
.woocommerce-pagination ul.page-numbers li:first-child a,
.woocommerce-pagination ul.page-numbers li:first-child span,
.zuki-pagination ul li:first-child a,
.zuki-pagination ul li:first-child span {
    border-left: none;
}

.woocommerce-pagination ul.page-numbers li:last-child a,
.woocommerce-pagination ul.page-numbers li:last-child span,
.zuki-pagination ul li:last-child a,
.zuki-pagination ul li:last-child span {
    border-right: none;
}

/* Active State */
.woocommerce-pagination ul.page-numbers li span.current,
.zuki-pagination ul li span.current {
    background-color: #F39C12 !important;
    color: #fff !important;
    border-color: #F39C12 !important;
    z-index: 1; /* Keep border on top */
}

/* Ellipsis (...) */
.woocommerce-pagination ul.page-numbers li span.dots,
.zuki-pagination ul li span.dots {
    border: 1px solid #E5E5E5;
}

/* Hover State */
.woocommerce-pagination ul.page-numbers li a:hover,
.zuki-pagination ul li a:hover {
    background-color: #f9f9f9;
}

/* Arrow Icons Adjustment */
.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce-pagination ul.page-numbers li a.next,
.zuki-pagination ul li a.prev,
.zuki-pagination ul li a.next {
    border: none;
    font-size: 18px;
    color: #999;
}

.woocommerce-pagination ul.page-numbers li a.prev:hover,
.woocommerce-pagination ul.page-numbers li a.next:hover,
.zuki-pagination ul li a.prev:hover,
.zuki-pagination ul li a.next:hover {
    color: #F39C12;
    background: transparent;
}

/* Zuki Gift Product Flip Effect */
.zuki-gift-products-wrapper .zuki-products-grid {
    display: grid !important;
    gap: 30px;
}

.zuki-gift-card {
    background-color: transparent !important;
    perspective: 1500px;
    height: auto !important; /* Allow content to flow below image */
    margin-bottom: 30px !important;
}

.zuki-gift-image-area {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1 !important;
    perspective: 1500px;
    overflow: visible;
}

.zuki-gift-card .zuki-product-image-container {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
    position: relative;
}

.zuki-gift-card .zuki-product-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Force gallery arrow visibility based on setting */
.zuki-product-swiper .swiper-button-next,
.zuki-product-swiper .swiper-button-prev {
    display: none !important; /* Default hidden, Elementor will override */
}

.zuki-gift-card .zuki-product-info {
    padding: 20px 0 0 0 !important; /* No side padding to match image width */
    background: transparent !important;
}

.zuki-gift-card .zuki-product-card-title,
.zuki-gift-card .zuki-product-card-title a {
    font-family: 'Bodoni Moda', serif !important;
    font-size: 18px !important;
    margin-bottom: 5px !important;
    max-width: 100% !important;
    color: #111 !important;
    display: block !important;
}

.zuki-gift-card .zuki-product-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 5px !important;
}

.zuki-gift-card .zuki-product-card-price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    color: #111 !important;
}

.zuki-gift-card .zuki-add-to-cart-btn {
    width: 24px !important;
    height: 24px !important;
}

.zuki-gift-card .zuki-add-to-cart-btn svg {
    width: 100% !important;
    height: 100% !important;
    stroke: #111 !important;
    stroke-width: 1.5 !important;
}

.zuki-product-flip-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

.zuki-flip-card:hover .zuki-product-flip-inner {
    transform: rotateY(180deg);
}

.zuki-product-front, .zuki-product-back {
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.zuki-product-front {
    position: relative;
    z-index: 2;
}

.zuki-product-back {
    transform: rotateY(180deg);
    z-index: 1;
    background: #fff;
}

/* Zuki Gift Overlay Layout Support - Updated for sibling structure */
.zuki-gift-layout-overlay .zuki-gift-image-area {
    overflow: hidden !important;
}

.zuki-gift-layout-overlay .zuki-product-info {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: none !important; /* Definitively remove any background */
    background-color: transparent !important;
    z-index: 100 !important; 
    padding: 15px !important;
    pointer-events: none;
}

.zuki-gift-layout-overlay .zuki-product-info * {
    pointer-events: auto; /* Re-enable for title and cart */
}

/* Hardcoded overlay styling removed - handled by Elementor controls */

.zuki-product-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: rotateY(180deg);
    background-color: #fff;
    z-index: 1;
    overflow: hidden;
    border: 1px solid #eee;
}

.zuki-back-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.zuki-back-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zuki-back-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(79, 53, 139, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.zuki-flip-card:hover .zuki-back-overlay {
    opacity: 1;
}

.zuki-gift-btn {
    background: #4F358B;
    color: #fff;
    padding: 12px 24px;
    text-decoration: none !important;
    font-family: 'Bodoni Moda', serif;
    font-size: 14px;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    border: 1px solid #fff;
}

.zuki-gift-btn:hover {
    background: #FBA527;
    color: #fff;
    border-color: #FBA527;
}

@media (max-width: 767px) {
    .zuki-gift-card { min-height: 300px; }
    /* Disable flip on mobile for better touch experience */
    .zuki-flip-card:hover .zuki-product-flip-inner { transform: none; }
    .zuki-product-flip-inner { transition: none; }
}

/* Zuki Gift Product Slider Styling */
.zuki-gift-display-slider .zuki-gift-slider-container {
    padding: 10px 0 40px;
    position: relative;
    overflow: hidden;
    width: 100%;
}

/* Force horizontal layout even if JS hasn't run yet */
.zuki-gift-display-slider .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

.zuki-gift-display-slider .swiper-slide {
    flex-shrink: 0 !important;
}

.zuki-gift-next, .zuki-gift-prev {
    color: #111;
    transition: all 0.3s ease;
}

.zuki-gift-next:after, .zuki-gift-prev:after {
    font-size: 24px;
}

.zuki-gift-next:hover, .zuki-gift-prev:hover {
    color: #F39C12;
}

.zuki-gift-pagination .swiper-pagination-bullet-active {
    background: #F39C12;
}

.zuki-gift-display-grid .zuki-products-grid,
.zuki-gift-display-responsive .zuki-responsive-grid {
    display: grid !important;
}

.zuki-gift-display-responsive .zuki-responsive-grid > .swiper-slide {
    width: 100% !important;
}

/* Ensure square images for gift cards in any mode if 'square' ratio is selected */
.zuki-gift-image-ratio-square .zuki-product-image-container,
.zuki-gift-image-ratio-square .zuki-back-content {
    aspect-ratio: 1/1 !important;
    height: auto !important;
}

.zuki-gift-image-ratio-square .zuki-gift-card {
    min-height: 0; /* Let aspect ratio handle it */
}

/* Center slides on mobile */
@media (max-width: 767px) {
    .zuki-gift-display-slider .swiper-slide,
    .zuki-gift-display-responsive .swiper-slide {
        display: flex;
        justify-content: center;
    }
    .zuki-gift-card {
        width: 100%;
        max-width: 350px; /* Big but not too big for all phones */
        min-height: auto;
    }
}
.zuki-gift-image-ratio-portrait .zuki-product-image-container, .zuki-gift-image-ratio-portrait .zuki-back-content { aspect-ratio: 4/5 !important; height: auto !important; }
.zuki-gift-image-ratio-landscape .zuki-product-image-container, .zuki-gift-image-ratio-landscape .zuki-back-content { aspect-ratio: 4/3 !important; height: auto !important; }

.zuki-product-image-container img, 
.zuki-back-content img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}

.zuki-back-content {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* Zuki Gift Product Meta Alignment */
.zuki-product-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

/* 
 * ZUKI SHOP MOBILE OVERRIDES (Consolidated for Priority)
 */

.zuki-mobile-filter-trigger, 
.zuki-sidebar-drawer-close {
    display: none;
}

@media (max-width: 1024px) {
    .zuki-shop-layout-wrapper {
        flex-direction: column !important;
        gap: 20px !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        margin: 20px auto 0 !important;
    }

    .zuki-sidebar-column {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    .zuki-products-column {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body .zuki-products-grid,
    body .zuki-products-grid[class*="zuki-grid-"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 12px !important; /* Slightly larger gap for luxury feel */
        row-gap: 25px !important;
        display: grid !important;
        overflow: visible !important;
        padding: 0 5px !important;
    }

    body .zuki-product-card,
    body .zuki-product-card.zuki-product-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        height: auto !important;
        overflow: visible !important;
    }
}

@media (max-width: 767px) {
    .zuki-mobile-filter-trigger {
        display: block !important;
        padding: 0 15px;
        margin-bottom: 25px;
    }

    #zuki-mobile-filter-btn {
        display: flex !important;
        align-items: center;
        gap: 8px;
        background: transparent !important;
        border: 1px solid #d9d9d9 !important;
        padding: 10px 20px !important;
        font-family: inherit;
        font-size: inherit;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        color: #111 !important;
        cursor: pointer;
    }

    .zuki-shop-sidebar-drawer-overlay {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 1000000 !important; /* Higher than header */
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .zuki-shop-sidebar-drawer-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .zuki-shop-sidebar {
        position: fixed !important;
        top: 0;
        left: -80%;
        width: 80% !important;
        max-width: 320px;
        height: 100vh;
        background: #fff !important;
        z-index: 1000001 !important; /* Above overlay */
        padding: 40px 25px !important;
        overflow-y: auto;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        box-shadow: 10px 0 30px rgba(0,0,0,0.1);
    }

    .zuki-shop-sidebar.active {
        left: 0;
    }

    .zuki-sidebar-drawer-close {
        display: block !important;
        position: absolute;
        top: 15px;
        right: 15px;
        font-size: 20px;
        color: #999;
        cursor: pointer;
    }

    /* Enforce 2 columns for all grid types on mobile */
    body .zuki-products-grid,
    body .zuki-products-grid[class*="zuki-grid-"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body .zuki-product-card,
    body .zuki-product-image-container,
    body .zuki-product-image-container .swiper-slide {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Wrapper gets the aspect-ratio so overlays (wishlist, arrows) stay IN the image zone */
    body .zuki-product-image-wrapper {
        aspect-ratio: 248/340 !important;
        height: auto !important;
    }

    /* Container fills the wrapper */
    body .zuki-product-image-container {
        height: 100% !important;
        aspect-ratio: unset !important;
    }

    body .zuki-product-image-container img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important; /* No crop as requested */
        background: #f7f7f7;
    }
}

/* ==========================================================================
   HEADER FOOTER ELEMENTOR (HFE) MOBILE OVERRIDES
   Ensures the menu becomes a full-screen fixed overlay
   ========================================================================== */
@media (max-width: 1024px) {
    /* 1. Force the dropdown container to be fixed & full-screen ONLY when active */
    .hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__layout-vertical,
    .hfe-nav-menu__layout-expandible {
        display: none !important; /* Hide completely when not active */
    }

    .hfe-active-menu + .hfe-nav-menu__layout-horizontal,
    .hfe-active-menu + .hfe-nav-menu__layout-vertical,
    .hfe-active-menu + .hfe-nav-menu__layout-expandible {
        display: flex !important; /* Show only when active */
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: #ffffff !important;
        z-index: 99999 !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 40px !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 2. Style the Menu List */
    .hfe-nav-menu__layout-horizontal .hfe-nav-menu,
    .hfe-nav-menu__layout-vertical .hfe-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Add the BRAND LOGO text at the top of the menu (Horizontal) */
    .hfe-active-menu + div .hfe-nav-menu::before,
    .hfe-active-menu + nav .hfe-nav-menu::before {
        content: 'Z U K I' !important;
        display: block !important;
        font-family: 'Bodoni Moda', serif !important;
        font-size: 36px !important;
        letter-spacing: 0.2em !important;
        color: #111 !important;
        margin-bottom: 50px !important;
        text-align: left !important;
        width: 100% !important;
        white-space: nowrap !important;
    }

    /* 3. Style Menu Items */
    .hfe-nav-menu__layout-horizontal .hfe-nav-menu li,
    .hfe-nav-menu__layout-vertical .hfe-nav-menu li {
        width: 100% !important;
        margin: 0 0 30px 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    .hfe-nav-menu__layout-horizontal .hfe-nav-menu a.hfe-menu-item,
    .hfe-nav-menu__layout-vertical .hfe-nav-menu a.hfe-menu-item {
        font-family: 'Inter', sans-serif !important;
        font-size: 20px !important;
        font-weight: 500 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        color: #111 !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        padding: 5px 0 !important;
        transition: color 0.3s ease !important;
    }

    .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.current-menu-item a,
    .hfe-nav-menu__layout-horizontal .hfe-nav-menu a.hfe-menu-item:hover {
        color: #6D58A6 !important; /* Brand Purple */
    }

    /* 4. Fix Toggle Button Positioning */
    .hfe-nav-menu__toggle {
        z-index: 100000 !important; /* Above the overlay */
        position: relative !important;
        color: #111 !important;
    }

    /* Hide the '---' divider if it's an HFE separator inside the menu */
    .hfe-nav-menu li.menu-item-divider {
        display: none !important;
    }
}

/* --- GLOBAL LUXURY HEADER & FOOTER STABILIZER --- */
/* Hide the 'Simple/Broken' Footer sections and enforce the 'Luxury' Header/Footer states */

/* 1. Global Switching Logic for Zuki Master Headers/Footers */
@media (max-width: 1024px) {
    /* desktop versions - ensure they are hidden if they try to overlap */
    .elementor-element-aa39e1d, 
    .elementor-element-48e1ea1 { 
        display: none !important; 
    }
    /* mobile versions - ensure they are showing and properly stacked */
    .elementor-element-c16c4fa, 
    .elementor-element-ee87262 { 
        display: block !important; 
    }

    /* Fix column overlap specifically in the luxury footer */
    .elementor-element-ee87262 .elementor-column {
        width: 100% !important;
        margin-bottom: 30px !important;
        position: relative !important;
        left: 0 !important;
    }
}

@media (min-width: 1025px) {
    /* Hide the mobile versions on Desktop to prevent dual headers */
    .elementor-element-c16c4fa { 
        display: none !important; 
    }
}

/* 2. Nuclear cleanup for any deleted/old template fragments */
.elementor-post-251, .elementor-post-306, .elementor-post-67 {
    display: none !important;
}

/* LUXURY CATEGORY SHOWCASE NATIVE RESTORE */
.zuki-cat-nav-wrapper {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 100;
}

.zuki-cat-nav-wrapper .zuki-nav-arrow {
    pointer-events: auto;
    display: flex;
    width: 31px;
    height: 31px;
}

.zuki-nav-arrow svg path {
    stroke: #444444;
}



/* =============================================
   Zuki Category & Product Showcase (v1.0.0)
   ============================================= */

.zuki-cp-showcase {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.zuki-cp-container {
    margin: 0 auto;
    width: 100%;
}

.zuki-cp-showcase .swiper-wrapper {
    justify-content: flex-start !important;
    display: flex !important;
}

.zuki-cp-section {
    margin-bottom: 60px;
}

.zuki-cp-title {
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    font-weight: 400;
    font-style: italic;
    color: #111;
    margin-bottom: 45px;
    line-height: 1.2;
}

/* Category Items */
.zuki-cat-list {
    position: relative;
    width: 100%;
}

.zuki-cat-grid {
    display: grid;
}

.zuki-cat-item {
    display: flex;
    flex-direction: column;
}


.zuki-cat-item__img-box {
    width: 100%;
    overflow: hidden;
    background: #f7f7f7;
    position: relative;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-cat-item__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.zuki-cat-item__inner:hover .zuki-cat-item__img {
    transform: scale(1.05);
}

.zuki-cat-item__inner.zuki-filter-list li a {
    text-decoration: none !important;
    color: #444;
    font-size: 13px;
    font-weight: 400;
    transition: all 0.2s;
    letter-spacing: 2px;
    display: block;
    line-height: 1;
    padding-left: 12px;
}

.zuki-filter-list li a:hover {
    color: #bbb !important;
}

.zuki-cat-item__inner {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
    outline: none !important;
    box-shadow: none !important;
}

.zuki-prod-card__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin-bottom: 12px !important;
    height: 40px !important; /* Fixed height for 2 lines */
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
}

.zuki-cat-item__title {
    text-align: center;
    letter-spacing: 1px;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    line-height: 1.2;
    text-decoration: none !important;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    font-family: inherit;
    text-transform: inherit;
    font-style: inherit;
}

/* Product Grid */
.zuki-prod-grid {
    display: grid;
    gap: 30px;
}

.zuki-prod-card {
    display: flex;
    flex-direction: column;
    position: relative;
}

.zuki-prod-card__img-box {
    position: relative;
    aspect-ratio: 4/5;
    background: #f7f7f7;
    overflow: hidden;
    margin-bottom: 15px;
}

.zuki-prod-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zuki-prod-card__badges {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
}

.zuki-badge {
    padding: 5px 12px;
    font-size: 11px;
    text-transform: uppercase;
    background: #111;
    color: #fff;
}

.zuki-prod-card__wishlist {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: all 0.3s;
    z-index: 2;
}

.zuki-prod-card__wishlist svg { width: 18px; }
.zuki-prod-card__wishlist:hover { background: #111; }
.zuki-prod-card__wishlist:hover svg { stroke: #fff; }

.zuki-prod-card__info {
    text-align: center;
}

.zuki-prod-card__title {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 8px;
}

.zuki-prod-card__title a {
    text-decoration: none;
    color: #111;
}

.zuki-prod-card__price {
    font-size: 14px;
    color: #777;
    font-weight: 400;
}

/* Navigation Arrows */
.zuki-cp-list-outer {
    position: relative;
    width: 100%;
}

.zuki-cp-nav-wrapper {
    position: absolute;
    top: calc(50% - 20px);
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 100;
}

.zuki-cp-nav--outside {
    width: calc(100% + 80px);
    left: -40px;
}

.zuki-cp-nav-arrow {
    pointer-events: auto;
    width: 40px;
    height: 40px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: all 0.3s;
    color: #444;
}

.zuki-cp-nav-arrow svg {
    width: 31px;
    height: 31px;
}

.zuki-cp-nav-arrow:hover {
    background: #111;
    color: #fff;
}

/* Mobile Fixes */
@media (max-width: 1024px) {
    .zuki-cp-nav--outside {
        width: calc(100% + 40px);
        left: -20px;
    }
    
    .zuki-cp-nav-arrow {
        width: 32px;
        height: 32px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .zuki-cp-nav-arrow svg {
        width: 24px;
        height: 24px;
    }

    .zuki-cp-container {
        overflow: visible !important;
    }
    
    .zuki-cp-showcase {
        overflow: visible !important;
    }
}

/* ==========================================================================
   ZUKI FOOTER REFINEMENTS (MARCH 2026)
   ========================================================================== */

/* Newsletter Section Design */
.zuki-newsletter-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Force one line on desktop */
    align-items: center !important;
    justify-content: center !important; /* Changed from space-between to group them closer */
    gap: 15px !important; 
    padding: 15px 20px !important; 
    margin: 15px auto !important;
    font-family: 'Inter', sans-serif;
    max-width: 1100px; /* Reduced max-width to pull them in */
    width: 100%;
}

.zuki-newsletter-text {
    font-size: 15px; 
    color: #111;
    margin: 0;
    line-height: 1;
    font-weight: 400;
    white-space: nowrap !important; 
    flex: 1 1 auto !important;
    text-align: left !important;
}

@media (min-width: 1025px) {
    .zuki-newsletter-text { text-align: left; }
    .zuki-newsletter-container { justify-content: space-between; }
}

.zuki-newsletter-text .vibe-text {
    font-weight: 700;
    font-style: italic;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}

.zuki-newsletter-form {
    display: flex;
    position: relative;
    width: 100%;
    max-width: 380px !important; 
    flex: 0 0 380px !important; /* Fixed width to prevent shrinking/overlapping */
    border: 1px solid #111 !important;
    transition: border-color 0.3s ease;
}

@media (max-width: 1024px) {
    .zuki-newsletter-container { 
        justify-content: center !important;
        flex-direction: column !important;
        flex-wrap: wrap !important;
        gap: 20px !important;
        text-align: center !important;
    }
    .zuki-newsletter-text { 
        white-space: normal !important; 
        text-align: center !important;
        font-size: 14px;
        line-height: 1.5;
        max-width: 320px; /* Force 2-line wrap on mobile */
    }
    .zuki-newsletter-form {
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }
    .zuki-newsletter-form { margin-top: 5px; }
}

.zuki-newsletter-form:focus-within {
    border-color: #5D3E9F; /* Brand accent on focus */
}

.zuki-input {
    width: 100% !important;
    padding: 17.5px 50px 17.5px 15px !important; /* Added side padding for box style */
    border: none !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    outline: none !important;
    box-shadow: none !important;
}

.zuki-input::placeholder {
    color: #999 !important;
    letter-spacing: 1px;
}

.zuki-submit {
    position: absolute !important;
    right: 15px !important; /* Consistent with right side 20px request in visual context */
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    transition: all 0.3s ease !important;
}

.zuki-submit:hover {
    color: #5D3E9F !important;
    transform: translateY(-50%) translateX(5px) !important;
}

.zuki-submit svg {
    width: 22px;
    height: 22px;
}

/* Footer Mobile Responsiveness */
@media (max-width: 768px) {
    .zuki-newsletter-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
        padding: 20px 20px !important; /* Standardized to 20px vertical */
    }
    
    .zuki-newsletter-text {
        font-size: 16px;
        max-width: 100%;
        white-space: normal; /* Allow wrap on mobile */
    }
    
    .zuki-newsletter-form {
        max-width: 100%;
    }
    
    .zuki-input {
        text-align: center;
        padding: 12px 0px !important; /* Standard height on mobile */
        padding-right: 0 !important;
    }
    
    .zuki-submit {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        margin-top: 15px;
        justify-content: center !important;
    }
    
    .zuki-submit:hover {
        transform: translateX(5px) !important;
    }
}

/* Wishlist Grid Columns */
.zuki-wishlist-grid {
    display: grid !important;
    gap: 30px;
}

/* Desktop */
.zuki-wishlist-cols-1 .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr) !important; }
.zuki-wishlist-cols-2 .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr) !important; }
.zuki-wishlist-cols-3 .zuki-wishlist-grid { grid-template-columns: repeat(3, 1fr) !important; }
.zuki-wishlist-cols-4 .zuki-wishlist-grid { grid-template-columns: repeat(4, 1fr) !important; }
.zuki-wishlist-cols-5 .zuki-wishlist-grid { grid-template-columns: repeat(5, 1fr) !important; }

/* Tablet */
@media (max-width: 1024px) {
    .zuki-wishlist-cols-tablet-1 .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr) !important; }
    .zuki-wishlist-cols-tablet-2 .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .zuki-wishlist-cols-tablet-3 .zuki-wishlist-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .zuki-wishlist-cols-tablet-4 .zuki-wishlist-grid { grid-template-columns: repeat(4, 1fr) !important; }
    .zuki-wishlist-cols-tablet-5 .zuki-wishlist-grid { grid-template-columns: repeat(5, 1fr) !important; }
}

/* Mobile */
@media (max-width: 767px) {
    .zuki-wishlist-cols-mobile-1 .zuki-wishlist-grid { grid-template-columns: repeat(1, 1fr) !important; }
    .zuki-wishlist-cols-mobile-2 .zuki-wishlist-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .zuki-wishlist-cols-mobile-3 .zuki-wishlist-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .zuki-wishlist-cols-mobile-4 .zuki-wishlist-grid { grid-template-columns: repeat(4, 1fr) !important; }
    .zuki-wishlist-cols-mobile-5 .zuki-wishlist-grid { grid-template-columns: repeat(5, 1fr) !important; }
}
/* ==========================================================================
   FLUENT FORMS - GET IN TOUCH STYLING (FIGMA MATCH)
   ========================================================================== */

.fluentform .ff-el-form-control {
    width: 100% !important;
}

.fluentform .ff-el-group {
    width: 100% !important;
    margin-bottom: 25px !important;
}

.fluentform .ff-el-form-control {
    border-radius: 0 !important;
    border: 1px solid #EDEDED !important;
    padding: 12px 15px !important; /* Tightened */
    font-size: 14px !important;
    box-shadow: none !important;
    background: #fff !important;
    transition: all 0.3s ease;
}

.fluentform .ff-el-form-control:focus {
    border-color: #111 !important;
}

.fluentform .ff-el-group {
    width: 100% !important;
    margin-bottom: 12px !important; /* Tightened gap */
}

.fluentform .ff-t-container {
    margin-bottom: 0 !important;
}

.fluentform .ff-t-cell {
    padding-bottom: 0 !important;
}

.fluentform label.ff-el-lbl {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    color: #111 !important;
    margin-bottom: 10px !important;
    display: block;
}

/* Submit Button - Full Width & Design Match */
.fluentform .ff-btn-submit {
    width: 100% !important;
    height: 65px !important; /* Slightly shorter to fit height */
    background-color: transparent !important;
    border: 1px solid #111 !important;
    color: #111 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border-radius: 0 !important;
    margin-top: 15px !important;
    padding: 0 40px !important;
}

.fluentform .ff-btn-submit:hover {
    background-color: #111 !important;
    color: #fff !important;
}

/* Arrow in Circle Icon */
.fluentform .ff-btn-submit::after {
    content: '\2192'; /* Right arrow */
    position: absolute;
    right: 30px;
    font-size: 22px;
    font-weight: 300;
    line-height: normal;
    border: 1px solid currentColor;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.fluentform .ff-btn-submit:hover::after {
    transform: translateX(5px);
}

/* Checkbox & Privacy Policy Styling */
.fluentform .ff-el-form-check-label {
    font-size: 14px !important;
    color: #666 !important;
    font-family: 'Inter', sans-serif !important;
    padding-left: 8px !important;
    line-height: 1.4 !important;
}

.fluentform .ff-el-form-check-input {
    width: 18px !important;
    height: 18px !important;
    margin-top: 1px !important;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
}

/* Responsive Overrides */
@media (max-width: 767px) {
    .fluentform .ff-btn-submit {
        height: 70px !important;
        font-size: 16px !important;
        letter-spacing: 2px !important;
    }
    
    .fluentform .ff-btn-submit::after {
        width: 32px;
        height: 32px;
        font-size: 20px;
        right: 20px;
    }
}

/* Care Page / FAQ - Get In Touch Section Alignment (Figma Proportions) */
.elementor-element-7969cc6 {
    align-items: stretch !important;
    display: flex !important;
}

.elementor-element-8df7947 {
    display: flex !important;
}

.elementor-element-8df7947 .elementor-widget-image,
.elementor-element-8df7947 .elementor-widget-container,
.elementor-element-8df7947 img {
    height: 100% !important;
    width: 100% !important;
}

.elementor-element-8df7947 img {
    object-fit: cover !important;
}

.elementor-element-ccd44d5 {
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    padding: 20px 40px !important; /* Smaller vertical padding to help fit */
}

/* Ensure the form itself is compact within its box */
.elementor-element-ccd44d5 .fluentform {
    width: 100% !important;
}

@media (max-width: 1024px) {
    .elementor-element-7969cc6 {
        flex-direction: column !important;
    }
    .elementor-element-8df7947 {
        height: 400px !important;
    }
    .elementor-element-ccd44d5 {
        padding: 20px !important;
    }
}

/* ==========================================================================
   ZUKI CALL TO ACTION WIDGET
   ========================================================================== */
.zuki-cta-wrapper {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    /* Default spacing for classic */
    padding: 80px 40px;
}
/* Force full width edge-to-edge */
.zuki-cta-width-full-width {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: none !important;
}

.zuki-cta-width-full-width .zuki-cta-wrapper {
    width: 100%;
}

/* Base Image Handling */
.zuki-cta-image-mobile {
    display: none !important;
}

@media (max-width: 767px) {
    .zuki-cta-image-desktop {
        display: none !important;
    }
    .zuki-cta-image-mobile {
        display: block !important;
    }
    .zuki-cta-width-full-width {
        width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        left: 50%;
    }
}

.zuki-cta-mode-image_layer {
    padding: 0 !important; /* Image defines dimensions */
}

.zuki-cta-base-image {
    width: 100%;
    line-height: 0;
}

.zuki-cta-base-image img {
    width: 100%;
    height: auto;
    display: block;
}

.zuki-cta-overlay {
    position: absolute;
}

/* Submit Button - Full Width & Design Match */
.fluentform .ff-btn-submit {
    width: 100% !important;
    height: 65px !important; /* Slightly shorter to fit height */
    background-color: transparent !important;
    border: 1px solid #111 !important;
    color: #111 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border-radius: 0 !important;
    margin-top: 15px !important;
    padding: 0 40px !important;
}

.fluentform .ff-btn-submit:hover {
    background-color: #111 !important;
    color: #fff !important;
}

/* Arrow in Circle Icon */
.fluentform .ff-btn-submit::after {
    content: '\2192'; /* Right arrow */
    position: absolute;
    right: 30px;
    font-size: 22px;
    font-weight: 300;
    line-height: normal;
    border: 1px solid currentColor;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.fluentform .ff-btn-submit:hover::after {
    transform: translateX(5px);
}

/* Checkbox & Privacy Policy Styling */
.fluentform .ff-el-form-check-label {
    font-size: 14px !important;
    color: #666 !important;
    font-family: 'Inter', sans-serif !important;
    padding-left: 8px !important;
    line-height: 1.4 !important;
}

.fluentform .ff-el-form-check-input {
    width: 18px !important;
    height: 18px !important;
    margin-top: 1px !important;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
}

/* Responsive Overrides */
@media (max-width: 767px) {
    .fluentform .ff-btn-submit {
        height: 70px !important;
        font-size: 16px !important;
        letter-spacing: 2px !important;
    }
    
    .fluentform .ff-btn-submit::after {
        width: 32px;
        height: 32px;
        font-size: 20px;
        right: 20px;
    }
}

/* Care Page / FAQ - Get In Touch Section Alignment (Figma Proportions) */
.elementor-element-7969cc6 {
    align-items: stretch !important;
    display: flex !important;
}

.elementor-element-8df7947 {
    display: flex !important;
}

.elementor-element-8df7947 .elementor-widget-image,
.elementor-element-8df7947 .elementor-widget-container,
.elementor-element-8df7947 img {
    height: 100% !important;
    width: 100% !important;
}

.elementor-element-8df7947 img {
    object-fit: cover !important;
}

.elementor-element-ccd44d5 {
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    padding: 20px 40px !important; /* Smaller vertical padding to help fit */
}

/* Ensure the form itself is compact within its box */
.elementor-element-ccd44d5 .fluentform {
    width: 100% !important;
}

@media (max-width: 1024px) {
    .elementor-element-7969cc6 {
        flex-direction: column !important;
    }
    .elementor-element-8df7947 {
        height: 400px !important;
    }
    .elementor-element-ccd44d5 {
        padding: 20px !important;
    }
}

/* ==========================================================================
   ZUKI CALL TO ACTION WIDGET
   ========================================================================== */
.zuki-cta-wrapper {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    /* Default spacing for classic */
    padding: 80px 40px;
}
/* Force full width edge-to-edge */
.zuki-cta-width-full-width {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: none !important;
}

.zuki-cta-width-full-width .zuki-cta-wrapper {
    width: 100%;
}

/* Base Image Handling */
.zuki-cta-image-mobile {
    display: none !important;
}

@media (max-width: 767px) {
    .zuki-cta-image-desktop {
        display: none !important;
    }
    .zuki-cta-image-mobile {
        display: block !important;
    }
    .zuki-cta-width-full-width {
        width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        left: 50%;
    }
}

.zuki-cta-mode-image_layer {
    padding: 0 !important; /* Image defines dimensions */
}

.zuki-cta-base-image {
    width: 100%;
    line-height: 0;
}

.zuki-cta-base-image img {
    width: 100%;
    height: auto;
    display: block;
}

.zuki-cta-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.zuki-cta-content-overlay {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    box-sizing: border-box;
}

/* Buttons Row - no default gap, fully controlled by Elementor slider */
.zuki-cta-buttons-wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

/* Button Styles */
.zuki-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    line-height: 1;
    z-index: 5;
    gap: 8px;
}

.zuki-cta-btn i, .zuki-cta-btn svg {
    font-size: 1.2em;
}

.zuki-cta-btn:hover {
    transform: translateY(-2px);
}

/* SVG Scaling Fix */
.zuki-cta-base-image svg {
    width: 100%;
    height: auto;
    display: block;
}

.zuki-cta-container {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transition: all 0.3s ease;
}

.zuki-cta-title {
    margin: 0 0 15px 0;
    line-height: 1.2;
    z-index: 5;
}

.zuki-cta-desc {
    margin: 0 0 30px 0;
    line-height: 1.6;
    z-index: 5;
}

/* ==========================================================================
   Zuki Review Widget
   ========================================================================== */

.zuki-review-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.zuki-review-wrapper.no-static-col {
    justify-content: center;
}

.zuki-review-left-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-right: 30px;
}

@media (max-width: 1024px) {
    .zuki-review-left-col {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding-right: 0;
        text-align: center;
        align-items: center; /* Center CTA content properly */
    }
    .zuki-review-right-col {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}

.zuki-review-right-col {
    min-width: 0; /* Prevents flexbox overflow */
    box-sizing: border-box;
}

.zuki-review-slider {
    padding: 10px; /* Space for box shadow */
    margin: -10px;
}

.zuki-review-slider .swiper-slide {
    height: auto; /* Forces all slides to the height of the tallest slide */
    display: flex; 
}

.zuki-review-card {
    flex: 1; /* More reliable than height 100% inside flex parents */
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #fff;
    border: 1px solid #eaeaea;
    box-sizing: border-box;
    padding: 30px;
}

.zuki-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.zuki-review-stars {
    display: flex;
    gap: 4px;
}

.zuki-review-label {
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
}

.zuki-review-thumb-icon {
    width: 22px;
    height: 22px;
    background-color: #f2994a;
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    flex-shrink: 0;
}

.zuki-review-thumb-icon svg {
    width: 10px;
    height: 10px;
}

.zuki-review-content {
    flex-grow: 1; /* Pushes author info to bottom */
    margin-bottom: 30px;
}

.zuki-review-author-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}

.zuki-review-author-img img {
    border-radius: 50%;
    object-fit: cover;
    width: 50px;
    height: 50px;
}

.zuki-review-title {
    margin-bottom: 10px;
}

.zuki-review-subtitle {
    margin-bottom: 30px;
}

.zuki-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: all 0.3s ease;
    align-self: flex-start;
    padding: 15px 30px;
    border: 1px solid transparent;
}

@media (max-width: 1024px) {
    .zuki-review-btn {
        align-self: center;
    }
}

/* Zuki Premium Popup Reviews Form Styling */
#zuki-review-modal .zuki-modal-content {
    padding: 60px 70px !important;
    width: 850px !important; /* Forces override of theme 300px width */
    max-width: 95% !important; /* Spacious horizontal ratio */
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15) !important;
}

#zuki-review-modal .zuki-modal-title {
    font-family: 'Playfair Display', serif !important;
    font-style: italic !important;
    font-size: 38px !important;
    margin-bottom: 35px !important;
    text-align: left;
    color: #111;
}

/* Profile header inside modal */
#zuki-review-modal .zuki-form-profile {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px solid #f0f0f0;
}
#zuki-review-modal .zuki-profile-text span {
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #888;
    display: block;
    margin-bottom: 4px;
}
#zuki-review-modal .zuki-profile-text strong {
    font-size: 16px;
    color: #000;
}

/* Build a spacious horizontal grid layout */
#zuki-review-modal .comment-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 25px 40px;
    width: 100%;
}

/* All rows act normally within grid blocks */
#zuki-review-modal .zuki-form-row,
#zuki-review-modal form p:not(.form-submit) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* Specific Field Placements */
#zuki-review-modal .zuki-row-rating {
    grid-column: 1 / 2;
}
#zuki-review-modal .zuki-row-title {
    grid-column: 2 / 3;
}
#zuki-review-modal .zuki-row-comment {
    grid-column: 1 / 3;
}
#zuki-review-modal .zuki-row-author {
    grid-column: 1 / 2;
}
#zuki-review-modal .zuki-row-email {
    grid-column: 2 / 3;
}

#zuki-review-modal label {
    width: 100% !important;
    text-align: left !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    color: #444 !important;
}

#zuki-review-modal input,
#zuki-review-modal textarea,
#zuki-review-modal select {
    width: 100% !important;
    background: #fbfbfb !important;
    border: 1px solid #eaeaea !important;
    border-radius: 6px !important;
    padding: 16px 20px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    transition: all 0.3s ease;
}

#zuki-review-modal textarea {
    min-height: 120px;
    resize: vertical;
}

#zuki-review-modal input:focus,
#zuki-review-modal textarea:focus,
#zuki-review-modal select:focus {
    border-color: #5D3E9F !important;
    background: #ffffff !important;
    box-shadow: 0 4px 15px rgba(93, 62, 159, 0.05) !important;
    outline: none !important;
}

#zuki-review-modal .stars {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    justify-content: flex-start;
    height: 54px;
    align-items: center;
}
#zuki-review-modal .stars a {
    color: #5D3E9F;
    font-size: 24px;
    transition: transform 0.2s ease;
}
#zuki-review-modal .stars a:hover {
    transform: scale(1.1);
}

#zuki-review-modal .form-submit {
    grid-column: 1 / 3;
    display: flex;
    justify-content: flex-end;
    margin-top: 15px;
}

#zuki-review-modal button[type="submit"],
#zuki-review-modal .submit {
    width: auto !important;
    min-width: 200px;
    background-color: #5D3E9F !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 18px 45px !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(93, 62, 159, 0.15) !important;
}

#zuki-review-modal button[type="submit"]:hover,
#zuki-review-modal .submit:hover {
    background-color: #4A3082 !important;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(93, 62, 159, 0.25) !important;
}

@media (max-width: 768px) {
    #zuki-review-modal .comment-form {
        grid-template-columns: 1fr !important;
    }
    #zuki-review-modal .zuki-row-rating,
    #zuki-review-modal .zuki-row-title,
    #zuki-review-modal .zuki-row-comment,
    #zuki-review-modal .zuki-row-author,
    #zuki-review-modal .zuki-row-email,
    #zuki-review-modal .form-submit {
        grid-column: 1 / -1 !important;
    }
    #zuki-review-modal .zuki-modal-content {
        padding: 40px 30px !important;
    }
    #zuki-review-modal .form-submit {
        justify-content: center !important;
    }
}

/* ==========================================================
   SINGLE PRODUCT - CUSTOM SIZE DROPDOWN
   ========================================================== */
.zuki-custom-size-dropdown {
    position: relative;
    width: 100%;
    max-width: 100%;
    display: block;
}

.zuki-dropdown-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border: 1px solid #d4d4d4;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.zuki-dropdown-trigger:hover, .zuki-custom-size-dropdown.open .zuki-dropdown-trigger {
    border-color: #000;
}

.zuki-dropdown-placeholder {
    font-size: 14px;
    color: #000;
    font-weight: 400;
}

.zuki-custom-size-dropdown.has-selection .zuki-dropdown-placeholder {
    color: #000;
}

.zuki-dropdown-icon {
    transition: transform 0.3s ease;
}

.zuki-custom-size-dropdown.open .zuki-dropdown-icon {
    transform: rotate(180deg);
}

.zuki-dropdown-panel {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-top: none;
    z-index: 100;
    max-height: 250px;
    overflow-y: auto;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.zuki-dropdown-item {
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: #000 !important;
    cursor: pointer;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    display: block !important;
    border-bottom: 1px solid #f0f0f0 !important;
    text-align: left !important;
}

.zuki-dropdown-item:last-child {
    border-bottom: none !important;
}

.zuki-dropdown-item:hover, .zuki-dropdown-item.selected {
    background-color: #f7f7f7 !important;
}

/* Explicit Weight Controls for Size formatting */
.zuki-size-num {
    font-weight: 700;
}
.zuki-size-info {
    font-weight: 400;
}

/* Cart Qty Controls */
.zuki-cart-qty {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    width: fit-content !important;
}

.zuki-qty-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.zuki-qty-minus, .zuki-qty-plus {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 18px !important; /* Slightly larger for visibility */
    color: #6D58A6 !important; /* Brand Purple */
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    margin: 0 !important;
    transition: font-weight 0.2s ease !important;
}

.zuki-qty-minus {
    transform: translateY(-1px) !important; /* Visual shift for total centering */
}

.zuki-qty-minus:hover, .zuki-qty-plus:hover {
    font-weight: 800 !important;
    color: #6D58A6 !important; 
}

.zuki-qty-val {
    font-weight: 700 !important;
    font-size: 13px !important;
    min-width: 20px !important;
    text-align: center !important;
    color: #111 !important;
    line-height: 20px !important; /* Matches button height */
}

.zuki-qty-label {
    font-weight: 500 !important;
    color: #757575 !important;
    font-size: 13px !important;
    line-height: 20px !important;
}

.zuki-cart-page-wrapper {
    transition: opacity 0.3s ease;
}

/* Gift Product - Title Position: Above Image Styling */
.zuki-title-positioned-above {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    display: block !important;
}

.zuki-title-positioned-above a {
    display: block !important;
    text-decoration: none !important;
}

.zuki-gift-products-wrapper .swiper-slide {
    display: flex !important;
    flex-direction: column !important;
}

/* Mobile Alignment Fix */
@media (max-width: 767px) {
    .zuki-gift-card {
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .zuki-title-positioned-above {
        text-align: center !important;
    }

    .zuki-product-info {
        width: 100% !important;
        align-items: center !important;
        text-align: center !important;
    }

    .zuki-product-card-title, 
    .zuki-product-card-title a {
        text-align: center !important;
    }

    .zuki-product-meta {
        width: 100% !important;
        justify-content: center !important;
        gap: 20px !important;
    }
}

/* Global - Hide Leave a Reply / Comments Section */
/* Zuki FAQ Widget Styles */
.zuki-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.zuki-faq-cols-1- .zuki-faq-grid { grid-template-columns: 1fr; }
.zuki-faq-cols-2- .zuki-faq-grid { grid-template-columns: repeat(2, 1fr); }
.zuki-faq-cols-3- .zuki-faq-grid { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1024px) {
    .zuki-faq-cols-tablet-1- .zuki-faq-grid { grid-template-columns: 1fr; }
    .zuki-faq-cols-tablet-2- .zuki-faq-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .zuki-faq-grid { grid-template-columns: 1fr !important; }
}

.zuki-faq-item {
    transition: all 0.3s ease;
    cursor: pointer;
    overflow: hidden;
    height: fit-content;
}

.zuki-faq-item:hover {
    transform: translateY(-2px);
    box-shadow: 0px 12px 30px rgba(0,0,0,0.06) !important;
}

.zuki-faq-item.active {
    box-shadow: 0px 12px 25px rgba(0,0,0,0.05) !important;
}

.zuki-faq-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.zuki-faq-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.zuki-faq-icon svg {
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
}

.zuki-faq-icon .zuki-minus { 
    display: none; 
    stroke: #f2994a;
}

.zuki-faq-icon .zuki-plus {
    stroke: #6D58A6;
}

.zuki-faq-item.active .zuki-minus { display: block; }
.zuki-faq-item.active .zuki-plus { display: none; }
.zuki-faq-item.active .zuki-faq-icon { transform: none !important; }

h3.zuki-faq-question {
    margin: 0;
    flex-grow: 1;
}

.zuki-faq-content {
    overflow: hidden;
}

.zuki-faq-answer {
    padding-top: 12px;
}

/* Zuki Image Widget Styles */
.zuki-image-box-wrapper { display: flex; flex-direction: column; width: 100%; transition: all 0.3s ease; }
.zuki-image-box-media { position: relative; width: 100%; overflow: hidden; }
.zuki-image-box-media img { width: 100%; height: auto; display: block; }
.zuki-image-box-desc { width: 100%; position: relative; z-index: 2; }
.zuki-image-box-wrapper.image-bottom { flex-direction: column-reverse; }

/* Zuki Image Specific Views */
.zuki-desktop-only { display: grid; }
.zuki-mobile-only { display: none; }
@media (max-width: 767px) {
  .zuki-desktop-only { display: none !important; }
  .zuki-mobile-only { display: block !important; }
}
.zuki-image-row-pc { display: grid; width: 100%; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.zuki-grid-item { display: flex; flex-direction: column; width: 100%; }
.zuki-grid-image { width: 100%; position: relative; overflow: hidden; }
.zuki-grid-image img { width: 100%; height: 100%; object-fit: cover; }

/* Final Fixes for Zuki Image Gap */
.zuki-grid-image { line-height: 0 !important; }
.zuki-grid-image img { display: block !important; margin: 0 !important; }
.zuki-grid-item-content { margin-top: 0; }
.zuki-grid-item-content p { margin: 0 !important; padding: 0 !important; }

/* Final Reset for Zuki Image Grid Alignment */
.zuki-image-row-pc { align-items: start !important; }
.zuki-grid-item { justify-content: flex-start !important; align-items: stretch !important; height: fit-content !important; }
.zuki-grid-item-content { margin-top: 0 !important; }

/* Final Absolute Left Alignment for Zuki Image */

/* --- SIZE DROPDOWN OVERRIDES FOR NEW FIGMA --- */
.zuki-custom-size-dropdown .zuki-dropdown-trigger {
    border: 1px solid #f0f0f0 !important;
    padding: 12px 18px !important;
    background: #fafafa !important;
    border-radius: 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.zuki-custom-size-dropdown .zuki-dropdown-placeholder {
    color: #666;
    font-size: 13px;
    font-weight: 500;
	display: flex;
	align-items: center;
	gap: 8px;
}

.zuki-custom-size-dropdown.has-selection .zuki-dropdown-trigger {
	background: #fdfdfd !important;
	justify-content: center !important; /* Center the selected size per figma */
}

/* Hide arrow, replace with purple cursor when empty */
.zuki-dropdown-indicator {
    display: block;
    width: 2px;
    height: 14px;
    background-color: #AF76FF;
    animation: blink 1s step-end infinite;
}

.zuki-custom-size-dropdown.has-selection .zuki-dropdown-indicator {
    display: none !important;
}

@keyframes blink {
    50% { opacity: 0; }
}

.zuki-dropdown-panel {
    border: 1px solid #f0f0f0 !important;
    box-shadow: none !important;
    background: #fff;
    border-top: none !important;
    max-height: 280px;
    padding: 0 !important;
}

.zuki-dropdown-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* Center according to Figma! */
    gap: 8px !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #f0f0f0 !important;
	transition: background 0.2s ease;
}

.zuki-dropdown-item:hover {
    background-color: #fcfcfc !important;
}

.zuki-size-num {
    font-weight: 700;
    color: #111;
    font-size: 13px;
}

.zuki-size-info {
    color: #888;
    font-weight: 400;
    font-size: 12px;
}

.zuki-size-divider {
    color: #aaa;
    font-weight: 300;
    font-size: 12px;
}
