/*
 Theme Name:   Hello Elementor Child
 Template:     hello-elementor
 Version:      1.0.1
*/

/* GLOBAL LAYOUT */
body.woocommerce-shop {
    background: #FFFFFF;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

.woocommerce {
    width: 100%;
}

.woocommerce-page {
    overflow-x: hidden;
}

.zuki-shop-layout-wrapper {
    max-width: 1400px;
    margin: 60px auto 80px;
    display: flex;
    gap: 40px;
    justify-content: center;
    padding: 0 15px;
    /* for mobile edges */
    box-sizing: border-box;
}

/* GRID STRUCTURE */
.zuki-sidebar-column {
    width: 280px;
    flex-shrink: 0;
}

.zuki-products-column {
    flex-grow: 1;
    min-width: 0 !important;
    overflow: visible;
}

/* 1. SHOP GRID CONTAINER */
@media (min-width: 1025px) {
    html body .zuki-products-column ul.products,
    html body .woocommerce ul.products,
    html body .elementor-widget-container ul.products {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: repeat(4, 1fr) !important;
        column-gap: 18px !important;
        row-gap: 60px !important;
        justify-content: start !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 1024px) {
    html body .zuki-products-column ul.products,
    html body .woocommerce ul.products,
    html body .elementor-widget-container ul.products {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 12px !important;
        row-gap: 30px !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 10px !important;
        list-style: none !important;
        overflow-x: hidden !important;
    }
}

/* Mobile: Single Column for very small devices */
@media (max-width: 480px) {
    html body .zuki-products-column ul.products,
    html body .woocommerce ul.products,
    html body .elementor-widget-container ul.products {
        grid-template-columns: 1fr !important;
        padding: 0 15px !important;
    }
}

/* Force Elementor Containers to be responsive */
@media (max-width: 767px) {
    .elementor-section-boxed > .elementor-container,
    .elementor-container,
    .zuki-shop-layout-wrapper {
        max-width: 100vw !important;
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        overflow-x: hidden !important;
    }
    
    html, body {
        overflow-x: hidden !important;
        position: relative;
    }
}

html body .zuki-products-column ul.products::before,
html body .zuki-products-column ul.products::after,
html body .woocommerce ul.products::before,
html body .woocommerce ul.products::after {
    display: none !important;
}


@media (min-width: 1025px) {
    html body .zuki-products-column ul.products li.product,
    html body .woocommerce ul.products li.product,
    html body .zuki-product-card {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        min-height: 460px !important;
        /* Forces vertical space for titles/prices */
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
        position: relative !important;
        margin-bottom: 0 !important;
        list-style: none !important;
        overflow: visible !important;
    }
}

@media (max-width: 1024px) {
    html body .zuki-products-column ul.products li.product,
    html body .woocommerce ul.products li.product,
    html body .zuki-product-card {
        width: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
        position: relative !important;
        margin-bottom: 0 !important;
        list-style: none !important;
        overflow: visible !important;
    }
}

.zuki-product-visuals {
    position: relative;
    overflow: hidden;
    background: #fdfdfd;
}

/* .zuki-new-badge is no longer used — replaced by .zuki-badge-new in .zuki-product-bottom-meta */
.zuki-new-badge {
    display: none !important;
}

/* Support for both .zuki-badge-new and the overlay class to prevent duplicates */
.zuki-badge-new-overlay {
    display: none !important; /* Managed by .zuki-badge-new */
}


.zuki-product-card-meta-top {
    margin-top: 15px;
    margin-bottom: 5px;
}

.zuki-card-category {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 500;
    color: #bbb;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 3. IMAGE PLACEHOLDER */
@media (min-width: 1025px) {
    html body .zuki-product-image-container,
    html body .woocommerce ul.products li.product a:first-child,
    html body .woocommerce-loop-product__link,
    html body .woocommerce-LoopProduct-link,
    html body .elementor-loop-container a img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 248/340;
        background: #F6F6F6 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
        position: relative !important;
        box-sizing: border-box !important;
        border: none !important;
        padding: 0 !important;
    }
}

@media (max-width: 1024px) {
    html body .zuki-product-image-container,
    html body .woocommerce ul.products li.product a:first-child,
    html body .woocommerce-loop-product__link,
    html body .woocommerce-LoopProduct-link {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 248/340;
        background: #F6F6F6 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
}

/* Ensure the link wrapper does not collapse on text */
.zuki-products-column ul.products li.product a.zuki-product-image-container,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    display: flex !important;
}

/* 4. WISHLIST ICON (Consolidated & Refined) */
/* Wishlist button positioned as a floating icon on top‑right of the image */
.zuki-wishlist-button {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    cursor: pointer;
}

/* Badge for wishlist count on product cards */
.zuki-wishlist-button {
    position: relative;
}

.zuki-wishlist-button .zuki-wishlist-count {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #F9A825 !important;
    color: #fff !important;
    border-radius: 50%;
    padding: 2px 5px;
    font-size: 10px;
    line-height: 1;
    min-width: 16px;
    text-align: center;
    pointer-events: none;
}


.zuki-wishlist-button:hover {
    transform: scale(1.1);
}

.zuki-wishlist-button svg {
    display: block;
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
}

.zuki-wishlist-button svg path {
    stroke: #000;
    fill: transparent;
    transition: all 0.3s ease;
}

/* ACTIVE STATE: PINKISH RED */
.zuki-wishlist-button.zuki-is-active svg path {
    stroke: #FF4D6D !important;
    fill: #FF4D6D !important;
}

.zuki-wishlist-button .feedback,
.zuki-wishlist-button .ajax-loading {
    display: none !important;
}

/* Navigation arrows appear on hover, positioned left/right inside the visual container */
.zuki-nav-arrow {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 20;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.zuki-product-visuals {
    position: relative; /* ensure arrows are positioned within */
}

.zuki-product-visuals:hover .zuki-nav-arrow {
    opacity: 1;
}

.zuki-prev-arrow {
    left: 10px;
}

.zuki-next-arrow {
    right: 10px;
}

.zuki-nav-arrow svg path {
    stroke: #000 !important;
}

.zuki-card-cart {
    opacity: 1 !important;
    /* Always visible */
    visibility: visible !important;
}

.zuki-card-cart a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    width: 20px !important;
    height: 20px !important;
}

/* Hide other standard wishlist locations */
.summary .yith-wcwl-add-to-wishlist,
.product-type-simple .yith-wcwl-add-to-wishlist {
    display: block;
}

/* PRODUCT IMAGE SCALING & GALLERY */
html body .zuki-product-image-container img.zuki-gallery-image {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
    display: none !important;
    /* Hidden by default */
    box-shadow: none !important;
}

html body .zuki-product-image-container img.zuki-active-image {
    display: block !important;
    /* Show active only */
}




/* NEW TAG */
.zuki-badge-new {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #000;
    color: #FFF;
    font-size: 11px;
    font-family: 'Inter', sans-serif;
    padding: 4px 8px;
    border-radius: 2px;
    z-index: 10;
    line-height: 1;
}

/* 5. PRODUCT TITLE */
html body .zuki-product-info {
    width: 100% !important;
    min-height: 92px !important;
    /* Changed to min-height to prevent clipping */
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
    padding-bottom: 20px;
}

html body .zuki-product-card-title,
html body .zuki-product-card-title a,
html body .woocommerce-loop-product__title,
html body h2.zuki-product-card-title {
    width: 100% !important;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 5px 0 0 !important;
    text-decoration: none !important;
    text-align: inherit;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 6. PRICE */
html body .zuki-product-meta {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 8px !important;
    padding-right: 15px;
    /* Spacing for the cart icon */
    box-sizing: border-box;
}

html body .zuki-product-card-price,
html body .woocommerce ul.products li.product .price,
html body .price,
.zuki-cart-item-price,
.zuki-cart-item-price .woocommerce-Price-amount {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    margin: 0 !important;
    text-align: inherit;
    display: block !important;
    background: transparent !important;
    line-height: inherit;
    visibility: visible !important;
    opacity: 1 !important;
}

/* SIDEBAR FILTER DESIGN */
.zuki-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    border-bottom: 1px solid #EDEDED;
    padding-bottom: 10px;
}

/* SIDEBAR HEADERS */
html body .zuki-filter-title,
html body .widget-title,
html body .widget-title span,
html body .elementor-widget-container h3,
html body .zuki-sidebar-header h3 {
    font-family: inherit;
    font-size: inherit;
    font-weight: 500 !important;
    color: #222222 !important;
    font-style: italic !important;
    margin-bottom: 0 !important;
    text-transform: capitalize !important;
    border: none !important;
    padding-bottom: 0 !important;
}



.zuki-filter-section {
    margin-bottom: 35px;
}

.zuki-filter-header,
.widget h4,
.widget-title {
    font-family: inherit;
    font-size: inherit;
    font-weight: 700 !important;
    color: #222222 !important;
    margin-bottom: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    display: block !important;
}

.zuki-filter-header span {
    font-weight: 600;
}

.zuki-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* Checkbox list spacing */
}

.zuki-filter-list li {
    margin-bottom: 8px;
}

.zuki-filter-list li a,
.zuki-filter-list li label {
    font-family: inherit;
    font-size: inherit;
    color: #666 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-transform: capitalize !important;
    /* Figma use Mixed Case for lists */
    letter-spacing: 0.2px;
}

/* APPLY FILTER BUTTON */
.zuki-apply-filter-btn {
    width: 100%;
    height: 40px;
    background: #5E3A8C;
    color: #FFF;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    letter-spacing: 1px;
    border-radius: 2px;
    margin-top: 15px;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* CHECKBOX STYLES */
.zuki-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid #CCC;
    border-radius: 2px;
    margin-right: 8px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* ACTIVE STATE: BRAND YELLOW BOX FILL */
.zuki-filter-list li.active .zuki-checkbox,
.zuki-filter-list li:hover .zuki-checkbox {
    background-color: #FFDE59 !important;
    border-color: #FFDE59 !important;
}

/* Decorative left bar for active filters */
.zuki-filter-list li.active::before {
    content: "";
    position: absolute;
    left: -15px;
    /* Adjust based on sidebar padding */
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 14px;
    background-color: #FFDE59 !important;
}

.zuki-filter-list li.active a,
.zuki-filter-list li.active label {
    color: #000 !important;
    font-weight: 600 !important;
}


/* Grid Filter specific */
.zuki-size-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.zuki-size-item {
    padding: 8px 12px;
    border: 1px solid #E3E3E3;
    border-radius: 2px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #444;
    text-decoration: none;
}

.zuki-size-item.active,
.zuki-size-item:hover {
    border-color: #5E3A8C;
    color: #5E3A8C;
}

/* PRODUCT PAGINATION */
.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li {
    display: inline-block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 32px !important;
    height: 32px !important;
    border-radius: 2px !important;
    background: transparent !important;
    border: none !important;
    margin: 0 4px !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    color: #222 !important;
    padding: 0 8px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-pagination ul.page-numbers li span.current {
    background: #F9A825 !important;
    color: #FFF !important;
    font-weight: 500 !important;
}

.woocommerce-pagination ul.page-numbers li a:hover {
    color: #F9A825 !important;
}

.woocommerce-pagination ul.page-numbers li a.prev svg,
.woocommerce-pagination ul.page-numbers li a.next svg {
    color: #666 !important;
    stroke-width: 1.5px !important;
}

.woocommerce-pagination ul.page-numbers li a.prev:hover svg,
.woocommerce-pagination ul.page-numbers li a.next:hover svg {
    color: #F9A825 !important;
}

nav.woocommerce-pagination {
    margin-top: 60px !important;
    text-align: center;
    width: 100%;
}

/* MOBILE RESPONSIVE */
@media screen and (max-width: 1024px) {
    .zuki-products-column ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media screen and (max-width: 768px) {
    .zuki-shop-layout-wrapper {
        flex-direction: column;
    }

    .zuki-sidebar-column {
        width: 100%;
        margin-bottom: 30px;
    }

    .zuki-products-column ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .zuki-filter-section .zuki-filter-content {
        display: none;
    }

    .zuki-filter-section.active .zuki-filter-content {
        display: block;
    }

    .zuki-shop-sidebar {
        /* Filter button fixed at top concept */
        position: relative;
    }
}

/* SIDEBAR CHECKBOX SELECTABILITY */
.widget_layered_nav input[type="checkbox"] {
    appearance: auto;
    cursor: pointer;
}

.widget_layered_nav label {
    cursor: pointer;
}

.widget_layered_nav li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

/* FINAL OVERRIDES FOR PIXEL PERFECTION */
.zuki-product-image-container,
.woocommerce ul.products li.product a img,
.woocommerce-loop-product__link img {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce-loop-product__title,
.price,
.zuki-product-card-title,
.zuki-product-card-price {
    visibility: visible !important;
    opacity: 1 !important;
}

/* ==========================================================================
   SINGLE PRODUCT PAGE (FIGMA MATCH)
   ========================================================================== */

.zuki-single-product-wrapper {
    background: #FFFFFF;
    padding: 60px 0;
}

.zuki-main-product-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 645px 680px;
    column-gap: 60px;
    align-items: start;
    padding: 0 15px;
    box-sizing: border-box;
}

.zuki-product-left-col {
    width: 645px;
}

/* LEFT GALLERY SECTION */
.zuki-product-gallery-section {
    width: 100%;
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.zuki-gallery-main-image {
    width: 535px;
    /* Adjusting for the 645px left col with 100px thumbnails/gap */
    height: 535px;
    background: #F6F6F6;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zuki-main-img {
    max-width: 90% !important;
    max-height: 90% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.zuki-gallery-thumbnails {
    width: 80px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.zuki-thumbnail {
    width: 80px;
    height: 80px;
    background: #F6F6F6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.zuki-thumbnail:hover,
.zuki-thumbnail.active {
    border-color: #000;
}

.zuki-thumbnail img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
}

/* RIGHT INFO SECTION */
.zuki-product-info-section {
    width: 520px;
}

.zuki-product-title {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400 !important;
    line-height: 56px !important;
    margin-bottom: 16px !important;
    color: #000;
}

.zuki-product-price {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400 !important;
    margin-bottom: 32px !important;
    color: #000;
}

.zuki-product-price .woocommerce-Price-amount {
    font-family: inherit;
    font-size: inherit;
}

.zuki-short-description {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 32px;
}

.zuki-short-description p {
    margin-bottom: 0;
}

.zuki-attr-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 16px 0;
    color: #000;
}

/* ATTRIBUTES / COLOR SELECTORS */
.zuki-product-attributes {
    margin-bottom: 40px;
}

.zuki-color-selector {
    display: flex;
    gap: 24px;
}

.zuki-color-option-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.zuki-color-circle {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid #eee;
    transition: all 0.2s ease;
    display: block;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.05);
}

.zuki-color-circle:hover,
.zuki-color-circle.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000;
}

.zuki-color-text-label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #999;
}

/* CUSTOM SIZE SELECT */
.zuki-size-selector-container {
    margin-bottom: 24px;
}

.zuki-custom-select-wrapper {
    position: relative;
    width: 480px;
    /* Matches Figma length */
    max-width: 100%;
}

.zuki-custom-select {
    width: 100%;
    height: 60px;
    border: 1px solid #EDEDED;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
    box-sizing: border-box;
    cursor: pointer;
}

.zuki-selected-display {
    display: flex;
    align-items: center;
    gap: 12px;
}

.zuki-selected-color-indicator {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #eee;
    background-color: transparent;
    /* Changed dynamically via JS */
    flex-shrink: 0;
}

.zuki-selected-color-indicator[style*="display: block"] {
    display: inline-block !important;
}

.zuki-selected-size-text {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #000;
}

.zuki-select-options {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #EDEDED;
    border-top: none;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    z-index: 100;
}

.zuki-select-options.show {
    display: block;
}

.zuki-select-options li {
    padding: 16px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    cursor: pointer;
}

.zuki-select-options li:hover {
    background: #F9F9F9;
}

/* QUANTITY SELECTOR */
.zuki-quantity-selector-wrapper {
    margin-bottom: 48px;
}

.zuki-quantity-box {
    width: 480px;
    height: 60px;
    border: 1px solid #EDEDED;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    box-sizing: border-box;
}

.zuki-qty-btn {
    font-size: 24px;
    cursor: pointer;
    user-select: none;
    width: 40px;
    text-align: center;
}

.zuki-qty-display {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: #000;
}

/* MAKE IT SPECIAL SECTION */
.zuki-make-it-special {
    margin-bottom: 48px;
}

.zuki-make-it-special h3 {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.zuki-special-options {
    display: flex;
    gap: 16px;
}

.zuki-option-card {
    width: 240px;
    height: 100px;
    background: #F9F9F9;
    border: 1px solid #EDEDED;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.zuki-option-card:hover {
    background: #FFFFFF;
    border-color: #000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.zuki-option-icon {
    font-size: 28px;
    flex-shrink: 0;
}

.zuki-option-text-wrap {
    flex-grow: 1;
}

.zuki-option-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 4px 0;
    color: #000;
    font-style: italic;
    /* Matches Figma/PDF style for these labels often */
}

/* Override title if needed to match image precisely */
.zuki-option-title {
    font-style: normal;
    font-weight: 400;
    font-family: 'Playfair Display', serif;
    font-size: 16px;
}

.zuki-option-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.zuki-option-price {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #666;
}

.zuki-option-bag-icon svg {
    display: block;
}

/* PRODUCT ACCORDION */
.zuki-product-accordion {
    margin: 40px 5% 48px;
    /* 5% margin at both the edges of this section */
}

.zuki-accordion-item {
    border: 1px solid #EDEDED;
    margin-bottom: -1px;
    /* Collapses borders between items */
}

.zuki-accordion-header {
    width: 100%;
    height: 58px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #fff;
    padding: 0 40px !important;
    /* Forced breathing room from the edges */
    box-sizing: border-box;
}

.zuki-accordion-header span:first-child {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #000;
}

.zuki-accordion-icon {
    color: #7361ab;
    font-size: 24px;
    font-weight: 300;
    display: block;
    line-height: 1;
}

.zuki-accordion-content {
    display: none;
    padding: 24px 40px !important;
    /* Forced breathing room from the edges */
    border-top: 1px solid #EDEDED;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #666;
}

/* PRODUCT BUTTONS */
.zuki-product-buttons {
    display: flex;
    gap: 20px;
    margin-top: 60px;
    align-items: stretch;
    /* Stretch to ensure same height */
}

form.cart {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
}

.zuki-btn {
    width: 240px;
    height: 40px;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
}

/* Static States (Contrasting) */
.zuki-buy-now {
    background: transparent !important;
    border: 1px solid #7361ab !important;
    color: #7361ab !important;
}

.zuki-add-to-cart {
    background: #7361ab !important;
    border: 1px solid #7361ab !important;
    color: #fff !important;
}

/* Hover States (Flipped) */
.zuki-buy-now:hover {
    background: #7361ab !important;
    color: #fff !important;
}

.zuki-add-to-cart:hover {
    background: transparent !important;
    color: #7361ab !important;
}

form.cart {
    margin: 0;
    padding: 0;
}

.single_add_to_cart_button {
    margin: 0 !important;
}

/* PRODUCT BOTTOM META (SKU, TAGS) */
.zuki-product-bottom-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 60px;
    padding-left: 100px;
    /* Aligned with main image, offset by thumbnail width */
}

.zuki-meta-item {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.zuki-meta-label {
    color: #999;
    margin-right: 4px;
}

.zuki-meta-value {
    color: #000;
}

/* CUSTOM REVIEWS SECTION */
.zuki-reviews-container {
    width: 620px;
    margin-top: 60px;
}

.zuki-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

.zuki-reviews-main-title {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    font-weight: 500;
    color: #000;
}

.zuki-write-review-btn {
    padding: 10px 20px;
    border: 1px solid #EDEDED;
    background: transparent;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    cursor: pointer;
}

.zuki-reviews-slider-wrapper {
    position: relative;
    overflow: hidden;
}

.zuki-reviews-slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.zuki-review-slide {
    min-width: 100%;
    box-sizing: border-box;
    display: none;
    /* Controlled by JS carousel */
}

.zuki-review-slide.active {
    display: block;
}

.zuki-review-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #000;
    line-height: 1.4;
}

.zuki-review-content {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 24px;
}

.zuki-reviewer-meta {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
    margin-bottom: 24px;
    display: flex;
    gap: 12px;
}

.zuki-reviewer-meta strong {
    color: #000;
}

.zuki-reviewer-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.zuki-reviewer-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.zuki-reviewer-name {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    display: block;
    margin-bottom: 4px;
}

.zuki-star-rating {
    color: #FFDE59;
    /* Brand Yellow */
    font-size: 12px;
    display: flex;
    gap: 2px;
}

.zuki-slider-dots {
    display: flex;
    gap: 8px;
    margin-top: 32px;
}

.zuki-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #EDEDED;
    cursor: pointer;
    display: block;
}

/* Hide dots if container is empty or has only one child */
.zuki-slider-dots:empty,
.zuki-slider-dots:has(> .zuki-dot:only-child) {
    display: none !important;
}

/* MODAL STYLES */
.zuki-modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    overflow-y: auto;
    /* Allow the entire backdrop area to be scrollable if needed */
    padding: 40px 0;
    /* Vertical breathing room for the modal itself */
}

