body.jr-dark-commerce.single-product .site-content .col-full {
    max-width: 1600px;
}

body.jr-dark-commerce.single-product .archive-header .woocommerce-breadcrumb {
    padding-right: 2.617924em;
    padding-left: 2.617924em;
}

ul.products li.product {
    background: #fff;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.sub-menu ul.products li.product .shoptimizer-plp-image-wrapper {
    height: 250px;
    overflow: hidden;
}

.shoptimizer-load-more-wrapper {
    padding-top: 30px;
}

ul.products li.product .woocommerce-card__header p.product__categories {
    display: none !important;
}

.shoptimizer-archive .below-woocommerce-category {
    border: 1px solid #d8d8d8;
}

/* =========================
   Fixed Height Product Images
   ========================= */
div.columns-6 ul.products li.product div.woocommerce-image__wrapper {
    margin-right: 0;
    float: none;
    position: relative;
    transition: 0.2s ease-in-out;
    width: 100%;
    height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    margin-top: 12px;
}

div.columns-6 ul.products li.product div.woocommerce-image__wrapper img {
    height: auto;
    width: auto;
    max-height: 380px;
}

/* Optional: no effect on hover  */
ul.products li.product:hover .woocommerce-image__wrapper,
ul.products li.product:hover .shoptimizer-plp-image-wrapper img {
    transform: none;
}

ul.products li.product .shoptimizer-plp-image-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}


li.product {
    background: #fff;
    transition: all 0.3s ease;

    /* Default shadow (very soft) */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Hover effect */
li.product:hover {
    transform: translateY(-4px);
    /* slight lift */

    /* Stronger shadow on hover */
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

/* Product Page */
.product #cgkit-tab-description h3 {
    margin: 0 0 1.2rem;
}

.product #cgkit-tab-description hr {
    margin-top: 0;
    margin-bottom: 30px;
    border-top: 1px solid #9c9c9c;
}

.product #cgkit-tab-description table th,
.product #cgkit-tab-description table td {
    padding: 8px;
}

/* Related product */
.related-wrapper {
    margin-bottom: 50px;
}

.related-wrapper ul.products {
    gap: 15px;
    width: 100%;
}

.related-wrapper ul.products li.product div.woocommerce-image__wrapper {
    margin-right: 0;
    float: none;
    position: relative;
    transition: 0.2s ease-in-out;
    width: 100%;
    height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    margin-top: 12px;
}

.related-wrapper ul.products .cgkit-swatch-form:after,
.related-wrapper ul.products .cgkit-swatch-form:before {
    display: none;
}

.related-wrapper ul.products li.product {
    padding-bottom: 0;
}

.related-wrapper ul.products li.product.outofstock .button {
    position: relative;
    width: 100%;
}

.related-wrapper ul.products li.product div.woocommerce-image__wrapper img {
    height: auto;
    width: auto;
    max-height: 380px;
}

/* Hide variation description on product page */
.variations_form .single_variation_wrap .woocommerce-variation-description {
    display: none !important;
}

/* CGKit Swatch Hover */
ul.products li.product.cgkit-swatch-hover a img.wp-post-image-cgas {
    height: 100%;
    width: auto;
}

div.summary h1 {
    letter-spacing: -1.1px;
    padding-right: 36px;
}

/* Store Notice */
.wp-child-theme-jedi-theme .woocommerce-store-notice {
    background: rgba(17, 17, 17, 0.8);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgb(51, 51, 51);
}

.wp-child-theme-jedi-theme .woocommerce-store-notice a:first-of-type {
    text-decoration-color: rgb(226 171 65 / 50%);
    color: #dc9814;
    opacity: 1;
    text-decoration-line: underline;
    text-underline-offset: 4px;
}

.wp-child-theme-jedi-theme .woocommerce-store-notice a.woocommerce-store-notice__dismiss-link {
    box-sizing: border-box;
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
    -webkit-appearance: button;
    background-color: transparent;
}

