/**
 * File Name: vendor.css
 * Description: 
 * Developer: AB-215
 * Created Date: 2026-08-26
 * Last Modified: 2026-08-26
 */

:root {

    /* ---------- Brand / greens ---------- */
    --shop-color-brand: #117a0b;
    /* primary action green: links, focus, coupon btn, accents */
    --shop-color-brand-hover: #0b6507;
    /* darker hover pair for the above */
    --shop-color-surface-dark: #11421b;
    /* dark green panel: cart totals, order review, address card */
    --shop-color-link-bright: #19c900;
    /* shipping-calculator link (see NOTE 1 in summary) */
    --shop-color-white: #ffffff;
    --shop-color-surface-muted: #f1f1f1;
    /* order-received overview strip */
    --shop-color-heading: #172019;
    --shop-color-text: #273129;
    --shop-color-text-muted: #66716b;
    /* labels, info text */
    --shop-color-text-subtle: #68736d;
    /* review-table thead (see NOTE 2) */
    --shop-color-placeholder: #a3aaa5;
    --shop-border-width: 1px;
    --shop-color-border-input: #dfe4df;
    /* form controls + order-total rule */
    --shop-color-border-card: #e1e5e1;
    /* coupon / login cards */
    --shop-color-border-table: #e5e8e5;
    /* review-table thead underline */
    --shop-color-border-row: #edf0ed;
    /* review-table body rows */
    --shop-color-border-cool: #d5d8dc;
    /* cart table + cart inputs (cool grey family) */
    --shop-color-border-cool-strong: #c6ced4;
    /* order-received line items */
    --shop-color-danger: #d92525;
    /* required asterisk */
    --shop-color-danger-border: #d83b3b;
    /* invalid field border (see NOTE 3) */
    --shop-color-remove-hover: red;
    /* cart remove-item hover (see NOTE 3) */
    --color-black: #000;

    /* ---------- Type scale ---------- */
    --shop-fs-xs: 13px;
    --shop-fs-sm: 14px;
    --shop-fs-base: 15px;
    --shop-fs-md: 16px;
    --shop-fs-lg: 18px;
    --shop-fs-xl: 20px;
    --shop-fs-xxl: 21px;
    /* only #order_review_heading (see NOTE 4) */

    /* ---------- Font weights ---------- */
    --shop-fw-light: 300;
    --shop-fw-regular: 400;
    --shop-fw-medium: 500;
    --shop-fw-semibold: 600;
    --shop-fw-bold: 700;

    /* ---------- Line heights ---------- */
    --shop-lh-none: 1;
    --shop-lh-tight: 1.2;
    --shop-lh-snug: 1.3;
    --shop-lh-normal: 1.4;

    /* ---------- Spacing rhythm ----------
       Value-anchored names (space-20 == 20px) rather than xs/sm/md/lg.
       Reason: this file legitimately uses BOTH 15px and 16px, and BOTH
       18px and 20px, in comparable positions. T-shirt names would imply
       a hierarchy that does not exist and invite a dev to swap 15 for 16.
       See "Recommended improvements" for the migration path to a real scale. */
    --shop-space-8: 8px;
    --shop-space-10: 10px;
    --shop-space-15: 15px;
    --shop-space-16: 16px;
    --shop-space-18: 18px;
    --shop-space-20: 20px;
    --shop-space-24: 24px;

    /* ---------- Radii ---------- */
    --shop-radius-xs: 4px;
    /* cart thumbnail */
    --shop-radius-sm: 5px;
    /* form controls */
    --shop-radius-md: 6px;
    /* panels + notices */
    --shop-radius-lg: 8px;
    /* cards */
    --shop-radius-pill: 28px;
    /* coupon apply button */
    --shop-radius-circle: 50%;
    /* cart remove button */

    /* ---------- Control sizing ---------- */
    --shop-control-height: 52px;
    /* input / select desktop */
    --shop-control-height-sm: 48px;
    /* input / select <=575px */
    --shop-control-height-compact: 50px;
    /* coupon input + button, stripe field */
    --shop-size-remove-btn: 30px;
    /* cart remove circle (w/h/line-height are coupled) */
    --shop-size-checkbox: 16px;
    /* deliberately separate from --shop-space-16 */

    /* ---------- Effects ---------- */
    --shop-shadow-focus: 0 0 0 3px rgba(17, 122, 11, 0.08);
    /* derived from --shop-color-brand */
    --shop-transition-fast: .2s ease;
    /* field state changes */
    --shop-transition-base: .25s ease;
    /* button state changes */

    /* ---------- Layout: sidebar widths ---------- */
    --shop-cart-aside-width: 330px;
    /* cart totals column, >=1025px */
    --shop-checkout-aside-min: 360px;
    /* order review column, >=1025px */
    --shop-checkout-aside-min-tablet: 300px;
    /* order review column, 768-1024px */
    --shop-bp-sm: 576px;
    --shop-bp-md: 768px;
    --shop-bp-lg: 992px;
    --shop-bp-xl: 1025px;
}