body.zuki-modal-open {
    overflow: hidden !important;
}

.zuki-modal-content {
    background-color: #fff;
    margin: 0 auto;
    /* Removed top/bottom margin since zuki-modal has padding */
    padding: 40px;
    width: 300px;
    max-width: 90%;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    max-height: calc(100vh - 80px);
    /* Ensure it fits within view + vertical padding */
    overflow-y: auto;
    /* Enable internal scrolling */
    box-sizing: border-box;
}

.zuki-modal-close {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 28px;
    font-weight: bold;
    color: #999;
    cursor: pointer;
}

.zuki-modal-title {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    margin-bottom: 24px;
    text-align: center;
}

.zuki-form-profile {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f9f9f9;
}

.zuki-form-avatar,
.zuki-form-avatar-placeholder {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 24px;
}

.zuki-profile-text span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    color: #999;
    letter-spacing: 0.5px;
}

.zuki-profile-text strong {
    font-size: 16px;
    color: #000;
    font-family: 'Playfair Display', serif;
}

.zuki-form-row {
    margin-bottom: 24px;
}

.zuki-form-row label {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    color: #333;
}

.zuki-form-row select,
.zuki-form-row input[type="text"],
.zuki-form-row input[type="email"],
.zuki-form-row textarea {
    width: 100%;
    padding: 14px;
    border: 1px solid #EDEDED;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    border-radius: 0;
    box-sizing: border-box;
}

