.elementor-13 .elementor-element.elementor-element-5311c8cc{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS for container, class: .elementor-element-5311c8cc *//* ================================================================
   FREEDOM MART - MASTER CSS (FINAL, COMPLETE)
   Delete EVERYTHING currently in Additional CSS and paste this
   whole file instead. Do not replace this with smaller snippets
   again - if something new needs fixing, ADD to this file, don't
   replace the whole box.
   ================================================================ */

/* ---------- 1. Sale badges (site-wide, classic + Blocks) ---------- */
span.onsale,
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .onsale,
.woocommerce-cart span.onsale,
.wc-block-grid__product-onsale,
.wc-block-components-sale-badge {
    background-color: #ffb900 !important;
    background: #ffb900 !important;
    color: #0d0d1a !important;
    border: none !important;
    font-weight: 700 !important;
}

/* ---------- 2. WooPay express checkout button (everywhere) ---------- */
#wcpay-woopay-button a.woopay-express-button,
#wcpay-woopay-button a.woopay-express-button[data-theme="dark"],
#wcpay-woopay-button .woopay-express-button,
.wcpay-express-checkout-wrapper a.woopay-express-button,
.woopay-express-button {
    background-color: #0d0d1a !important;
    background: #0d0d1a !important;
    border-color: #0d0d1a !important;
    color: #ffb900 !important;
    border-radius: 8px !important;
}
#wcpay-woopay-button a.woopay-express-button:hover,
.wcpay-express-checkout-wrapper a.woopay-express-button:hover {
    background-color: #1a1a2e !important;
    background: #1a1a2e !important;
}

/* ---------- 3. Description / Reviews tabs (single product page) ---------- */
.woocommerce div.product .woocommerce-tabs {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px 35px;
    box-shadow: 0 2px 20px rgba(0,0,0,0.06);
    margin-top: 10px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #eee;
    padding-left: 0;
    margin-bottom: 20px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: none !important;
    margin-right: 25px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #999 !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    padding: 8px 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: #0d0d1a !important;
    border-bottom: 2px solid #ffb900 !important;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    color: #0d0d1a;
    font-size: 20px;
}

/* ---------- 4. Related products (single product page bottom) ---------- */
.related.products a.button,
.related.products a.add_to_cart_button {
    background-color: #ffb900 !important;
    color: #0d0d1a !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
}
.related.products a.button:hover {
    background-color: #ffd700 !important;
}

/* ---------- 5. Single product gallery sizing ---------- */
.woocommerce div.product .woocommerce-product-gallery {
    max-width: 420px !important;
    width: 100% !important;
}
.woocommerce div.product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}
.woocommerce div.product .flex-control-thumbs {
    max-width: 420px !important;
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}
.woocommerce div.product .flex-control-thumbs li {
    width: auto !important;
    flex: 1 1 22% !important;
}
.woocommerce div.product .flex-control-thumbs img {
    width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
}

/* ---------- 6. Header cart icon (native Elementor Menu Cart widget) ---------- */
.elementor-menu-cart__toggle_icon_wrapper svg,
.elementor-menu-cart__toggle_icon_wrapper i {
    color: #0d0d1a;
}
.elementor-menu-cart__toggle_counter {
    background-color: #ffb900 !important;
    color: #0d0d1a !important;
    font-weight: 700 !important;
}

/* ---------- 7. Cart page: product titles ---------- */
.woocommerce-cart a,
.woocommerce-cart .cross-sells a,
.woocommerce-cart .product-name a,
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a {
    color: #0d0d1a !important;
}
.woocommerce-cart a:hover,
.wc-block-cart-item__product-name a:hover {
    color: #b9860a !important;
}

/* ---------- 8. Cart page: "New in store" product grid (Blocks) ---------- */
.wc-block-grid__product {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}
.wc-block-grid__product-title,
.wc-block-grid__product-price,
.wc-block-grid__product-rating {
    flex-grow: 0;
}
.wc-block-grid__product-add-to-cart {
    margin-top: auto !important;
    padding-top: 12px;
}
.wc-block-grid__product-link {
    color: #0d0d1a !important;
    font-weight: 600 !important;
}
.wc-block-grid__product-link:hover {
    color: #b9860a !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link,
a.wp-block-button__link.add_to_cart_button,
.woocommerce-cart .products a.button,
.woocommerce-cart ul.products li.product .button {
    background-color: #ffb900 !important;
    color: #0d0d1a !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 13px !important;
    text-align: center !important;
    width: 100%;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce-cart .products a.button:hover {
    background-color: #ffd700 !important;
}

/* ---------- 9. Cart totals / Checkout button ---------- */
.wc-block-cart__submit-container a,
.wc-block-components-checkout-place-order-button,
.woocommerce-cart .checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a {
    background-color: #0d0d1a !important;
    color: #ffb900 !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart a.checkout-button:hover {
    background-color: #1a1a2e !important;
}
/* Match "New in store" buttons exactly to homepage style */
.wc-block-grid__product-add-to-cart .wp-block-button__link,
a.wp-block-button__link.add_to_cart_button,
.woocommerce-cart .products a.button,
.woocommerce-cart ul.products li.product .button {
    border-radius: 8px !important;
    padding: 12px 20px !important;
    font-weight: 700 !important;
}

/* ============================================
   MOBILE FIX - Cart page "New in store" grid
   ============================================ */
@media (max-width: 768px) {
    .wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .wc-block-grid__product {
        max-width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    .wc-block-grid__product-image,
    .wc-block-grid__product-image img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
    .wc-block-grid__product-title {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
    .wc-block-grid__product-onsale {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        right: auto !important;
    }

    /* Prevent any oversized element from causing horizontal scroll */
    .woocommerce-cart,
    .woocommerce-cart * {
        max-width: 100vw;
        overflow-x: hidden;
    }

    /* Give page content breathing room from screen edges */
    .woocommerce-cart h1,
    .woocommerce-cart .wc-block-cart,
    .woocommerce-cart .wp-block-woocommerce-cart {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box;
    }
}

/* ============================================
   MOBILE FIX v2 - Global horizontal overflow guard
   (catches overflow caused by elements outside
   .woocommerce-cart, e.g. Elementor sections/widgets
   used for the "New in store" grid)
   ============================================ */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
    * {
        box-sizing: border-box !important;
    }
    .elementor,
    .elementor-section,
    .elementor-container,
    .elementor-widget-wrap,
    .elementor-element {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    /* Long product titles should wrap, not push width out */
    .wc-block-grid__product-title,
    .woocommerce-cart .product-name a,
    .elementor-widget-text-editor,
    .elementor-widget-heading .elementor-heading-title,
    a {
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }
}

/* ============================================
   MOBILE FIX v3 - Kill alignwide/alignfull breakout
   The WooCommerce Cart block ships with an
   "alignwide" class, which uses a negative-margin
   trick (margin-left: calc(50% - 50vw)) to break
   out of its container width. Inside Elementor's
   nested containers on mobile this pushes the whole
   block sideways and causes horizontal scroll -
   this is what cuts off the left edge of the
   product titles/prices.
   ============================================ */
@media (max-width: 768px) {
    .wp-block-woocommerce-cart.alignwide,
    .wp-block-woocommerce-cart.alignfull,
    .alignwide,
    .alignfull {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}/* End custom CSS */