body .elementor-element.heroBannerCommon {
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.newsletter-form .elementor-form-fields-wrapper {
    justify-content: space-between;
}

.newsletter-form .elementor-field-type-checkbox {
    display: flex !important;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    max-width: 60%;
}

.newsletter-form .elementor-field-type-checkbox .elementor-field-subgroup {
    flex-basis: auto !important;
}

.newsletter-form .elementor-field-type-checkbox .elementor-field-label {
    margin-bottom: 0 !important;
    cursor: pointer;
}

.newsletter-form .elementor-field-type-checkbox input[type="checkbox"] {
    accent-color: #018F51;
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin-top: 5px;
}

.newsletter-form .elementor-field-group.elementor-field-type-submit {
    max-width: 35%;
}

.elementor-element.footer-logo {
    max-width: 340px !important;
}

.home-product .elementor-heading-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* .home-product .elementor-widget-theme-post-content {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-product .elementor-widget-theme-post-content *{
	font-weight: normal;
} */
.home-product .elementor-widget-image img {
    max-height: 200px;
    object-fit: cover;
}

a:focus,
input:focus,
textarea:focus,
button:focus {
    outline: none;
}

.hentry .entry-content a {
    text-decoration: none;
}

.elementor-mark-required .elementor-field-label:after {
    color: #ffffff;
}


body .bgParalax {
    background-attachment: fixed;

}


/* Product List Item Css */

/* ================================================
   WooCommerce - Product Image Wrapper
   ================================================ */

.woocommerce ul.products li.product .productImageWrapper {
    position: relative !important;
    overflow: hidden !important;
    display: block;
    margin-bottom: 15px;
}

/* ================================================
   WooCommerce - Add to Cart & View Cart Buttons
   ================================================ */

/* ── Base: both buttons hidden below image ── */
.woocommerce ul.products li.product .productImageWrapper .add_to_cart_button,
.woocommerce ul.products li.product .productImageWrapper .added_to_cart,
.woocommerce ul.products li.product .productImageWrapper .product_type_simple {
    display: block;
    position: absolute !important;
    bottom: -56px;
    left: 0;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border: none;

    /* ── Typography & Style ── */
    color: var(--e-global-color-8e15eb7);
    background-color: var(--e-global-color-7291a7d);
    font-family: "Oxanium", Sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 0px;
    padding: 15px;

    transition: bottom 0.3s ease, background-color 0.2s ease, opacity 0.2s ease;
}

/* ── Slide up on product hover ── */
.woocommerce ul.products li.product:hover .productImageWrapper .add_to_cart_button,
.woocommerce ul.products li.product:hover .productImageWrapper .added_to_cart,
.woocommerce ul.products li.product:hover .productImageWrapper .product_type_simple {
    bottom: 0;
}

/* ── Hover opacity effect on buttons ── */
.woocommerce ul.products li.product:hover .productImageWrapper .add_to_cart_button:hover,
.woocommerce ul.products li.product:hover .productImageWrapper .added_to_cart:hover {
    /*     opacity: 0.85; */
}

/* ── Loading state: dimmed while AJAX runs ── */
.woocommerce ul.products li.product .productImageWrapper .add_to_cart_button.loading {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── After added: hide "Add to cart", "View cart" takes full width ── */
.woocommerce ul.products li.product .productImageWrapper .add_to_cart_button.added {
    display: none;
}

.woocommerce ul.products li.product .productImageWrapper .add_to_cart_button:after,
.woocommerce ul.products li.product .productImageWrapper .added_to_cart:after {
    margin: auto;
    right: 0;
}

.woocommerce ul.products li.product .productImageWrapper .added_to_cart:after {
    margin-left: 5px;
}

.woocommerce ul.products li.product .productImageWrapper .add_to_cart_button:hover,
.woocommerce ul.products li.product .productImageWrapper .added_to_cart:hover {
    background-color: #EA1C30;
}

.woocommerce ul.products li.product .product-category-badge {
    display: block;
    width: 100%;
    text-align: center;
    font-family: "Oxanium", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 15px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--e-global-color-7291a7d);

    color: #1a1a1a;
    background-color: transparent;
}

.woocommerce ul.products li.product a img {
    margin-bottom: 0;
}



/* ================================================
   WooCommerce - Pagination
   ================================================ */

body .woocommerce nav.woocommerce-pagination {
    display: block;
    width: 100%;
    margin: 30px 0;
}

/* ── List ── */
body .woocommerce nav.woocommerce-pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

/* ── List item ── */
body .woocommerce nav.woocommerce-pagination ul li {
    margin: 0;
    padding: 0;
    border: 0;
}

/* ── All page number items ── */
body .woocommerce nav.woocommerce-pagination ul li .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    box-sizing: border-box;
    font-family: "Oxanium", Sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    color: #1a1a1a !important;
    background-color: transparent;
    border: 1px solid #cccccc;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

/* ── Hover state ── */
body .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover {
    background-color: var(--e-global-color-7291a7d);
    border-color: var(--e-global-color-7291a7d);
    color: #ffffff !important;
}

/* ── Current active page ── */
body .woocommerce nav.woocommerce-pagination ul li .page-numbers.current {
    background-color: var(--e-global-color-7291a7d);
    border-color: var(--e-global-color-7291a7d);
    color: #ffffff !important;
    cursor: default;
    pointer-events: none;
}

/* ── Next / Prev arrows ── */
body .woocommerce nav.woocommerce-pagination ul li .next:hover,
body .woocommerce nav.woocommerce-pagination ul li .prev:hover {
    background-color: var(--e-global-color-7291a7d);
    border-color: var(--e-global-color-7291a7d);
    color: #ffffff !important;
}

/* ================================================
   WooCommerce - Ordering Dropdown
   ================================================ */

body .woocommerce .woocommerce-ordering,
body .woocommerce-page .woocommerce-ordering {
    display: inline-block;
    margin: 0 0 30px 0;
    padding: 0;
    vertical-align: middle;
}

body .woocommerce .woocommerce-ordering select.orderby,
body .woocommerce-page .woocommerce-ordering select.orderby {
    display: block;
    width: 100%;
    min-width: 200px;
    height: 44px;
    padding: 0 40px 0 16px;
    margin: 0;
    box-sizing: border-box;
    vertical-align: middle;
    cursor: pointer;

    /* ── Remove default browser arrow ── */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    /* ── Custom SVG arrow ── */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a' width='24' height='24'%3E%3Cpath fill-rule='evenodd' d='M18.2546728%2C8.18171329 L18.9617796%2C8.88882007 L12.5952867%2C15.2537133 L12.5978964%2C15.2558012 L11.8907896%2C15.962908 L11.8882867%2C15.9607133 L11.8874628%2C15.9617796 L11.180356%2C15.2546728 L11.1812867%2C15.2527133 L4.81828671%2C8.88882007 L5.52539349%2C8.18171329 L11.8882867%2C14.5457133 L18.2546728%2C8.18171329 Z'%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px 18px;
    outline: none;
}


/* ================================================
   Elementor Loop Item - Button Hover Effect
   ================================================ */

/* ── Image container: positioning context ── */
.e-loop-item .elementor-element-dd8c11f {
    position: relative !important;
    overflow: hidden !important;
}

/* ── Button widget: hidden below image by default ── */
.e-loop-item .elementor-element-dd8c11f .elementor-widget-button {
    position: absolute !important;
    bottom: 0;
    left: 0;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    z-index: 3;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

/* ── Slide up on loop item hover ── */
.e-loop-item:hover .elementor-element-dd8c11f .elementor-widget-button {
    transform: translateY(0);
}

/* ── Button full width ── */
.e-loop-item .elementor-element-dd8c11f .elementor-widget-button .elementor-button {
    width: 100%;
    display: block;
    text-align: center;
    box-sizing: border-box;
}



/* ─────────────────────────────────────────────
   Reset Elementor Quantity Holder
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart .e-atc-qty-button-holder {
    display: block !important;
}

/* ─────────────────────────────────────────────
   Cart Form
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ─────────────────────────────────────────────
   Quantity Row
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity {
    display: inline-flex;
    align-items: center;
    background: #1a1a1a;
    width: auto;
    height: 50px;
    margin: 0 0 25px 0 !important;
    overflow: hidden;
    box-sizing: border-box;
}

/* ─────────────────────────────────────────────
   Minus / Plus Buttons
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .quantity-minus,
body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .quantity-plus {
    background: #1a1a1a;
    color: #fff;
    border: none;
    width: 50px;
    height: 50px;
    font-size: 22px;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
    transition: opacity .2s ease;
    margin: 0;
}

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .quantity-minus:hover,
body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .quantity-plus:hover {
    opacity: .6;
}

/* ─────────────────────────────────────────────
   Quantity Input
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 50px;
    padding: 0;
    margin: 0;
    -moz-appearance: textfield;
    box-shadow: none;
    outline: none;
}

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ─────────────────────────────────────────────
   Buttons Wrapper
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper {
    display: flex;
    gap: 10px;
    width: 100%;
}

/* ─────────────────────────────────────────────
   Shared Button Style
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .single_add_to_cart_button,
body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .buy-now-button {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    font-family: "Oxanium", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    border: 2px solid var(--e-global-color-7291a7d);
    border-radius: 0;
    margin: 0;
    padding: 0;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* ─────────────────────────────────────────────
   Add To Cart
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .single_add_to_cart_button {
    background: var(--e-global-color-7291a7d);
    color: #fff;
    border-color: var(--e-global-color-7291a7d);
}

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .single_add_to_cart_button:hover {
    background: #EA1C30;
    border-color: #EA1C30;
    color: #fff;
}

/* ─────────────────────────────────────────────
   Buy Now
   ───────────────────────────────────────────── */

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .buy-now-button {
    background: transparent !important;
    color: var(--e-global-color-7291a7d) !important;
    border-color: var(--e-global-color-7291a7d) !important;
    border: 2px solid !important;
    margin: 0 !important;
}

body.single-product.woocommerce-page .elementor-widget-woocommerce-product-add-to-cart form.cart .cart-buttons-wrapper .buy-now-button:hover {
    background: var(--e-global-color-7291a7d) !important;
    border-color: var(--e-global-color-7291a7d) !important;
    color: #fff !important;
}


body.single-product.woocommerce-page div.product p.stock {
    margin-top: 0;
}

body.single-product.woocommerce-page div.product p.price {
    margin: 0;
}


/* ================================================
   WooCommerce - Product Tabs Accordion
   ================================================ */

/* ── Hide default tab nav ── */
body.single-product .woocommerce-tabs ul.tabs {
    display: none !important;
}

/* ── Wrapper ── */
body.single-product .woocommerce-tabs .wc-tab-wrapper,
body.single-product .woocommerce-tabs {
    border: none;
    padding: 0;
}

/* ── Accordion header ── */
body.single-product .woocommerce-tabs .accordion-tab-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid #d0d0d0;
    cursor: pointer;
    /*     font-size: 16px; */
    font-weight: 500;
    text-transform: uppercase;
    /*     letter-spacing: 0.5px; */
    color: #1a1a1a;
    transition: color 0.2s ease;
    user-select: none;
}

body.single-product .woocommerce-tabs .accordion-tab-header:hover {
    color: var(--e-global-color-7291a7d);
}

/* ── Active header ── */
body.single-product .woocommerce-tabs .accordion-tab-header.active {
    color: var(--e-global-color-7291a7d);
}

/* ── Arrow indicator ── */
body.single-product .woocommerce-tabs .accordion-tab-header::after {
    content: '+';
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
}

body.single-product .woocommerce-tabs .accordion-tab-header.active::after {
    content: '-';
}

/* ── Panel content ── */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    display: none;
    padding: 20px 0;
    border-bottom: 1px solid #d0d0d0;
    /*     font-size: 16px; */
    /*     color: #1a1a1a; */
}

/* ── Hide inner panel titles ── */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wb_cptb_title {
    display: none;
}

.mobile-menu {
    display: none;
}

.mobileMenuAction {
    display: none;
}


/* Responsive Media Css Start */

@media only screen and (max-width: 1024px) {
    /* Header Css */

    .mobileMenuAction {
        display: block;
    }


    .mobileMenuAction svg {
        width: 34px;
        height: 25px;
        margin-top: 8px;
    }

    .elementor-nav-menu .sub-arrow {
        padding: 10px !important;
        margin-left: 20px;
    }

    .mobileMenuCloseAction svg {

        width: 25px;

    }

    .mobileMenuCloseAction path {
        fill: #ffffff;
    }

    .mobile-menu {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        right: 0;
        z-index: -1;
        top: 0;
        transition: .5s;
        overflow-y: scroll;
        transform: translate(100%);
        visibility: hidden;
        overflow-x: hidden;
    }

    .openMobileMenu .mobile-menu {
        transition: .5s;
        opacity: 1;
        pointer-events: visible;
        transform: translate(0);
        z-index: 9999;
        visibility: visible;
    }

    .mobile-menu .elementor-nav-menu--main .elementor-nav-menu ul {
        position: static;
        margin: 0 !important;
        width: 100%;
        overflow: hidden;
        max-height: 0;
        display: block !important;
        transition: max-height 0.45s ease;
    }


    .mobile-menu .elementor-nav-menu--main .elementor-nav-menu ul.open {
        max-height: 500px;
    }

    .footerMenu a.elementor-item {
        justify-content: center !important;
    }
}




/* Product Single Page css */

.woocommerce div.product div.images .woocommerce-product-gallery__image .vwg_video_js_1-dimensions.vjs-fluid {
    padding-top: 98.339901%;
    margin: 0 auto;
    width: 416px !important;
    height: 416px !important;
}

.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 20px !important;
}