.zuki-form-row textarea {
    resize: none;
}

#review_form #submit {
    width: 100%;
    height: 50px;
    background: #7361ab;
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 10px;
}

/* REVIEWS & RATINGS */
.star-rating span::before,
.woocommerce .star-rating span:before {
    color: #FFDE59 !important;
    /* Brand Yellow for filled stars */
}

/* For the interactive stars in the Review Form */
.comment-form-rating .stars a {
    color: #7361ab !important;
    /* Brand Purple for empty outline */
}

.comment-form-rating .stars a::before {
    color: #7361ab !important;
}

.comment-form-rating .stars a.active::before,
.comment-form-rating .stars a:hover::before {
    color: #FFDE59 !important;
    /* Brand Yellow when selected/hovered */
}

.comment-form-rating .stars.selected a.active::before {
    color: #FFDE59 !important;
}

.comment-form-rating .stars.selected a.active~a::before {
    color: #7361ab !important;
}

.comment-form-rating .stars:not(.selected) a:hover~a::before {
    color: #7361ab !important;
}

.zuki-reviews-header h2 {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400 !important;
    margin: 0 !important;
}

.zuki-write-review-btn {
    background: transparent;
    border: 1px solid #EDEDED;
    padding: 12px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.zuki-write-review-btn:hover {
    border-color: #000;
    background: #000;
    color: #fff;
}

/* REVIEWS SECTION */
.zuki-reviews-section-OLD {
    max-width: 1320px;
    margin: 40px auto 0;
    border-top: 1px solid #eee;
    padding: 24px 15px;
}

/* YOU MIGHT ALSO LOVE / RELATED */
.zuki-related-sections {
    max-width: 1400px;
    /* matched to main container */
    margin: 10vh auto 80px;
    padding: 0 15px;
    box-sizing: border-box;
}

.zuki-pairing-section {
    margin-top: 10vh;
    /* 10% viewport height space above this specific title */
}

.zuki-related-sections h2 {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    margin-bottom: 32px;
    text-align: center;
}

.zuki-product-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    list-style: none !important;
    padding: 0;
    margin: 0;
}

