.elementor-30644 .elementor-element.elementor-element-72f6175{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-bcdd5a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-slides .elementor-slide-heading{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-slides .elementor-slide-description{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-slides .elementor-slide-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-30644 .elementor-element.elementor-element-69e57e7 .elementor-repeater-item-c000102 .swiper-slide-bg{background-color:#833ca3;background-image:url(https://www.excelsiorwholesale.co.uk/wp-content/uploads/2026/05/blossoms.webp);background-size:cover;}.elementor-30644 .elementor-element.elementor-element-69e57e7 .elementor-repeater-item-21c68cc .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://www.excelsiorwholesale.co.uk/wp-content/uploads/2026/05/white_flower.webp);background-size:cover;}.elementor-30644 .elementor-element.elementor-element-69e57e7 .elementor-repeater-item-e1f03ad .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://www.excelsiorwholesale.co.uk/wp-content/uploads/2026/05/pink_flower.webp);background-size:cover;}.elementor-30644 .elementor-element.elementor-element-69e57e7 .swiper-slide{transition-duration:calc(5000ms*1.2);height:447px;}.elementor-30644 .elementor-element.elementor-element-69e57e7 .swiper-slide-contents{max-width:66%;}.elementor-30644 .elementor-element.elementor-element-69e57e7 .swiper-slide-inner{text-align:center;}.elementor-30644 .elementor-element.elementor-element-a0599cb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-3aecd38{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-30644 .elementor-element.elementor-element-3d40426{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-30644 .elementor-element.elementor-element-a903ac6.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-30644 .elementor-element.elementor-element-a903ac6.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-30644 .elementor-element.elementor-element-a903ac6.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-a903ac6 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-30644 .elementor-element.elementor-element-a903ac6 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-30644 .elementor-element.elementor-element-e178c99.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-30644 .elementor-element.elementor-element-e178c99.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-30644 .elementor-element.elementor-element-e178c99.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-e178c99 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-30644 .elementor-element.elementor-element-e178c99 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-30644 .elementor-element.elementor-element-c43d896.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-30644 .elementor-element.elementor-element-c43d896.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-30644 .elementor-element.elementor-element-c43d896.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-c43d896 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-30644 .elementor-element.elementor-element-c43d896 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb .elementor-image-box-img img{transition-duration:0.3s;}.elementor-30644 .elementor-element.elementor-element-76cf7e7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-a92f53a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-fab0dd4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-50c9c8f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-9d98c8f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-30644 .elementor-element.elementor-element-d7503fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-30644 .elementor-element.elementor-element-3d40426{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-30644 .elementor-element.elementor-element-bcdd5a8{--content-width:100%;}}@media(max-width:767px){.elementor-30644 .elementor-element.elementor-element-3d40426{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-30644 .elementor-element.elementor-element-a903ac6 .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-e178c99 .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-c43d896 .elementor-image-box-img{margin-bottom:15px;}.elementor-30644 .elementor-element.elementor-element-1fd9ffb .elementor-image-box-img{margin-bottom:15px;}}/* Start custom CSS for container, class: .elementor-element-a0599cb */@media (max-width:10000px) {
    .elementor-30644 .elementor-element.elementor-element-a0599cb {
        display: none!important;
    }
}/* End custom CSS */
/* Start custom CSS *//* ════════════════════════════════════════════════════
   EXCELSIOR HOMEPAGE
   ════════════════════════════════════════════════════ */

.exc-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.exc-home-section {
    padding: 64px 24px;
}

.exc-home-section__inner {
    max-width: 1400px;
    margin: 0 auto;
}

.exc-home-section__head {
    text-align: center;
    margin: 0 0 40px;
}

.exc-home-section__eyebrow {
    display: inline-block;
    margin: 0 0 12px;
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-purple);
}

.exc-home-section__title {
    margin: 0 0 12px;
    font-family: var(--exc-sans);
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--exc-ink);
    line-height: 1.2;
}

.exc-home-section__lede {
    margin: 0 auto;
    max-width: 640px;
    font-family: var(--exc-sans);
    font-size: 15px;
    line-height: 1.65;
    color: var(--exc-muted);
}

@media (max-width: 767px) {
    .exc-home-section { padding: 48px 16px; }
}

/* Category grid */
.exc-cats__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.exc-cat-tile {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--exc-radius-md);
    text-decoration: none !important;
    box-shadow: var(--exc-shadow-sm);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.exc-cat-tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--exc-shadow-md);
}