.wp-child-theme-jedi-theme .woocommerce-store-notice a.woocommerce-store-notice__dismiss-link:hover {
    color: #FFFFFF;
}

/* 1. Parent = GRID instead of flex */
.columns-6 ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    margin-left: 0;
}

.woocommerce-card__header {
    padding-bottom: 0.75em;
}

/**
 * Keep CommerceKit product images inside a consistent gallery frame.
 *
 * CommerceKit calculates inline image heights when variation galleries load.
 * These rules override those calculated heights and preserve the original
 * image aspect ratio using object-fit.
 */
.single-product #commercegurus-pdp-gallery .cg-main-swiper {
    height: auto !important;
    max-height: 700px;
    aspect-ratio: 1 / 1;
    min-height: 0;
}

.single-product #commercegurus-pdp-gallery .cg-main-swiper .cg-psp-gallery,
.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide,
.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide-imglink,
.single-product #commercegurus-pdp-gallery .cg-main-swiper .woocommerce-product-gallery__image {
    height: 100% !important;
    min-height: 0;
    display: flex;
    align-items: center;
    margin: auto;
}

.single-product #commercegurus-pdp-gallery .cg-main-swiper img.pdp-img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: 80%;
    object-fit: contain;
    object-position: center;
}

/* =========================
   Responsive Adjustments
   ========================= */

@media (min-width: 993px) {
    #page ul.columns-6 li.product {
        width: calc((100% - 40px) / 3);
        /* 2 gaps of 30px */
    }

    #page ul.columns-4 li.product {
        width: calc((100% - 45px) / 4);
        /* 3 gaps of 30px */
    }

    #page .sub-menu ul li.product {
        width: 100%;
        box-shadow: none;
    }

    .columns-6 ul.products li.product:not(.product-category),
    .columns-6 ul.products li.product.ckit-hide-cta:not(.product-category) {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    ul.products li.product a.add_to_cart_button,
    ul.products li.product a.cgkit-as-single-atc,
    ul.products li.product a.added_to_cart {
        opacity: 1;
        position: relative;
        width: 100%;
    }
}

@media (max-width: 992px) {
    .related-wrapper ul.products li.product div.woocommerce-image__wrapper {
        margin: 0 12px;
        margin-top: 12px;
        width: auto;
    }
}

/**
 * Use a taller gallery frame on mobile so portrait product images remain
 * large enough to inspect without overflowing the page.
 */
@media (max-width: 767px) {
    .single-product #commercegurus-pdp-gallery .cg-main-swiper {
        max-height: 620px;
        aspect-ratio: 2 / 3;
    }

    .single-product #commercegurus-pdp-gallery .cg-main-swiper img.pdp-img {
        object-position: center center;
    }
}