.zuki-product-grid li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

/* MOBILE ADJUSTMENTS */
@media screen and (max-width: 1320px) {
    .zuki-main-product-container {
        grid-template-columns: 1fr;
        max-width: 100%;
        gap: 40px;
    }

    .zuki-product-gallery-section,
    .zuki-gallery-main-image,
    .zuki-product-info-section,
    .zuki-product-left-col {
        width: 100%;
    }

    .zuki-product-bottom-meta,
    .zuki-reviews-section {
        padding-left: 0;
    }

    .zuki-gallery-thumbnails {
        width: 100%;
        flex-direction: row;
        order: 2;
    }

    .zuki-gallery-main-image {
        height: auto;
        aspect-ratio: 1 / 1;
        order: 1;
    }
}

/* Cart Item Attributes Styling */
/* Cart & Checkout Item Attributes (Variations) Styling */
.zuki-item-attributes dl,
.variation {
    display: block !important;
    margin: 5px 0 0 0 !important;
    padding: 0 !important;
}

.zuki-item-attributes dt,
.variation dt {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #666;
    font-weight: 600; /* Bold the label slightly */
}

.zuki-item-attributes dd,
.variation dd {
    display: inline !important;
    margin: 0 0 0 4px !important;
    padding: 0 !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #666;
    font-weight: 400;
}