.exc-cat-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.exc-cat-tile:hover img {
    transform: scale(1.08);
}

.exc-cat-tile__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(
        to top,
        rgba(31, 31, 31, 0.85) 0%,
        rgba(31, 31, 31, 0.4) 40%,
        rgba(31, 31, 31, 0) 70%
    );
    color: var(--exc-white);
}

.exc-cat-tile__title {
    margin: 0 0 8px;
    font-family: var(--exc-sans);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--exc-white) !important;
    line-height: 1.2;
}

.exc-cat-tile__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--exc-white);
    transition: gap 0.2s ease;
}

.exc-cat-tile:hover .exc-cat-tile__cta {
    gap: 10px;
}

@media (max-width: 1024px) {
    .exc-cats__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .exc-cats__grid { grid-template-columns: 1fr; gap: 14px; }
    .exc-cat-tile { aspect-ratio: 16 / 10; }
}

/* ════════════════════════════════════════════════════
   HOMEPAGE FEATURED PRODUCTS — JetWooBuilder
   ════════════════════════════════════════════════════ */

.exc-featured-products {
    padding: 64px 24px;
    background: var(--exc-white);
}

.exc-featured-products .exc-home-section__inner {
    max-width: 1400px;
    margin: 0 auto;
}

/* Grid container */
.exc-featured-products .jet-woo-products__items,
.exc-featured-products .jet-woo-products-list,
.exc-featured-products .jet-woo-products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Reset any inline width Jet sets */
.exc-featured-products .jet-woo-builder-product,
.exc-featured-products .jet-woo-product,
.exc-featured-products .product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    float: none !important;
}

/* Product card */
.exc-featured-products .jet-woo-builder-product,
.exc-featured-products .jet-woo-product {
    position: relative;
    display: flex !important;
    flex-direction: column;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.exc-featured-products .jet-woo-builder-product:hover,
.exc-featured-products .jet-woo-product:hover {
    transform: translateY(-4px);
    border-color: var(--exc-purple-line);
    box-shadow: var(--exc-shadow-md);
}

/* Inner wrapper */
.exc-featured-products .jet-woo-builder-product-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

/* Product image */
.exc-featured-products .jet-woo-product-thumbnail,
.exc-featured-products .jet-woo-product-thumbnail a {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.exc-featured-products .jet-woo-product-thumbnail img,
.exc-featured-products .jet-woo-builder-product img,
.exc-featured-products img.wp-post-image,
.exc-featured-products img.attachment-woocommerce_thumbnail {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--exc-off-white) !important;
    transition: transform 0.4s ease;
}

.exc-featured-products .jet-woo-builder-product:hover img,
.exc-featured-products .jet-woo-product:hover img {
    transform: scale(1.04);
}

/* Product title */
.exc-featured-products .jet-woo-product-title,
.exc-featured-products .jet-woo-builder-product .woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 16px 18px 6px !important;
    font-family: var(--exc-sans) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--exc-ink) !important;
    letter-spacing: -0.005em !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.exc-featured-products .jet-woo-product-title a {
    color: var(--exc-ink) !important;
    text-decoration: none !important;
}

.exc-featured-products .jet-woo-product-title a:hover {
    color: var(--exc-purple) !important;
}

/* Price */
.exc-featured-products .jet-woo-product-price,
.exc-featured-products .jet-woo-builder-product .price {
    display: flex !important;
    margin: 0 !important;
    padding: 0 18px 16px !important;
    font-family: var(--exc-sans) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--exc-purple) !important;
    background: transparent !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px;
}

