/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Custom child theme for Blocksy
Author: Desii Chaskaa
Template: blocksy
Version: 1.2.0

CHANGELOG (1.2.0):
Bug-fix pass over 1.1.0. No layout/feature was intentionally
redesigned — these are corrections to things that were either
silently broken (invalid/undefined values the browser was
ignoring) or scoped wider/narrower than clearly intended.

Fixed:
1. --dc-cart-summary-value-size was referenced but never defined,
   so the Cart Totals "value" column font-size was being ignored
   by the browser. Now defined (14px) in the .woocommerce-cart
   variable block.
2. --dc-cart-image-size and --dc-checkout-image-size were defined
   (100px / 64px, with a 70px mobile override for cart) but the
   actual image rules had hardcoded pixel values instead of using
   the variables — so the mobile cart-image-shrink rule was a
   no-op. Both are now wired to their real selectors.
3. .ct-product-additional-info svg used a hardcoded #A78969, one
   hex digit off from the real accent color (#a78968). Now uses
   var(--dc-color-accent).
4. [data-vertical-spacing*=top] had no selector scope, so it was
   forcing 100px top padding on any matching block sitewide
   instead of only on single product pages (where it's placed in
   the file and clearly intended). Scoped to .single-product.
5. .add_to_cart_button styling didn't cover the .added_to_cart
   "View cart" link WooCommerce injects after an AJAX add — it
   was rendering unstyled. Added matching styling.
6. The My Account nav icon rule applied `fill` and width/height to
   both svg and i elements. `fill` is a no-op on non-SVG elements
   and icon fonts size via font-size, not width/height. Split into
   two correct rules.
7. Checkout's totals row value had no explicit font-size (Cart's
   did, once fixed above) — added var(--dc-checkout-summary-text-size)
   so Cart and Checkout totals match.

Everything else is unchanged from 1.1.0: every selector still
resolves to the same values as before except where noted above.
*/


/* =========================================================
   DESII CHASKAA
   DESIGN VARIABLES
   ========================================================= */

:root {

    /* -----------------------------------------------------
       COLORS
       ----------------------------------------------------- */

    --dc-color-primary: #5d4939;
    --dc-color-primary-hover: #4d3b2e;

    --dc-color-accent: #a78968;
    --dc-color-accent-hover: #967653;

    --dc-color-accent-dark: #a44f3f;

    --dc-color-card-bg: #f8f2e9;
    --dc-color-wishlist-bg: #f8f2e9;
    --dc-color-white: #ffffff;

    --dc-color-card-border: #e6ddd1;
    --dc-color-card-border-hover: #a78968;

    --dc-color-title: #171717;
    --dc-color-price: #1c1c1c;
    --dc-color-price-sale: #1b1b1b;

    --dc-color-category: #a77f5a;
    --dc-color-review: #77706a;
    --dc-color-old-price: #77736f;

    --dc-color-star-empty: #ded4c7;
    --dc-color-star-filled: #a78968;


    /* -----------------------------------------------------
       PRODUCT CARD
       ----------------------------------------------------- */

    --dc-card-radius: 14px;
    --dc-card-padding-top: 12px;
    --dc-card-padding-x: 12px;
    --dc-card-padding-bottom: 18px;

    --dc-card-border-width: 1px;

    --dc-card-hover-y: -3px;

    --dc-card-shadow:
        0 10px 28px rgba(93, 73, 57, 0.10);


    /* -----------------------------------------------------
       PRODUCT IMAGE
       ----------------------------------------------------- */

    --dc-image-radius: 11px;
    --dc-image-spacing: 16px;
    --dc-image-hover-scale: 1.02;


    /* -----------------------------------------------------
       SALE BADGE
       ----------------------------------------------------- */

    --dc-sale-top: 12px;
    --dc-sale-left: 12px;

    --dc-sale-padding-y: 6px;
    --dc-sale-padding-x: 10px;

    --dc-sale-radius: 4px;

    --dc-sale-font-size: 12px;
    --dc-sale-font-weight: 600;


    /* -----------------------------------------------------
       CATEGORY
       ----------------------------------------------------- */

    --dc-category-size: 10px;
    --dc-category-weight: 600;
    --dc-category-spacing: 1.5px;

    --dc-category-bottom: 7px;


    /* -----------------------------------------------------
       PRODUCT TITLE
       ----------------------------------------------------- */

    --dc-title-size: 15px;
    --dc-title-weight: 500;
    --dc-title-line-height: 1.35;

    --dc-title-bottom: 18px;


    /* -----------------------------------------------------
       STAR RATING
       ----------------------------------------------------- */

    --dc-star-size: 15px;
    --dc-star-width: 90px;
    --dc-star-spacing: 1px;

    --dc-star-right-spacing: 8px;

    --dc-review-bottom: 18px;
    --dc-review-size: 13px;


    /* -----------------------------------------------------
       PRICE
       ----------------------------------------------------- */

    --dc-price-size: 14px;
    --dc-price-bottom: 20px;

    --dc-old-price-size: 13px;
    --dc-old-price-spacing: 4px;

    --dc-sale-price-size: 15px;


    /* -----------------------------------------------------
       ADD TO CART
       ----------------------------------------------------- */

    --dc-button-height: 42px;

    --dc-button-padding-y: 10px;
    --dc-button-padding-x: 15px;

    --dc-button-radius: 4px;

    --dc-button-border-width: 1px;

    --dc-button-font-size: 11px;
    --dc-button-font-weight: 600;
    --dc-button-letter-spacing: 1.2px;


    /* -----------------------------------------------------
       WISHLIST
       ----------------------------------------------------- */

    --dc-wishlist-size: 40px;
    --dc-wishlist-icon-size: 17px;

    --dc-wishlist-top: 22px;
    --dc-wishlist-right: 22px;

    --dc-wishlist-radius: 50%;

    --dc-wishlist-shadow:
        0 3px 10px rgba(93, 73, 57, 0.12);

    --dc-wishlist-hover-shadow:
        0 5px 14px rgba(93, 73, 57, 0.20);

    --dc-wishlist-hover-scale: 1.08;


    /* -----------------------------------------------------
       ANIMATION
       ----------------------------------------------------- */

    --dc-transition-fast: 0.2s ease;
    --dc-transition-normal: 0.3s ease;
    --dc-transition-image: 0.35s ease;


    /* -----------------------------------------------------
       HEADER
       ----------------------------------------------------- */

    --dc-header-logo-height: 75px;
}


/* =========================================================
   HEADER
   ========================================================= */

#header-logo {
    height: var(--dc-header-logo-height);
}


/* =========================================================
   1. PRODUCT CARD
   ========================================================= */

.woocommerce ul.products li.product {

    position: relative;

    background: var(--dc-color-card-bg);

    border:
        var(--dc-card-border-width)
        solid
        var(--dc-color-card-border);

    border-radius: var(--dc-card-radius);

    padding:
        var(--dc-card-padding-top)
        var(--dc-card-padding-x)
        var(--dc-card-padding-bottom);

    overflow: hidden;

    box-sizing: border-box;

    transition:
        border-color var(--dc-transition-normal),
        box-shadow var(--dc-transition-normal),
        transform var(--dc-transition-normal);
}


.woocommerce ul.products li.product:hover {

    border-color: var(--dc-color-card-border-hover);

    box-shadow: var(--dc-card-shadow);

    transform:
        translateY(var(--dc-card-hover-y));
}


.woocommerce ul.products li.product > * {
    box-sizing: border-box;
}


/* =========================================================
   2. PRODUCT IMAGE
   ========================================================= */

.woocommerce ul.products li.product .ct-media-container {

    width: 100%;

    margin-bottom: var(--dc-image-spacing);

    border-radius: var(--dc-image-radius);

    overflow: hidden;
}