body form.cart .warranty-addon-container input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid #018f51;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    position: relative;
    transition: .25s ease;
    margin: 3px 0 0 0;
    flex: none;
}

body form.cart .warranty-addon-container input[type="checkbox"]:checked {
    background: #018f51;
    border-color: #018f51;
}

body form.cart .warranty-addon-container input[type="checkbox"]::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

body form.cart .warranty-addon-container input[type="checkbox"]::after {
    opacity: 1;
} 

.woosq-popup .warranty-addon-container input[type="checkbox"]::after {
    top: 1px;
} 


/* =========================================
   Warranty Addon – Single Product Page
========================================= */

/* Outer container */
body.single-product .warranty-addon-container,
.woosq-popup .warranty-addon-container {
    transition: border-color 0.25s ease, background 0.25s ease;
}

body.single-product .warranty-addon-container:hover {
    border-color: #018f51;
    background: #f0faf6;
}

body.single-product .warranty-addon-container,
.woosq-popup .warranty-addon-container {
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    padding: 12px 18px;
    margin: 0 0 25px 0;
    background: #fafafa;
    font-family: "ff-din-paneuropean", sans-serif;
}

/* Header row – logo */
body.single-product .warranty-addon-header,
.woosq-popup .warranty-addon-header {
    margin-bottom: 12px;
}

body.single-product .warranty-addon-logo-wrapper,
.woosq-popup .warranty-addon-logo-wrapper {
    display: inline-block;
}

body.single-product .warranty-addon-logo,
.woosq-popup .warranty-addon-logo {
    height: 24px;
    width: auto;
    display: block;
}

/* Label row – checkbox + product name + price */
body.single-product .warranty-addon-label,
.woosq-popup .warranty-addon-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    margin: 0;
}

body.single-product .warranty-addon-info,
.woosq-popup .warranty-addon-info {
    line-height: 1.4;
}

body.single-product .warranty-addon-info strong,
.woosq-popup .warranty-addon-info strong {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

body.single-product .warranty-addon-price,
.woosq-popup .warranty-addon-price {
    font-size: 16px;
    font-weight: 600;
    color: #018f51;
}

/* Description */
body.single-product .warranty-addon-description, 
.woosq-popup .warranty-addon-description {
    margin: 10px 0 6px;
    font-size: 12px;
    color: #555;
    line-height: 1.6;
}

/* Warranty product name in cart (main cart table) */
body.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.cart td .warranty-cart-name,
body.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.cart td .warranty-cart-label {
    color: #1d1d1d;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: 0.02em;
    display: inline-block;
}

/* Warranty product name in Elementor mini cart */
body .elementor-menu-cart__product-name .warranty-cart-name,
body .elementor-menu-cart__product-name .warranty-cart-label {
    font-family: "Oxanium", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 14px;
    color: var(--e-global-color-primary);
    text-decoration: none;
    display: inline;
}

.checkout-product-content a.cps-learn-more.cps-learn-more--cart {
    display: none;
}

body .elementor-menu-cart__product-name .cps-learn-more--cart {
    color: #018f51;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    display: none;
}



body .elementor-menu-cart__product-name .cps-learn-more--cart:hover {
    color: #016b3d;
}

/* Cart warranty meta row */
body.woocommerce-cart .warranty-cart-meta,
body .elementor-menu-cart__product-name .warranty-cart-meta {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}


/* Learn More link */
body.single-product .cps-learn-more,
body.woocommerce-cart .cps-learn-more--cart {
    display: inline-block;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #018f51 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-transform: uppercase;
    margin-top: 5px;
}

body.single-product .cps-learn-more:hover,
body.woocommerce-cart .cps-learn-more--cart:hover {
    color: #016b3d;
}

body.single-product .woosq-popup .cps-learn-more,
body .woosq-popup .cps-learn-more {
    display: none;
}

body .woosq-popup .warranty-addon-container {
    margin-bottom: 0;
}



/* Mobile */
@media ( max-width: 767px ) {
    body.single-product .warranty-addon-container {
        padding: 14px 14px;
    }
}


/* =========================================
   CPS Modal – Redesigned
========================================= */

/* Overlay */
body .cps-modal {
    display: none;
    position: fixed;
    z-index: 999999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.55);
}

body .cps-modal.show {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Content box */
body .cps-modal-content {
    background: #fff;
    border-radius: 8px;
    width: 92%;
    max-width: 900px;
    max-height: 92vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 8px 40px rgba(0,0,0,0.25);
    font-family: "ff-din-paneuropean", sans-serif;
}

/* Top bar */
body .cps-modal-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
}

body .cps-modal-brands {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* CPS logo image */
body .cps-brand-img {
    width: 150px;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Close button */
body .cps-modal-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

body .cps-modal-close svg {
    fill: #000;
    display: block;
    transition: fill 0.2s;
}

body .cps-modal-close:hover svg {
    fill: #444;
}

/* Two-column body */
body .cps-modal-body {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    padding: 28px 28px 24px;
    align-items: start;
}

/* Left column */
body .cps-modal-headline {
    font-size: 20px;
    font-weight: 900;
    line-height: 1.25;
    color: #111;
    margin: 0 0 20px;
}

body .cps-benefits-label {
    font-size: 13px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    margin: 0 0 10px;
    letter-spacing: 0.04em;
}

body .cps-modal-benefits {
    list-style: disc;
    padding-left: 18px;
    margin: 0 0 20px;
}

body .cps-modal-benefits li {
    font-size: 14px;
    color: #333;
    line-height: 1.55;
    margin-bottom: 6px;
    padding: 0;
    background: none;
    border: none;
}

body .cps-coverage-link {
    font-size: 13px;
    font-weight: 600;
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
    letter-spacing: 0.03em;
}

body .cps-coverage-link:hover {
    color: #018f51;
}

/* Right column: image */
body .cps-modal-right {
    border-radius: 4px;
    overflow: hidden;
}

body .cps-modal-image {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

/* Footer: 3 feature icons */
body .cps-modal-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 18px 28px;
    background: #f7f7f7;
    border-radius: 0 0 8px 8px;
}

body .cps-footer-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    text-align: left;
}

body .cps-footer-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
}

body .cps-footer-item span {
    font-size: 13px;
    font-weight: 700;
    color: #222;
}

/* Responsive */
@media ( max-width: 767px ) {
    body .cps-modal-body {
        grid-template-columns: 1fr;
        padding: 20px;
        gap: 16px;
    }
    body .cps-modal-image {
        height: 200px;
    }
    body .cps-modal-headline {
        font-size: 20px;
    }
    body .cps-modal-footer {
        gap: 20px;
        flex-wrap: wrap;
        padding: 16px;
    }
}