/* Small Mobile */
@media (max-width: 480px) {

    ul.products li.product .shoptimizer-plp-image-wrapper,
    .columns-6 ul.products li.product .shoptimizer-plp-image-wrapper {
        max-height: 300px;
    }

    ul.products li.product.cgkit-swatch-hover .images {
        margin-right: 0;
        float: none;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    ul.products li.product.cgkit-swatch-hover a img.wp-post-image-cgas,
    ul.products li.product .shoptimizer-plp-image-wrapper img {
        height: auto;
        width: auto;
        max-height: 100%;
    }

    div.columns-6 ul.products li.product div.woocommerce-image__wrapper {
        height: 300px;
    }

    div.columns-6 ul.products li.product div.woocommerce-image__wrapper img {
        height: auto;
        width: auto;
        max-height: 100%;
    }
}


/**
* DArk css product
*/

body.jr-dark-commerce div.summary h1 {
    font-size: 2.8rem;
    line-height: 1.08;
    padding-right: 0;
    max-width: 31.5rem;
}

body.jr-dark-commerce .shoptimizer-archive .woocommerce-product-details__short-description {
    font-size: 1rem;
}

body.jr-dark-commerce .shoptimizer-archive .product p.stock {
    font-size: 0.9rem;
}

body.jr-dark-commerce .shoptimizer-archive .product div.summary p.price {
    font-size: clamp(1rem, 0.873rem + 0.4065vw, 2rem)
}

body.jr-dark-commerce .shoptimizer-archive .product .textwidget strong {
    font-size: 0.95rem;
}

body.jr-dark-commerce .shoptimizer-archive .product .textwidget li {
    font-size: 0.85rem;
}

body.jr-dark-commerce div.summary h1,
body.jr-dark-commerce .product-widget,
body.jr-dark-commerce .shoptimizer-archive .commercekit-wishlist a,
body.jr-dark-commerce .shoptimizer-archive .product h2,
body.jr-dark-commerce .shoptimizer-archive .product h3,
body.jr-dark-commerce .shoptimizer-archive .product p:not(.price),
body.jr-dark-commerce .shoptimizer-archive .product .related-wrapper span,
body.jr-dark-commerce .shoptimizer-archive .product legend,
body.jr-dark-commerce .shoptimizer-archive .product a,
body.jr-dark-commerce .shoptimizer-archive .product li,
body.jr-dark-commerce .shoptimizer-archive .product th,
body.jr-dark-commerce .shoptimizer-archive .product td,
body.jr-dark-commerce .shoptimizer-archive .product .variations label {
    color: var(--jr-text);
}

body.jr-dark-commerce .shoptimizer-archive .product .related-wrapper span.product-out-of-stock {
    color: #000;
    background: rgba(255, 255, 255, 0.8);
}

body.jr-dark-commerce .product .cart .quantity .input-text {
    color: #444;
    font-size: 1rem;
}

body.jr-dark-commerce .commercekit-wishlist a em.cg-wishlist-t:before,
body.jr-dark-commerce .commercekit-wishlist a em.cg-wishlist:before,
body.jr-dark-commerce .commercekit-wishlist.full a em.cg-wishlist-t:before,
body.jr-dark-commerce .product-widget ul li:before {
    background: var(--jr-text);
}

body.jr-dark-commerce .summary h1.product_title {
    margin-bottom: 0.35rem;
}

body.jr-dark-commerce .summary h1.product_title::after {
    display: none;
}

body.jr-dark-commerce .commercekit-atc-sticky-tabs ul.commercekit-atc-tab-links {
    font-size: clamp(0.9rem, 0.9rem + 0.12vw, 1.09rem);
}


body.jr-dark-commerce .woocommerce-tabs {
    border-top: none;
}

body.jr-dark-commerce .commercekit-atc-sticky-tabs,
body.jr-dark-commerce .woocommerce-tabs,
body.jr-dark-commerce .related-wrapper {
    background: inherit;
}

body.jr-dark-commerce .commercekit-atc-sticky-tabs.commercekit-atc-stuck {
    background: radial-gradient(circle at 0 0,
            rgba(45, 166, 83, 0.045),
            transparent 25rem),
        radial-gradient(circle at 100% 5%,
            rgba(111, 203, 255, 0.045),
            transparent 27rem),
        linear-gradient(180deg,
            #05090e 0%,
            #020609 100%);
}

body.jr-dark-commerce .product .cart .single_add_to_cart_button,
body.jr-dark-commerce .commercekit-atc-stuck #cgkit-tab-commercekit-sticky-atc-title button {
    margin-top: 0;
    border: 1px solid var(--jr-green-light);
    border-radius: 0.1875rem;
    background: linear-gradient(135deg, var(--jr-green-light), var(--jr-green));
    color: #07090d;
    font-weight: 750;
    box-shadow: 0 0.7rem 1.5rem rgba(0, 0, 0, 0.19), 0 0 1rem rgba(45, 166, 83, 0.08);
    transition: filter 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    height: auto;
}

body.jr-dark-commerce .commercekit-inventory .progress-bar.high-stock-bar span {
    background: linear-gradient(135deg, var(--jr-green-light), var(--jr-green));
}

/**
 * Apply card movement only where the device supports genuine hover.
 *
 * @package Jedi_Theme
 */

@media (hover: hover) and (pointer: fine) {

    body.jr-dark-commerce .product .cart .single_add_to_cart_button:hover,
    body.jr-dark-commerce .commercekit-atc-stuck #cgkit-tab-commercekit-sticky-atc-title button:hover {
        filter: brightness(1.08);
        transform: translateY(-0.0625rem);
        box-shadow: rgba(0, 0, 0, 0.24) 0px 0.9rem 1.8rem, rgba(45, 166, 83, 0.14) 0px 0px 1.35rem;
    }
}