.woocommerce ul.products li.product .ct-media-container img {

    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 1 / 1;

    object-fit: cover;

    border-radius: var(--dc-image-radius);

    transition:
        transform var(--dc-transition-image);
}


.woocommerce ul.products li.product:hover
.ct-media-container img {

    transform:
        scale(var(--dc-image-hover-scale));
}


/* =========================================================
   3. SALE BADGE
   ========================================================= */

.woocommerce ul.products li.product .onsale {

    position: absolute;

    top: var(--dc-sale-top);
    left: var(--dc-sale-left);

    right: auto;

    z-index: 10;

    min-width: auto;
    min-height: auto;

    padding:
        var(--dc-sale-padding-y)
        var(--dc-sale-padding-x);

    background: var(--dc-color-accent);

    color: var(--dc-color-white);

    border-radius: var(--dc-sale-radius);

    font-size: var(--dc-sale-font-size);

    font-weight: var(--dc-sale-font-weight);

    line-height: 1;

    text-transform: none;
}


/* =========================================================
   4. CATEGORY / TAXONOMY
   ========================================================= */

.woocommerce ul.products li.product
.ct-woo-card-category,

.woocommerce ul.products li.product
.ct-product-meta {

    margin-top: 0;

    margin-bottom:
        var(--dc-category-bottom);

    color: var(--dc-color-category);

    font-size: var(--dc-category-size);

    font-weight:
        var(--dc-category-weight);

    line-height: 1.2;

    letter-spacing:
        var(--dc-category-spacing);

    text-transform: uppercase;
}


/* =========================================================
   5. PRODUCT TITLE
   ========================================================= */

.woocommerce ul.products li.product
.woocommerce-loop-product__title {

    margin-top: 0;

    margin-bottom:
        var(--dc-title-bottom);

    color: var(--dc-color-title);

    font-size: var(--dc-title-size);

    font-weight:
        var(--dc-title-weight);

    line-height:
        var(--dc-title-line-height);
}


/* =========================================================
   6. STAR RATING
   ========================================================= */

.woocommerce ul.products li.product .star-rating {

    display: inline-block;

    width: var(--dc-star-width);

    margin:
        0
        var(--dc-star-right-spacing)
        0
        0;

    font-size: var(--dc-star-size);

    line-height: 1;

    letter-spacing:
        var(--dc-star-spacing);

    vertical-align: middle;
}


.woocommerce ul.products li.product
.star-rating::before {

    color:
        var(--dc-color-star-empty);
}


.woocommerce ul.products li.product
.star-rating span::before {

    color:
        var(--dc-color-star-filled);
}


/* =========================================================
   7. REVIEW COUNT / NO REVIEWS
   ========================================================= */

.woocommerce ul.products li.product
.ct-woo-card-rating {

    display: flex;

    align-items: center;

    margin-bottom:
        var(--dc-review-bottom);

    color:
        var(--dc-color-review);

    font-size:
        var(--dc-review-size);

    line-height: 1.3;
}


/* =========================================================
   8. PRICE
   ========================================================= */

.woocommerce ul.products li.product .price {

    display: block;

    margin:
        0
        0
        var(--dc-price-bottom);

    color:
        var(--dc-color-price);

    font-size:
        var(--dc-price-size);

    line-height: 1.4;
}


.woocommerce ul.products li.product .price del {

    margin-right:
        var(--dc-old-price-spacing);

    color:
        var(--dc-color-old-price);

    font-size:
        var(--dc-old-price-size);
}


.woocommerce ul.products li.product .price ins {

    color:
        var(--dc-color-price-sale);

    font-size:
        var(--dc-sale-price-size);

    font-weight: 700;

    text-decoration: none;
}


/* =========================================================
   9. ADD TO CART
   ========================================================= */

.woocommerce ul.products li.product
.ct-cart-actions {

    width: 100%;
}


.woocommerce ul.products li.product
.ct-cart-actions .button,

.woocommerce ul.products li.product
.add_to_cart_button {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height:
        var(--dc-button-height);

    margin: 0;

    padding:
        var(--dc-button-padding-y)
        var(--dc-button-padding-x);

    box-sizing: border-box;

    background: transparent;

    border:
        var(--dc-button-border-width)
        solid
        var(--dc-color-primary);

    border-radius:
        var(--dc-button-radius);

    color:
        var(--dc-color-primary);

    font-size:
        var(--dc-button-font-size);

    font-weight:
        var(--dc-button-font-weight);

    line-height: 1;

    letter-spacing:
        var(--dc-button-letter-spacing);

    text-transform: uppercase;

    transition:
        background-color var(--dc-transition-fast),
        color var(--dc-transition-fast),
        border-color var(--dc-transition-fast);
}


.woocommerce ul.products li.product
.ct-cart-actions .button:hover,

.woocommerce ul.products li.product
.add_to_cart_button:hover {

    background:
        var(--dc-color-primary);

    border-color:
        var(--dc-color-primary);

    color:
        var(--dc-color-white);
}


/* FIX (1.2.0): WooCommerce swaps the Add to Cart button for an
   ".added_to_cart" View Cart link after a successful AJAX add.
   That link wasn't covered by the rule above, so it rendered
   unstyled (default theme link). Give it the same look. */
.woocommerce ul.products li.product
.added_to_cart {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height:
        var(--dc-button-height);

    margin-top: 8px;

    padding:
        var(--dc-button-padding-y)
        var(--dc-button-padding-x);

    box-sizing: border-box;

    background: transparent;

    border:
        var(--dc-button-border-width)
        solid
        var(--dc-color-primary);

    border-radius:
        var(--dc-button-radius);

    color:
        var(--dc-color-primary);

    font-size:
        var(--dc-button-font-size);

    font-weight:
        var(--dc-button-font-weight);

    line-height: 1;

    letter-spacing:
        var(--dc-button-letter-spacing);

    text-transform: uppercase;

    text-decoration: none;

    transition:
        background-color var(--dc-transition-fast),
        color var(--dc-transition-fast),
        border-color var(--dc-transition-fast);
}


.woocommerce ul.products li.product
.added_to_cart:hover {

    background:
        var(--dc-color-primary);

    color:
        var(--dc-color-white);
}


/* =========================================================
   10. TI WOOCOMMERCE WISHLIST
   ========================================================= */

.woocommerce ul.products li.product
.tinv-wishlist {

    position: absolute !important;

    top:
        var(--dc-wishlist-top) !important;

    right:
        var(--dc-wishlist-right) !important;

    bottom: auto !important;
    left: auto !important;

    z-index: 50 !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0;

    visibility: hidden;

    transform: translateY(5px);

    transition:
        opacity var(--dc-transition-normal),
        visibility var(--dc-transition-normal),
        transform var(--dc-transition-normal);
}