.zuki-item-attributes dt::after,
.variation dt::after {
    display: none !important;
}

/* Force line break after each dd so next pair starts on new line */
.zuki-item-attributes dd::after,
.variation dd::after {
    content: "\A";
    white-space: pre;
    display: inline !important;
}

.zuki-item-attributes dd p,
.variation dd p {
    margin: 0 !important;
    display: inline !important;
}

.zuki-item-attributes br,
.variation br {
    display: none !important;
}

.zuki-cart-qty {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #666;
    margin-top: 0;
    display: block;
}

/* Cart Spacing and Typography Adjustments */
.zuki-cart-item-header {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

.zuki-cart-item-title {
    margin: 0 !important;
    line-height: 1.2 !important;
}

.zuki-cart-item-price {
    margin: 0 !important;
}

.zuki-total-row span {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400 !important;
    color: #000 !important;
}

.zuki-total-row .zuki-price {
    font-family: inherit;
    font-size: inherit;
    font-weight: 600 !important; /* Semibold */
    color: #000 !important;
}

.zuki-total-row .zuki-price bdi,
.zuki-total-row .zuki-price .woocommerce-Price-amount {
    font-family: inherit;
    font-weight: 600 !important;
}

/* --- WOOCOMMERCE CHECKOUT REDESIGN --- */

/* 2-Column Layout for Desktop */
@media (min-width: 1025px) {
    /* Main Grid Structure */
    form.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: 65% 35% !important;
        grid-template-rows: auto auto !important;
        gap: 0 40px !important;
        align-items: start !important;
        width: 100% !important;
    }

    /* Left Column: Billing & Additional Info */
    #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 20 !important; /* Ensure it spans enough rows to stay on left */
        width: 100% !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
    }

    #customer_details .col-1,
    #customer_details .col-2 {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    /* Right Column: Order Summary Header */
    #order_review_heading {
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
        font-family: inherit;
        font-size: inherit;
        padding-bottom: 15px !important;
        border-bottom: 1px solid #eee !important;
        margin-bottom: 20px !important;
    }

    #order_review {
        grid-column: 2 !important;
        grid-row: 3 !important;
        width: 100% !important;
        float: none !important;
        position: sticky !important;
        top: 20px !important;
        z-index: 9 !important;
    }

    .woocommerce-checkout h3,
    .woocommerce-billing-fields h3,
    .woocommerce-shipping-fields h3,
    .woocommerce-additional-fields h3 {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        display: block !important;
    }
}