.exc-featured-products .jet-woo-product-price .amount,
.exc-featured-products .jet-woo-product-price ins,
.exc-featured-products .jet-woo-product-price ins .amount {
    color: var(--exc-purple) !important;
    font-weight: 700 !important;
    background: transparent !important;
    text-decoration: none !important;
}

.exc-featured-products .jet-woo-product-price del,
.exc-featured-products .jet-woo-product-price del .amount {
    color: var(--exc-muted) !important;
    opacity: 0.7;
    font-weight: 500 !important;
    margin-right: 6px;
}

/* Hide rating on homepage cards for cleaner look */
.exc-featured-products .jet-woo-product-rating,
.exc-featured-products .star-rating {
    display: none !important;
}

/* Add to cart button */
.exc-featured-products .jet-woo-product-button .button,
.exc-featured-products .jet-woo-product-button a,
.exc-featured-products .jet-woo-builder-product .button,
.exc-featured-products .jet-woo-builder-product a.add_to_cart_button,
.exc-featured-products .jet-woo-builder-product a.added_to_cart,
.exc-featured-products .jet-woo-builder-product a.product_type_variable,
.exc-featured-products .jet-woo-builder-product a.product_type_grouped,
.exc-featured-products .jet-woo-builder-product a.product_type_external {
    display: block !important;
    width: calc(100% - 36px) !important;
    margin: auto 18px 18px !important;
    padding: 11px 16px !important;
    background: var(--exc-white) !important;
    color: var(--exc-purple) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-sm) !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    box-shadow: none !important;
}

.exc-featured-products .jet-woo-product-button .button:hover,
.exc-featured-products .jet-woo-builder-product .button:hover,
.exc-featured-products .jet-woo-builder-product a.add_to_cart_button:hover {
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
}

/* Locked price for guests (your existing snippet) */
.exc-featured-products .jet-woo-builder-product a.exc-price-locked {
    margin: 8px auto 12px !important;
}

.exc-featured-products .jet-woo-builder-product a.exc-locked-btn {
    margin: 0 18px 18px !important;
    width: calc(100% - 36px) !important;
    max-width: none !important;
}

/* Sale badge */
.exc-featured-products .jet-woo-product-onsale-badge,
.exc-featured-products .onsale {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    margin: 0 !important;
    padding: 4px 10px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--exc-sans) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    box-shadow: 0 2px 8px rgba(143, 41, 151, 0.25);
    z-index: 2;
}

/* Hide SKU */
.exc-featured-products .jet-woo-product-sku,
.exc-featured-products .product-sku,
.exc-featured-products .sku_wrapper {
    display: none !important;
}

/* ────────── Responsive ────────── */