.woocommerce ul.products li.product:hover
.tinv-wishlist {

    opacity: 1 !important;

    visibility: visible !important;

    transform: translateY(0);
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width:
        var(--dc-wishlist-size) !important;

    height:
        var(--dc-wishlist-size) !important;

    min-width:
        var(--dc-wishlist-size) !important;

    min-height:
        var(--dc-wishlist-size) !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background:
        var(--dc-color-wishlist-bg) !important;

    border:
        1px solid
        var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-wishlist-radius) !important;

    color:
        var(--dc-color-primary) !important;

    box-shadow:
        var(--dc-wishlist-shadow);

    text-decoration: none !important;

    transition:
        background-color var(--dc-transition-normal),
        border-color var(--dc-transition-normal),
        color var(--dc-transition-normal),
        box-shadow var(--dc-transition-normal),
        transform var(--dc-transition-normal);
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist-text {

    display: none !important;
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before {

    margin: 0 !important;

    color:
        var(--dc-color-primary) !important;

    font-size:
        var(--dc-wishlist-icon-size) !important;

    line-height: 1;

    transition:
        color var(--dc-transition-normal),
        transform var(--dc-transition-normal);
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button:hover {

    background:
        var(--dc-color-accent) !important;

    border-color:
        var(--dc-color-accent) !important;

    color:
        var(--dc-color-white) !important;

    box-shadow:
        var(--dc-wishlist-hover-shadow);

    transform:
        scale(var(--dc-wishlist-hover-scale));
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button:hover.tinvwl-icon-heart::before {

    color:
        var(--dc-color-white) !important;

    transform:
        scale(1.08);
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button.tinvwl-product-in-wishlist {

    background:
        var(--dc-color-accent-dark) !important;

    border-color:
        var(--dc-color-accent-dark) !important;

    color:
        var(--dc-color-white) !important;
}


.woocommerce ul.products li.product
.tinvwl_add_to_wishlist_button.tinvwl-product-in-wishlist.tinvwl-icon-heart::before {

    color:
        var(--dc-color-white) !important;
}


/* =========================================================
   11. DESKTOP
   ========================================================= */

@media (min-width: 768px) {

    .woocommerce ul.products li.product {

        padding:
            var(--dc-card-padding-top)
            var(--dc-card-padding-x)
            var(--dc-card-padding-bottom);

        border-radius:
            var(--dc-card-radius);
    }

    .woocommerce ul.products li.product
    .ct-media-container {

        border-radius:
            var(--dc-image-radius);
    }
}


/* =========================================================
   12. MOBILE — PRODUCT GRID
   ========================================================= */

@media (max-width: 767px) {

    .woocommerce ul.products li.product {

        padding:
            9px
            9px
            16px;

        border-radius: 12px;
    }

    .woocommerce ul.products li.product
    .ct-media-container {

        margin-bottom: 13px;

        border-radius: 10px;
    }

    .woocommerce ul.products li.product
    .ct-media-container img {

        border-radius: 10px;
    }

    .woocommerce ul.products li.product
    .woocommerce-loop-product__title {

        margin-bottom: 15px;

        font-size: 15px;
    }

    .woocommerce ul.products li.product
    .star-rating {

        font-size: 14px;
    }

    .woocommerce ul.products li.product
    .price {

        margin-bottom: 17px;
    }

    .woocommerce ul.products li.product
    .ct-cart-actions .button,

    .woocommerce ul.products li.product
    .add_to_cart_button {

        min-height: 40px;
    }

    .woocommerce ul.products li.product
    .tinv-wishlist {

        top: 14px !important;

        right: 14px !important;
    }

    .woocommerce ul.products li.product
    .tinvwl_add_to_wishlist_button {

        width: 38px !important;
        height: 38px !important;

        min-width: 38px !important;
        min-height: 38px !important;
    }

    .woocommerce ul.products li.product
    .tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before {

        font-size: 16px !important;
    }
}


/* =========================================================
   13. SINGLE PRODUCT PAGE
   ========================================================= */

.single-product .product_title {

    color:
        var(--dc-color-title) !important;
}


.single-product .summary .price {

    color:
        var(--dc-color-price) !important;
}

.single-product .summary .price ins {

    color:
        var(--dc-color-price-sale) !important;

    text-decoration: none !important;
}

.single-product .summary .price del {

    color:
        var(--dc-color-old-price) !important;
}


.single-product .summary .single_add_to_cart_button {

    background-color:
        var(--dc-color-primary) !important;

    border:
        1px solid
        var(--dc-color-primary) !important;

    color:
        var(--dc-color-white) !important;

    border-radius:
        var(--dc-button-radius);

    transition:
        background-color var(--dc-transition-fast),
        border-color var(--dc-transition-fast),
        color var(--dc-transition-fast);
}


.single-product .summary .single_add_to_cart_button:hover {

    background-color:
        var(--dc-color-primary-hover) !important;

    border-color:
        var(--dc-color-primary-hover) !important;

    color:
        var(--dc-color-white) !important;
}


.single-product div.quantity {

    border-color:
        var(--dc-color-card-border) !important;

    background-color:
        var(--dc-color-white) !important;
}


.single-product div.quantity input.qty {

    color:
        var(--dc-color-title) !important;

    background-color:
        transparent !important;

    border-color:
        var(--dc-color-card-border) !important;
}


.single-product div.quantity .ct-increase,
.single-product div.quantity .ct-decrease {

    color:
        var(--dc-color-primary) !important;

    background-color:
        transparent !important;

    transition:
        color var(--dc-transition-fast),
        background-color var(--dc-transition-fast);
}


.single-product div.quantity .ct-increase:hover,
.single-product div.quantity .ct-decrease:hover {

    background-color:
        var(--dc-color-accent) !important;

    color:
        var(--dc-color-white) !important;
}


.single-product .ct-breadcrumbs a,
.single-product .woocommerce-breadcrumb a {

    color:
        var(--dc-color-primary) !important;
}

.single-product .ct-breadcrumbs a:hover,
.single-product .woocommerce-breadcrumb a:hover {

    color:
        var(--dc-color-primary-hover) !important;
}

.single-product .ct-breadcrumbs,
.single-product .woocommerce-breadcrumb {

    color:
        var(--dc-color-review) !important;
}


.single-product .ct-wishlist-button,
.single-product .ct-wishlist-button-archive,
.single-product .add-to-wishlist-button {

    color:
        var(--dc-color-primary) !important;
}

.single-product .ct-wishlist-button:hover,
.single-product .add-to-wishlist-button:hover {

    color:
        var(--dc-color-primary-hover) !important;
}


.single-product .onsale {

    background-color:
        var(--dc-color-accent) !important;

    border-color:
        var(--dc-color-accent) !important;

    color:
        var(--dc-color-white) !important;
}


.single-product a {

    --theme-link-initial-color:
        var(--dc-color-primary);

    --theme-link-hover-color:
        var(--dc-color-primary-hover);
}


.single-product input:focus,
.single-product select:focus,
.single-product textarea:focus {

    border-color:
        var(--dc-color-primary) !important;

    box-shadow:
        0 0 0 2px
        rgba(93, 73, 57, 0.12) !important;

    outline: none !important;
}


.single-product .woocommerce-tabs a,
.single-product .wc-tabs a {

    color:
        var(--dc-color-title) !important;
}

.single-product .woocommerce-tabs a:hover,
.single-product .wc-tabs a:hover {

    color:
        var(--dc-color-primary) !important;
}

.single-product .woocommerce-tabs .active a,
.single-product .wc-tabs .active a {

    color:
        var(--dc-color-primary) !important;
}


.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper {

    border-color:
        var(--dc-color-card-border) !important;
}


.single-product .safe-checkout,
.single-product .guaranteed-safe-checkout {

    border-color:
        var(--dc-color-card-border) !important;

    color:
        var(--dc-color-title) !important;
}


/* FIX (1.2.0): was #A78969, one hex digit off the real accent
   color (--dc-color-accent: #a78968). Now uses the variable so
   it can't drift out of sync again. */
.ct-product-additional-info ul li svg {
    fill: var(--dc-color-accent) !important;
}

/* FIX (1.2.0): this had no selector scope, so it forced 100px
   top padding on ANY element sitewide with a matching
   data-vertical-spacing attribute — not just on single product
   pages, where it's placed in the file and clearly intended.
   Scoped to .single-product. If you actually need this on other
   templates too, say which ones and I'll widen it deliberately
   instead of leaving it global by accident. */
.single-product [data-vertical-spacing*=top] {
    padding-top: 100px !important;
}


/* =========================================================
   14. SINGLE PRODUCT — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .product_title {

        font-size: 24px;
    }

    .single-product .summary .single_add_to_cart_button {

        min-height:
            var(--dc-button-height);
    }

    .single-product div.quantity {

        min-height:
            var(--dc-button-height);
    }
}


/* =========================================================
   DESII CHASKAA — CART PAGE
   IMPORTANT: does NOT modify WooCommerce's native layout.
   ========================================================= */


/* =========================================================
   15. CART PAGE
   ========================================================= */

.woocommerce-cart {

    background:
        var(--dc-color-white) !important;

    color:
        var(--dc-color-title);

    --dc-cart-title-size: 34px;
    --dc-cart-header-size: 11px;
    --dc-cart-product-title-size: 15px;
    --dc-cart-product-price-size: 14px;
    --dc-cart-old-price-size: 12px;
    --dc-cart-detail-size: 12px;
    --dc-cart-total-size: 14px;
    --dc-cart-summary-title-size: 17px;
    --dc-cart-summary-text-size: 13px;

    /* FIX (1.2.0): defined but previously never referenced by
       any selector, so the value-column font-size on Cart
       Totals silently fell back to inherited size. Now used in
       section 31 below. */
    --dc-cart-summary-value-size: 14px;

    --dc-cart-image-size: 100px;
}


/* =========================================================
   16. TYPOGRAPHY — CART
   ========================================================= */

.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart h3,
.woocommerce-cart .page-title,
.woocommerce-cart .entry-title {

    font-family:
        "Playfair Display",
        serif !important;
}


.woocommerce-cart,
.woocommerce-cart p,
.woocommerce-cart a,
.woocommerce-cart span,
.woocommerce-cart label,
.woocommerce-cart button,
.woocommerce-cart input,
.woocommerce-cart select,
.woocommerce-cart table,
.woocommerce-cart th,
.woocommerce-cart td {

    font-family:
        "Poppins",
        sans-serif !important;
}


/* =========================================================
   17. MAIN CART SPACING
   ========================================================= */

.woocommerce-cart .site-main {

    padding-top: 25px;
    padding-bottom: 70px;
}


/* =========================================================
   18. CART TITLE
   ========================================================= */

.woocommerce-cart .page-title,
.woocommerce-cart .entry-title {

    margin-bottom: 48px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-cart-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.2;

    text-align: center;
}


/* =========================================================
   19. CART ITEMS
   ========================================================= */

.woocommerce-cart
.wc-block-cart-items {

    margin: 0 !important;
}


.woocommerce-cart
.wc-block-cart-items__row {

    padding: 20px 20px !important;
    margin: 0 !important;
    background: transparent !important;
}


/* =========================================================
   20. CART HEADER
   ========================================================= */

.woocommerce-cart
.wc-block-cart-items__header {

    padding: 12px 0 !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-header-size) !important;

    font-weight: 600 !important;

    letter-spacing: 1px;

    text-transform: uppercase;
}


/* =========================================================
   21. CART PRODUCT IMAGE
   ========================================================= */

/* FIX (1.2.0): width/height were hardcoded to 100px instead of
   using --dc-cart-image-size, which meant the 70px mobile
   override in section 33 never actually applied. Now wired up
   so mobile sizing works. */
.woocommerce-cart
.wc-block-cart-item__image {

    width: var(--dc-cart-image-size) !important;
    min-width: var(--dc-cart-image-size) !important;
    max-width: var(--dc-cart-image-size) !important;
    height: var(--dc-cart-image-size) !important;

    border-radius:
        var(--dc-image-radius) !important;

    overflow: hidden !important;

    background: transparent !important;

    padding: 20px 16px 20px 1px !important;
}


.woocommerce-cart
.wc-block-cart-item__image img {

    display: block !important;

    width: var(--dc-cart-image-size) !important;
    height: var(--dc-cart-image-size) !important;

    max-width: 100% !important;

    object-fit: cover !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-image-radius) !important;

    background:
        var(--dc-color-card-bg) !important;

    transition:
        transform var(--dc-transition-image),
        border-color var(--dc-transition-normal);
}


.woocommerce-cart
.wc-block-cart-items__row:hover
.wc-block-cart-item__image img {

    transform: scale(1.02);

    border-color:
        var(--dc-color-accent) !important;
}


/* =========================================================
   22. CART PRODUCT NAME
   ========================================================= */

.woocommerce-cart
.wc-block-components-product-name {

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-product-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    text-decoration: none !important;

    white-space: normal !important;

    word-break: normal !important;
}


.woocommerce-cart
.wc-block-components-product-name:hover {

    color:
        var(--dc-color-primary) !important;
}


/* =========================================================
   23. CART PRODUCT PRICE
   ========================================================= */

.woocommerce-cart
.wc-block-components-product-price {

    color:
        var(--dc-color-price) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-product-price-size) !important;

    line-height: 1.4;
}


.woocommerce-cart
.wc-block-components-product-price del {

    color:
        var(--dc-color-old-price) !important;

    font-size:
        var(--dc-cart-old-price-size) !important;
}


.woocommerce-cart
.wc-block-components-product-price ins {

    color:
        var(--dc-color-price-sale) !important;

    font-weight: 600;

    text-decoration: none !important;
}


/* =========================================================
   24. CART PRODUCT DETAILS
   ========================================================= */

.woocommerce-cart
.wc-block-components-product-details {

    margin: 5px 0 8px !important;

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-detail-size) !important;

    line-height: 1.5;
}