/* =========================================
   WooCommerce My Account - Address Cards
========================================= */

.woocommerce-MyAccount-content-wrapper .woocommerce-Address {
    padding: 15px;
    border: 1px solid;
    margin-top: 25px;
}

.woocommerce-MyAccount-content-wrapper .woocommerce-table--order-details tfoot td {
    word-break: keep-all;
}

.elementor-widget-woocommerce-my-account {
    font-family: "ff-din-paneuropean";
}

.woocommerce-MyAccount-navigation ul {
    margin-top: 0;
}

/* Remove WooCommerce clearfix only for address section */
body.woocommerce-account .woocommerce-Addresses.col2-set::before,
body.woocommerce-account .woocommerce-Addresses.col2-set::after,
body.woocommerce-account .addresses .title::after,
body.woocommerce-account .addresses .title::before {
    display: none !important;
    content: none !important;
}

/* Wrapper */
body.woocommerce-account .woocommerce-Addresses {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 30px !important;
}

/* Card */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    flex: 1 1 calc(50% - 12px);
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* Header */
body.woocommerce-account .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    gap: 15px;
}

body.woocommerce-account .woocommerce-Address-title h2 {
    margin: 0 !important;
    font-weight: 600 !important;
    display: block !important;
}

/* Edit Button */
body.woocommerce-account .woocommerce-Address-title .edit {
    color: #018f51 !important;
    text-decoration: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: .3s;
    right: 21px;
}

body.woocommerce-account .woocommerce-Address-title .edit:hover {
    background: transparent;
}

/* Address */
body.woocommerce-account .woocommerce-Address address {
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    border: 1px solid #ececec;
    font-style: normal;
    flex: 1;
}

/* Tablet */
@media (max-width:991px) {

    body.woocommerce-account .woocommerce-Addresses {
        gap: 20px;
    }

    body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
        flex: 1 1 100%;
    }

}

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

    body.woocommerce-account .woocommerce-Addresses {
        display: block;
    }

    body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
        width: 100%;
        margin-bottom: 20px;
        padding: 20px;
    }

    body.woocommerce-account .woocommerce-Address-title {
        flex-direction: column;
        align-items: flex-start;
    }

    /* 
    body.woocommerce-account .woocommerce-Address-title .edit {
        width: 100%;
        justify-content: center;
    } */

    body.woocommerce-account .woocommerce-Address-title h2 {
        font-size: 20px;
    }

}



/* ==========================================================================
   WooCommerce My Account - Orders Table Desktop Fix (Elementor Compatible)
   ========================================================================== */

     body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a {
    margin-left: 10px;
} 

@media screen and (min-width: 769px) {

    /* Table */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table {
        width: 100% !important;
        display: table !important;
        border-collapse: collapse !important;
        table-layout: auto !important;
        font-size: 16px !important;
        color: #000 !important;
    }

    /* Header */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive thead,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table thead {
        display: table-header-group !important;
    }

    /* Body */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive tbody,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table tbody {
        display: table-row-group !important;
    }

    /* Rows */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive tr,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table tr {
        display: table-row !important;
    }

    /* Header Cells */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive th,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table th {
        display: table-cell !important;
        padding: 15px !important;
        text-align: left !important;
        vertical-align: middle !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    /* Data Cells */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive td,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table td {
        display: table-cell !important;
        padding: 15px !important;
        text-align: left !important;
        vertical-align: middle !important;
        position: static !important;
        font-size: 16px !important;
        color: #000 !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
    }

     body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a {
 
    color: #ffffff  !important;
} 

    /* Hide Mobile Labels */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive td::before,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table td::before {
        display: none !important;
        content: none !important;
    }

    /* All Typography */
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.shop_table_responsive *,
    body.woocommerce-account .elementor-widget-woocommerce-my-account table.woocommerce-orders-table * {
        font-size: 16px !important;
        color: #000 !important;
    }

    /* Order ID */
    body.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce-orders-table__cell-order-number a {
        color: var(--links-normal-color, #5bc0de) !important;
        font-size: 16px !important;
        text-decoration: none !important;
    }

    body.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce-orders-table__cell-order-number a:hover {
        color: #000 !important;
    }

    /* Price */
    body.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce-Price-amount,
    body.woocommerce-account .elementor-widget-woocommerce-my-account .amount,
    body.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce-Price-currencySymbol {
        color: #000 !important;
        font-size: 16px !important;
    }

    /* Action Buttons */
    body.woocommerce-account .elementor-widget-woocommerce-my-account a.button.view {
        color: #ffffff !important;
        font-size: 16px !important;
        text-decoration: none !important;
    }

    body.woocommerce-account .elementor-widget-woocommerce-my-account a.button.view:hover {
        color: #ffffff !important;
    }

    /* Time */
    body.woocommerce-account .elementor-widget-woocommerce-my-account time {
        color: #000 !important;
        font-size: 16px !important;
    }

    /* Status */
    body.woocommerce-account .elementor-widget-woocommerce-my-account .woocommerce-orders-table__cell-order-status {
        color: #000 !important;
        font-size: 16px !important;
    }
}

.woocommerce-info::before {
    color: var(--e-global-color-7291a7d);
}

.woocommerce-info {
    border-top-color: var(--e-global-color-7291a7d);
}


.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
    background: var(--e-global-color-7291a7d) !important;
    color: #ffffff !important;
    border: 0 !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
    color: #ffffff !important;
    background: var(--e-global-color-782a01f) !important;
}


body .woocommerce-MyAccount-content form h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    margin: 0 0 20px 0 !important;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 18px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--e-global-color-7291a7d) !important;
    color: white;
}

.woocommerce .woocommerce-customer-details .woocommerce-column__title {
    margin-bottom: 20px !important;
    font-weight: 700 !important;
}


body .woocommerce-MyAccount-content #add_payment_method #payment div.form-row {
    padding: 1em 0 1em 0;
}


body .woocommerce-MyAccount-content #add_payment_method #payment div.payment_box {
    background: #ffffff;
    border: 1px solid #dcd7e2;
}

body .woocommerce-MyAccount-content #add_payment_method #payment div.payment_box::before {
    display: none;
}

body .elementor-widget-woocommerce-my-account .woocommerce-PaymentMethod .input-radio+label {
    color: var(--general-text-color);
}

body .woocommerce-MyAccount-content form#add_payment_method {
    max-width: 749px;
}



/* ==========================================================
   WooCommerce My Account - Login / Register Layout
   ========================================================== */

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login p:not([class]),
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register p:not([class]) {
    font-size: var(--e-global-typography-text-font-size);
    color: var(--general-text-color);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login .woocommerce-LostPassword,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register .woocommerce-LostPassword {
    font-size: var(--e-global-typography-text-font-size);
}

/* Remove WooCommerce clearfix */
body.woocommerce-account .woocommerce .col2-set::before,
body.woocommerce-account .woocommerce .col2-set::after,
body.woocommerce-account .woocommerce-page .col2-set::before,
body.woocommerce-account .woocommerce-page .col2-set::after,
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after {
    content: none !important;
    display: none !important;
}

body.woocommerce-account #customer_login h2 {
    margin: 0 0 30px;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    font-family: "Oxanium", Sans-serif;
}

/* Main Wrapper */
body.woocommerce-account #customer_login {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 40px;
    margin: 50px 0;
}

/* Columns */
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
    flex: 0 0 calc(50% - 20px);
    max-width: calc(50% - 20px);
    width: 100%;
    float: none !important;
    margin: 0 !important;
    padding: 20px;
    border: 1px solid #000000;
    border-radius: 0;
    background: #fff;
    box-sizing: border-box;
}

/* Remove WooCommerce inline height */
body.woocommerce-account #customer_login form {
    height: auto !important;
    min-height: auto !important;
}

/* Form Rows */
body.woocommerce-account #customer_login .form-row {
    margin-bottom: 20px;
}

/* Labels */
body.woocommerce-account #customer_login label {
    display: block;
    margin-bottom: 8px;
}

/* Inputs */
body.woocommerce-account #customer_login input[type="text"],
body.woocommerce-account #customer_login input[type="email"],
body.woocommerce-account #customer_login input[type="password"] {
    width: 100%;
    box-sizing: border-box;
}

/* Password Field */
body.woocommerce-account #customer_login .password-input {
    display: block;
    width: 100%;
}

/* Buttons */
body.woocommerce-account #customer_login .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Remember Me */


body.woocommerce-account #customer_login .woocommerce-form-login__rememberme input {
    margin: 0;
}

/* Lost Password */
body.woocommerce-account #customer_login .lost_password {
    margin-top: 15px;
}

/* Privacy Policy */
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
    margin: 20px 0;
}

/* Tablet */
@media (max-width: 991px) {

    body.woocommerce-account #customer_login {
        gap: 30px;
    }

    body.woocommerce-account #customer_login .u-column1,
    body.woocommerce-account #customer_login .u-column2 {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 30px;
    }
}

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

    body.woocommerce-account #customer_login {
        gap: 20px;
        margin: 0;
    }

    body.woocommerce-account #customer_login .u-column1,
    body.woocommerce-account #customer_login .u-column2 {
        padding: 20px;
    }

    body.woocommerce-account #customer_login .button {
        width: 100%;
    }

    body.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
        display: flex;
        flex-wrap: wrap;
    }
}

/* ==========================================================
   WooCommerce My Account - Remember Me Custom Checkbox
   ========================================================== */

body.woocommerce-account .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #818181;
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0;
    transition: background-color .25s ease, border-color .25s ease;
    outline: none;
    box-shadow: none;
}

/* Remove browser focus styles */
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:focus,
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:focus-visible,
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:active {
    outline: none;
    box-shadow: none;
}

/* Checked State */
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:checked {
    background: var(--e-global-color-7291a7d);
    border-color: var(--e-global-color-7291a7d);
}

/* White Tick */
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 0px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translateY(2px) rotate(45deg);
}

/* Label */
body.woocommerce-account .woocommerce-form-login__rememberme span {
    cursor: pointer;
}

/* ==========================================================
   WooCommerce Password Toggle - Font Awesome 5 Free
   ========================================================== */