/* =========================================================
   CART
   ========================================================= */

.elementor-widget-woocommerce-cart .woocommerce table.shop_table * {
    box-sizing: border-box !important;
}

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
    padding: var(--shop-space-20);
    background-color: var(--shop-color-surface-dark);
    border-radius: var(--shop-radius-md);
    border: 0 !important;
}

.woocommerce-page .cart-collaterals .woocommerce-shipping-calculator .shipping-calculator-form label {
    color: var(--shop-color-white);
}

.woocommerce-page .cart-collaterals .woocommerce-shipping-calculator .shipping-calculator-form .select2-container--default .select2-selection .select2-selection__rendered {
    outline: 0;
    padding: 10px 12px;
    line-height: 1.672;
    color: var(--color-black);
}

.elementor-widget-woocommerce-cart .woocommerce .cart_totals h2 {
    color: var(--shop-color-white);
    font-size: var(--shop-fs-xl);
}

.elementor-widget-woocommerce-cart .e-cart__container {
    grid-template-columns: 1fr var(--shop-cart-aside-width);
}

.elementor-widget-woocommerce-cart .woocommerce .cart th {
    padding: var(--shop-space-15) var(--shop-space-10);
    border-bottom: var(--shop-border-width) solid var(--shop-color-border-cool) !important;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td {
    padding-inline: var(--shop-space-10);
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-remove {
    min-width: 40px;
    width: 60px;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-thumbnail {
    min-width: 80px;
    width: 100px;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-price {
    min-width: 80px;
    width: 100px;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-subtotal {
    min-width: 80px;
    width: 110px;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-quantity {
    min-width: 100px;
    width: 100px;
}

.elementor-widget-woocommerce-cart .woocommerce .cart th.product-name {
    width: auto;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove {
    padding: var(--shop-space-10) var(--shop-space-10) var(--shop-space-10) var(--shop-space-20);
    text-align: center;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove .remove {
    width: var(--shop-size-remove-btn);
    height: var(--shop-size-remove-btn);
    border: var(--shop-border-width) solid var(--shop-color-border-cool);
    line-height: var(--shop-size-remove-btn);
    text-align: center;
    border-radius: var(--shop-radius-circle);
    font-weight: var(--shop-fw-light);
    background-color: var(--shop-color-white);
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove .remove:hover {
    background-color: var(--shop-color-remove-hover);
    color: var(--shop-color-white) !important;
    border-color: var(--shop-color-remove-hover);
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail a {
    padding-top: 88px;
    position: relative;
    display: block;
    border-radius: var(--shop-radius-xs);
    overflow: hidden;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail a img {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    top: 0;
    left: 0;
}

.elementor-widget-woocommerce-cart .woocommerce table.cart td.product-name a {
    color: var(--theme-black) !important;
    font-size: var(--shop-fs-md);
    font-weight: var(--shop-fw-semibold);
    line-height: var(--shop-lh-tight);
}

body.woocommerce-page .cart-section .no-margin h2 {
    margin-bottom: 0 !important;
}

.elementor-widget-woocommerce-cart .woocommerce .input-text.qty {
    text-align: center;
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table .actions {
    padding: var(--shop-space-10) var(--shop-space-20);
}

.elementor-widget-woocommerce-cart .woocommerce .coupon .form-row.coupon-col {
    padding: var(--shop-space-15) var(--shop-space-20);
    display: flex;
}

.woocommerce ul#shipping_method li label {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: var(--shop-space-15);
    color: var(--shop-color-white) !important;
}

.elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-destination {
    color: var(--shop-color-white) !important;
}

.elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-calculator .shipping-calculator-button {
    color: var(--shop-color-link-bright) !important;
}

.elementor-widget-woocommerce-cart .woocommerce .woocommerce-shipping-calculator .shipping-calculator-button:hover {
    color: var(--shop-color-white) !important;
}

.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr.order-total td[data-title="Total"],
.elementor-widget-woocommerce-cart .woocommerce table.shop_table tr.cart-subtotal td[data-title="Subtotal"] {
    padding-inline-end: 0 !important;
}

.elementor-widget-woocommerce-cart .e-cart-section:last-child {
    border: 0 !important;
}

.elementor-widget-woocommerce-cart .woocommerce .coupon-col-start .input-text {
    border: var(--shop-border-width) solid var(--shop-color-border-cool) !important;
}

.woocommerce-message {
    border-top-color: var(--theme-green) !important
}

.woocommerce-info {
    border-top-color: var(--theme-green) !important
}

/* Breakpoints */
@media (width < 1025px) {
    .elementor-widget-woocommerce-cart .woocommerce .coupon-col-start {
        padding-inline-end: var(--shop-space-20);
    }

    .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button {
        width: auto !important;
    }

    .elementor-widget-woocommerce-cart .e-cart-section:last-child {
        margin: 0;
    }
}

@media (width < 992px) {
    .elementor-widget-woocommerce-cart .e-cart__container {
        grid-template-columns: 100%;
    }
}

@media (width < 769px) {
    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        position: relative;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove {
        position: absolute;
        right: -22px;
        top: -22px;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: var(--shop-space-8) 5px;
    }

    .elementor-widget-woocommerce-cart .woocommerce .cart td.product-price {
        margin: 0px 0;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.cart tr:not(:last-child) {
        margin-bottom: var(--shop-space-15);
        border: var(--shop-border-width) solid var(--shop-color-border-cool);
    }

    .elementor-widget-woocommerce-cart .e-cart-section:not(.coupon) {
        border: 0 !important;
    }

    .mycart-column .elementor-widget-wrap {
        box-shadow: none !important;
    }
}

@media (width < 576px) {
    .elementor-widget-woocommerce-cart .woocommerce .coupon-col-start {
        padding-inline-end: 0px;
    }

    .elementor-widget-woocommerce-cart .woocommerce .coupon .form-row.coupon-col {
        flex-flow: column;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .actions .button {
        width: 100% !important;
    }
}

/* =========================================================
   WOOCOMMERCE / ELEMENTOR CHECKOUT
   Modern 2-Column Checkout Layout
   ========================================================= */
.checkout-section .e-checkout__container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(var(--shop-checkout-aside-min), 0.85fr) !important;
    gap: 32px !important;
    align-items: start !important;
    width: 100% !important;
}

.checkout-section .e-checkout__column-start,
.checkout-section .e-checkout__column-end {
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
}

.checkout-section .e-checkout__column-start {
    grid-column: 1 !important;
}

.checkout-section .e-checkout__column-end {
    grid-column: 2 !important;
}

.checkout-section .e-woocommerce-login-section .e-woocommerce-login-anchor .e-login-wrap {
    flex-flow: column;
}

.checkout-section .e-woocommerce-login-section .e-woocommerce-login-anchor .e-login-wrap .e-login-wrap-start {
    width: 100%;
}

.checkout-section .e-woocommerce-login-section .e-woocommerce-login-anchor .e-login-wrap .e-login-wrap-start .form-row {
    width: 100%;
    margin-right: 0 !important;
}

.woocommerce-checkout .select2-dropdown {
    border: var(--shop-border-width) solid var(--shop-color-border-cool);
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields,
.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box,
.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment,
.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .shipping_address,
.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-section {
    padding: var(--shop-space-20);
}

/* .checkout-section .elementor-widget-woocommerce-checkout-page #ship-to-different-address{padding-inline-start: 20px;} */

@media (min-width: 1025px) {
    .checkout-section .e-checkout__column-end {
        position: sticky !important;
        top: 30px !important;
        align-self: start !important;
    }
}


/* REMOVED EMPTY RULESET (no behavioural change - the body was 100%
   commented out, so the selector list produced zero declarations).
   Kept here verbatim as documentation in case it needs reinstating:

   .checkout-section .woocommerce-billing-fields,
   .checkout-section .woocommerce-shipping-fields,
   .checkout-section .woocommerce-additional-fields,
   .checkout-section #order_review,
   .checkout-section #payment,
   .checkout-section .woocommerce-form-coupon-toggle {
       background: var(--shop-color-white) !important;
       border: var(--shop-border-width) solid var(--shop-color-border-card) !important;
       border-radius: var(--shop-radius-lg) !important;
       padding: 28px !important;
       margin-bottom: var(--shop-space-20) !important;
   }
*/


.checkout-section .woocommerce-billing-fields>h3,
.checkout-section .woocommerce-shipping-fields>h3,
.checkout-section .woocommerce-additional-fields>h3 {
    margin-top: 0 !important;
}

.checkout-section h3,
.checkout-section #order_review_heading {
    color: var(--shop-color-heading) !important;
    font-size: var(--shop-fs-xl) !important;
    font-weight: var(--shop-fw-bold) !important;
    line-height: var(--shop-lh-snug) !important;
    margin-top: 0 !important;
    margin-bottom: var(--shop-space-24) !important;
}

.checkout-section label {
    display: block !important;
    color: var(--shop-color-text-muted) !important;
    font-size: var(--shop-fs-sm) !important;
    font-weight: var(--shop-fw-medium) !important;
    line-height: var(--shop-lh-normal) !important;
    margin-bottom: var(--shop-space-8) !important;
}

.checkout-section label .required {
    color: var(--shop-color-danger) !important;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .coupon-container-grid {
    gap: var(--shop-space-15);
    grid-template-columns: 100%;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce button.woocommerce-button {
    width: auto;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .coupon-container-grid .coupon-col-2 {
    text-align: start;
}

.checkout-section .elementor-widget-woocommerce-checkout-page #ship-to-different-address {
    padding-inline-start: var(--shop-space-20);
}

.checkout-section .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods {
    padding-inline-start: 0px;
}

.checkout-section .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods li {
    display: flex;
}

.checkout-section .form-row:not(.place-order, .notes, .woocommerce-SavedPaymentMethods-saveNew) {
    margin-bottom: var(--shop-space-15) !important;
    padding: 0 !important;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-privacy-policy-text p {
    margin-top: 0px;
}

.checkout-section .form-row-first {
    margin-right: var(--shop-space-20) !important;
}

.checkout-section .form-row-last {
    margin-right: 0 !important;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .e-login-wrap-end {
    align-self: self-start;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .e-login-wrap-end .e-login-label {
    display: none !important;
}

.checkout-section input.input-text,
.checkout-section select,
.checkout-section textarea {
    width: 100% !important;
    min-height: var(--shop-control-height) !important;
    padding: 13px var(--shop-space-15) !important;
    border: var(--shop-border-width) solid var(--shop-color-border-input) !important;
    border-radius: var(--shop-radius-sm) !important;
    background: var(--shop-color-white) !important;
    color: var(--shop-color-text) !important;
    font-size: var(--shop-fs-base) !important;
    font-weight: var(--shop-fw-regular) !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color var(--shop-transition-fast), box-shadow var(--shop-transition-fast), background var(--shop-transition-fast) !important;
}

.checkout-section input.input-text::placeholder,
.checkout-section textarea::placeholder {
    color: var(--shop-color-placeholder) !important;
    opacity: 1 !important;
}

.checkout-section input.input-text:focus,
.checkout-section select:focus,
.checkout-section textarea:focus {
    border-color: var(--shop-color-brand) !important;
    background: var(--shop-color-white) !important;
    box-shadow: var(--shop-shadow-focus) !important;
    outline: none !important;
}

.checkout-section textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.checkout-section input[type="checkbox"] {
    width: var(--shop-size-checkbox) !important;
    height: var(--shop-size-checkbox) !important;
    margin: 3px var(--shop-space-8) 0 0 !important;
    accent-color: var(--shop-color-brand) !important;
    vertical-align: middle !important;
}

.checkout-section .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center !important;
    color: var(--shop-color-text-muted) !important;
    font-size: var(--shop-fs-sm) !important;
}

.checkout-section .select2-container {
    width: 100% !important;
}

.checkout-section .select2-container .select2-selection--single {
    height: var(--shop-control-height) !important;
    border: var(--shop-border-width) solid var(--shop-color-border-input) !important;
    border-radius: var(--shop-radius-sm) !important;
    background: var(--shop-color-white) !important;
}

.checkout-section .select2-container .select2-selection__rendered {
    line-height: var(--shop-lh-none) !important;
    padding-left: var(--shop-space-15) !important;
    color: var(--shop-color-text) !important;
    font-size: var(--shop-fs-base) !important;
    padding-block: var(--shop-space-18) !important;
}

.checkout-section .select2-container .select2-selection__arrow {
    height: 50px !important;
    right: var(--shop-space-8) !important;
}

.checkout-section .woocommerce-form-login-toggle .woocommerce-info {
    margin: 0 !important;
    padding: var(--shop-space-18) var(--shop-space-20) !important;
    background: var(--shop-color-white) !important;
    border: var(--shop-border-width) solid var(--shop-color-border-card) !important;
    border-radius: var(--shop-radius-lg) !important;
    color: var(--shop-color-text-muted) !important;
    font-size: var(--shop-fs-base) !important;
}

.checkout-section .woocommerce-form-login-toggle a {
    color: var(--shop-color-brand) !important;
    font-weight: var(--shop-fw-semibold) !important;
    text-decoration: none !important;
}

.checkout-section .woocommerce-form-login-toggle a:hover {
    text-decoration: underline !important;
}

.checkout-section .woocommerce-form-login {
    background: var(--shop-color-white) !important;
    border: var(--shop-border-width) solid var(--shop-color-border-card) !important;
    border-radius: var(--shop-radius-lg) !important;
    padding: 28px !important;
    margin-bottom: var(--shop-space-20) !important;
}

.checkout-section .woocommerce-form-login .form-row {
    margin-bottom: var(--shop-space-16) !important;
}

.checkout-section #order_review {
    padding: var(--shop-space-20) !important;
    background-color: var(--shop-color-surface-dark);
    border-radius: var(--shop-radius-md);
    border: 0 !important;
}

.checkout-section #order_review .blockUI.blockOverlay {
    background: transparent !important;
}

.checkout-section #order_review .blockUI.blockOverlay:before {
    filter: invert(1);
}

.checkout-section #order_review_heading {
    margin: 0 0 22px !important;
    color: var(--shop-color-heading) !important;
    font-size: var(--shop-fs-xxl) !important;
    font-weight: var(--shop-fw-bold) !important;
}

.checkout-section .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 0 !important;
}

.checkout-section .woocommerce-checkout-review-order-table th,
.checkout-section .woocommerce-checkout-review-order-table td {
    padding: 14px 0 !important;
    border: 0 !important;
    color: var(--shop-color-text) !important;
    font-size: var(--shop-fs-base) !important;
    vertical-align: middle !important;
}

.checkout-section .woocommerce-checkout-review-order-table thead th {
    color: var(--shop-color-text-subtle) !important;
    font-size: var(--shop-fs-xs) !important;
    font-weight: var(--shop-fw-bold) !important;
    border-bottom: var(--shop-border-width) solid var(--shop-color-border-table) !important;
}

.checkout-section .woocommerce-checkout-review-order-table tbody tr {
    border-bottom: var(--shop-border-width) solid var(--shop-color-border-row) !important;
}

.checkout-section .woocommerce-checkout-review-order-table tbody tr:last-child {
    border-bottom: 0 !important;
}

.checkout-section .e-checkout__order_review {
    padding: 0 !important;
    border: 0 !important;
}

.checkout-section .woocommerce-checkout-review-order-table .product-name {
    color: var(--shop-color-white) !important;
}

.checkout-section .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tfoot tr:is(.cart-subtotal, .woocommerce-shipping-totals.shipping) td:last-child {
    text-align: right;
}

.checkout-section .woocommerce-checkout-review-order-table .product-total {
    text-align: right !important;
    font-weight: var(--shop-fw-medium) !important;
    color: var(--shop-color-white) !important;
}

.checkout-section .woocommerce-checkout-review-order-table .cart-subtotal th,
.checkout-section .woocommerce-checkout-review-order-table .cart-subtotal td,
.checkout-section .woocommerce-checkout-review-order-table .shipping th,
.checkout-section .woocommerce-checkout-review-order-table .shipping td {
    padding-top: var(--shop-space-16) !important;
    padding-bottom: var(--shop-space-16) !important;
    color: var(--shop-color-white) !important;
    font-weight: var(--shop-fw-semibold) !important;
}

.checkout-section .woocommerce-checkout-review-order-table .order-total {
    border-top: var(--shop-border-width) solid var(--shop-color-border-input) !important;
}

.checkout-section .woocommerce-checkout-review-order-table .order-total th,
.checkout-section .woocommerce-checkout-review-order-table .order-total td {
    padding-top: var(--shop-space-20) !important;
    padding-bottom: 4px !important;
    color: var(--shop-color-white) !important;
    font-size: var(--shop-fs-xl) !important;
    font-weight: var(--shop-fw-bold) !important;
}

.checkout-section .woocommerce-checkout-review-order-table .order-total td {
    color: var(--shop-color-white) !important;
    text-align: right !important;
    font-weight: var(--shop-fw-regular) !important;
}

.checkout-section .woocommerce-form-coupon-toggle {
    padding: 0 !important;
    overflow: hidden !important;
}

.checkout-section .woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 0 !important;
    padding: var(--shop-space-18) var(--shop-space-20) !important;
    border: 0 !important;
    background: var(--shop-color-white) !important;
    color: var(--shop-color-text-muted) !important;
    font-size: var(--shop-fs-sm) !important;
}

.checkout-section .woocommerce-form-coupon-toggle a {
    color: var(--shop-color-brand) !important;
    font-weight: var(--shop-fw-semibold) !important;
    text-decoration: none !important;
}

.checkout-section form.checkout_coupon {
    display: flex !important;
    gap: 12px !important;
    padding: var(--shop-space-20) !important;
    background: var(--shop-color-white) !important;
    border: var(--shop-border-width) solid var(--shop-color-border-card) !important;
    border-radius: var(--shop-radius-lg) !important;
    margin: 0 0 var(--shop-space-20) !important;
}

.checkout-section form.checkout_coupon .form-row-first {
    width: calc(100% - 130px) !important;
    margin: 0 !important;
}

.checkout-section form.checkout_coupon .form-row-last {
    width: 118px !important;
    margin: 0 !important;
}

.checkout-section form.checkout_coupon input.input-text {
    min-height: var(--shop-control-height-compact) !important;
}

.checkout-section form.checkout_coupon button.button {
    width: 100% !important;
    min-height: var(--shop-control-height-compact) !important;
    border: 0 !important;
    border-radius: var(--shop-radius-pill) !important;
    background: var(--shop-color-brand) !important;
    color: var(--shop-color-white) !important;
    font-size: var(--shop-fs-base) !important;
    font-weight: var(--shop-fw-bold) !important;
    transition: all var(--shop-transition-base) !important;
}

.checkout-section form.checkout_coupon button.button:hover {
    background: var(--shop-color-brand-hover) !important;
    transform: translateY(-1px) !important;
}

.checkout-section #payment {
    padding: var(--shop-space-24) !important;
}

.checkout-section #payment ul.payment_methods {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.checkout-section #payment .payment_box .wc-stripe-payment-method-instruction {
    margin-bottom: var(--shop-space-15);
}

.checkout-section #payment .payment_box .wc-upe-form.wc-payment-form {
    border: 0;
    padding: 0;
}

.checkout-section #payment .payment_box fieldset:has(.woocommerce-SavedPaymentMethods-saveNew) {
    border: 0 !important;
    padding: 0;
}

.checkout-section #payment .payment_box fieldset:has(.wc-stripe-new-payment-method) {
    margin-top: var(--shop-space-15) !important;
}

.checkout-section #payment .payment_box fieldset .woocommerce-SavedPaymentMethods-saveNew {
    display: flex;
}

.checkout-section #payment label {
    color: var(--shop-color-text) !important;
    font-size: var(--shop-fs-base) !important;
    font-weight: var(--shop-fw-medium) !important;
}

.checkout-section #payment input[type="radio"] {
    accent-color: var(--shop-color-brand) !important;
}

.checkout-section #payment .wc-stripe-elements-field,
.checkout-section #payment .wc-stripe-iban-element-field {
    min-height: var(--shop-control-height-compact) !important;
    padding: 12px !important;
    border: var(--shop-border-width) solid var(--shop-color-border-input) !important;
    border-radius: var(--shop-radius-sm) !important;
    background: var(--shop-color-white) !important;
}

.checkout-section .woocommerce-privacy-policy-text a {
    color: var(--theme-green) !important;
    font-weight: var(--shop-fw-semibold) !important;
}

/* =========================================================
   33. VALIDATION / ERROR
   ========================================================= */
.checkout-section .woocommerce-invalid input.input-text,
.checkout-section .woocommerce-invalid select,
.checkout-section .woocommerce-invalid textarea {
    border-color: var(--shop-color-danger-border) !important;
}

.checkout-section .woocommerce-error,
.checkout-section .woocommerce-message {
    border-radius: var(--shop-radius-md) !important;
}

/* =========================================================
   34. REMOVE DEFAULT CLEARFIX ISSUES
   ========================================================= */
.checkout-section .e-checkout__column-start::after,
.checkout-section .e-checkout__column-end::after {
    display: none !important;
}

/* =========================================================
   35. CONTINUE / LINK COLORS
   ========================================================= */
.checkout-section a {
    color: var(--shop-color-brand);
}

.checkout-section a:hover {
    color: var(--shop-color-brand-hover);
}

/* =========================================================
   36. DESKTOP SPACING
   ========================================================= */
@media (min-width: 1025px) {
    .checkout-section .e-checkout__column-start {
        padding-right: 0 !important;
    }

    .checkout-section .e-checkout__column-end {
        padding-left: 0 !important;
    }
}

/* =========================================================
   37. TABLET
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {
    .checkout-section .e-checkout__container {
        grid-template-columns: minmax(0, 1.2fr) minmax(var(--shop-checkout-aside-min-tablet), .8fr) !important;
        gap: var(--shop-space-20) !important;
    }

    .checkout-section .e-checkout__column-end {
        position: static !important;
    }
}

/* =========================================================
   38. MOBILE
   ========================================================= */
@media (max-width: 767px) {
    .checkout-section .e-checkout__container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: var(--shop-space-20) !important;
    }

    .checkout-section .e-checkout__column-start,
    .checkout-section .e-checkout__column-end {
        grid-column: auto !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .checkout-section .e-checkout__column-end {
        position: static !important;
    }

    .checkout-section h3,
    .checkout-section #order_review_heading {
        font-size: var(--shop-fs-lg) !important;
        margin-bottom: var(--shop-space-20) !important;
    }

    .checkout-section .form-row-first,
    .checkout-section .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }

    .checkout-section form.checkout_coupon {
        display: block !important;
        padding: var(--shop-space-16) !important;
    }

    .checkout-section form.checkout_coupon .form-row-first,
    .checkout-section form.checkout_coupon .form-row-last {
        width: 100% !important;
        margin: 0 0 var(--shop-space-10) !important;
    }

    .checkout-section form.checkout_coupon .form-row-last {
        margin-bottom: 0 !important;
    }

    .checkout-section .woocommerce-checkout-review-order-table th,
    .checkout-section .woocommerce-checkout-review-order-table td {
        font-size: var(--shop-fs-sm) !important;
        padding: 11px 0 !important;
    }

    .checkout-section .woocommerce-checkout-review-order-table .order-total th,
    .checkout-section .woocommerce-checkout-review-order-table .order-total td {
        font-size: var(--shop-fs-lg) !important;
    }

    .checkout-section #payment {
        padding: var(--shop-space-18) !important;
    }

    .checkout-section #place_order {
        min-height: 54px !important;
        font-size: var(--shop-fs-md) !important;
    }
}