.woocommerce-cart
.wc-block-components-product-details__name,
.woocommerce-cart
.wc-block-components-product-details__value {

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-detail-size) !important;
}


/* =========================================================
   25. QUANTITY SELECTOR — CART
   ========================================================= */

.woocommerce-cart
.wc-block-components-quantity-selector {

    background:
        var(--dc-color-white) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-button-radius) !important;

    overflow: hidden;
}


.woocommerce-cart
.wc-block-components-quantity-selector input {

    background: transparent !important;
    border: 0 !important;

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size: 13px !important;

    text-align: center;

    box-shadow: none !important;
}


.woocommerce-cart
.wc-block-components-quantity-selector button {

    background: transparent !important;
    border: 0 !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;
}


.woocommerce-cart
.wc-block-components-quantity-selector button:hover {

    background:
        var(--dc-color-accent) !important;

    color:
        var(--dc-color-white) !important;
}


/* =========================================================
   26. REMOVE ITEM — CART
   ========================================================= */

.woocommerce-cart
.wc-block-cart-item__remove-link {

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size: 12px !important;

    text-decoration: none !important;
}


.woocommerce-cart
.wc-block-cart-item__remove-link:hover {

    color:
        var(--dc-color-accent-dark) !important;
}


/* =========================================================
   27. PRODUCT TOTAL — CART
   ========================================================= */

.woocommerce-cart
.wc-block-cart-item__total {

    color:
        var(--dc-color-price) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-total-size) !important;

    font-weight: 600;
}


/* =========================================================
   28. CART TOTALS CARD
   ========================================================= */

.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block {

    background:
        var(--dc-color-card-bg) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-card-radius) !important;

    box-shadow:
        var(--dc-card-shadow);

    padding: 26px !important;

    box-sizing: border-box;
}


/* =========================================================
   29. CART TOTALS HEADING
   ========================================================= */

.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block h2 {

    margin: 0 0 20px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-cart-summary-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.3;
}


/* =========================================================
   30. COUPON — CART
   ========================================================= */

.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-coupon-form-block {

    padding: 13px 0 !important;

    border-top:
        1px solid var(--dc-color-card-border) !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;
}


.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-coupon-form-block button {

    background: transparent !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-summary-text-size) !important;
}


/* =========================================================
   31. TOTAL ROW — CART
   ========================================================= */

.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-totals-footer-item {

    padding: 16px 0 !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;

    background: transparent !important;
}


.woocommerce-cart
.wc-block-components-totals-item__label {

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-summary-text-size) !important;
}


/* FIX (1.2.0): --dc-cart-summary-value-size is now defined
   above in the .woocommerce-cart variable block, so this
   font-size actually applies. */