@media (max-width: 1200px) {
    .exc-featured-products .jet-woo-products__items,
    .exc-featured-products .jet-woo-products-list,
    .exc-featured-products .jet-woo-products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .exc-featured-products .jet-woo-builder-product:nth-child(n+7),
    .exc-featured-products .jet-woo-product:nth-child(n+7) {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .exc-featured-products .jet-woo-products__items,
    .exc-featured-products .jet-woo-products-list,
    .exc-featured-products .jet-woo-products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
    .exc-featured-products .jet-woo-builder-product:nth-child(n+7),
    .exc-featured-products .jet-woo-product:nth-child(n+7) {
        display: flex !important;
    }
    .exc-featured-products .jet-woo-builder-product:nth-child(n+9),
    .exc-featured-products .jet-woo-product:nth-child(n+9) {
        display: none !important;
    }
    .exc-featured-products .jet-woo-product-title {
        font-size: 13px !important;
        padding: 12px 14px 4px !important;
    }
    .exc-featured-products .jet-woo-product-price {
        padding: 0 14px 12px !important;
        font-size: 14px !important;
    }
    .exc-featured-products .jet-woo-product-button .button,
    .exc-featured-products .jet-woo-builder-product .button {
        margin: auto 14px 14px !important;
        width: calc(100% - 28px) !important;
        padding: 10px 12px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 480px) {
    .exc-featured-products {
        padding: 48px 16px;
    }
    .exc-featured-products .jet-woo-products__items,
    .exc-featured-products .jet-woo-products-list,
    .exc-featured-products .jet-woo-products {
        gap: 10px !important;
    }
}

/* Hide quantity inputs on product cards site-wide */
.jet-woo-builder-product .quantity,
.jet-woo-builder-product input.qty,
.jet-woo-builder-product .quantity input,
.jet-woo-product .quantity,
.jet-woo-product input.qty,
.jet-woo-product .quantity input,
ul.products li.product .quantity,
ul.products li.product input.qty,
.woocommerce ul.products li.product .quantity,
.woocommerce ul.products li.product .quantity input.qty {
    display: none !important;
}

/* TEMP: Force everything visible to debug animations */
.elementor-element,
.jet-woo-builder-product,
.jet-woo-products,
.jet-woo-products__items,
.exc-cat-tile,
.exc-cats__grid {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}



/* ── Category grid wrapper ── */
.exc-cats {
    max-width: 1400px;
    margin: 48px auto;
    padding: 0 24px;
}
.exc-cats__head { text-align: center; margin: 0 0 32px; }

/* Grid container — 4 across */
.exc-cats__grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

/* ── Each Image Box as a tile ── */
.exc-cat.elementor-widget-image-box .elementor-image-box-wrapper {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--exc-radius-lg, 16px);
    border: 1px solid var(--exc-border, #ececec);
    box-shadow: var(--exc-shadow-sm, 0 2px 8px rgba(143,41,151,.06));
    aspect-ratio: 1 / 1;
    margin: 0;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.exc-cat.elementor-widget-image-box .elementor-image-box-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: var(--exc-shadow-md, 0 12px 28px rgba(143,41,151,.18));
    border-color: var(--exc-purple-soft, rgba(143,41,151,.08));
}

/* Image fills the whole tile */
.exc-cat .elementor-image-box-img {
    position: absolute;
    inset: 0;
    margin: 0 !important;
    width: 100% !important;
    height: 100%;
    z-index: 1;
}
.exc-cat .elementor-image-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 0;
    transition: transform .5s ease;
}
.exc-cat .elementor-image-box-wrapper:hover .elementor-image-box-img img {
    transform: scale(1.06);
}

/* Dark gradient over the image */
.exc-cat .elementor-image-box-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.65) 100%);
    pointer-events: none;
    transition: background .3s ease;
    z-index: 1;
}
.exc-cat .elementor-image-box-wrapper:hover .elementor-image-box-img::after {
    background: linear-gradient(180deg, rgba(143,41,151,0) 0%, rgba(143,41,151,.15) 40%, rgba(143,41,151,.75) 100%);
}

/* Text content sits at the bottom, over the image */
.exc-cat .elementor-image-box-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px 22px 22px;
    pointer-events: none;
}

/* Title */
.exc-cat .elementor-image-box-title {
    margin: 0 0 6px !important;
    font-family: var(--exc-sans, 'Inter', sans-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -.005em;
    line-height: 1.25 !important;
    color: #fff !important;
}

/* Use the description field as the "Shop now →" line */
.exc-cat .elementor-image-box-description {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
    font-family: var(--exc-sans, 'Inter', sans-serif) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.92) !important;
    transition: gap .2s ease;
}
.exc-cat .elementor-image-box-wrapper:hover .elementor-image-box-description {
    gap: 10px;
}
/* Arrow after the description */
.exc-cat .elementor-image-box-description::after {
    content: '→';
    font-size: 13px;
    line-height: 1;
}

/* Responsive */
@media (max-width: 1024px) {
    .exc-cats__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 600px) {
    .exc-cats { margin: 32px auto; padding: 0 16px; }
    .exc-cats__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .exc-cat.elementor-widget-image-box .elementor-image-box-wrapper { aspect-ratio: 16 / 11; }
}/* End custom CSS */