/* =========================================================
   39. SMALL MOBILE
   ========================================================= */
@media (max-width: 575px) {

    .checkout-section .woocommerce-billing-fields,
    .checkout-section .woocommerce-shipping-fields {
        padding: var(--shop-space-10) 0 !important;
    }

    .checkout-section .woocommerce-additional-fields {
        padding: var(--shop-space-10) var(--shop-space-20) !important;
    }

    .checkout-section input.input-text,
    .checkout-section select,
    .checkout-section textarea {
        min-height: var(--shop-control-height-sm) !important;
        padding: 11px 13px !important;
        font-size: var(--shop-fs-sm) !important;
    }

    .checkout-section #place_order {
        min-height: 52px !important;
        font-size: var(--shop-fs-base) !important;
    }

    .checkout-section .elementor-widget-woocommerce-checkout-page .e-login-actions-wrap {
        flex-flow: column;
    }

}

/* =========================================================
   ORDER RECEIVED / CONFIRMATION
   ========================================================= */
.woocommerce-order-received .woocommerce-order {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.woocommerce-order-received .woocommerce-order .woocommerce-notice {
    width: 100%;
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-overview {
    width: 100%;
    background: var(--shop-color-surface-muted);
    padding: var(--shop-space-20) var(--shop-space-20);
    border-radius: var(--shop-radius-lg);
    justify-content: space-between;
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-details {
    width: calc(65% - var(--shop-space-15));
    margin-right: var(--shop-space-15);
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details {
    width: calc(35% - var(--shop-space-15));
    margin-left: var(--shop-space-15);
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns {
    display: flex;
    flex-direction: column;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns .woocommerce-column {
    width: 100%;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns .woocommerce-column+.woocommerce-column {
    margin-top: 25px;
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-details .woocommerce-order-details__title {
    margin-top: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns .woocommerce-column {
    background-color: var(--shop-color-surface-dark);
    color: var(--shop-color-white);
    border-radius: var(--shop-radius-md);
    padding: var(--shop-space-20);
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns .woocommerce-column .woocommerce-column__title {
    margin-bottom: var(--shop-space-15) !important;
    font-size: var(--shop-fs-xl);
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .woocommerce-columns .woocommerce-column address {
    padding: 0;
    background: transparent;
    border: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-details .order_item td {
    border-bottom: var(--shop-border-width) solid var(--shop-color-border-cool-strong);
}

.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received::before {
    width: 35px;
    height: 35px;
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-overview li {
    padding: 0;
    font-size: var(--shop-fs-md);
    background: transparent;
    width: max-content;
    max-width: 100%;
}

@media (max-width: 991px) {
    .woocommerce-order-received .woocommerce-order .woocommerce-order-details {
        width: 100%;
        margin: 0;
    }

    .woocommerce-order-received .woocommerce-order .woocommerce-customer-details {
        width: 100%;
        margin: 0;
    }

    .woocommerce-order-received .woocommerce-order .woocommerce-order-overview {
        gap: var(--shop-space-20);
        row-gap: 35px;
        justify-content: flex-start;
    }
}

/* Returns & Warranty Policy Page */
.flex-section .elementor-container {
    gap: 25px;
    flex-flow: column;
}

.flex-section .elementor-container .elementor-column {
    width: 100%;
}

.flex-section .elementor-container .elementor-column .elementor-widget-wrap {
    padding: 0;
}

.terms-table th,
.terms-table td {
    text-align: left;
}

.terms-table th:first-child,
.terms-table td:first-child {
    font-weight: bold;
}

/* Returns & Warranty Policy Page */