.woocommerce-cart
.wc-block-components-totals-item__value {

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-cart-summary-value-size) !important;

    font-weight: 600;
}


.woocommerce-cart
.wc-block-formatted-money-amount {

    font-family:
        "Poppins",
        sans-serif !important;
}


/* =========================================================
   32. CHECKOUT BUTTON — CART PAGE
   ========================================================= */

.woocommerce-cart
.wc-block-cart__submit-container {

    margin-top: 16px !important;
    padding: 0 !important;
}


.woocommerce-cart
.wc-block-cart__submit-container
.wc-block-components-button {

    width: 100% !important;
    min-height: 46px !important;

    background:
        var(--dc-color-primary) !important;

    border:
        1px solid var(--dc-color-primary) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-white) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    letter-spacing: .8px;

    text-transform: uppercase;

    transition:
        background-color var(--dc-transition-fast),
        transform var(--dc-transition-fast),
        box-shadow var(--dc-transition-fast);
}


.woocommerce-cart
.wc-block-cart__submit-container
.wc-block-components-button:hover {

    background:
        var(--dc-color-primary-hover) !important;

    border-color:
        var(--dc-color-primary-hover) !important;

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px rgba(93, 73, 57, .16);
}


/* =========================================================
   33. CART — MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .woocommerce-cart {
        --dc-cart-title-size: 28px;
        --dc-cart-product-title-size: 14px;

        /* FIX (1.2.0): now actually applies — see section 21 */
        --dc-cart-image-size: 70px;
    }

    .woocommerce-cart .site-main {
        padding-top: 20px;
        padding-bottom: 45px;
    }

    .woocommerce-cart .page-title,
    .woocommerce-cart .entry-title {
        margin-bottom: 32px !important;
    }

    .woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block {
        margin-top: 25px !important;
        padding: 20px !important;
    }
    
    .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
        display: none;
    }
}


/* =========================================================
   DESII CHASKAA — CHECKOUT PAGE
   Matches the Cart Page section above.
   IMPORTANT: does NOT modify WooCommerce's native layout.
   ========================================================= */


/* =========================================================
   34. CHECKOUT PAGE
   ========================================================= */

.woocommerce-checkout {

    background:
        var(--dc-color-white) !important;

    color:
        var(--dc-color-title);

    --dc-checkout-title-size: 34px;
    --dc-checkout-step-title-size: 18px;
    --dc-checkout-label-size: 12px;
    --dc-checkout-input-size: 14px;
    --dc-checkout-summary-title-size: 17px;
    --dc-checkout-summary-text-size: 13px;
    --dc-checkout-product-title-size: 14px;
    --dc-checkout-detail-size: 12px;
    --dc-checkout-image-size: 64px;
}


/* =========================================================
   35. TYPOGRAPHY — CHECKOUT
   ========================================================= */

.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-checkout .page-title,
.woocommerce-checkout .entry-title {

    font-family:
        "Playfair Display",
        serif !important;
}


.woocommerce-checkout,
.woocommerce-checkout p,
.woocommerce-checkout a,
.woocommerce-checkout span,
.woocommerce-checkout label,
.woocommerce-checkout button,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout table,
.woocommerce-checkout th,
.woocommerce-checkout td {

    font-family:
        "Poppins",
        sans-serif !important;
}


/* =========================================================
   36. MAIN SPACING — CHECKOUT
   ========================================================= */

.woocommerce-checkout .site-main {

    padding-top: 25px;
    padding-bottom: 70px;
}


/* =========================================================
   37. CHECKOUT TITLE
   ========================================================= */

.woocommerce-checkout .page-title,
.woocommerce-checkout .entry-title {

    margin-bottom: 48px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-checkout-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.2;

    text-align: center;
}


/* =========================================================
   38. STEP HEADINGS
   (Contact information / Billing address / Payment options)
   ========================================================= */

.woocommerce-checkout
.wc-block-components-checkout-step__title {

    margin: 0 0 4px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-checkout-step-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.3;
}


.woocommerce-checkout
.wc-block-components-checkout-step__description {

    margin: 0 0 10px !important;

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-detail-size) !important;
}


.woocommerce-checkout
.wc-block-components-checkout-step {

    margin-bottom: 28px !important;
}


.woocommerce-checkout
.wc-block-components-checkout-step__content,
.woocommerce-checkout
.wc-block-components-checkout-step__container {

    margin-top: 14px !important;
    padding: 0 !important;
}


.woocommerce-checkout
.wc-block-components-address-form,
.woocommerce-checkout
.wc-block-checkout__contact-fields,
.woocommerce-checkout
.wc-block-checkout__billing-fields {

    margin: 0 !important;
}


.woocommerce-checkout
.wc-block-components-address-form__address_1,
.woocommerce-checkout
.wc-block-components-address-form__address_2 {

    margin-bottom: 14px !important;
}


/* =========================================================
   39. FORM INPUTS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-text-input,
.woocommerce-checkout
.wc-block-components-address-form input,
.woocommerce-checkout
.wc-block-components-country-input input,
.woocommerce-checkout
.wc-block-components-state-input input {

    position: relative !important;
}

.woocommerce-checkout
.wc-block-components-text-input {

    margin-top: 4px !important;
    margin-bottom: 14px !important;
}


.woocommerce-checkout
.wc-block-components-text-input input,
.woocommerce-checkout
.wc-block-components-address-form input,
.woocommerce-checkout
.wc-block-components-country-input input,
.woocommerce-checkout
.wc-block-components-state-input input {

    background:
        var(--dc-color-white) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-input-size) !important;

    padding: 18px 16px 8px !important;

    box-shadow: none !important;

    transition:
        border-color var(--dc-transition-fast);
}


.woocommerce-checkout
.wc-block-components-text-input input:focus,
.woocommerce-checkout
.wc-block-components-address-form input:focus {

    border-color:
        var(--dc-color-primary) !important;

    box-shadow:
        0 0 0 2px rgba(93, 73, 57, 0.12) !important;

    outline: none !important;

    padding-top: 20px !important;
    padding-bottom: 6px !important;
}


.woocommerce-checkout
.wc-block-components-text-input input:not(:placeholder-shown) {

    padding-top: 20px !important;
    padding-bottom: 6px !important;
}


/* =========================================================
   40. FORM LABELS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-text-input label {

    position: absolute !important;

    left: 16px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-input-size) !important;

    line-height: 1 !important;

    pointer-events: none;

    transition: all .12s ease !important;
}


.woocommerce-checkout
.wc-block-components-address-form label {

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-label-size) !important;
}


.woocommerce-checkout
.wc-block-components-text-input.is-active label,

.woocommerce-checkout
.wc-block-components-text-input input:focus ~ label,

.woocommerce-checkout
.wc-block-components-text-input input:not(:placeholder-shown) ~ label {

    top: 9px !important;

    transform: translateY(0) scale(0.78) !important;
    transform-origin: left top;

    color:
        var(--dc-color-primary) !important;
}


/* =========================================================
   41. COUNTRY / STATE DROPDOWNS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-country-input .components-combobox-control__input,
.woocommerce-checkout
.wc-block-components-state-input .components-combobox-control__input {

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;
}


/* =========================================================
   42. PAYMENT METHODS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-radio-control-accordion-option,
.woocommerce-checkout
.wc-block-components-payment-method-label {

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-summary-text-size) !important;
}


.woocommerce-checkout
.wc-block-components-radio-control-accordion-option.is-active,
.woocommerce-checkout
.wc-block-components-radio-control-accordion-option:hover {

    border-color:
        var(--dc-color-accent) !important;
}


/* =========================================================
   43. NOTICES
   (e.g. "no payment methods available")
   ========================================================= */

.woocommerce-checkout
.wc-block-components-notice-banner {

    border-radius:
        var(--dc-button-radius) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-summary-text-size) !important;
}


/* =========================================================
   44. ORDER SUMMARY CARD
   ========================================================= */

