.elementor-kit-19849{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#8E0000;--e-global-color-8ebe9e3:#121212;--e-global-color-61c64ef:#9E0604;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-primary );color:#FFFFFF;font-family:"Inter", Sans-serif;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:250ms;}.elementor-kit-19849 button,.elementor-kit-19849 input[type="button"],.elementor-kit-19849 input[type="submit"],.elementor-kit-19849 .elementor-button{background-color:#404040;color:#FFFFFF;}.elementor-kit-19849 button:hover,.elementor-kit-19849 button:focus,.elementor-kit-19849 input[type="button"]:hover,.elementor-kit-19849 input[type="button"]:focus,.elementor-kit-19849 input[type="submit"]:hover,.elementor-kit-19849 input[type="submit"]:focus,.elementor-kit-19849 .elementor-button:hover,.elementor-kit-19849 .elementor-button:focus{background-color:var( --e-global-color-accent );color:#FFFFFF;}.elementor-kit-19849 e-page-transition{background-color:#000000;}.elementor-kit-19849 a{color:#FFFFFF;font-weight:bold;}.elementor-kit-19849 a:hover{color:#E4E4E4;}.elementor-kit-19849 h1{color:#FFFFFF;font-weight:900;}.elementor-kit-19849 h2{color:#FFFFFF;font-weight:800;}.elementor-kit-19849 h3{color:#FFFFFF;font-weight:800;}.elementor-kit-19849 h4{color:#FFFFFF;}.elementor-kit-19849 h5{color:#FFFFFF;}.elementor-kit-19849 h6{color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1500px;}.e-con{--container-max-width:1500px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.woocommerce-variation-availability {
    display: none;
}

.e-3163dcf-e6212aa {
    flex-direction: column !important;
}



/* Hide the dropdowns but keep them in the DOM for WC's JS */
.woocommerce-variation-add-to-cart .variations select {
    position: absolute !important;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.ws-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 0;
}