body.woocommerce-account .password-input {
    position: relative;
    display: block;
    width: 100%;
}

body.woocommerce-account .password-input input {
    width: 100%;
    padding-right: 50px;
    box-sizing: border-box;
}

/* Toggle Button */
body.woocommerce-account .password-input .show-password-input {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
    outline: none;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Remove browser focus styles */
body.woocommerce-account .password-input .show-password-input:focus,
body.woocommerce-account .password-input .show-password-input:focus-visible,
body.woocommerce-account .password-input .show-password-input:active {
    outline: none;
    box-shadow: none;
}

/* Hidden Password (Eye Icon) */
/* body.woocommerce-account .password-input .show-password-input::before {
    content: "\f06e";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    color: #666;
    line-height: 1;
    display: block;
} */

/* Visible Password (Eye Slash Icon) */
/* body.woocommerce-account .password-input .show-password-input.display-password::before {
    content: "\f070";
} */

/* Remove WooCommerce default pseudo element */
body.woocommerce-account .password-input .show-password-input::after {
    display: none !important;
    content: none !important;
}

/* Optional Hover */
body.woocommerce-account .password-input .show-password-input:hover::before {
    color: #000;
}


/* ==========================================================
   WooCommerce Lost Password Page
   ========================================================== */

body.woocommerce-account .woocommerce .myAccountSectionTitle {
    margin: 0 0 20px 0 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-family: "Oxanium", Sans-serif !important;
}

body.woocommerce-lost-password .woocommerce {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 300px);
    padding: 40px 20px;
    flex-direction: column;
}

body.woocommerce-lost-password .woocommerce-ResetPassword {
    width: 100%;
    max-width: 500px;
    padding: 40px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-sizing: border-box;
}

body.woocommerce-lost-password .woocommerce-ResetPassword p {
    margin-bottom: 20px;
}

body.woocommerce-lost-password .woocommerce-ResetPassword .form-row {
    width: 100%;
    margin-bottom: 20px;
}

body.woocommerce-lost-password .woocommerce-ResetPassword .form-row-first,
body.woocommerce-lost-password .woocommerce-ResetPassword .form-row-last {
    float: none;
    width: 100%;
}

body.woocommerce-lost-password .woocommerce-ResetPassword label {
    display: block;
    margin-bottom: 8px;
}

body.woocommerce-lost-password .woocommerce-ResetPassword input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}

body.woocommerce-lost-password .woocommerce-ResetPassword .button {
    width: 100%;
}

body.woocommerce-lost-password .woocommerce-ResetPassword .clear {
    display: none;
}

/* ==========================================================
   Tablet
   ========================================================== */

@media (max-width: 991px) {

    body.woocommerce-lost-password .woocommerce {
        min-height: auto;
        padding: 40px 20px;
    }

    body.woocommerce-lost-password .woocommerce-ResetPassword {
        max-width: 100%;
    }

}

/* ==========================================================
   Mobile
   ========================================================== */

@media (max-width: 767px) {

    body.woocommerce-lost-password .woocommerce {
        display: block;
        min-height: auto;
        padding: 0;
    }

    body.woocommerce-lost-password .woocommerce-ResetPassword {
        width: 100%;
        max-width: 100%;
        padding: 20px;
        border-radius: 0;
    }

    body.woocommerce-lost-password .woocommerce-ResetPassword .button {
        width: 100%;
    }
}

/* ==========================================================
   WooCommerce My Account - Paragraph Typography
   ========================================================== */

body.woocommerce-account .woocommerce-MyAccount-content p {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-text);
}


/* ==========================================================
   Desktop
   ========================================================== */

@media only screen and (min-width: 1025px) {

    .mobileMyAccountMenuAction,
    .closeMyAccountMenu,
    .myAccountMenuOverlay {
        display: none !important;
    }

}


/* ==========================================================
   WooCommerce My Account Mobile Side Menu
   ========================================================== */

body .select2-container {
    z-index: 99 !important;
}

@media only screen and (max-width:1024px) {

    /* Open Button */
    .mobileMyAccountMenuAction {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .mobileMyAccountMenuAction svg {
        width: 25px;
    }

    /* Overlay */
    .myAccountMenuOverlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .55);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transition: .35s ease;

        z-index: 999;
    }

    body.openMyAccountMenu .myAccountMenuOverlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    /* Side Menu */
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        position: fixed;
        top: 0;
        right: 0;
        width: 75%;
        max-width: 320px;
        height: 100vh;
        background: #fff;
        overflow-y: auto;
        overflow-x: hidden;
        transform: translateX(100%);
        transition: transform .35s ease;
        z-index: 999;
        padding: 80px 20px 20px 20px;
        box-sizing: border-box;
    }

    body.openMyAccountMenu .woocommerce-MyAccount-navigation {
        transform: translateX(0);
    }

    /* Prevent Scroll */
    body.openMyAccountMenu {
        overflow: hidden;
    }

    /* ==========================================================
   My Account Side Menu - Close Button
   ========================================================== */

    body.woocommerce-account .closeMyAccountMenu {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 40px;
        height: 40px;
        padding: 0;
        margin: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 28px;
        line-height: 1;
        color: #000;
        transition: .3s ease;
    }

    body.woocommerce-account .closeMyAccountMenu:focus,
    body.woocommerce-account .closeMyAccountMenu:focus-visible,
    body.woocommerce-account .closeMyAccountMenu:active {
        outline: none;
        box-shadow: none;
    }

}



/* ==========================================================
   Elementor Product Card - Image Hover + Quick View
   ========================================================== */

.woocommerce div.product p.price del,
.woocommerce .woosq-product p.price del {
    color: #000000;
}

.woocommerce div.product p.price ins,
.woocommerce .woosq-product p.price ins {
    text-decoration: none;
}

body .wpgb-select .wpgb-select-search input {
    border: 0 !important;
}

/* ==========================================================
   Product Image Area
   ========================================================== */