.woocommerce-checkout
.wp-block-woocommerce-checkout-order-summary-block {

    background:
        var(--dc-color-card-bg) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-card-radius) !important;

    box-shadow:
        var(--dc-card-shadow);

    padding: 26px !important;

    box-sizing: border-box;
}


.woocommerce-checkout
.wp-block-woocommerce-checkout-order-summary-block h2 {

    margin: 0 0 20px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-checkout-summary-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.3;
}


/* =========================================================
   45. ORDER SUMMARY ITEMS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-order-summary-item {

    padding: 14px 0 !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;
}

.woocommerce-checkout
.wc-block-components-order-summary-item:first-child {

    padding-top: 0 !important;
}

.woocommerce-checkout
.wc-block-components-order-summary-item:last-child {

    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* FIX (1.2.0): max-width was hardcoded to 100px instead of
   using --dc-checkout-image-size (64px), which was defined but
   never referenced anywhere. Now wired up. */
.woocommerce-checkout
.wc-block-components-order-summary-item__image {

    max-width: var(--dc-checkout-image-size) !important;

    border-radius:
        var(--dc-image-radius) !important;

    overflow: hidden !important;
}


.woocommerce-checkout
.wc-block-components-order-summary-item__image img {

    width: 100%;
    height: 100%;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-image-radius) !important;

    object-fit: cover !important;
}


.woocommerce-checkout
.wc-block-components-order-summary-item__quantity {

    background:
        var(--dc-color-primary) !important;

    color:
        var(--dc-color-white) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-weight: 600;
}


.woocommerce-checkout
.wc-block-components-order-summary-item__description {

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-product-title-size) !important;

    font-weight: 500;
}


.woocommerce-checkout
.wc-block-components-order-summary-item__individual-prices,
.woocommerce-checkout
.wc-block-components-product-details {

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-detail-size) !important;
}


.woocommerce-checkout
.wc-block-components-sale-badge {

    background:
        var(--dc-color-accent) !important;

    color:
        var(--dc-color-white) !important;

    border-radius:
        var(--dc-sale-radius) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 600;
}


/* =========================================================
   46. COUPON — CHECKOUT
   ========================================================= */

.woocommerce-checkout
.wc-block-components-panel {

    margin: 0 !important;
    padding: 14px 0 !important;

    border-top: none !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;
}


.woocommerce-checkout
.wc-block-components-panel__button {

    background: transparent !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-summary-text-size) !important;
}


/* =========================================================
   47. TOTALS ROWS
   (Subtotal / Total)
   ========================================================= */

.woocommerce-checkout
.wc-block-components-totals-wrapper {

    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}


.woocommerce-checkout
.wc-block-components-totals-item {

    margin: 0 !important;
    padding: 14px 0 !important;

    border-top: none !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;

    background: transparent !important;
}


.woocommerce-checkout
.wc-block-components-totals-item.wc-block-components-totals-footer-item:last-child {

    border-bottom: none !important;
    padding-bottom: 0 !important;
}


.woocommerce-checkout
.wc-block-components-totals-item__label {

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-summary-text-size) !important;
}


/* FIX (1.2.0): had no explicit font-size (Cart's equivalent
   does, now that its variable bug is fixed above), so the two
   pages could render totals at different sizes depending on
   inherited defaults. Matched to Cart. */
.woocommerce-checkout
.wc-block-components-totals-item__value {

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-summary-text-size) !important;

    font-weight: 600;
}


.woocommerce-checkout
.wc-block-formatted-money-amount,
.woocommerce-checkout
.wc-block-components-formatted-money-amount {

    font-family:
        "Poppins",
        sans-serif !important;
}


.woocommerce-checkout
.wc-block-components-totals-item.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {

    font-size: 16px !important;
    font-weight: 700;
}


/* =========================================================
   48. PLACE ORDER BUTTON
   ========================================================= */

.woocommerce-checkout
.wc-block-components-checkout-place-order-button,
.woocommerce-checkout
#place_order {

    width: 100% !important;
    min-height: 46px !important;

    background:
        var(--dc-color-primary) !important;

    border:
        1px solid var(--dc-color-primary) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-white) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    letter-spacing: .8px;

    text-transform: uppercase;

    transition:
        background-color var(--dc-transition-fast),
        transform var(--dc-transition-fast),
        box-shadow var(--dc-transition-fast);
}


.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout
#place_order:hover {

    background:
        var(--dc-color-primary-hover) !important;

    border-color:
        var(--dc-color-primary-hover) !important;

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px rgba(93, 73, 57, .16);
}


/* =========================================================
   49. TERMS TEXT
   ========================================================= */

.woocommerce-checkout
.wc-block-checkout__terms,
.woocommerce-checkout
.woocommerce-terms-and-conditions-wrapper {

    color:
        var(--dc-color-review) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-checkout-detail-size) !important;
}


.woocommerce-checkout
.wc-block-checkout__terms a {

    color:
        var(--dc-color-primary) !important;

    text-decoration: underline;
}


/* =========================================================
   50. CHECKOUT — MOBILE (sizing)
   ========================================================= */

@media (max-width: 767px) {

    .woocommerce-checkout {
        --dc-checkout-title-size: 28px;
        --dc-checkout-step-title-size: 16px;
    }

    .woocommerce-checkout .site-main {
        padding-top: 20px;
        padding-bottom: 45px;
    }

    .woocommerce-checkout .page-title,
    .woocommerce-checkout .entry-title {
        margin-bottom: 32px !important;
    }

    .woocommerce-checkout
    .wp-block-woocommerce-checkout-order-summary-block {
        margin-top: 25px !important;
        padding: 20px !important;
    }
}


/* =========================================================
   DESII CHASKAA — CART + CHECKOUT MOBILE LAYOUT FIXES
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       51. COLLAPSE THE RESERVED SIDEBAR HEIGHT
       ----------------------------------------------------- */

    .woocommerce-cart
    .wc-block-components-sidebar-layout,

    .woocommerce-checkout
    .wc-block-components-sidebar-layout {

        display: block !important;
    }

    .woocommerce-cart
    .wc-block-cart__sidebar,

    .woocommerce-cart
    .wc-block-cart__main,

    .woocommerce-checkout
    .wc-block-checkout__sidebar,

    .woocommerce-checkout
    .wc-block-checkout__main {

        position: static !important;
        top: auto !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .woocommerce-cart
    .wp-block-woocommerce-cart,

    .woocommerce-checkout
    .wp-block-woocommerce-checkout {

        display: block !important;

        height: auto !important;
        min-height: 0 !important;
    }


    /* -----------------------------------------------------
       52. RESET PAGE WRAPPER HEIGHT
       ----------------------------------------------------- */

    .woocommerce-cart .site-main,
    .woocommerce-checkout .site-main,

    .woocommerce-cart .content-area,
    .woocommerce-checkout .content-area {

        height: auto !important;
        min-height: 0 !important;

        padding-bottom: 32px !important;
    }


    /* -----------------------------------------------------
       53. TIGHTEN VERTICAL RHYTHM
       ----------------------------------------------------- */

    .woocommerce-cart .page-title,
    .woocommerce-checkout .page-title,
    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title {

        margin-bottom: 24px !important;
    }

    .woocommerce-checkout
    .wc-block-components-checkout-step {

        margin-bottom: 20px !important;
    }

    .woocommerce-cart
    .wp-block-woocommerce-cart-order-summary-block,

    .woocommerce-checkout
    .wp-block-woocommerce-checkout-order-summary-block {

        margin-top: 18px !important;
        margin-bottom: 18px !important;

        padding: 18px !important;
    }


    /* -----------------------------------------------------
       54. PAYMENT NOTICE — icon overlapping text
       ----------------------------------------------------- */

    .woocommerce-checkout
    .wc-block-components-notice-banner {

        display: flex !important;
        align-items: flex-start !important;

        gap: 8px !important;
        padding: 12px 14px !important;

        position: relative !important;
    }

    .woocommerce-checkout
    .wc-block-components-notice-banner svg {

        position: static !important;
        flex-shrink: 0 !important;

        margin-top: 2px !important;
    }

    .woocommerce-checkout
    .wc-block-components-notice-banner__content {

        flex: 1 1 auto !important;

        white-space: normal !important;
        word-break: break-word !important;

        font-size: 12.5px !important;
        line-height: 1.5 !important;
    }

    /* -----------------------------------------------------
       COLLAPSE STICKY-FOOTER STRETCH ON CART & CHECKOUT
       ----------------------------------------------------- */

    body.woocommerce-cart #main-container,
    body.woocommerce-checkout #main-container {
        min-height: unset !important;
    }
    
    body.woocommerce-cart #main-container .site-main,
    body.woocommerce-checkout #main-container .site-main {
        flex-grow: 0 !important;
    }
}