/* ==========================================================================
   CommerceKit variation swatches
   Single product + product-card variants
   ========================================================================== */

/**
 * Styles CommerceKit variation swatches for both the WooCommerce single
 * product page and the catalogue product-card context.
 *
 * The single-product swatches use a slightly stronger selected treatment,
 * while the catalogue swatches use a more compact layout so the product card
 * remains stable and readable.
 *
 * @package Jedi_Theme
 * @subpackage WooCommerce
 * @since 1.0.0
 */


/* ==========================================================================
   Shared swatch reset
   ========================================================================== */

body.jr-dark-commerce .cgkit-as-wrap .cgkit-attribute-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.jr-dark-commerce .cgkit-as-wrap .cgkit-attribute-swatch {
    margin: 0;
    padding: 0;
}

body.jr-dark-commerce .cgkit-as-wrap .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--jr-border);
    border-radius: 0.1875rem;
    background: var(--jr-surface);
    color: var(--jr-text-soft);
    font-weight: 700;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease;
}


/* ==========================================================================
   Single product swatches
   ========================================================================== */

/**
 * Larger swatches for the single-product purchase area.
 */
body.jr-dark-commerce.single-product .product .cgkit-as-wrap .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch {
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
    font-size: 0.8rem;
    line-height: 1;
}

/**
 * Filled selected state on the single product.
 *
 * Uses a dark green surface rather than the bright add-to-basket green, so
 * the primary CTA still stays visually dominant.
 */
body.jr-dark-commerce.single-product .product .cgkit-as-wrap .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch.cgkit-swatch-selected {
    border-color: var(--jr-green-light);
    background: linear-gradient(180deg,
            rgba(69, 217, 107, 0.22),
            rgba(45, 166, 83, 0.18));
    color: var(--jr-text);
    box-shadow:
        inset 0 0 0 1px rgba(69, 217, 107, 0.2),
        0 0 0 1px rgba(69, 217, 107, 0.08);
}


/* ==========================================================================
   Hover states
   ========================================================================== */

@media (hover: hover) and (pointer: fine) {

    body.jr-dark-commerce .cgkit-as-wrap .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch:not(.cgkit-swatch-selected):hover {
        border-color: var(--jr-green);
        background: var(--jr-surface-hover);
        color: var(--jr-text);
    }
}

/* ==========================================================================
   Focus states
   ========================================================================== */

body.jr-dark-commerce .cgkit-as-wrap .cgkit-attribute-swatch.cgkit-button button.cgkit-swatch:focus-visible {
    outline: 2px solid var(--jr-green-light);
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    body.jr-dark-commerce .product table.variations .reset_variations:hover {
        color: var(--jr-text);
        opacity: 1;
    }
}

/* ==========================================================================
   Shoptimizer previous / next product preview
   ========================================================================== */

/**
 * Restyle Shoptimizer's previous/next product preview for the Jedi-Robe
 * dark-commerce product page.
 *
 * Keeps Shoptimizer's native navigation behaviour and positioning while
 * replacing the default light tooltip presentation with a dark product card.
 *
 * Product photography uses a clean white surface to match the main product
 * gallery. Product titles are allowed to wrap naturally without truncation.
 *
 * @package Jedi_Theme
 * @subpackage WooCommerce_Single_Product
 * @since 1.0.0
 */


/* ==========================================================================
   Previous / next controls
   ========================================================================== */