.e-loop-item .productImageArea {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.elementor-element.productAttrElement {
    height: 43px;
}

/* ==========================================================
   Hover Image
   ========================================================== */

.e-loop-item .productHoverImage {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 300px;
    aspect-ratio: 1 / 1;

    margin: 0 auto;
}

.e-loop-item .productHoverImage .elementor-widget-container,
.e-loop-item .productHoverImage .elementor-shortcode {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.e-loop-item .productHoverImage img {
    display: block;

    width: 100%;
    height: 100%;

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

/* ==========================================================
   Normal Image
   ========================================================== */

.e-loop-item .productNormalImage {
    position: absolute;
    top: 0;
    left: 50%;

    width: 100%;
    max-width: 300px;
    aspect-ratio: 1 / 1;

    transform: translateX(-50%);

    z-index: 5;

    background: #fff;

    transition: opacity .35s ease;
}

.e-loop-item .productNormalImage .elementor-widget-container,
.e-loop-item .productNormalImage a {
    display: block;
    width: 100%;
    height: 100%;
}

.e-loop-item .productNormalImage img {
    display: block;

    width: 100%;
    height: 100% !important;

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

/* ==========================================================
   Image Hover
   ========================================================== */

.e-loop-item.hasHover:hover .productNormalImage {
    opacity: 0;
}

/* ==========================================================
   Quick View Button
   ========================================================== */

.e-loop-item .quickViewAction {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    z-index: 20;

    opacity: 0;
    visibility: hidden;

    transform: translateY(100%);

    transition:
        opacity .35s ease,
        visibility .35s ease,
        transform .35s ease;
}

.e-loop-item:hover .quickViewAction {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.e-loop-item .quickViewAction .woosq-button-wrapper {
    width: 100%;
}

.e-loop-item .quickViewAction .woosq-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    box-sizing: border-box;

    padding: 15px;

    color: var(--e-global-color-8e15eb7);
    background: var(--e-global-color-7291a7d);

    font-family: "Oxanium", Sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;

    border: 1px solid var(--e-global-color-7291a7d);
    border-radius: 0;

    transition: .3s;
}

.e-loop-item .quickViewAction .woosq-btn:hover,
.e-loop-item .quickViewAction .woosq-btn:focus {
    background: var(--e-global-color-782a01f);
    border-color: var(--e-global-color-782a01f);
    color: #fff;

    outline: none;
    box-shadow: none;
}

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

@media (max-width:1024px) {

    .e-loop-item .quickViewAction {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    .e-loop-item .productImageArea {
        min-height: 300px;
    }

}

@media (max-width:767px) {

    .e-loop-item .productImageArea {
        min-height: auto;
    }

    .e-loop-item .productHoverImage,
    .e-loop-item .productNormalImage {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 1/1;
    }

}


/*==========================================================
Quick View Popup
==========================================================*/

.woosq-product>.product .summary .summary-content {
    padding: 20px !important;
}

.mfp-woosq .mfp-close {
    padding: 0;
    margin: 6px;
}


body .woosq-product > .product .thumbnails {
    width: 35% !important;
}

body .woosq-product > .product .summary.entry-summary {
    width: 65% !important;
}

/*==========================================================
Title
==========================================================*/

.woosq-popup h1.product_title.entry-title {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700;
    margin: 0 0 10px;
    display: block;
    padding-right: 30px !important;
}

.view-details-btn {
    background: #000;
    color: #ffffff !important;
    text-transform: uppercase;
    text-decoration: none;
    font-family: "Oxanium", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}

.view-details-btn:hover {
    background: var(--e-global-color-782a01f);
}

/*==========================================================
Hide Meta
==========================================================*/

.woosq-popup .product_meta {
    display: none;
}

/*==========================================================
Price
==========================================================*/

.woosq-popup p.price {
    margin: 0 0 5px;
}

.woosq-popup p.price {
    color: var(--e-global-color-7291a7d) !important;
    font-family: "Oxanium", Sans-serif;
    font-size: 18px !important;
    font-weight: 700;
}

/*==========================================================
Stock
==========================================================*/

.woosq-popup p.stock {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 600;
    color: #958e09 !important;
}


/*==========================================================
Cart Layout
==========================================================*/

.woosq-popup form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    margin-bottom: 10px !important;
}

/*==========================================================
Quantity
==========================================================*/

.woosq-popup form.cart .quantity {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    max-width: 150px;
    height: 50px;
    background: #1a1a1a;
    overflow: hidden;
    flex: 0 0 100%;
    margin: 0;
}

/*==========================================================
Quantity Input
==========================================================*/

.woosq-popup form.cart .quantity .qty {
    width: 50px;
    height: 50px;
    border: none;
    outline: none;
    box-shadow: none;
    color: #ffffff;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    padding: 0;
    margin: 0;
    background: #000000;
    border: 0;
}


.woosq-popup form.cart .quantity button.quantity-minus,
.woosq-popup form.cart .quantity button.quantity-plus {
    background: #000000;
    color: #fff;
    border: none;
    width: 50px;
    height: 50px;
    font-size: 22px;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
    transition: opacity .2s ease;
    margin: 0;
}

.woosq-popup form.cart .quantity .qty::-webkit-inner-spin-button,
.woosq-popup form.cart .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*==========================================================
Hide Buy Now
==========================================================*/

.woosq-popup form.cart .buy-now-button {
    display: none !important;
}

/*==========================================================
Add To Cart
==========================================================*/

.woosq-popup form.cart .single_add_to_cart_button {
    display: block !important;
    max-width: 100% !important;
    height: 50px;
    padding: 0;
    margin: 0 !important;
    font-family: "Oxanium", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid var(--e-global-color-7291a7d);
    border-radius: 0;
    background: var(--e-global-color-7291a7d);
    color: #ffffff;
    transition: all .25s ease;
}

.woosq-popup form.cart .single_add_to_cart_button:hover {
    background: #EA1C30;
    border-color: #EA1C30;
    color: #ffffff;
}

/*==========================================================
Remove Focus
==========================================================*/

.woosq-popup button:focus,
.woosq-popup input:focus,
.woosq-popup a:focus {
    outline: none;
    box-shadow: none;
}

/* Remove WooCommerce clearfix */

.woosq-popup .woocommerce div.product form.cart::before,
.woosq-popup .woocommerce div.product form.cart::after,
.woosq-popup div.product form.cart::before,
.woosq-popup div.product form.cart::after {
    content: none !important;
    display: none !important;
}

/*==========================================================
Mobile
==========================================================*/

@media (max-width:767px) {

    body .woosq-product > .product .thumbnails {
    width: 100% !important;
}

body .woosq-product > .product .summary.entry-summary {
    width: 100% !important;
}


       .woosq-popup h1.product_title.entry-title {
        font-size: 26px;
        line-height: 30px;
    }


    .woosq-popup form.cart .quantity {
        width: 100%;
        max-width: 100%;
    }

}



/* ------------------------------------------------------------------- */
/* Custom Category Menu Css For shop page */
/* ------------------------------------------------------------------- */

.widget_product_categories ul li::before,
.widget_product_categories ul li::marker {
    display: none !important;
}

.woocommerce.widget_product_categories ul.product-categories {
    list-style-type: none;
    padding: 0 !important;
}

.woocommerce.widget_product_categories ul.product-categories li {
    padding: 0;
}

.woocommerce.widget_product_categories ul.product-categories li a {
    color: #000000;
}

.woocommerce.widget_product_categories .widget-title {
    font-size: 18px;
    margin: 0 0 5px 0 !important;
    font-family: "Oxanium", Sans-serif;
    font-weight: 700;
    display: block;
}








/* ------------------------------------------------------------------- */
/* Cart Page Css  */
/* ------------------------------------------------------------------- */
.woocommerce table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: transparent !important;
}

.elementor-widget-woocommerce-cart .woocommerce {
    font-family: "ff-din-paneuropean", sans-serif;
}


.elementor-widget-woocommerce-cart .woocommerce table.shop_table .product-remove a:before {
    margin: 0;
    color: var(--order-summary-remove-icon-normal-color, #000) !important;
    line-height: 37px;
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table td {
    padding-right: 0;
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table .product-remove a {
    width: 30px;
    display: inline-block;
    height: 36px;
}


@media (max-width:767px) {

    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 16px 0;
    }
}




/* ------------------------------------------------------------------- */
/* Event Page Css  */
/* ------------------------------------------------------------------- */

.event-post .elementor-post__read-more {
    background-color: #018f51;
    color: #fff;
    text-transform: uppercase;
    font-size: 17px;
    font-family: "Oxanium", sans-serif !important;
    padding: 12px 15px 10px 15px;
    line-height: 20px;
    display: inline-block;
}

.event-post .elementor-post__read-more:hover {
    background-color: #ea1c30;
}

.events-detail .wp-block-button {

    margin: 0 0 30px 0;

}

.events-detail .wp-block-button__link {

    background-color: #018f51 !important;

    color: #fff !important;

    text-transform: uppercase;

    font-size: 17px;

    font-family: "Oxanium", sans-serif !important;

    padding: 12px 15px 10px 15px;

    line-height: 20px;

    display: inline-block;

    border-radius: 0;

    text-decoration: none !important;

}

.events-detail .wp-block-button__link:hover {
    color: #fff !important;
    background-color: #ef1616 !important;
    text-decoration: none !important;
}

.events-detail p {

    margin: 0 0 20px 0;

}

.events-detail p,

.events-detail strong {

    color: #fff !important;

}

.events-detail a {

    color: #018f51;

    text-decoration: none !important;

}

.events-detail a:hover {

    color: #018f51 !important;

    text-decoration: underline !important;

}

.events-detail h2,

.events-detail h3,

.events-detail h4,

.events-detail h5,

.events-detail h6 {

    margin: 0 0 20px 0;

}







/**
 * ============================================================
 *  CART CSS – copy into your theme's style.css
 * ============================================================
 */




.elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody tr.updateCartAction {
    display: none;
}

/* ── Cart Table ── */
.woocommerce-cart-form table.shop_table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form table.shop_table thead tr {
    display: none;
}

/* ── Cart Item Row ── */
.woocommerce-cart-form table.shop_table tbody tr.cart_item {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #2a2a2a;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

/* ── Thumbnail ── */
.woocommerce-cart-form table.shop_table td.product-thumbnail {
    flex: 0 0 90px;
    padding: 0;
    border: none;
    background: transparent;
    display: block;
}

.woocommerce-cart-form table.shop_table td {
    border-top: none !important;
}

.woocommerce-cart-form table.shop_table td.product-thumbnail a,
.woocommerce-cart-form table.shop_table td.product-thumbnail img {
    display: block;
}

.woocommerce-cart-form table.shop_table td.product-thumbnail img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border: 1px solid #cbcbcb;
    padding: 4px;
}

/* ── Product Name ── */
.woocommerce-cart-form table.shop_table td.product-name {
    flex: 1 1 auto;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left !important;
}

.woocommerce-cart-form table.shop_table td.product-name a {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: 0.02em;
}

.woocommerce-cart-form table.shop_table td.product-name a:hover {
    color: #ccc;
}

.woocommerce-cart-form table.shop_table td.product-name dl.variation,
.woocommerce-cart-form table.shop_table td.product-name .variation {
    margin: 2px 0 4px;
    font-size: 13px;
    color: #bbb;
}

.woocommerce-cart-form table.shop_table td.product-name dl.variation dt,
.woocommerce-cart-form table.shop_table td.product-name dl.variation dd {
    display: inline;
    margin: 0;
    font-size: 13px;
    color: #bbb;
}

/* unit price shown below product name */
.woocommerce-cart-form table.shop_table td.product-name .product-price-under-name {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #000000;
}


/* ── Quantity ── */
.woocommerce-cart-form table.shop_table td.product-quantity {
    flex: 0 0 auto;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center !important;
    width: 132px;
    font-weight: 700 !important;
}

.woocommerce-cart-form table.shop_table td.product-quantity .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #555;
    background: #0d0d0d;
}

.woocommerce-cart-form table.shop_table td.product-quantity .quantity .quantity-minus,
.woocommerce-cart-form table.shop_table td.product-quantity .quantity .quantity-plus {
    background: #000000;
    color: #fff;
    border: none;
    width: 40px;
    height: 40px;
    font-size: 20px;
    font-weight: 400;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    transition: opacity .2s ease;
    margin: 0;
}

.woocommerce-cart-form table.shop_table td.product-quantity .quantity input.qty {
    background: transparent;
    border: none;
    color: #fff;
    font-weight: 700;
    text-align: center;
    width: 50px;
    padding: 0;
    margin: 0;
    -moz-appearance: textfield;
    box-shadow: none;
    outline: none;
}

.woocommerce-cart-form table.shop_table td.product-quantity .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form table.shop_table td.product-quantity .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

/* ── Subtotal ── */
.woocommerce-cart-form table.shop_table td.product-subtotal {
    flex: 0 0 auto;
    min-width: 110px;
    text-align: right;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}



/* ── Remove ── */
.woocommerce-cart-form table.shop_table td.product-remove {
    flex: 0 0 auto;
    padding: 0 0 0 12px;
    border: none;
    background: transparent;
}

.woocommerce-cart-form table.shop_table td.product-remove a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    font-size: 0;
    /* hide any fallback text */
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-cart-form table.shop_table td.product-remove a.remove:hover {
    color: var(--e-global-color-782a01f);
    background: transparent;
}

.woocommerce-cart-form p#coupon-error-notice {
    color: var(--e-global-color-782a01f);
}

.woocommerce-cart-form table.shop_table td.product-remove a.remove svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

/* ── Cart Actions row ── */
.woocommerce-cart-form table.shop_table td.actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 20px 16px;
    border: none;
    background: transparent;
}

.woocommerce-cart-form table.shop_table td.actions .coupon {
    display: flex;
    gap: 8px;
    align-items: center;
}

.woocommerce-cart-form table.shop_table td.actions .coupon input {
    background: #111;
    border: 1px solid #444;
    color: #fff;
    padding: 8px 14px;
    font-size: 13px;
    outline: none;
}

.woocommerce-cart-form table.shop_table td.actions .coupon input::placeholder {
    color: #666;
}

.woocommerce-cart-form table.shop_table td.actions button {
    background: #fff;
    color: #0d0d0d;
    border: none;
    padding: 9px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
}

.woocommerce-cart-form table.shop_table td.actions button:hover {
    background: #ddd;
}



.elementor-widget-woocommerce-cart table.shop_table_responsive tr td::before {
    display: none;
}


.elementor-widget-woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 29px;
}

body.woocommerce-cart .elementor-widget-woocommerce-cart .cart-collaterals .input-text {
    border-radius: 0 !important;
}


body.woocommerce-cart .woocommerce table.shop_table tbody:first-child tr td,
body.woocommerce-cart .woocommerce table.shop_table tbody:first-child tr th {
    padding-left: 0;
    border-color: #000;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th,
.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2 {
    font-family: "Oxanium", Sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

body.woocommerce-cart .woocommerce table.shop_table tbody:first-child tr th {
    font-family: 'ff-din-paneuropean';
    font-weight: 400;
    color: #000000;
}





.elementor-widget-woocommerce-cart .e-cart__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 30px;
}

.e-cart__column.e-cart__column-start {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 69%;
    flex: 0 0 69%;
    max-width: 69%;
}

.e-cart__column.e-cart__column-end {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 200px;
}



@media (max-width: 1024px) {
    .elementor-widget-woocommerce-cart .e-cart__container {
        gap: 20px;
    }

    .e-cart__column.e-cart__column-start {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .e-cart__column.e-cart__column-end {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 1024px) and (min-width: 751px) {
    .elementor-widget-woocommerce-cart .e-cart__container,
    .woocommerce-cart .elementor-element-962b2dc {
        width: 80%;
        margin: 0 auto;
    }
}

/* ============================================================
   MOBILE  –  max-width: 767px
   Grid layout:
     col 1 : thumbnail  (spans both rows)
     col 2 : name / qty  (flex 1)
     col 3 : remove / subtotal
   ============================================================ */
@media (max-width: 767px) {

    /* Switch row from flex to CSS grid */
    .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        display: grid;
        grid-template-columns: 75px 1fr auto;
        grid-template-rows: auto auto;
        grid-template-areas:
            "thumb  name      remove"
            "thumb  qty       subtotal";
        column-gap: 12px;
        row-gap: 12px;
        padding: 16px 0;
        align-items: start;
    }

    /* ── Thumbnail – spans both rows ── */
    .woocommerce-cart-form table.shop_table td.product-thumbnail {
        grid-area: thumb;
        flex: unset;
        align-self: start;
    }

    .woocommerce-cart-form table.shop_table td.product-thumbnail img {
        width: 75px;
        height: 75px;
    }

    /* ── Name ── */
    .woocommerce-cart-form table.shop_table td.product-name {
        grid-area: name;
        align-self: start;
    }

    .woocommerce-cart-form table.shop_table td.product-name a {
        font-size: 13px;
        white-space: normal;
    }

    .woocommerce-cart-form table.shop_table td.product-name .product-price-under-name {
        font-size: 13px;
    }

    /* ── Remove ── */
    .woocommerce-cart-form table.shop_table td.product-remove {
        grid-area: remove;
        padding: 0;
        align-self: start;
        justify-self: end;
    }

    /* ── Quantity ── */
    .woocommerce-cart-form table.shop_table td.product-quantity {
        grid-area: qty;
        align-self: center;
        justify-self: start;
        width: 110px;
    }

    .woocommerce-cart-form table.shop_table td.product-quantity .quantity {
        width: fit-content;
    }

    .woocommerce-cart-form table.shop_table td.product-quantity .quantity .quantity-minus,
    .woocommerce-cart-form table.shop_table td.product-quantity .quantity .quantity-plus {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .woocommerce-cart-form table.shop_table td.product-quantity .quantity input.qty {
        width: 40px;
    }

    /* ── Subtotal ── */
    .woocommerce-cart-form table.shop_table td.product-subtotal {
        grid-area: subtotal;
        align-self: center;
        justify-self: end;
        min-width: unset;
        font-size: 14px;
    }

    /* ── Actions row ── */
    .woocommerce-cart-form table.shop_table td.actions {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px 0;
        gap: 10px;
    }

    .woocommerce-cart-form table.shop_table td.actions .coupon {
        flex-wrap: wrap;
        width: 100%;
    }

    .woocommerce-cart-form table.shop_table td.actions .coupon input {
        flex: 1 1 140px;
    }
}



/**
 * ============================================================
 *  CHECKOUT CSS – copy into your theme's style.css
 * ============================================================ 
 */

 .woocommerce-shipping-fields input#ship-to-different-address-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    border: 2px solid #018f51;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    position: relative;
    transition: .25s ease;
}

.woocommerce-shipping-fields input#ship-to-different-address-checkbox::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

.woocommerce-shipping-fields input#ship-to-different-address-checkbox:checked::after {
    opacity: 1;
}

.woocommerce-shipping-fields input#ship-to-different-address-checkbox:checked {
    background: #018f51;
    border-color: #018f51;
}
 #payment .payment_methods > .woocommerce-PaymentMethod > label::before, 
 #payment .payment_methods > .wc_payment_method > label::before {
    color: var( --e-global-color-7291a7d );
}