/* =========================================================
   DESII CHASKAA — MY ACCOUNT PAGE
   ========================================================= */


/* =========================================================
   55. MY ACCOUNT — LOCAL SIZE VARIABLES
   ========================================================= */

.woocommerce-account {

    --dc-account-title-size: 34px;

    --dc-account-nav-size: 13px;
    --dc-account-nav-icon-size: 18px;

    --dc-account-heading-size: 17px;
    --dc-account-text-size: 14px;

    --dc-account-table-header-size: 11px;
    --dc-account-table-cell-size: 13px;
}


/* =========================================================
   56. TYPOGRAPHY
   ========================================================= */

.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-account .page-title,
.woocommerce-account .entry-title {

    font-family:
        "Playfair Display",
        serif !important;
}


.woocommerce-account,
.woocommerce-account p,
.woocommerce-account a,
.woocommerce-account span,
.woocommerce-account label,
.woocommerce-account button,
.woocommerce-account input,
.woocommerce-account select,
.woocommerce-account textarea,
.woocommerce-account table,
.woocommerce-account th,
.woocommerce-account td {

    font-family:
        "Poppins",
        sans-serif !important;
}


/* =========================================================
   57. MAIN SPACING
   ========================================================= */

.woocommerce-account .site-main {

    padding-top: 25px;
    padding-bottom: 70px;
}


/* =========================================================
   58. PAGE TITLE
   ========================================================= */

.woocommerce-account .page-title,
.woocommerce-account .entry-title {

    margin-bottom: 48px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-account-title-size) !important;

    font-weight: 500 !important;

    line-height: 1.2;

    text-align: center;
}


/* =========================================================
   59. NAVIGATION SIDEBAR
   ========================================================= */

.woocommerce-account
.woocommerce-MyAccount-navigation {

    background:
        var(--dc-color-card-bg) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-card-radius) !important;

    box-shadow:
        var(--dc-card-shadow);

    padding: 14px !important;

    box-sizing: border-box;
}


.woocommerce-account
.woocommerce-MyAccount-navigation ul {

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.woocommerce-account
.woocommerce-MyAccount-navigation-link {

    margin-bottom: 4px !important;
}

.woocommerce-account
.woocommerce-MyAccount-navigation-link:last-child {

    margin-bottom: 0 !important;
}


.woocommerce-account
.woocommerce-MyAccount-navigation-link a {

    display: flex !important;

    align-items: center;

    gap: 10px;

    padding: 11px 14px !important;

    border-radius:
        var(--dc-button-radius) !important;

    background: transparent !important;

    color:
        var(--dc-color-title) !important;

    font-family:
        "Poppins",
        sans-serif !important;

    font-size:
        var(--dc-account-nav-size) !important;

    font-weight: 500;

    text-decoration: none !important;

    transition:
        background-color var(--dc-transition-fast),
        color var(--dc-transition-fast);
}


/* FIX (1.2.0): previously one rule applied `fill` and
   width/height to BOTH svg and i elements. `fill` is a no-op
   on a non-SVG element, and icon fonts size via font-size, not
   width/height — so the rule silently did nothing for icon-font
   markup. Split into two correct, element-appropriate rules. */
.woocommerce-account
.woocommerce-MyAccount-navigation-link a svg {

    width: var(--dc-account-nav-icon-size);
    height: var(--dc-account-nav-icon-size);

    fill: currentColor;
}

.woocommerce-account
.woocommerce-MyAccount-navigation-link a i {

    font-size: var(--dc-account-nav-icon-size);

    color: currentColor;
}


.woocommerce-account
.woocommerce-MyAccount-navigation-link a:hover {

    background:
        var(--dc-color-white) !important;

    color:
        var(--dc-color-primary) !important;
}


.woocommerce-account
.woocommerce-MyAccount-navigation-link.is-active a {

    background:
        var(--dc-color-primary) !important;

    color:
        var(--dc-color-white) !important;
}


.woocommerce-account
.woocommerce-MyAccount-navigation-link--customer-logout a {

    color:
        var(--dc-color-accent-dark) !important;
}

.woocommerce-account
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {

    background:
        var(--dc-color-accent-dark) !important;

    color:
        var(--dc-color-white) !important;
}


/* =========================================================
   60. CONTENT AREA
   ========================================================= */

.woocommerce-account
.woocommerce-MyAccount-content {

    color:
        var(--dc-color-title);

    font-size:
        var(--dc-account-text-size);

    line-height: 1.6;
}


.woocommerce-account
.woocommerce-MyAccount-content h2,
.woocommerce-account
.woocommerce-MyAccount-content h3 {

    margin: 0 0 18px !important;

    color:
        var(--dc-color-primary) !important;

    font-family:
        "Playfair Display",
        serif !important;

    font-size:
        var(--dc-account-heading-size) !important;

    font-weight: 500 !important;
}


.woocommerce-account
.woocommerce-MyAccount-content p {

    color:
        var(--dc-color-review) !important;
}


.woocommerce-account
.woocommerce-MyAccount-content strong {

    color:
        var(--dc-color-title) !important;
}


.woocommerce-account
.woocommerce-MyAccount-content a {

    color:
        var(--dc-color-primary) !important;

    text-decoration: underline;

    transition: color var(--dc-transition-fast);
}

.woocommerce-account
.woocommerce-MyAccount-content a:hover {

    color:
        var(--dc-color-primary-hover) !important;
}


/* =========================================================
   61. ORDERS / DOWNLOADS TABLES
   ========================================================= */

.woocommerce-account
table.woocommerce-orders-table,
.woocommerce-account
table.woocommerce-MyAccount-downloads {

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-card-radius) !important;

    overflow: hidden;

    border-collapse: separate !important;
    border-spacing: 0 !important;
}


.woocommerce-account
.woocommerce-orders-table__header th,
.woocommerce-account
table.woocommerce-MyAccount-downloads thead th {

    padding: 14px 16px !important;

    background:
        var(--dc-color-card-bg) !important;

    color:
        var(--dc-color-primary) !important;

    font-size:
        var(--dc-account-table-header-size) !important;

    font-weight: 600 !important;

    letter-spacing: 1px;

    text-transform: uppercase;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;
}


.woocommerce-account
.woocommerce-orders-table__row td,
.woocommerce-account
table.woocommerce-MyAccount-downloads tbody td {

    padding: 14px 16px !important;

    color:
        var(--dc-color-title) !important;

    font-size:
        var(--dc-account-table-cell-size) !important;

    border-bottom:
        1px solid var(--dc-color-card-border) !important;
}


.woocommerce-account
.woocommerce-orders-table__row:last-child td {

    border-bottom: none !important;
}


.woocommerce-account
.woocommerce-orders-table__cell-order-status {

    color:
        var(--dc-color-category) !important;

    font-weight: 600;
    text-transform: capitalize;
}