.ws-swatch {
    min-width: 48px;
    min-height: 44px;
    padding: 8px 14px;
    border: 2px solid #d9d9d9;
    background: #fff;
    color: #111;
    font: 600 14px/1 inherit;
    cursor: pointer;
    border-radius: 4px;
    transition: border-color .12s, transform .12s, box-shadow .12s;
}
.ws-swatch:hover { border-color: #111; transform: translateY(-1px); }
.ws-swatch.selected {
    border-color: #111;
    box-shadow: 0 0 0 1px #111 inset;
}
.ws-swatch.disabled {
    opacity: .35;
    cursor: not-allowed;
    text-decoration: line-through;
}
.ws-swatch.disabled:hover { border-color: #d9d9d9; transform: none; }

/* Color swatches: bare circle, no text */
.ws-swatch.ws-swatch-color {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    border-radius: 50%;
    border-width: 2px;
    text-indent: -9999px;
    overflow: hidden;
}
.ws-swatch.ws-swatch-color.selected {
    box-shadow: 0 0 0 2px #fff inset, 0 0 0 4px #111 inset;
}





/* ============================================================
   WOOCOMMERCE CART & CHECKOUT — FULL STYLES (v2)
   Hello Theme + Elementor + WooCommerce
   Dark theme · desktop two-column · mobile cards
   Brand red primary CTAs · fixed cart table column widths
   ============================================================ */

/* Brand accent (change once here if you want a different red) */
:root {
    --otx-red: #c40000;
    --otx-red-hover: #8b0000;
}


/* ===== 1. SHARED BASE ========================================= */

.woocommerce, .woocommerce-page,
.wc-block-cart, .wc-block-checkout,
.wc-block-components-form {
    color: #ececec;
}

.woocommerce h1, .woocommerce h2, .woocommerce h3,
.cart_totals h2,
.wc-block-components-totals-header__title,
.wc-block-components-checkout-step__title {
    color: #fff !important;
}

.woocommerce a { color: #fff; }
.woocommerce a:hover { color: #ddd; }

/* Form inputs */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #555 !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
    min-height: 48px;
    box-sizing: border-box;
    width: 100%;
}
.woocommerce input:focus,
.wc-block-components-text-input input:focus {
    border-color: #fff !important;
    outline: 2px solid #fff !important;
    outline-offset: 1px;
}

/* Labels */
.woocommerce label,
.wc-block-components-form-label,
.wc-block-components-checkbox__label {
    color: #ececec !important;
    font-weight: 600;
    font-size: 14px;
}

/* Default buttons (Update cart, Apply coupon, etc) — white outline */
.woocommerce .button,
.woocommerce button.button,
.wc-block-components-button {
    background: #fff !important;
    color: #000 !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
    padding: 14px 28px !important;
    min-height: 48px;
    border: 2px solid #fff !important;
    border-radius: 4px !important;
    transition: all .15s ease;
    cursor: pointer;
}
.woocommerce .button:hover,
.wc-block-components-button:hover {
    background: transparent !important;
    color: #fff !important;
}
.woocommerce .button[name="update_cart"] {
    background: transparent !important;
    color: #fff !important;
}

/* PRIMARY CHECKOUT CTAs — brand red so they pop on dark bg */
.wc-proceed-to-checkout .checkout-button,
#place_order,
.wc-block-components-checkout-place-order-button {
    background: var(--otx-red) !important;
    color: #fff !important;
    border: 2px solid var(--otx-red) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.wc-proceed-to-checkout .checkout-button:hover,
#place_order:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: var(--otx-red-hover) !important;
    border-color: var(--otx-red-hover) !important;
    color: #fff !important;
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
    background: #1a1a1a !important;
    border-left: 4px solid #fff !important;
    color: #ececec !important;
    padding: 14px 18px !important;
    border-radius: 4px;
}
.woocommerce-error { border-left-color: var(--otx-red) !important; }
.woocommerce-message { border-left-color: #4caf50 !important; }

/* Cart totals / order summary panels */
.cart_totals, .wc-proceed-to-checkout,
.woocommerce-checkout-review-order,
.wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar {
    background: #131313 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 10px;
    padding: 24px !important;
}

/* Cart totals rows */
.cart_totals table,
.cart_totals table tbody,
.cart_totals table tr,
.cart_totals table th,
.cart_totals table td {
    background: transparent !important;
    color: #ececec !important;
    border-color: #2a2a2a !important;
}
.cart_totals table { display: table !important; width: 100%; }
.cart_totals table tbody { display: table-row-group !important; }
.cart_totals table tr { display: table-row !important; }
.cart_totals table th, .cart_totals table td {
    display: table-cell !important;
    padding: 12px 0 !important;
}

/* Payment methods as cards */
.wc_payment_methods li,
.wc-block-components-payment-method-options li {
    background: rgba(255,255,255,0.04);
    border: 1px solid #2a2a2a;
    border-radius: 6px;
    padding: 14px !important;
    margin-bottom: 10px !important;
}
.wc_payment_methods .payment_box {
    background: rgba(255,255,255,0.02) !important;
    color: #ddd !important;
}

/* Quantity controls */
.quantity input.qty,
.wc-block-components-quantity-.elementor-kit-19849 input {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #555 !important;
    text-align: center;
    font-size: 16px !important;
}

/* Remove (×) */
.product-remove a,
.wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(255,80,80,0.15) !important;
    color: #ff7777 !important;
    border-radius: 50%;
    text-decoration: none !important;
}
.product-remove a:hover {
    background: rgba(255,80,80,0.3) !important;
    color: #fff !important;
}


/* ===== 2. CART — DESKTOP (≥ 769px) ============================ */

@media (min-width: 769px) {

    /* Outer layout */
    .woocommerce-cart .woocommerce > .woocommerce-cart-form { width: 62%; float: left; }
    .woocommerce-cart .cart-collaterals { width: 35%; float: right; }
    .woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }

    /* CART TABLE — FIXED LAYOUT with explicit column widths
       (this is the main fix for the broken layout) */
    table.shop_table.cart {
        table-layout: fixed !important;
        width: 100% !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 10px;
        overflow: hidden;
        background: #131313 !important;
        border-collapse: separate;
        border-spacing: 0;
    }
    /* Explicit column widths so the remove (X) and thumb columns
       don't auto-size huge */
    table.shop_table.cart .product-remove    { width: 50px !important; }
    table.shop_table.cart .product-thumbnail { width: 110px !important; }
    table.shop_table.cart .product-name      { width: auto !important; }
    table.shop_table.cart .product-price     { width: 110px !important; text-align: center !important; }
    table.shop_table.cart .product-quantity  { width: 120px !important; text-align: center !important; }
    table.shop_table.cart .product-subtotal  { width: 120px !important; text-align: right !important; }

    /* Header row */
    table.shop_table.cart thead th {
        background: #1a1a1a !important;
        color: #fff !important;
        text-transform: uppercase;
        font-size: 12px;
        letter-spacing: .05em;
        padding: 14px 12px !important;
        border-bottom: 1px solid #2a2a2a !important;
    }

    /* Body rows */
    table.shop_table.cart tbody tr.cart_item td {
        background: transparent !important;
        color: #ececec !important;
        padding: 16px 12px !important;
        border-top: 1px solid #2a2a2a !important;
        vertical-align: middle;
    }
    table.shop_table.cart td.product-thumbnail img {
        width: 90px !important;
        height: 90px !important;
        object-fit: cover;
        border-radius: 6px;
    }
    table.shop_table.cart td.product-name a {
        color: #fff !important;
        font-weight: 600;
        text-decoration: none !important;
    }
    table.shop_table.cart td.product-subtotal {
        font-weight: 700;
        color: #fff !important;
        font-size: 16px;
    }
    table.shop_table.cart td.product-quantity .quantity input.qty {
        width: 72px !important;
        height: 44px !important;
        min-height: 44px;
    }
    table.shop_table.cart td.product-remove a {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }
    table.shop_table.cart tr.cart_item:hover td {
        background: rgba(255,255,255,0.02) !important;
    }

    /* Cart actions row (spans full table via colspan) */
    table.shop_table.cart tr td.actions {
        background: #1a1a1a !important;
        padding: 16px !important;
        border-top: 1px solid #2a2a2a !important;
        text-align: left;
    }
    table.shop_table.cart tr td.actions::before,
    table.shop_table.cart tr td.actions::after {
        content: "";
        display: table;
    }
    .woocommerce-cart-form .coupon {
        display: inline-flex !important;
        gap: 8px;
        vertical-align: middle;
        max-width: 480px;
        width: 60%;
    }
    .woocommerce-cart-form .coupon input.input-text {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
    .woocommerce-cart-form .coupon button {
        flex: 0 0 auto !important;
        white-space: nowrap;
    }
    .woocommerce-cart-form .actions > .button[name="update_cart"] {
        float: right;
        white-space: nowrap;
    }

    /* Cart totals — proper label/value alignment */
    .cart_totals table th {
        text-align: left !important;
        padding: 12px 16px 12px 0 !important;
        width: 40%;
        vertical-align: top;
        font-weight: 600;
    }
    .cart_totals table td {
        text-align: right !important;
        padding: 12px 0 12px 16px !important;
        vertical-align: top;
    }
    .cart_totals .shipping td { line-height: 1.5; }
    .cart_totals .shipping td ul {
        margin: 0 0 6px;
        padding: 0;
        list-style: none;
    }
    .cart_totals .order-total th,
    .cart_totals .order-total td {
        padding-top: 16px !important;
        border-top: 1px solid #2a2a2a !important;
        font-size: 18px;
        font-weight: 700;
        color: #fff !important;
    }

    /* Proceed to Checkout button (red, full-width sidebar block) */
    .wc-proceed-to-checkout {
        margin-top: 16px !important;
        padding: 0 !important;
    }
    .wc-proceed-to-checkout .checkout-button {
        display: block !important;
        width: 100% !important;
        text-align: center;
        white-space: nowrap;
        padding: 16px 12px !important;
        font-size: 15px !important;
    }
}


/* ===== 3. CART — MOBILE (≤ 768px) ============================ */

@media (max-width: 768px) {

    /* Kill table view */
    table.shop_table.cart thead { display: none !important; }
    table.shop_table.cart tr.cart_item td::before { display: none !important; }

    table.shop_table.cart,
    table.shop_table.cart tbody,
    table.shop_table.cart tr,
    table.shop_table.cart td {
        display: block !important;
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        width: auto !important;
    }

    /* Each item = card */
    table.shop_table.cart tr.cart_item {
        display: grid !important;
        grid-template-columns: 80px 1fr auto;
        grid-template-areas:
            "thumb name   remove"
            "thumb price  price"
            "thumb qty    subtotal";
        gap: 8px 14px;
        padding: 14px !important;
        background: #131313 !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 10px;
        margin-bottom: 12px;
        align-items: center;
    }

    table.shop_table.cart td.product-thumbnail { grid-area: thumb; display: block !important; }
    table.shop_table.cart td.product-name      { grid-area: name; }
    table.shop_table.cart td.product-price     { grid-area: price; }
    table.shop_table.cart td.product-quantity  { grid-area: qty; justify-self: start; }
    table.shop_table.cart td.product-subtotal  { grid-area: subtotal; justify-self: end; text-align: right; }
    table.shop_table.cart td.product-remove    { grid-area: remove; text-align: right; }

    table.shop_table.cart td.product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
        max-width: none !important;
        object-fit: cover;
        border-radius: 6px;
        display: block;
    }

    table.shop_table.cart td.product-name {
        font-weight: 600;
        font-size: 15px;
        line-height: 1.3;
        padding-right: 8px !important;
    }
    table.shop_table.cart td.product-name a {
        color: #fff !important;
        text-decoration: none !important;
    }
    table.shop_table.cart td.product-name .wc-item-meta,
    table.shop_table.cart td.product-name .variation {
        margin-top: 4px;
        font-size: 12px;
        color: #888;
        font-weight: 400;
    }
    table.shop_table.cart td.product-name .wc-item-meta li { margin: 0; }

    table.shop_table.cart td.product-price {
        color: #999;
        font-size: 13px;
    }

    table.shop_table.cart td.product-subtotal {
        font-weight: 700;
        font-size: 16px;
        color: #fff !important;
        white-space: nowrap;
        min-width: 70px;
    }

    table.shop_table.cart td.product-quantity .quantity { margin: 0; }
    table.shop_table.cart td.product-quantity input.qty {
        width: 64px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 6px !important;
    }

    table.shop_table.cart td.product-remove a {
        width: 28px;
        height: 28px;
        font-size: 15px;
    }

    .woocommerce-cart-form .coupon {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        margin-bottom: 12px;
    }
    .woocommerce-cart-form .coupon input,
    .woocommerce-cart-form .coupon button,
    .woocommerce-cart-form .actions > .button {
        width: 100% !important;
    }

    .cart-collaterals,
    .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
}


/* ===== 4. CHECKOUT — DESKTOP (≥ 769px) ======================== */

@media (min-width: 769px) {

    .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 1fr 380px !important;
        grid-template-rows: auto 1fr !important;
        column-gap: 32px;
        row-gap: 16px;
        align-items: start;
    }
    .woocommerce-checkout form.checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }
    .woocommerce-checkout form.checkout h3#order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin-top: 0 !important;
        color: #fff !important;
    }
    .woocommerce-checkout form.checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        align-self: start;
        position: sticky;
        top: 100px;
    }

    .woocommerce-checkout #customer_details .col2-set { display: block; }
    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 24px;
    }

    .woocommerce-billing-fields h3,
    .woocommerce-shipping-fields h3,
    .woocommerce-additional-fields h3 {
        color: #fff !important;
        border-bottom: 1px solid #2a2a2a;
        padding-bottom: 12px;
        margin-bottom: 20px;
    }

    .form-row-first { width: 48%; float: left; }
    .form-row-last { width: 48%; float: right; }
    .form-row-wide { width: 100%; clear: both; }

    .woocommerce-checkout-review-order-table,
    .woocommerce-checkout-review-order-table tbody,
    .woocommerce-checkout-review-order-table tr,
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        background: transparent !important;
        color: #ececec !important;
        border-color: #2a2a2a !important;
    }
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 10px 0 !important;
        font-size: 14px;
    }
    .woocommerce-checkout-review-order-table .product-name { text-align: left !important; }
    .woocommerce-checkout-review-order-table .product-total {
        text-align: right !important;
        font-weight: 600;
        color: #fff !important;
    }
    .woocommerce-checkout-review-order-table tfoot th {
        text-align: left !important;
        padding: 10px 0 !important;
    }
    .woocommerce-checkout-review-order-table tfoot td {
        text-align: right !important;
        padding: 10px 0 !important;
    }
    .woocommerce-checkout-review-order-table tfoot tr.order-total th,
    .woocommerce-checkout-review-order-table tfoot tr.order-total td {
        font-size: 17px;
        font-weight: 700;
        color: #fff !important;
        border-top: 1px solid #2a2a2a !important;
        padding-top: 14px !important;
    }

    .woocommerce-checkout #payment {
        background: transparent !important;
        margin-top: 16px;
    }
    .woocommerce-checkout #payment #place_order {
        width: 100% !important;
        padding: 16px !important;
        font-size: 16px !important;
        white-space: nowrap;
    }
}