.elementor-widget-woocommerce-checkout-page .woocommerce form .form-row .input-text {
    font-family: "ff-din-paneuropean", sans-serif;
    border-radius: 0;
    padding: 15px;
}

.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single {
    height: 57px;
}

.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 41px;
    font-family: "ff-din-paneuropean", sans-serif;
}

.elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 55px;
}

.elementor-widget-woocommerce-checkout-page .e-checkout-secondary-title {
    margin-top: 0;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    padding: 0;
}

.checkout-product-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.checkout-product-image {
    width: 70px;
    flex: 0 0 70px;
}

.checkout-product-image img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    display: block;
}

.checkout-product-content {
    flex: 1;
}

.checkout-product-content .product-quantity {
    display: block;
    margin-top: 5px;
    font-weight: 500 !important;
}

.checkout-product-content dl.variation {
    margin-top: 6px;
}



.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address {
    width: 100%;
    padding: 0;
}

   body .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tfoot th {
        border-bottom: 0 none !important;
    }

    
    .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-total {
        text-align: right;
    }
       .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table thead tr th.product-total {
        text-align: right;
    } 

    .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
}

.elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name {
    max-width: none;
    padding-inline-end: 20px;
}



/* ==========================================================
   WooCommerce Global Notification Styles
========================================================== */

.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message,
.coupon-error-notice {
    font-family: "ff-din-paneuropean", sans-serif;
}


body #add_payment_method .checkout .checkout-inline-error-message, 
body.woocommerce-cart .checkout .checkout-inline-error-message, 
body.woocommerce-checkout .checkout .checkout-inline-error-message {
    font-family: "ff-din-paneuropean", sans-serif;
    color: var(--e-global-color-782a01f);;
}


/* Success Message */
body .woocommerce-message {
    border-top-color: var(--e-global-color-7291a7d);
}

body .woocommerce-message::before {
    color: var(--e-global-color-7291a7d);
}

/* Information Message */
body .woocommerce-info, 
.elementor-widget-woocommerce-checkout-page .woocommerce-info {
    border-top-color: var(--e-global-color-7291a7d);
    background: #f6f5f8;
    padding: 1em 2em 1em 3.5em;
}

body .woocommerce-info::before {
    color: var(--e-global-color-7291a7d);
}

/* Error Message */
body .woocommerce-error {
    border-top-color: var(--e-global-color-782a01f);
}

body .woocommerce-error::before {
    color: var(--e-global-color-782a01f);
}

/* Links inside notifications */
body .woocommerce-message a,
body .woocommerce-info a {
    color: var(--e-global-color-7291a7d);
}

body .woocommerce-error a {
    color: var(--e-global-color-782a01f);
}

/* Buttons inside notifications */
body .woocommerce-message .button,
body .woocommerce-info .button {
    border-color: var(--e-global-color-7291a7d);
}

body .woocommerce-error .button {
    border-color: var(--e-global-color-782a01f);
}

/* ── Mobile ── */
@media ( max-width: 767px ) {
    .woocommerce .woocommerce-error .button, 
    .woocommerce .woocommerce-info .button, 
    .woocommerce .woocommerce-message .button, 
    .woocommerce-page .woocommerce-error .button, 
    .woocommerce-page .woocommerce-info .button, 
    .woocommerce-page .woocommerce-message .button {
        margin: 15px 0;
    }

}

/**
 * ============================================================
 *  Thank You Page CSS – copy into your theme's style.css
 *  Targets: .custom-thankyou (added to woocommerce-order div)
 * ============================================================
 */

/* ── Wrapper ── */cart
.woocommerce-order-received .custom-thankyou {
    padding: 20px 0;
    width: 75%;
    margin: 0 auto;
}

/* ── Success / Failed Notice ── */
.woocommerce-order-received .custom-thankyou .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-notice--success {
    background: transparent;
    border: none;
    border-bottom: 1px solid #e0e0e0;
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    color: var(--e-global-color-7291a7d);
    padding: 10px 20px 24px;
    font-family: "Oxanium", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


.woocommerce-order-received .custom-thankyou .woocommerce-notice--success::before {
    content: '';
    display: block;
    width: 52px;
    height: 52px;
    margin: 0 auto 16px;
    border-radius: 50%;
    border: 2px solid var(--e-global-color-7291a7d);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2327ae60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") center / 26px no-repeat;
}

.woocommerce-order-received .custom-thankyou .woocommerce-notice--error {
    color: #ff4444;
    font-size: 14px;
    padding: 12px 0;
    border: none;
    background: transparent;
    border-left: 3px solid #ff4444;
    padding-left: 14px;
}

/* ── Order Overview Strip ── */
.woocommerce-order-received .custom-thankyou .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 28px 0;
    padding: 0;
    border: 1px solid #e0e0e0;
}

.woocommerce-order-received .custom-thankyou .woocommerce-order-overview li {
    flex: 1 1 0;
    padding: 20px 10px !important;
    border-right: 1px solid #e0e0e0 !important;
    font-size: 16px;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    line-height: 1;
    margin: 0 !important;    
    font-family: 'ff-din-paneuropean';    
    font-weight: 700;
}

.woocommerce-order-received .custom-thankyou .woocommerce-order-overview li:last-child {
    border-right: none !important;
}