/* Specific Summary Box Styling */
.woocommerce-checkout #order_review {
    background-color: #F9F9F9 !important;
    padding: 30px !important;
    border-radius: 12px !important;
}

/* Coupon Styling (Right Column Integration) */
.woocommerce-checkout .zuki-coupon-col {
    margin-top: 50px !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 0 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    border-top: 2px solid #6D58A6 !important;
    background-color: #f9f9f9 !important;
    color: #333 !important;
    font-size: inherit;
    margin-bottom: 10px !important;
}

.woocommerce-checkout form.checkout_coupon {
    background-color: #fff !important;
    border: 1px dashed #6D58A6 !important;
    padding: 20px !important;
    margin: 10px 0 20px 0 !important;
    border-radius: 8px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.woocommerce-checkout form.checkout_coupon .form-row {
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-checkout form.checkout_coupon input#coupon_code {
    width: 100% !important;
    padding: 10px 15px !important;
    height: 45px !important;
    border: 1px solid #ddd !important;
}

.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] {
    width: 100% !important;
    height: 45px !important;
    background-color: #333 !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
}

.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover {
    background-color: #6D58A6 !important;
}

/* Brand Total Accents & Alignment */
.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
    text-align: left !important;
}

.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td,
.woocommerce-checkout .cart-subtotal th,
.woocommerce-checkout .cart-subtotal td {
    font-family: inherit;
    font-size: inherit;
    color: #000 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .order-total .amount {
    color: #000 !important;
    font-weight: 600 !important;
    font-size: inherit;
}

.woocommerce-checkout .cart-subtotal .amount {
    font-weight: 400 !important;
}

.woocommerce-checkout #place_order {
    background-color: #6D58A6 !important;
    color: #fff !important;
    transition: all 0.3s ease !important;
}

.woocommerce-checkout #place_order:hover {
    background-color: #F9A825 !important; /* Accent gold on hover */
}
/* 
 * ZUKI LUXURY MOBILE OPTIMIZATION (MASTER LAYER) 
 */
@media (max-width: 767px) {
    html, body, #page, .site-main, .elementor {
        overflow-x: hidden !important;
        position: relative;
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
    }

    h1, h2, h3, .serif-luxury {
        font-family: inherit;
        line-height: 1.2 !important;
        font-style: italic;
    }

    .sans-modern, p, .button, .price {
        font-family: inherit;
        letter-spacing: 0.1em;
    }

    .zuki-badge-new {
        font-size: 10px;
        padding: 4px 8px;
        z-index: 10;
        background: #F5F5F5 !important;
        color: #666 !important;
        border-radius: 50px !important;
    }
}

/* 
 * SINGLE PRODUCT MOBILE REFINEMENTS 
 */
@media (max-width: 767px) {
    .zuki-main-product-container { grid-template-columns: 1fr !important; padding: 0 15px !important; }
    .zuki-product-left-col, .zuki-product-info-section { width: 100% !important; }
    .zuki-product-title { font-size: inherit; line-height: 1.2 !important; }
    .zuki-product-gallery-section { flex-direction: column-reverse !important; gap: 10px !important; }
    .zuki-gallery-thumbnails { width: 100% !important; flex-direction: row !important; overflow-x: auto !important; height: auto !important; }
    .zuki-thumbnail { flex: 0 0 60px !important; height: 60px !important; }
    .zuki-gallery-main-image { width: 100% !important; height: 350px !important; }
    .zuki-product-bottom-meta { flex-direction: column !important; align-items: flex-start !important; }
    .zuki-meta-item { width: 100% !important; margin-bottom: 5px !important; word-break: break-all !important; }
    .zuki-reviews-main-title { font-size: inherit; }
    .zuki-review-title { font-size: inherit; }
    .zuki-product-buttons { flex-direction: column !important; gap: 10px !important; }
    .zuki-btn { width: 100% !important; }
    .zuki-custom-select-wrapper { width: 100% !important; }
}

/* 
 * PAGE SPECIFIC LUXURY REFINEMENTS (Mobile) 
 */