body.jr-dark-commerce.single-product .shoptimizer-product-prevnext>a {
    color: var(--jr-text-muted);

    transition: color 180ms ease;
}


body.jr-dark-commerce.single-product .shoptimizer-product-prevnext>a svg {
    width: 1.25rem;
    height: 1.25rem;

    color: inherit;
    stroke: currentcolor;
}


@media (hover: hover) and (pointer: fine) {

    body.jr-dark-commerce.single-product .shoptimizer-product-prevnext>a:hover {
        color: var(--jr-green-light);
    }
}


/* ==========================================================================
   Preview card
   ========================================================================== */

/**
 * Use the existing dark-commerce surfaces rather than Shoptimizer's default
 * light tooltip background.
 */
body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip {
    overflow: hidden;

    width: 19rem;
    max-width: calc(100vw - 2rem);

    height: auto;
    max-height: none;

    padding: 0;

    border: 1px solid var(--jr-border);
    border-radius: 0.25rem;

    background:
        linear-gradient(180deg,
            var(--jr-surface-raised) 0%,
            var(--jr-surface) 100%);

    color: var(--jr-text);

    box-shadow:
        0 1rem 2.4rem rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}


/* ==========================================================================
   Product image
   ========================================================================== */

/**
 * Match the main WooCommerce gallery by keeping product photography on a
 * clean white surface rather than the previous cream background.
 */
body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip img {
    display: block;

    width: 100%;
    height: 10.5rem;

    margin: 0;
    padding: 0.5rem;

    border-bottom: 1px solid var(--jr-border);

    background: #fff;

    object-fit: contain;
    object-position: center;
}


/* ==========================================================================
   Product title
   ========================================================================== */

/**
 * Allow the complete neighbouring product title to wrap naturally.
 *
 * Explicitly removes truncation, line clamping and fixed-height behaviour
 * that may otherwise hide long WooCommerce product titles.
 */
body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip .title {
    display: block;

    width: 100%;
    height: auto;
    max-height: none;

    margin: 0;
    padding: 0.85rem 0.9rem 0.35rem;

    overflow: visible;

    color: var(--jr-text);

    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.4;

    text-align: left;

    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;

    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
}


/* ==========================================================================
   Product price
   ========================================================================== */

/**
 * Retain the existing warm price emphasis used throughout the product page.
 */
body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip .prevnext_price {
    display: block;

    margin: 0;
    padding: 0.25rem 0.9rem 0.9rem;

    color: var(--jr-warning);

    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.25;

    text-align: left;
}


body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip .prevnext_price .amount,
body.jr-dark-commerce.single-product .shoptimizer-product-prevnext .tooltip .prevnext_price .woocommerce-Price-currencySymbol {
    color: inherit;
}

body.jr-dark-commerce.single-product .product-details-wrapper .summary .ppcp-messages {
    background: #fff;
    padding: 10px;
    margin: 10px 0;
    border-radius: 8px;
}

body.jr-dark-commerce.single-product .cg-layout-vertical-left .cg-thumb-swiper.swiper-container {
    height: 100% !important;
}

body.jr-dark-commerce.single-product .cg-layout-vertical-left .cg-thumb-swiper .swiper-slide {
    background: #fff;
}


body.jr-dark-commerce.single-product .cg-layout-vertical-left .cg-thumb-swiper .swiper-slide img {
    object-fit: contain;
}

@media (max-width: 992px) {
    body.jr-dark-commerce.single-product .archive-header .woocommerce-breadcrumb {
        padding-right: 0;
        padding-left: 0;
    }

    body.jr-dark-commerce div.summary h1 {
        max-width: 100%;
    }
}

body.jr-dark-commerce .woocommerce-ordering select option,
body.jr-dark-commerce .woocommerce-ordering select optgroup {
	color: #f5f7fa;
	background-color: #0b1218;
}

body.jr-dark-commerce .woocommerce-ordering select option:disabled {
	color: #aab4c0;
}