.woocommerce-account
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account
.woocommerce-MyAccount-downloads-file .button {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 9px 16px !important;

    background: transparent !important;

    border:
        1px solid var(--dc-color-primary) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-primary) !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    letter-spacing: .8px;

    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        background-color var(--dc-transition-fast),
        color var(--dc-transition-fast);
}


.woocommerce-account
.woocommerce-orders-table__cell-order-actions .button:hover,
.woocommerce-account
.woocommerce-MyAccount-downloads-file .button:hover {

    background:
        var(--dc-color-primary) !important;

    color:
        var(--dc-color-white) !important;
}


/* =========================================================
   62. ADDRESS BOOK CARDS
   ========================================================= */

.woocommerce-account
.woocommerce-Addresses {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}


.woocommerce-account
.woocommerce-Address {

    background:
        var(--dc-color-card-bg) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-card-radius) !important;

    box-shadow:
        var(--dc-card-shadow);

    padding: 22px !important;

    box-sizing: border-box;
}


.woocommerce-account
.woocommerce-Address-title {

    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 12px !important;
}


.woocommerce-account
.woocommerce-Address-title h3 {

    margin: 0 !important;
}


.woocommerce-account
.woocommerce-Address-title a {

    color:
        var(--dc-color-primary) !important;

    font-size: 13px;

    text-decoration: underline;
}


.woocommerce-account
.woocommerce-Address address {

    color:
        var(--dc-color-review) !important;

    font-style: normal;

    line-height: 1.7;
}


/* =========================================================
   63. FORMS — ACCOUNT DETAILS / EDIT ADDRESS / LOGIN / REGISTER
   ========================================================= */

.woocommerce-account form .form-row label,
.woocommerce-account form label {

    display: block;

    margin-bottom: 6px !important;

    color:
        var(--dc-color-review) !important;

    font-size: 12px !important;

    font-weight: 500;
}


.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select,
.woocommerce-account form textarea {

    width: 100% !important;

    padding: 12px 14px !important;

    background:
        var(--dc-color-white) !important;

    border:
        1px solid var(--dc-color-card-border) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-title) !important;

    font-size: 14px !important;

    box-shadow: none !important;

    box-sizing: border-box;

    transition:
        border-color var(--dc-transition-fast);
}


.woocommerce-account form .input-text:focus,
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {

    border-color:
        var(--dc-color-primary) !important;

    box-shadow:
        0 0 0 2px rgba(93, 73, 57, 0.12) !important;

    outline: none !important;
}


.woocommerce-account form .form-row {

    margin-bottom: 16px !important;
}


.woocommerce-account form .woocommerce-form-row--wide,
.woocommerce-account form p.form-row {

    margin-bottom: 16px !important;
}


.woocommerce-account
.woocommerce-form-login__rememberme {

    color:
        var(--dc-color-review) !important;

    font-size: 13px;
}


.woocommerce-account
.woocommerce-form-login__rememberme input[type="checkbox"] {

    width: auto !important;

    accent-color:
        var(--dc-color-primary);
}


.woocommerce-account
.woocommerce-LostPassword a,
.woocommerce-account
.lost_password a {

    color:
        var(--dc-color-primary) !important;
}


/* =========================================================
   64. BUTTONS — SAVE / UPDATE / LOGIN / REGISTER
   ========================================================= */

.woocommerce-account form button.button,
.woocommerce-account form input.button,
.woocommerce-account a.button.wc-forward {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px !important;

    padding: 10px 24px !important;

    background:
        var(--dc-color-primary) !important;

    border:
        1px solid var(--dc-color-primary) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-white) !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    letter-spacing: .8px;

    text-transform: uppercase;

    text-decoration: none !important;

    cursor: pointer;

    transition:
        background-color var(--dc-transition-fast),
        transform var(--dc-transition-fast),
        box-shadow var(--dc-transition-fast);
}


.woocommerce-account form button.button:hover,
.woocommerce-account form input.button:hover,
.woocommerce-account a.button.wc-forward:hover {

    background:
        var(--dc-color-primary-hover) !important;

    border-color:
        var(--dc-color-primary-hover) !important;

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px rgba(93, 73, 57, .16);
}


/* =========================================================
   65. NOTICES (address saved, error messages, etc.)
   ========================================================= */

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {

    border-top-color:
        var(--dc-color-primary) !important;

    border-radius:
        var(--dc-button-radius) !important;

    color:
        var(--dc-color-title) !important;

    font-size: 13px !important;
}


.woocommerce-account .woocommerce-message::before {

    color:
        var(--dc-color-primary) !important;
}


/* =========================================================
   66. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .woocommerce-account {
        --dc-account-title-size: 28px;
    }

    .woocommerce-account .site-main {
        padding-top: 20px;
        padding-bottom: 45px;
    }

    .woocommerce-account .page-title,
    .woocommerce-account .entry-title {
        margin-bottom: 28px !important;
    }

    .woocommerce-account
    .woocommerce-MyAccount-navigation {
        margin-bottom: 20px !important;
    }

    .woocommerce-account
    .woocommerce-MyAccount-navigation-link a {
        padding: 12px 14px !important;
    }

    .woocommerce-account
    .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    .woocommerce-account
    table.woocommerce-orders-table thead {
        display: none;
    }

    .woocommerce-account
    .woocommerce-orders-table__row {
        display: block !important;

        border-bottom:
            1px solid var(--dc-color-card-border) !important;
    }

    .woocommerce-account
    .woocommerce-orders-table__row td {
        display: flex !important;

        justify-content: space-between;

        border-bottom: none !important;
    }
}

/*=======================================================
        For remove extra margins 
  ======================================================= */
  
/* =========================================================
   DESII CHASKAA — GLOBAL HEADING SPACING RESET
   Remove unwanted default/theme spacing from H1–H6
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}


/* WordPress / Blocksy layout spacing
   can add margin to every element after the first child.
   Prevent that spacing from being applied to headings. */

.is-layout-flow > h1,
.is-layout-flow > h2,
.is-layout-flow > h3,
.is-layout-flow > h4,
.is-layout-flow > h5,
.is-layout-flow > h6 {

    margin-block-start: 0 !important;
}


/* Also cover headings nested inside common WordPress blocks */

.wp-block-group h1,
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-group h5,
.wp-block-group h6,

.wp-block-columns h1,
.wp-block-columns h2,
.wp-block-columns h3,
.wp-block-columns h4,
.wp-block-columns h5,
.wp-block-columns h6 {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* =========================================================
   DESII CHASKAA
   FIX ACTUAL ROOT CAUSE — Elementor Text Editor widget has
   an explicit height (~3907px) set directly on the widget
   itself (not the container, which was already confirmed
   min-height: none). Confirmed via direct DevTools inspection
   of the exact element covering the blank space.
   ========================================================= */
@media (max-width: 767px){
    .woocommerce-checkout .elementor-element-1cff43f9 {
        height: auto !important;
        min-height: auto !important;
    }
    .woocommerce-cart .elementor-element-2e562619 {
        height: auto !important;
        min-height: auto !important;
    }
}

/*==========================================================
    Cart and checkout extra white space issue solve
  ==========================================================*/

@media (max-width: 767px){
    .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart{
        container-type: normal !important;
    }
    .wc-block-components-sidebar-layout .wc-block-components-main{
        width: 100% !important;
        padding: 0px !important;
    }
    .woocommerce-cart .wc-block-cart__sidebar, .woocommerce-cart .wc-block-cart__main, .woocommerce-checkout .wc-block-checkout__sidebar, .woocommerce-checkout .wc-block-checkout__main{
        width: 100%;
        padding: 0px !important;
    }
    .is-medium table.wc-block-cart-items td, .is-mobile table.wc-block-cart-items td, .is-small table.wc-block-cart-items td{
        padding: 0px !important;
    }
}