/* ===== 5. CHECKOUT — MOBILE (≤ 768px) ========================= */

@media (max-width: 768px) {

    .woocommerce-checkout form.checkout { display: block !important; }
    #customer_details .col-1, #customer_details .col-2,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review,
    .wc-block-checkout__main, .wc-block-checkout__sidebar {
        width: 100% !important;
        float: none !important;
        margin-bottom: 24px;
    }
    .wc-block-components-sidebar-layout { flex-direction: column !important; }

    .form-row-first, .form-row-last,
    .form-row[class*="address-field"] {
        width: 100% !important;
        float: none !important;
    }
    .form-row { margin-bottom: 14px !important; }

    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td,
    .wc-block-components-order-summary-item {
        padding: 10px 4px !important;
        font-size: 14px;
    }
    .woocommerce-checkout-review-order-table .order-total td,
    .woocommerce-checkout-review-order-table .order-total th {
        font-size: 17px;
        font-weight: 700;
        color: #fff !important;
        border-top: 1px solid #2a2a2a !important;
    }
    .woocommerce-checkout-review-order {
        background: #131313 !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 10px;
        padding: 20px !important;
    }

    .woocommerce h3, .wc-block-components-checkout-step__title {
        font-size: 18px !important;
        margin: 24px 0 12px !important;
    }

    #place_order,
    .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        font-size: 17px !important;
        padding: 18px !important;
        min-height: 56px !important;
    }
}