.woocommerce-order-received .custom-thankyou .woocommerce-order-overview li strong {
    display: block;
    margin-top: 8px;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.3;    
    font-family: 'ff-din-paneuropean';
}

/* ── Order Details Section ── */
.woocommerce-order-received .custom-thankyou .woocommerce-order-details {
    margin-top: 32px;
}

.woocommerce-order-received .custom-thankyou .woocommerce-order-details__title {
    font-family: "Oxanium", sans-serif;
    font-size: 25px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000;
    padding-bottom: 14px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0px;
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
}

/* thead */
.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details thead th {
    padding: 14px 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-size: 16px;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    background: transparent;    
    font-family: 'ff-din-paneuropean';
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details thead th.product-total {
    text-align: right;
}

/* tbody */
.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tbody tr td {
    padding: 18px 0;
    border-bottom: 1px solid #eee;
    color: #000;
    font-size: 18px;
    background: transparent;    
    font-family: 'ff-din-paneuropean';
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tbody td.product-name a {
    color: #000;
    text-decoration: none;
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tbody td.product-name a:hover {
    color: #444;
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tbody td.product-name .product-quantity {
    color: #666;
    font-weight: 400;
    font-size: 13px;
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tbody td.product-total {
    text-align: right;
    font-weight: 700;
}

/* tfoot */
.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tfoot tr th,
.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tfoot tr td,
.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tfoot th {
    padding: 12px 0;
    border-bottom: 1px solid #eee !important;
    font-size: 16px;
    color: #000000 !important;
    background: transparent;
    font-family: 'ff-din-paneuropean';
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tfoot tr td {
    text-align: right;
}

.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .custom-thankyou .woocommerce-table--order-details tfoot tr:last-child td {
    color: #000;
    font-size: 15px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 16px;
}

/* ── Customer Details (Addresses) ── */
.woocommerce-order-received .custom-thankyou .woocommerce-customer-details {
    margin-top: 36px;
}

/* Override WooCommerce default col2-set clearfix */
.woocommerce-order-received .custom-thankyou .col2-set::before,
.woocommerce-order-received .custom-thankyou .col2-set::after {
    content: none;
    display: block;
}

.woocommerce-order-received .custom-thankyou .woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0;    
    font-family: 'ff-din-paneuropean';
}

.woocommerce-order-received .custom-thankyou .woocommerce-column {
    border: 1px solid #e0e0e0;
    padding: 20px;
}

.woocommerce-order-received .custom-thankyou .woocommerce-column__title {
    font-family: "Oxanium", sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #000;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e0e0e0;
}

.woocommerce-order-received .custom-thankyou .woocommerce-column address {
    color: #000000;
    font-size: 16px;
    line-height: 1.9;
    height: auto !important;
    font-style: normal;
    border: 0 none;
    padding: 0;
}

.woocommerce-order-received .custom-thankyou .woocommerce-customer-details--email,
.woocommerce-order-received .custom-thankyou .woocommerce-customer-details--phone {
    color: #555;
    font-size: 13px;
    margin: 4px 0 0;
}

/* ── Failed order actions ── */
.woocommerce-order-received .custom-thankyou .woocommerce-thankyou-order-failed-actions .button {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    margin-right: 8px;
    transition: background 0.2s, color 0.2s;
}

.woocommerce-order-received .custom-thankyou .woocommerce-thankyou-order-failed-actions .button:hover {
    background: #333;
}

/* ── iPad / Tablet ── */
@media ( min-width: 768px ) and ( max-width: 1024px ) {

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview {
        flex-direction: column;
        border: 1px solid #e0e0e0;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li {
        border-right: none !important;
        border-bottom: 1px solid #e0e0e0 !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 16px !important;
        min-width: unset;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li:last-child {
        border-bottom: none !important;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li strong {
        margin-top: 0;
        text-align: right;
    }
}

/* ── Mobile ── */
@media ( max-width: 767px ) {

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview {
        flex-direction: column;
        border: 1px solid #e0e0e0;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 16px;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li:last-child {
        border-bottom: none;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-order-overview li strong {
        margin-top: 0;
        text-align: right;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-columns--addresses {
        grid-template-columns: 1fr;
    }

    .woocommerce-order-received .custom-thankyou .woocommerce-notice--success {
        font-size: 17px;
        padding-bottom: 20px;
        margin-top: 0;
    }
    .woocommerce-order-received .custom-thankyou {
        padding: 0;
        width: 100%;
    }
}


body.woocommerce-order-received .elementor-element.checkoutTitle {
    display: none;
}

/* ── Hidden quantity (individually-sold / warranty products) ── */
.woocommerce-cart-form table.shop_table td.product-quantity.qty-hidden {
    visibility: hidden;
}


/* ==========================================================
   WooCommerce Order Received - Guest Login Form
   Mirrors the My Account login card design
   ========================================================== */

/* ── Form Card ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login {
    max-width: 520px;
    padding: 20px;
    border: 1px solid #000000;
    border-radius: 0;
    background: #fff;
    box-sizing: border-box;
    margin: 20px auto 30px;
    height: auto !important;
    min-height: auto !important;
}

/* ── Disable WooCommerce clearfix on form-rows ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row::before,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row::after {
    content: none !important;
    display: none !important;
}

/* ── Form Rows ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row {
    margin-bottom: 20px;
    padding: 0;
}

/* Force half-width rows to full-width */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row-first,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row-last {
    float: none !important;
    width: 100% !important;
    clear: both;
}

/* Row with remember-me + button: space them apart */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 0;
    flex-direction: column;
}

/* ── Labels ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login label {
    display: block;
    margin-bottom: 8px;
    font-family: "ff-din-paneuropean", sans-serif;
}

/* ── Text & Password Inputs ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login input[type="text"],
body.woocommerce-order-received .woocommerce .woocommerce-form-login input[type="email"],
body.woocommerce-order-received .woocommerce .woocommerce-form-login input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    font-family: "ff-din-paneuropean", sans-serif;
}

/* ── Password Input Wrapper ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input {
    position: relative;
    display: block;
    width: 100%;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input input {
    width: 100%;
    padding-right: 50px;
    box-sizing: border-box;
}

/* ── Password Toggle Button ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input .show-password-input {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
    outline: none;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input .show-password-input:focus,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input .show-password-input:focus-visible,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input .show-password-input:active {
    outline: none;
    box-shadow: none;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .password-input .show-password-input::after {
    display: none !important;
    content: none !important;
}

/* ── Remember Me ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    margin-bottom: 0;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #818181;
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0;
    transition: background-color .25s ease, border-color .25s ease;
    outline: none;
    box-shadow: none;
    flex-shrink: 0;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"]:focus,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"]:focus-visible,
body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"]:active {
    outline: none;
    box-shadow: none;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"]:checked {
    background: var(--e-global-color-7291a7d);
    border-color: var(--e-global-color-7291a7d);
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 0px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translateY(2px) rotate(45deg);
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme span {
    cursor: pointer;
    font-family: "ff-din-paneuropean", sans-serif;
}

/* ── Login Button ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
 body.woocommerce-order-received .woocommerce .woocommerce-form-login button[type="submit"], 
 body.woocommerce-order-received .woocommerce .woocommerce-form-login .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Oxanium", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    border-radius: 0;
    transition: background 0.2s ease;
    width: auto;
    padding: 12px 32px;
}

/* ── Lost Password Link ── */
body.woocommerce-order-received .woocommerce .woocommerce-form-login .lost_password {
    margin-top: 15px;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .lost_password a {
    color: var(--e-global-color-7291a7d);
    font-family: "ff-din-paneuropean", sans-serif;
    text-decoration: none;
    font-size: 16px;
}

body.woocommerce-order-received .woocommerce .woocommerce-form-login .lost_password a:hover {
    text-decoration: underline;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    body.woocommerce-order-received .woocommerce .woocommerce-form-login {
        max-width: 100%;
        padding: 20px;
        margin: 16px auto 24px;
    }

    body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
    body.woocommerce-order-received .woocommerce .woocommerce-form-login button[type="submit"],
    body.woocommerce-order-received .woocommerce .woocommerce-form-login .button {
        width: 100%;
    }

    body.woocommerce-order-received .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
        flex-wrap: wrap;
    }
}

/* ============================================================
   WooCommerce Order Pay Page  (/checkout/order-pay/)
   ============================================================ */

body.woocommerce-order-pay .woocommerce {
    font-family: "ff-din-paneuropean", sans-serif;
    max-width: 860px;
    margin: 0 auto;
    padding: 30px 0;
    box-sizing: border-box;
}

/* ── Page Heading ── */
body.woocommerce-order-pay .woocommerce h2 {
    font-family: "Oxanium", Sans-serif;
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #000;
    margin: 0 0 30px;
    padding: 0;
}

body.woocommerce-order-pay h1.elementor-heading-title {
    text-align: center;
}

/* ============================================================
   Order Summary Table
   ============================================================ */

body.woocommerce-order-pay .woocommerce table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    font-family: "ff-din-paneuropean", sans-serif;
}

/* thead */
body.woocommerce-order-pay .woocommerce table.shop_table thead tr {
    border-bottom: 2px solid #1a1a1a;
}

body.woocommerce-order-pay .woocommerce table.shop_table thead th {
    padding: 12px 0;
    font-family: "ff-din-paneuropean", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #000;
    background: transparent;
}

body.woocommerce-order-pay .woocommerce table.shop_table thead th.product-total {
    text-align: right;
}

/* tbody */
body.woocommerce-order-pay .woocommerce table.shop_table tbody tr td {
    padding: 18px 0;
    border-bottom: 1px solid #e8e8e8;
    font-size: 15px;
    color: #1a1a1a;
    background: transparent;
    vertical-align: middle;
}

body.woocommerce-order-pay .woocommerce table.shop_table tbody tr td.product-name {
    font-weight: 600;
    padding-right: 20px;
}

body.woocommerce-order-pay .woocommerce table.shop_table tbody tr td.product-quantity {
    color: #555;
    font-size: 14px;
}

body.woocommerce-order-pay .woocommerce table.shop_table tbody tr td.product-total {
    text-align: right;
    font-weight: 700;
}

/* tfoot */
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr th,
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr td {
    padding: 12px 0;
    border-bottom: 1px solid #e8e8e8;
    font-size: 15px;
    color: #1a1a1a;
    background: transparent;
}

body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr th {
    font-weight: 600;
    text-align: left;
}

body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr td {
    text-align: right;
    font-weight: 600;
}

/* Total row */
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.order-total th,
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.order-total td {
    font-size: 18px;
    font-weight: 700;
    border-top: 2px solid #1a1a1a;
    border-bottom: none;
    padding-top: 18px;
}

body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.order-total td .woocommerce-Price-amount {
    color: var(--e-global-color-7291a7d);
    font-size: 18px;
    font-weight: 700;
}

/* Payment method row in tfoot */
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.payment-method th,
body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.payment-method td {
    border-bottom: none;
    color: #555;
    font-size: 14px;
    font-weight: 400;
    padding-top: 6px;
}

/* ============================================================
   Payment Section  (#payment)
   ============================================================ */

body.woocommerce-order-pay #payment {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}

/* ── Payment Methods List ── */
body.woocommerce-order-pay #payment ul.payment_methods {
    list-style: none;
    margin: 0 0 0;
    padding: 0;
    border: 1px solid #d8d8d8;
}

body.woocommerce-order-pay #payment ul.payment_methods li.wc_payment_method {
    padding: 0;
    border-bottom: 1px solid #d8d8d8;
    background: #fff;
}

body.woocommerce-order-pay #payment ul.payment_methods li.wc_payment_method:last-child {
    border-bottom: none;
}

/* ── Payment Method Label ── */
body.woocommerce-order-pay #payment ul.payment_methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    cursor: pointer;
    font-family: "ff-din-paneuropean", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: background 0.2s ease;
    margin: 0;
    user-select: none;
}

body.woocommerce-order-pay #payment ul.payment_methods li label:hover {
    background: #f7f7f7;
}

/* Card brand icons */
body.woocommerce-order-pay #payment ul.payment_methods li label img {
    height: 22px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}

/* ── Custom Radio Button ── */
body.woocommerce-order-pay #payment ul.payment_methods li input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 2px solid #bbb;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin: 0;
    flex-shrink: 0;
    transition: border-color 0.2s ease, background 0.2s ease;
    outline: none;
    box-shadow: none;
}