@media (max-width: 767px) {
    /* WISHLIST 2-COLUMN GRID */
    .tinv-wishlist .tinv-wishlist-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 15px !important; }
    .tinv-wishlist .tinv-wishlist-grid li { width: 100% !important; border: none !important; position: relative !important; }
    .tinv-wishlist .tinv-wishlist-grid .tinv-image { border-radius: 8px !important; overflow: hidden !important; }

    /* ABOUT US LUXURY STYLES */
    .page-id-about-us .elementor-heading-title { font-size: inherit; text-align: center !important; }
    .page-id-about-us .serif-luxury { font-size: inherit; line-height: 1.4 !important; }

    /* CARE & FAQS ACCORDION */
    .page-id-faq .elementor-accordion .elementor-tab-title { font-size: inherit; padding: 15px 0 !important; }
    .page-id-faq .elementor-accordion .elementor-tab-content { font-size: inherit; line-height: 1.6 !important; }

    /* GIFTING PAGE PURPLE HERO */
    .page-id-gifting .hero-purple { background-color: #5D3E9F !important; color: #fff !important; padding: 60px 20px !important; text-align: center !important; }
}

/* THE FINAL OVERRIDE TO FORCE MOBILE HEADER ROW */
@media (max-width: 991px) {
    .zuki-mobile-top-bar { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; height: auto !important; min-height: 60px !important; }
    .zuki-nav-trigger, .zuki-mobile-actions { flex: 0 0 60px !important; width: 60px !important; }
    .zuki-mobile-logo { flex: 1 !important; display: flex !important; justify-content: center !important; }
}

/* ==========================================================================
   HOME HERO (post 24) - MOBILE FIXES
   Notes:
   - Scoped to post/page id 24 to avoid impacting other Elementor sections.
   - Targets the first Elementor section (your purple hero).
   ========================================================================== */