/* ============================================================
   CART TOTALS — prevent value wrapping (sidebar layout untouched)
   ============================================================ */

@media (min-width: 769px) {

    /* Let the table auto-size — label column only as wide as its text */
    .cart_totals table {
        table-layout: auto !important;
        width: 100% !important;
    }
    .cart_totals table th {
        width: auto !important;
        white-space: nowrap;
        padding: 12px 24px 12px 0 !important;
        text-align: left !important;
        vertical-align: top;
        font-weight: 600;
    }
    .cart_totals table td {
        width: auto !important;
        padding: 12px 0 !important;
        text-align: right !important;
        vertical-align: top;
    }

    /* Shipping row: stack the method/destination/change-address cleanly */
    .cart_totals .shipping td { line-height: 1.5; }
    .cart_totals .shipping td ul#shipping_method,
    .cart_totals .shipping td .woocommerce-shipping-methods {
        margin: 0 0 6px !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .cart_totals .shipping td ul#shipping_method li {
        margin: 0 !important;
        padding: 0 !important;
    }
    .cart_totals .shipping td .shipping-calculator-button,
    .cart_totals .shipping td .woocommerce-shipping-destination,
    .cart_totals .shipping td .shipping-calculator-form {
        display: block;
        font-size: 13px;
        margin-top: 4px;
        color: #aaa;
    }

    /* If the sidebar still feels too narrow, bump from 35% → 38% */
    .woocommerce-cart .woocommerce > .woocommerce-cart-form { width: 60% !important; }
    .woocommerce-cart .cart-collaterals { width: 38% !important; }
}/* End custom CSS */