body.woocommerce-order-pay #payment ul.payment_methods li input[type="radio"]:checked {
    border-color: var(--e-global-color-7291a7d);
    background: var(--e-global-color-7291a7d);
}

body.woocommerce-order-pay #payment ul.payment_methods li input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

body.woocommerce-order-pay #payment ul.payment_methods li input[type="radio"]:focus,
body.woocommerce-order-pay #payment ul.payment_methods li input[type="radio"]:focus-visible {
    outline: none;
    box-shadow: none;
}

/* ── Payment Box (card form / PayPal form) ── */
body.woocommerce-order-pay #payment div.payment_box {
    padding: 20px 20px 24px;
    background: #f7f7f7;
    border-top: 1px solid #d8d8d8;
    margin: 0;
}

body.woocommerce-order-pay #payment div.payment_box::before,
body.woocommerce-order-pay #payment div.payment_box::after {
    display: none !important;
    content: none !important;
}

/* Form rows inside payment box */
body.woocommerce-order-pay #payment div.payment_box .form-row,
body.woocommerce-order-pay #payment div.payment_box p.form-row {
    margin: 0 0 14px;
    padding: 0;
}

body.woocommerce-order-pay #payment div.payment_box .form-row:last-child,
body.woocommerce-order-pay #payment div.payment_box p.form-row:last-child {
    margin-bottom: 0;
}

/* Labels inside payment box */
body.woocommerce-order-pay #payment div.payment_box label {
    display: block;
    font-family: "ff-din-paneuropean", sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    padding: 0 !important;
    cursor: default;
}

/* Text/select inputs inside payment box */
body.woocommerce-order-pay #payment div.payment_box input[type="text"],
body.woocommerce-order-pay #payment div.payment_box input[type="tel"],
body.woocommerce-order-pay #payment div.payment_box input[type="number"],
body.woocommerce-order-pay #payment div.payment_box input[type="email"],
body.woocommerce-order-pay #payment div.payment_box select {
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid #d0d0d0;
    background: #fff;
    font-family: "ff-din-paneuropean", sans-serif;
    font-size: 15px;
    color: #1a1a1a;
    box-sizing: border-box;
    outline: none;
    border-radius: 0;
    -webkit-appearance: none;
    transition: border-color 0.2s ease;
}

body.woocommerce-order-pay #payment div.payment_box input[type="text"]:focus,
body.woocommerce-order-pay #payment div.payment_box input[type="tel"]:focus,
body.woocommerce-order-pay #payment div.payment_box input[type="number"]:focus,
body.woocommerce-order-pay #payment div.payment_box input[type="email"]:focus,
body.woocommerce-order-pay #payment div.payment_box select:focus {
    border-color: var(--e-global-color-7291a7d);
}

/* Stripe iframe containers */
body.woocommerce-order-pay #payment div.payment_box .wc-stripe-elements-field,
body.woocommerce-order-pay #payment div.payment_box #stripe-card-element,
body.woocommerce-order-pay #payment div.payment_box #stripe-exp-element,
body.woocommerce-order-pay #payment div.payment_box #stripe-cvc-element,
body.woocommerce-order-pay #payment div.payment_box .stripe-card-group {
    height: 50px;
    padding: 14px;
    border: 1px solid #d0d0d0;
    background: #fff;
    box-sizing: border-box;
    border-radius: 0;
    transition: border-color 0.2s ease;
}

body.woocommerce-order-pay #payment div.payment_box .wc-stripe-elements-field.focused,
body.woocommerce-order-pay #payment div.payment_box .wc-stripe-elements-field:focus-within {
    border-color: var(--e-global-color-7291a7d);
}

/* Side-by-side exp + cvc */
body.woocommerce-order-pay #payment div.payment_box .form-row-first,
body.woocommerce-order-pay #payment div.payment_box .form-row-last {
    float: none;
    display: inline-block;
    width: calc(50% - 8px);
    box-sizing: border-box;
}

body.woocommerce-order-pay #payment div.payment_box .form-row-first {
    margin-right: 16px;
}

body.woocommerce-order-pay #payment div.payment_box .wc-stripe-cc-form::after,
body.woocommerce-order-pay #payment div.payment_box .wc-credit-card-form::after,
body.woocommerce-order-pay #payment div.payment_box fieldset::after {
    content: "";
    display: table;
    clear: both;
}

/* Stripe UPE (newer single-block payment element) */
body.woocommerce-order-pay #payment div.payment_box #wc-stripe-upe-element,
body.woocommerce-order-pay #payment div.payment_box .wc-stripe-upe-form {
    padding: 4px 0 0;
}

/* Country select wrapper arrow */
body.woocommerce-order-pay #payment div.payment_box .country_select,
body.woocommerce-order-pay #payment div.payment_box select#stripe-billing_country,
body.woocommerce-order-pay #payment div.payment_box select.billing_country {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a' width='24' height='24'%3E%3Cpath fill-rule='evenodd' d='M18.2546728%2C8.18171329 L18.9617796%2C8.88882007 L12.5952867%2C15.2537133 L12.5978964%2C15.2558012 L11.8907896%2C15.962908 L11.8882867%2C15.9607133 L11.8874628%2C15.9617796 L11.180356%2C15.2546728 L11.1812867%2C15.2527133 L4.81828671%2C8.88882007 L5.52539349%2C8.18171329 L11.8882867%2C14.5457133 L18.2546728%2C8.18171329 Z'%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 18px;
    padding-right: 40px;
    cursor: pointer;
}

/* ── Place Order / Pay Button ── */
body.woocommerce-order-pay #payment .place-order {
    margin-top: 24px;
    padding: 0;
}

body.woocommerce-order-pay #payment .place-order #place_order,
body.woocommerce-order-pay #payment .place-order button[type="submit"] {
    display: block;
    width: 100%;
    height: 56px;
    padding: 0;
    font-family: "Oxanium", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff !important;
    background: var(--e-global-color-7291a7d) !important;
    border: none !important;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease;
}

body.woocommerce-order-pay #payment .place-order #place_order:hover,
body.woocommerce-order-pay #payment .place-order button[type="submit"]:hover {
    background: var(--e-global-color-782a01f) !important;
}

/* ── Privacy Policy text ── */
body.woocommerce-order-pay #payment .place-order .woocommerce-privacy-policy-text {
    font-family: "ff-din-paneuropean", sans-serif;
    font-size: 12px;
    color: #888;
    margin-bottom: 14px;
    line-height: 1.6;
}

/* ── Notices ── */
body.woocommerce-order-pay .woocommerce-info,
body.woocommerce-order-pay .woocommerce-message,
body.woocommerce-order-pay .woocommerce-error {
    font-family: "ff-din-paneuropean", sans-serif;
    margin-bottom: 24px;
}

/* ── Tablet ── */
@media (max-width: 991px) {
    body.woocommerce-order-pay .woocommerce {
        padding: 24px 0;
    }
}

/* ── Mobile ── */
@media (max-width: 767px) {
    body.woocommerce-order-pay .woocommerce {
        padding: 0 0;
    }

    body.woocommerce-order-pay .woocommerce h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    body.woocommerce-order-pay .woocommerce table.shop_table thead th {
        font-size: 12px;
    }

    body.woocommerce-order-pay .woocommerce table.shop_table tbody tr td,
    body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr th,
    body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr td {
        font-size: 14px;
    }

    body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.order-total th,
    body.woocommerce-order-pay .woocommerce table.shop_table tfoot tr.order-total td {
        font-size: 16px;
    }

    body.woocommerce-order-pay #payment ul.payment_methods li label {
        padding: 14px 16px;
        font-size: 13px;
    }

    body.woocommerce-order-pay #payment div.payment_box {
        padding: 16px 16px 20px;
    }

    body.woocommerce-order-pay #payment div.payment_box .form-row-first,
    body.woocommerce-order-pay #payment div.payment_box .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    body.woocommerce-order-pay #payment .place-order #place_order {
        font-size: 15px;
        height: 50px;
    }
}