@media (max-width: 767px) {
    body.postid-24 .elementor .elementor-section:first-of-type,
    body.elementor-page-24 .elementor .elementor-section:first-of-type {
        /* Figma: 390 x 375 */
        min-height: 375px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
        background-position: 50% center !important;
        background-size: cover !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-container,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-container {
        min-height: 375px !important;
        align-items: center !important;
        padding-left: 32px !important;
        padding-right: 0 !important;
    }

    /* Keep a 2-column layout on mobile (like Figma) */
    body.postid-24 .elementor .elementor-section:first-of-type .elementor-row,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-column,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-column {
        flex: 0 0 auto !important;
        max-width: none !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-column:first-child,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-column:first-child {
        width: 58% !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-column:last-child,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-column:last-child {
        width: 42% !important;
    }

    /* Typography + button sizing */
    body.postid-24 .elementor .elementor-section:first-of-type .elementor-heading-title,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-heading-title {
        font-size: inherit;
        line-height: 1.06 !important;
        margin-bottom: 14px !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-widget-text-editor,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-widget-text-editor {
        max-width: 22ch !important;
        margin-bottom: 18px !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-button,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-button {
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.9) !important;
        color: #fff !important;
        padding: 10px 22px !important;
        min-height: 40px !important;
        border-radius: 0 !important;
    }

    body.postid-24 .elementor .elementor-section:first-of-type .elementor-widget-button,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-widget-button {
        margin-top: 0 !important;
    }

    /* Gift image: anchor right, crop like Figma */
    body.postid-24 .elementor .elementor-section:first-of-type .elementor-widget-image img,
    body.elementor-page-24 .elementor .elementor-section:first-of-type .elementor-widget-image img {
        width: 250px !important;
        max-width: none !important;
        height: auto !important;
        margin-top: 0 !important;
        transform: translate(28px, -10px) rotate(0deg) !important;
    }
}

/* ============================================================
   PDF DESIGN MATCH — Product Card Layout Override
   Child theme loads AFTER Elementor post CSS, so these win.
   PDF Design: Image → Name → Price+Cart → New badge + Heart row
   ============================================================ */

/* Badge: static flow element in bottom-meta row */
.zuki-badge-new {
    position: static !important;
    top: auto !important;
    left: auto !important;
    display: inline-block !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    color: #666 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 0 !important;
    z-index: auto !important;
    box-shadow: none !important;
}

/* Wishlist button: static flow in bottom-meta row */
.zuki-wishlist-button {
    position: static !important;
    top: auto !important;
    right: auto !important;
    display: flex !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zuki-wishlist-button svg {
    width: 100% !important;
    height: 100% !important;
}

/* Bottom meta row: badge on left, heart on right */
.zuki-product-bottom-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 8px !important;
    min-height: 22px !important;
    width: 100% !important;
}

.zuki-badge-new-wrap {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 18px !important;
}

/* Product info section overrides */
html body .zuki-product-info {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 0 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* Product title override */
html body .zuki-product-card-title,
html body .zuki-product-card-title a {
    width: 100% !important;
    max-width: 100% !important;
}

/* FORCE product title structural visibility so it doesn't collapse, but allow Elementor Typography to control styling */
html body .zuki-product-card h3.zuki-product-card-title,
html body .zuki-product-card h2.zuki-product-card-title,
html body .zuki-product-card .zuki-product-card-title,
html body .zuki-product-card .zuki-product-card-title a {
    display: block;
    visibility: visible;
    opacity: 1;
    width: 100%;
    text-decoration: none;
    text-align: left;
}

/* OVERLAYS ON IMAGE WRAPPER (Figma Design Pattern) */
.zuki-product-image-wrapper {
    position: relative !important;
}

/* Ensure image container itself doesn't cause overflow clip if shadows exist */
.zuki-product-image-container {
    display: block;
    width: 100%;
}

/* New Badge Overlay */
body .zuki-product-card .zuki-badge-new {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 10 !important;
    font-size: 11px !important;
    color: #888 !important;
    background: transparent !important;
    padding: 0 !important;
    text-transform: capitalize !important;
    display: block !important;
}

/* Wishlist Heart Overlay */
body .zuki-product-card .zuki-wishlist-button {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 10 !important;
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    color: #666 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .zuki-product-card .zuki-wishlist-button svg {
    width: 100% !important;
    height: 100% !important;
}

/* Swiper Nav Arrows Overlay */
body .zuki-product-card [class^="swiper-button-"] {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 25px !important;
    height: 25px !important;
    color: #333 !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}

body .zuki-product-card:hover [class^="swiper-button-"] {
    opacity: 1; /* Show arrows on hover for cleaner UI */
}

body .zuki-product-card .swiper-button-prev {
    left: 10px !important;
}

body .zuki-product-card .swiper-button-next {
    right: 10px !important;
}

body .zuki-product-card [class^="swiper-button-"]::after {
    font-size: 14px !important; /* Small arrows */
}

/* META AREA: TITLE -> PRICE (Left) + BAG (Right) */
.zuki-product-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

.zuki-product-card-price {
    text-align: left !important;
}

.zuki-add-to-cart-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.zuki-add-to-cart-btn svg {
    width: 20px !important;
    height: 20px !important;
    color: #111 !important;
}

/* Hide the old bottom meta row just in case any cached elements still have it */
.zuki-product-bottom-meta {
    display: none !important;
}

/* MOBILE OPTIMIZATIONS ALIGNED WITH FIGMA */
@media (max-width: 768px) {
    /* Push top overlays closer to edges for mobile cards */
    body .zuki-product-card .zuki-badge-new {
        top: 8px !important;
        left: 8px !important;
        font-size: 10px !important;
    }
    
    body .zuki-product-card .zuki-wishlist-button {
        top: 8px !important;
        right: 8px !important;
        width: 16px !important;
        height: 16px !important;
    }

    /* Smaller Swiper arrows for mobile */
    body .zuki-product-card [class^="swiper-button-"] {
        width: 20px !important;
        height: 20px !important;
    }
    body .zuki-product-card [class^="swiper-button-"]::after {
        font-size: 10px !important;
    }

    /* Optimize Product Info Spacing */
    html body .zuki-product-card h3.zuki-product-card-title,
    html body .zuki-product-card h2.zuki-product-card-title,
    html body .zuki-product-card .zuki-product-card-title,
    html body .zuki-product-card .zuki-product-card-title a {
        margin: 8px 0 4px !important;
    }

    /* Price and Cart alignments */
    .zuki-add-to-cart-btn svg {
        width: 16px !important;
        height: 16px !important;
    }
}

/* FIGMA SIZE DROPDOWN OVERRIDES APPLIED BY ANTIGRAVITY */
.zuki-custom-size-dropdown { position: relative !important; width: fit-content !important; max-width: 100% !important; margin-bottom: 25px !important; }
.zuki-custom-size-dropdown .zuki-dropdown-trigger { border: 1px solid #EDEDED !important; padding: 12px 50px !important; background: #fff !important; min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; white-space: nowrap !important; }
.zuki-dropdown-placeholder { font-family: 'Inter', sans-serif !important; font-size: 14px !important; color: #666 !important; font-weight: 500 !important; }
.zuki-dropdown-panel { position: absolute !important; width: 100% !important; background: #fff !important; border: 1px solid #EDEDED !important; border-top: none !important; z-index: 999 !important; list-style: none !important; padding: 0 !important; margin: 0 !important; max-height: 300px !important; overflow-y: auto !important; }
.zuki-dropdown-item { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 0 !important; padding: 12px 20px !important; border-bottom: 1px solid #f9f9f9 !important; cursor: pointer !important; transition: background 0.2s; white-space: nowrap !important; }
.zuki-dropdown-item:hover { background-color: #f7f7f7 !important; }
.zuki-size-num { font-weight: 700 !important; color: #111 !important; font-size: 15px !important; width: 30px !important; display: inline-block !important; text-align: left !important; }
.zuki-size-divider { color: #ccc !important; margin: 0 10px !important; }
.zuki-size-info { color: #888 !important; font-size: 13px !important; font-weight: 400 !important; }
.zuki-selected-color-indicator { width: 18px !important; height: 18px !important; border-radius: 50% !important; margin-right: 12px !important; border: 1px solid #eee !important; flex-shrink: 0 !important; }
.zuki-select-arrow { display: none !important; }


@media (max-width: 600px) { .zuki-custom-size-dropdown .zuki-dropdown-trigger { padding: 12px 25px !important; } .zuki-dropdown-placeholder { font-size: 12px !important; } }


/* SPARKLING WISHLIST EFFECT */
.zuki-wishlist-button { position: relative; }
.zuki-sparkle { position: absolute !important; pointer-events: none !important; width: 6px !important; height: 6px !important; background: #FF4D6D !important; border-radius: 50% !important; opacity: 0 !important; z-index: 10000 !important; }
@keyframes sparkle-burst { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) scale(0); opacity: 0; } }
.zuki-wishlist-button.zuki-is-active { animation: heart-pop 0.4s ease; }
@keyframes heart-pop { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }
/* COUNTER BADGE SYNC */
.zuki-header-cart-count, .zuki-wishlist-count { transition: all 0.3s ease; }
.zuki-header-cart-count.updated, .zuki-wishlist-count.updated { animation: count-bump 0.4s ease; }
@keyframes count-bump { 0% { transform: scale(1); } 50% { transform: scale(1.4); } 100% { transform: scale(1); } }

