/* =====================================================================
   2FIFTYUNDERGROUND — CSS Overrides
   Enqueued via mu-plugin (claude-css-overrides.php)
   ===================================================================== */

/* =====================================================================
   SHARED PATTERNS — applied across cart + checkout
   ===================================================================== */

/* Hide step indicators on both pages */
.elementor-18323 .woocommerce_status_bar,
.elementor-18324 .woocommerce_status_bar,
.elementor-18324 #wc-stripe-express-checkout-button-separator {
    display: none !important;
}

/* Diagonal stripe pattern — shared background */
/* Used on: cart left column, checkout sections */
.elementor-18323 .elementor-element.elementor-element-ce7b044,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-section,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .shipping_address,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment {
    background-color: #006a1300 !important;
    background-size: 6px 6px !important;
    background-image: repeating-linear-gradient(
        45deg,
        #0d9a0080 0, #02551c80 1px,
        #3005051e 0, #0c4a1a80 50%
    ) !important;
}

/* Dark green inner background — order review, cart item rows, notices */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart tr.cart_item td,
.elementor-18324 form.woocommerce-checkout #order_review,
.elementor-18323 .elementor-element.elementor-element-55ce907 .woocommerce-notices-wrapper .woocommerce-message,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart-empty.woocommerce-info {
    background-color: rgba(10, 72, 0, 0.37) !important;
}

/* Hide subtotal row, show tax on own line — both pages */
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .cart-subtotal,
.elementor-18324 form.woocommerce-checkout #order_review .cart-subtotal {
    display: none !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .includes_tax,
.elementor-18324 form.woocommerce-checkout #order_review .order-total .includes_tax {
    display: block !important;
}

/* White text in order/totals tables */
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table td,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table td *,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table .amount,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .includes_tax,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .shop_table tbody td {
    color: var(--e-global-color-13ed1179) !important;
}

/* Button base style — bf230d8 typography with shared bg/hover colors */
.elementor-18323 .elementor-element.elementor-element-55ce907 .wc-proceed-to-checkout .checkout-button,
.elementor-18323 .elementor-element.elementor-element-55ce907 .return-to-shop a {
    background-color: var(--e-global-color-18f1832) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-bf230d8-font-size) !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    line-height: var(--e-global-typography-bf230d8-line-height) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 11px 22px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background-color 0.3s ease !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .wc-proceed-to-checkout .checkout-button:hover,
.elementor-18323 .elementor-element.elementor-element-55ce907 .return-to-shop a:hover {
    background-color: var(--e-global-color-6a37f87) !important;
}

/* Smaller button style — cart action buttons (REMOVE, Continue Shopping, Update Cart) */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions a,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions button[name="update_cart"],
.elementor-18323 table.shop_table.cart td.product-remove a.remove::after {
    background-color: var(--e-global-color-18f1832) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: 24px !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    line-height: 30px !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 6px 12px !important;
    white-space: nowrap !important;
    transition: background-color 0.3s ease !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions a:hover,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions button[name="update_cart"]:hover,
.elementor-18323 table.shop_table.cart td.product-remove a.remove:hover::after {
    background-color: var(--e-global-color-6a37f87) !important;
}

/* Stripe overlay on all cart table buttons (overrides Elementor's linear-gradient) */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table .button {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
}

/* Notice/info box style — cart update message + empty cart message */
.elementor-18323 .elementor-element.elementor-element-55ce907 .woocommerce-notices-wrapper .woocommerce-message,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart-empty.woocommerce-info {
    color: var(--e-global-color-13ed1179) !important;
    border-top-color: var(--e-global-color-be8f032) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: 20px !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    padding: 12px 20px !important;
    margin: 30px 30px 8px 30px !important;
}

/* Table header / totals label style — condensed uppercase white */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart th,
.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th {
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: 24px !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    line-height: 30px !important;
}


/* =====================================================================
   CART PAGE — /cart/ (page-id-18323)
   ===================================================================== */

/* 1. Page gradient */
.elementor-18323 {
    background-color: transparent !important;
    background-image: radial-gradient(at top left, #76A90387 34%, #19191900 53%) !important;
}
.elementor-18323 .elementor-element.elementor-element-21d9cf8,
.elementor-18323 .elementor-element.elementor-element-21d9cf8 > .e-con-inner {
    background-color: transparent !important;
    background-image: none !important;
}

/* 2. Section borders */
.elementor-18323 .elementor-element.elementor-element-55ce907 .e-cart-section {
    border: none !important;
}

/* 3. Left column — stripe box padding + clip */
.elementor-18323 .elementor-element.elementor-element-ce7b044 {
    background-clip: content-box !important;
    padding: 10px !important;
}

/* 4. Column alignment */
.elementor-18323 .elementor-element.elementor-element-21d9cf8 > .e-con-inner {
    align-items: stretch !important;
    margin-bottom: 15px !important;
}
.elementor-18323 .elementor-element.elementor-element-554e41f {
    display: flex !important;
    flex-direction: column !important;
}
.elementor-18323 .elementor-element.elementor-element-29f3560 {
    flex: 1 !important;
}

/* 5. Product table */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart thead,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart thead th {
    background-color: transparent !important;
    background-image: none !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart th,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td {
    border: none !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart th.product-remove {
    font-size: 0 !important;
    line-height: 0 !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.product-name a {
    color: var(--e-global-color-13ed1179) !important;
}

/* 6. Remove button */
.elementor-18323 table.shop_table.cart td.product-remove {
    width: 150px !important;
    min-width: 150px !important;
    text-align: right !important;
    padding-right: 30px !important;
}

.elementor-18323 table.shop_table.cart td.product-remove a.remove {
    display: inline-block !important;
    color: transparent !important;
    background-color: transparent !important;
    border: none !important;
    text-decoration: none !important;
    overflow: visible !important;
    position: relative !important;
    margin-top: -8px !important;
}

.elementor-18323 table.shop_table.cart td.product-remove a.remove::after {
    content: "REMOVE" !important;
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    text-indent: 0 !important;
}

/* 7. Actions row — Continue Shopping + Update Cart */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart tr:has(> td.actions) {
    display: table-row !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions {
    display: table-cell !important;
    text-align: right !important;
    background-color: transparent !important;
    padding: 0 !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions .woo-actions-inner {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 4px !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions a,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions button[name="update_cart"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    box-sizing: border-box !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.actions button[name="update_cart"]:disabled {
    mix-blend-mode: color-burn !important;
}
.elementor-element.elementor-element-a8571fb svg path {
    fill: #6B3500 !important;
    cursor: default !important;
}

/* 8. Cart totals */
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals h2 {
    display: none !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .e-cart-totals {
    margin-top: -20px !important;
    padding-top: 0 !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table th,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table td,
.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table tr {
    border: none !important;
}

.elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive tbody th {
    display: table-cell !important;
    background-color: transparent !important;
    background-image: none !important;
    text-align: right !important;
    padding: 5px 15px 5px 0 !important;
    vertical-align: top !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .cart_totals .shop_table td {
    width: 1% !important;
    white-space: nowrap !important;
    padding: 8px 0 8px 0 !important;
    vertical-align: top !important;
}

.elementor-18324 form.woocommerce-checkout #order_review .order-total {
    vertical-align: top;
}

/* 9. Return to Shop — extra margin */
.elementor-18323 .elementor-element.elementor-element-55ce907 .return-to-shop a {
    margin: 0 30px !important;
}

/* 10. Quantity input */
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart td.product-quantity .quantity input.qty.text {
    border: 1px solid var(--e-global-color-13ed1179) !important;
    height: 55px !important;
    min-height: 55px !important;
    max-height: 55px !important;
    box-sizing: border-box !important;
    color: var(--e-global-color-13ed1179) !important;
    background-color: transparent !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart .quantity {
    height: 55px !important;
    overflow: hidden !important;
}

.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart .quantity .q_inc,
.elementor-18323 .elementor-element.elementor-element-55ce907 .shop_table.cart .quantity .q_dec {
    color: var(--e-global-color-13ed1179) !important;
}

/* 11. Loading overlay — shared across cart + checkout */
.elementor-18323 .blockUI.blockOverlay,
.elementor-18324 .blockUI.blockOverlay {
    background-color: transparent !important;
    opacity: 1 !important;
}


/* =====================================================================
   CHECKOUT PAGE — /checkout/ (page-id-18324)
   ===================================================================== */

.elementor-18324 .extra_bg_image {
    background-size: 100%;
    background-repeat: repeat-y;
}

.elementor-18324 .e-checkout__container {
    margin-top: 30px;
}

.elementor-18324 #wc-stripe-express-checkout-element {
    margin-bottom: -20px;
}

.elementor-18324 form.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
    padding-right: 0 !important;
}

.elementor-18324 form.woocommerce-checkout #order_review,
.elementor-18324 form.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
}

.elementor-18324 form.woocommerce-checkout #order_review {
    margin-bottom: 0 !important;
    background-color: #0a48005e;
}

.elementor-18324 form.woocommerce-checkout .e-woocommerce-login-section .e-woocommerce-login-anchor .e-login-wrap {
    display: grid;
    grid-template-columns: auto min-content;
    gap: 20px;
}

.elementor-18324 .form-row label.checkbox {
    padding-left: 0 !important;
}

.elementor-18324 #billing_country_field {
    margin-bottom: 10px;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .form-row label {
    margin-bottom: 0 !important;
    padding: 5px !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .form-row.woocommerce-invalid label {
    color: var(--forms-labels-color) !important;
    background-color: #700000 !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row label {
    margin-top: 5px;
}

.elementor-18324 .select2-container .selection .select2-selection {
    border: 0 !important;
    background-color: #f9fafa !important;
}

.elementor-18324 .select2-container.select2-container--default .select2-selection .select2-selection__arrow {
    transform: translateX(-15px) translateY(-50%) !important;
}

.elementor-18324 .select2-container.select2-container--default.select2-container--open.e-woo-select2-wrapper .select2-dropdown {
    border: 0 !important;
}

.elementor-18324 .select2-container.select2-container--default.select2-container--open.e-woo-select2-wrapper > span {
    color: var(--forms-fields-normal-color) !important;
    background-color: #f5ffd8 !important;
}

.elementor-18324 .select2-container .select2-results .select2-results__option--highlighted {
    color: #000 !important;
    background-color: #B8EB1E !important;
}

.elementor-18324 .select2-container .select2-results .select2-results__option[data-selected=true] {
    color: #333 !important;
    background-color: #e8e8e8 !important;
}

.elementor-18324 form.woocommerce-checkout #order_review .shop_table {
    padding: 18px 30px;
}

/* Form Titles — a6ec044 typography */
.elementor-18324 form.woocommerce-checkout h3 {
    margin: 0 !important;
    margin-bottom: var(--theme-font-h3_margin-bottom) !important;
    padding: 0 !important;
    font-size: var(--e-global-typography-a6ec044-font-size) !important;
    line-height: var(--e-global-typography-a6ec044-line-height) !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .wc_payment_method {
    border: 0;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .wc_payment_method .payment_box {
    background-color: transparent !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box fieldset {
    margin: 0;
    padding: 0;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .payment_methods .payment_box fieldset iframe {
    margin: 0 !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 30px;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
    padding: 18px 30px;
    background-color: #0a48005e;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
    margin-bottom: 5px;
}

/* Checkout sections — padding (stripe bg is in shared section) */
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-checkout__order_review,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-section,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .shipping_address,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout #payment {
    padding: var(--sections-padding, 30px) !important;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce .coupon-container-grid {
    grid-template-columns: auto min-content !important;
    gap: 20px;
}

.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-checkout .button {
    width: auto !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px);
    padding: 11px 22px !important;
}

/* Fix: Side cart flyout — stripe background to match cart/checkout */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__main {
    background-color: #8cc20e !important;
    background-image:
        repeating-linear-gradient(
            45deg,
            #0d9a0080 0, #02551c80 1px,
            #3005051e 0, #0c4a1a80 50%
        ),
        linear-gradient(to right, #ABDD19, #6EA102) !important;
    background-size: 6px 6px, 100% 100% !important;
}

/* Fix: Side cart flyout — remove right corner rounding */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__main {
    border-radius: 28px 0 0 28px !important;
}

/* Fix: Side cart flyout — CHECKOUT button to match cart/checkout pages */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
    background-color: rgba(129, 129, 129, 0.5) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-bf230d8-font-size) !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    line-height: var(--e-global-typography-bf230d8-line-height) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    border-radius: 5px !important;
    padding: 11px 22px !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
    background-color: rgba(255, 97, 0, 0.5) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
}

/* Fix: Side cart flyout — container height clipped to header */
/* The container inherits height:100% from its parent (the header toggle wrapper) */
/* which is only ~101px tall. Force it to cover the full viewport. */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__container {
    height: 100vh !important;
}

/* Fix: Side cart flyout — dark green boxes around products with gap */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__product {
    background-color: rgba(10, 72, 0, 0.37) !important;
    border-radius: 0 !important;
    padding: 30px !important;
    background-clip: padding-box !important;
    margin-bottom: 8px !important;
    border-bottom: none !important;
}

/* Fix: Side cart flyout — REMOVE button styled like cart page */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__product-remove {
    position: absolute !important;
    bottom: 10px !important;
    top: auto !important;
    right: 10px !important;
    width: auto !important;
    height: auto !important;
    border-radius: 5px !important;
    border: none !important;
    overflow: visible !important;
    background-color: rgba(129, 129, 129, 0.5) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    transition: background-color 0.3s ease !important;
}
.elementor-menu-cart__product-remove:hover {
    background-color: rgba(255, 97, 0, 0.5) !important;
}
/* Hide the X pseudo-elements */
.elementor-menu-cart__product-remove::before,
.elementor-menu-cart__product-remove::after {
    display: none !important;
}
/* Show REMOVE text — only the Elementor link, hide the WooCommerce one */
.elementor-menu-cart__product-remove a.elementor_remove_from_cart_button {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    color: transparent !important;
    font-size: 0 !important;
}
.elementor-menu-cart__product-remove a.remove_from_cart_button {
    display: none !important;
}
.elementor-menu-cart__product-remove a::after {
    content: "REMOVE" !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: 14px !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    padding: 4px 8px !important;
    display: block !important;
    text-align: center !important;
}

/* Fix: Side cart flyout — Total styling to match cart page */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.elementor-menu-cart__subtotal {
    text-align: right !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    border-top: none !important;
    border-bottom: none !important;
}
.elementor-menu-cart__subtotal strong,
.elementor-menu-cart__subtotal .woocommerce-Price-amount {
    color: var(--e-global-color-13ed1179) !important;
}

/* Checkout button — right aligned */
.elementor-menu-cart__footer-buttons {
    text-align: right !important;
    display: block !important;
}

/* Fix: Side cart flyout — empty basket message to match cart page */
/* Page: All pages (global side cart widget) */
/* Date: 2026-04-05 */
.woocommerce-mini-cart__empty-message {
    background-color: rgba(10, 72, 0, 0.37) !important;
    color: rgb(255, 255, 255) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: 20px !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    padding: 12px 20px !important;
}

/* Fix: Newsletter signup — hide default spinner and style confirm message */
/* Page: All pages (footer newsletter form) */
/* Date: 2026-04-05 */

/* Hide the default WordPress spinner (bad edges on dark bg) */
.elementor-element-37abd2c .sib_loader {
    display: none !important;
}

/* Default Brevo messages — hidden via JS MutationObserver instead */

/* Disable the greyed-out button look while submitting */
.elementor-element-37abd2c .sib-default-btn:disabled {
    opacity: 0.6 !important;
    cursor: wait !important;
}

/* Confirm message — hidden by default, revealed via slideDown */
/* Newsletter outer wrapper — green background acts as the "border" */
.nl-outer {
    background-color: #B8EB1E;
    border-radius: 13px;
    padding: 3px;
}

/* Newsletter inner wrapper — dark background for the form area */
.nl-inner {
    background-color: #1a1a1a;
    border-radius: 10px;
    padding: 3px 3px 2px 5px;
}

/* Confirm message — sits between inner box and outer green edge */
.newsletter-confirm {
    display: none;
    color: #000000 !important;
    font-family: 'univers-next-pro', sans-serif !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-align: left;
    padding: 5px 8px 3px 8px !important;
    white-space: nowrap !important;
}

/* Remove the original border from the Elementor widget */
.elementor-element-37abd2c {
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    height: auto !important;
}

/* Prevent Brevo default message from ever being visible */
.elementor-element-37abd2c .sib_msg_disp,
.elementor-element-37abd2c .sib-alert-message {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Newsletter confirm tick icon */
.nl-tick {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid #000;
    border-radius: 2px;
    position: relative;
    top: 2px;
    margin-right: 4px;
}
.nl-tick::after {
    content: '';
    display: block;
    position: absolute;
    left: 3px;
    top: 0px;
    width: 4px;
    height: 8px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Fix: Newsletter input — allow flex shrinking on narrow screens */
/* Page: All pages (footer newsletter form) */
/* Date: 2026-04-05 */
.elementor-element-37abd2c .sib-email-area {
    min-width: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
}
.nl-inner {
    overflow: hidden !important;
}

/* Fix: Newsletter + button — larger text */
/* Page: All pages (footer newsletter form) */
/* Date: 2026-04-05 */
.elementor-element-37abd2c .sib-default-btn {
    font-size: 32px !important;
    line-height: 1 !important;
    padding: 3px 9px 9px 10px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* =====================================================================
   YOUR ACCOUNT PAGE — /your-account/ (page-id-22521)
   ===================================================================== */

/* 1. Page gradient */
.elementor-22521 {
    background-color: transparent !important;
    background-image: radial-gradient(at top left, #76A90387 34%, #19191900 53%) !important;
}
.elementor-22521 .elementor-element.elementor-element-9029830,
.elementor-22521 .elementor-element.elementor-element-9029830 > .e-con-inner {
    background-color: transparent !important;
    background-image: none !important;
}

/* Hide the H3 "Your account with us" heading (bad H3 above H2 in document model) */
.elementor-22521 .elementor-element.elementor-element-e49bd53 {
    display: none !important;
}

/* 2. Left column — stripe box with padding + clip */
.elementor-22521 .elementor-element.elementor-element-f37cc11 {
    margin: 10px !important;
    padding: 30px !important;
    background-clip: padding-box !important;
    background-color: #006a1300 !important;
    background-size: 6px 6px !important;
    background-image: repeating-linear-gradient(
        45deg,
        #0d9a0080 0, #02551c80 1px,
        #3005051e 0, #0c4a1a80 50%
    ) !important;
}



/* 4. Form areas — no background, sit against striped column */
.elementor-22521 .woocommerce-form-login,
.elementor-22521 .woocommerce-form-register {
    background-color: transparent !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

/* 5. White text throughout */
.elementor-22521 .elementor-element.elementor-element-f37cc11 h2,
.elementor-22521 .elementor-element.elementor-element-f37cc11 h3,
.elementor-22521 .elementor-element.elementor-element-f37cc11 p,
.elementor-22521 .elementor-element.elementor-element-f37cc11 label,
.elementor-22521 .elementor-element.elementor-element-f37cc11 span,
.elementor-22521 .elementor-element.elementor-element-f37cc11 a,
.elementor-22521 .elementor-element.elementor-element-e49bd53,
.elementor-22521 .elementor-element.elementor-element-e49bd53 p,
.elementor-22521 .woocommerce-form-login label,
.elementor-22521 .woocommerce-form-register label,
.elementor-22521 .woocommerce-privacy-policy-text p {
    color: var(--e-global-color-13ed1179) !important;
}

/* Fix: Force register email label text-align left */
.woocommerce form.register {
    text-align: left !important;
}

/* Reset rememberme checkbox to browser default */
.elementor-22521 input#rememberme {
    all: revert !important;
}

/* Rememberme label — match checkout checkbox label style */
.elementor-22521 .woocommerce-form-login__rememberme {
    padding: 0 !important;
    display: block !important;
}

/* 6. Form inputs — dark background, white text, green border */
.elementor-22521 .woocommerce-form-login input[type="text"],
.elementor-22521 .woocommerce-form-login input[type="password"],
.elementor-22521 .woocommerce-form-login input[type="email"],
.elementor-22521 .woocommerce-form-register input[type="text"],
.elementor-22521 .woocommerce-form-register input[type="password"],
.elementor-22521 .woocommerce-form-register input[type="email"] {
    background-color: #f9fafa !important;
    color: #7a7a7a !important;
    border: none !important;
    padding: 16px !important;
    border-radius: 0 !important;
}

/* 7. Buttons — matching cart/checkout style */
.elementor-22521 .woocommerce-form-login button[type="submit"],
.elementor-22521 .woocommerce-form-register button[type="submit"] {
    background-color: rgba(129, 129, 129, 0.5) !important;
    background-image: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000066 1px, #00000066 2px) !important;
    color: var(--e-global-color-13ed1179) !important;
    font-family: var(--e-global-typography-bf230d8-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-bf230d8-font-size) !important;
    font-weight: var(--e-global-typography-bf230d8-font-weight) !important;
    text-transform: var(--e-global-typography-bf230d8-text-transform) !important;
    letter-spacing: var(--e-global-typography-bf230d8-letter-spacing) !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 11px 22px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}
.elementor-22521 .woocommerce-form-login button[type="submit"]:hover,
.elementor-22521 .woocommerce-form-register button[type="submit"]:hover {
    background-color: rgba(255, 97, 0, 0.5) !important;
}

/* 8. Remember me checkbox label */
.elementor-22521 .woocommerce-form-login .woocommerce-form__label-for-checkbox {
    color: var(--e-global-color-13ed1179) !important;
}

/* 9. Lost password link */
.elementor-22521 .woocommerce-LostPassword a {
    color: var(--e-global-color-be8f032) !important;
}

/* 10. Column alignment */
.elementor-22521 .elementor-element.elementor-element-9029830 > .e-con-inner {
    align-items: stretch !important;
}
.elementor-22521 .elementor-element.elementor-element-58e03f2 {
    display: flex !important;
    flex-direction: column !important;
}
.elementor-22521 .elementor-element.elementor-element-f82fbee {
    flex: 1 !important;
}



/* =====================================================================
   SEARCH BOX — footer "SEARCH FOR SHIT" (data-id c57afdc)
   Match the newsletter "+" button style: green pill on the right.
   Date: 2026-04-11
   ===================================================================== */

/* Container — give it the same 3px inset padding as nl-outer */
.elementor-element-c57afdc {
    padding: 3px !important;
}

/* Hide the icon-only modal opener (white magnifying glass on the left) */
.elementor-element-c57afdc .search_modern > span.search_submit {
    display: none !important;
}

/* Hide all the modal/overlay chrome */
.elementor-element-c57afdc .search_header_wrap,
.elementor-element-c57afdc .search_overlay,
.elementor-element-c57afdc .search_close,
.elementor-element-c57afdc .search_results {
    display: none !important;
}

/* Force the inline form visible (it's normally a hidden popup) */
.elementor-element-c57afdc .search_modern .search_wrap {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: none !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.elementor-element-c57afdc .search_form_wrap {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-c57afdc .search_form {
    display: flex !important;
    align-items: stretch !important;
    gap: 5px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Input — transparent, no border, sits on the dark page background */
.elementor-element-c57afdc .search_field {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-family: 'Univers', sans-serif !important;
    font-size: 16px !important;
    padding: 5px 8px !important;
    outline: none !important;
    box-shadow: none !important;
    height: auto !important;
}

/* Submit button — green square pill like the newsletter "+" button */
.elementor-element-c57afdc button.search_submit {
    background: #B8EB1E !important;
    border: none !important;
    border-radius: 10px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}
.elementor-element-c57afdc button.search_submit::before {
    color: #000 !important;
    font-size: 22px !important;
}

/* Search box — width chain & override theme JS visibility/positioning */
.elementor-element-c57afdc .elementor-element-d9de0e9,
.elementor-element-c57afdc .elementor-widget-container,
.elementor-element-c57afdc .sc_layouts_search,
.elementor-element-c57afdc .search_modern {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}
.elementor-element-c57afdc .search_form_wrap {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.elementor-element-c57afdc .search_form {
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
}
.elementor-element-c57afdc .search_field,
.elementor-element-c57afdc button.search_submit {
    visibility: visible !important;
    position: static !important;
    transform: none !important;
}

/* Search box — kill widget padding so the box hugs the form, fix input height */
.elementor-element-c57afdc .elementor-element-d9de0e9,
.elementor-element-c57afdc .elementor-element-d9de0e9 .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-c57afdc .search_field {
    height: 42px !important;
    line-height: 42px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.elementor-element-c57afdc .search_field::placeholder {
    color: rgba(255,255,255,0.6) !important;
    text-transform: lowercase !important;
    opacity: 1 !important;
}

/* Search box — make input flex to fill, push button to right edge */
.elementor-element-c57afdc .search_field {
    flex: 1 1 0 !important;
    width: 0 !important;
    padding-left: 8px !important;
}
.elementor-element-c57afdc button.search_submit {
    margin-left: auto !important;
}

/* Search box — better flex layout */
.elementor-element-c57afdc .search_form {
    justify-content: space-between !important;
}
.elementor-element-c57afdc .search_field {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 8px !important;
}
.elementor-element-c57afdc button.search_submit {
    margin-left: 0 !important;
    flex-shrink: 0 !important;
}

/* Search box — force flex-basis 0 so theme's width:6em is bypassed */
.elementor-element-c57afdc .search_form .search_field {
    flex: 1 1 0% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 4px !important;
}

/* Search box — kill the form ::after clearfix that's eating flex space */
.elementor-element-c57afdc .search_form::after,
.elementor-element-c57afdc .search_form::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
}

/* Search box — kill widget vertical margin (theme adds 0.5em via .sc_layouts_item) */
.elementor-element-c57afdc .elementor-element.elementor-element-d9de0e9.sc_layouts_item {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Search box — submit button radius 7px */
.elementor-element-c57afdc button.search_submit {
    border-radius: 7px !important;
}

/* Search box — fake-bolden the magnifying glass icon */
.elementor-element-c57afdc button.search_submit::before {
    -webkit-text-stroke: 2.5px #000 !important;
    text-stroke: 2.5px #000 !important;
}

/* Search box — anchor button to right of container at all viewports */
.elementor-element-c57afdc {
    position: relative !important;
}
.elementor-element-c57afdc button.search_submit {
    position: absolute !important;
    right: 3px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
.elementor-element-c57afdc .search_form .search_field {
    padding-right: 50px !important;
}

/* Search box — make search_modern static so absolute button anchors to c57afdc */
.elementor-element-c57afdc .search_modern,
.elementor-element-c57afdc .search_wrap,
.elementor-element-c57afdc .search_form_wrap,
.elementor-element-c57afdc .search_form {
    position: static !important;
}

/* Search box — strip position:relative from intermediate ancestors so the absolute
   button anchors directly to c57afdc */
.elementor-element-c57afdc .elementor-element.elementor-element-d9de0e9,
.elementor-element-c57afdc .e-con-inner,
.elementor-element-c57afdc .elementor-widget-container,
.elementor-element-c57afdc .sc_layouts_search,
.elementor-element-c57afdc .search_modern,
.elementor-element-c57afdc .search_wrap,
.elementor-element-c57afdc .search_form_wrap,
.elementor-element-c57afdc .search_form {
    position: static !important;
}

/* Newsletter input — force 16px at all viewports to suppress iOS auto-zoom */
.elementor-element-37abd2c .sib-email-area,
.elementor-element-37abd2c input[type="email"],
.elementor-element-37abd2c input[type="text"] {
    font-size: 16px !important;
}


/* =====================================================================
   BLUESKY ICON — hijack any "social" link pointing at bsky.app and
   replace its placeholder font glyph with the Bluesky butterfly logo
   (inline SVG via background-image). This lets the trx_addons socials
   panel ship a Bluesky icon even though the icon font doesn't include one.
   Date: 2026-04-11
   ===================================================================== */
a[href*="bsky.app"] [class*="trx_addons_icon-"]::before,
a[href*="bsky.app"] [class^="icon-"]::before {
    content: none !important;
}
a[href*="bsky.app"] [class*="trx_addons_icon-"],
a[href*="bsky.app"] [class^="icon-"] {
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    position: relative !important;
    top: 5px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 530'%3E%3Cpath fill='%23fefefe' d='M135.72 44.03C202.21 93.94 273.72 195.17 300 249.49c26.28-54.32 97.79-155.55 164.28-205.46C512.26 8.04 590-19.84 590 68.85c0 17.71-10.15 148.79-16.11 170.07-20.69 73.95-96.08 92.83-163.15 81.42 117.3 19.95 147.14 86.09 82.7 152.23-122.39 125.59-175.91-31.49-189.63-71.76-2.51-7.38-3.69-10.84-3.71-7.9-.02-2.94-1.2.52-3.71 7.9-13.72 40.27-67.24 197.35-189.63 71.76-64.45-66.14-34.6-132.28 82.7-152.23-67.07 11.41-142.46-7.46-163.15-81.42C20.15 217.64 10 86.56 10 68.85c0-88.69 77.74-60.81 125.72-24.82Z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    color: transparent !important;
}

/* Mobile menu socials — bump icon size to ~2x */
.socials_mobile .social_item,
.socials_mobile .social_icon,
.socials_mobile [class*="trx_addons_icon-"],
.socials_mobile [class^="icon-"] {
    font-size: 28px !important;
}

/* =====================================================================
   SINGLE PRODUCT — strip the white .product background that shows on
   mobile (where children stack and expand the parent box). On desktop the
   parent collapses to 0px so it's invisible there.
   Date: 2026-04-12
   ===================================================================== */
.single-product .product,
body.single-product div.product {
    background-color: transparent !important;
}


/* =====================================================================
   SINGLE PRODUCT — MOBILE SPECS LAYOUT
   On mobile (<=767px), display specifications as a static block below
   the product instead of the horizontal slide-apart animation.
   Desktop animation is completely unaffected.
   Date: 2026-04-12
   ===================================================================== */
@media (max-width: 1023px) {
    /* Flex column on the reveal container so we can reorder children */
    .product-reveal-container {
        display: flex !important;
        flex-direction: column !important;
    }

    /* Product comes first */
    .product-reveal-container .product {
        order: 1 !important;
        position: relative !important;
    }

    /* Specs panel: show statically below the product */
    .product-reveal-container .specifications-wrapper {
        order: 2 !important;
        position: static !important;
        width: 100vw !important;
        height: auto !important;
        overflow: visible !important;
        margin: 20px 0 0 0 !important;
        position: relative !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        border: none !important;
        padding-top: 20px !important;
    }

    /* Specs content: full width, no transforms from the JS */
    .product-reveal-container .specifications-content {
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        padding: 20px !important;
        box-sizing: border-box !important;
    }

    /* Size chart table: fit mobile width */
    .specifications-content .size-chart {
        width: 100% !important;
        font-size: 13px !important;
    }

    /* Hide the trigger button — specs are always visible */
    .show-specifications-btn {
        display: none !important;
    }

    /* Hide the close button */
    .product-reveal-container .specifications-close {
        display: none !important;
    }

    /* Specs heading — break out of content padding to span full width */
    .specifications-wrapper h3 {
        letter-spacing: -3.5px !important;
        margin: 0 -20px 10px -20px !important;
        padding: 0 0 10px 0 !important;
        width: calc(100% + 40px) !important;
        text-align: center !important;
        font-size: 15vw !important;
        line-height: 0.85 !important;
        box-sizing: border-box !important;
    }

    /* Safety: prevent any JS-applied left offsets on gallery/summary */
    .product-reveal-container .woocommerce-product-gallery,
    .product-reveal-container .summary.entry-summary {
        left: 0 !important;
    }

    /* Kill bottom padding so specs panel butts against footer */
    body.single-product .page_content_wrap {
        padding-bottom: 0 !important;
        padding: 120px 0 0 0 !important;
    }
}



/* =====================================================================
   SEARCH RESULTS PAGE — Product archive search (template 23467)
   Match cart/checkout theming.
   Date: 2026-04-12
   ===================================================================== */

/* Page background SVG — applied to page_content_wrap so it spans the full viewport */
body.search-results .page_content_wrap {
    background-image: url("http://2fu-staging.2fiftyunderground.com/wp-content/uploads/2026/02/CheckoutBackgroundFull.svg") !important;
    background-size: 100% !important;
    background-repeat: repeat-y !important;
    background-position: center top !important;
    background-color: transparent !important;
}


/* =====================================================================
   HELP COLUMN (58e03f2) — stop stretching to match the left column height.
   Applies globally across all pages that use this shared section.
   Date: 2026-04-12
   ===================================================================== */
.elementor-element.elementor-element-58e03f2 {
    align-self: flex-start !important;
}




/* Fix: Logo invisible in Firefox — SVG img with no width/height attributes
   collapses to 0px in Firefox when parent is inline/auto width.
   Date: 2026-04-12 */
[data-id="515691f2"] .logo_image {
    width: auto !important;
    height: 54px !important;
}



/* Fix: Mobile logo — display block so it left-aligns instead of centering */
/* Date: 2026-04-12 */
@media (max-width: 1023px) {
    .elementor-element-732b1cc [data-id="f791b04"] .logo_image {
        width: auto !important;
        max-width: none !important;
    }
}




/* Fix: About page newsletter — match footer newsletter style, larger */
/* Page: /about-us/ */
/* Date: 2026-04-12 */

/* Confirmation animation — show then auto-collapse */
@keyframes aboutNlConfirmShow {
    0%   { max-height: 0; opacity: 0; }
    15%  { max-height: 200px; opacity: 1; }
    65%  { max-height: 200px; opacity: 1; }
    100% { max-height: 0; opacity: 0; }
}

/* Outer green wrapper — concentric radius: button(10) + inner gap(5) + outer gap(4) = 19 */
[data-id="c3158d1"] .elementor-shortcode {
    background-color: #B8EB1E !important;
    border-radius: 19px !important;
    padding: 4px !important;
    position: relative !important;
}

/* Dark inner background — pseudo-element, concentric radius: button(10) + gap(5) = 15 */
[data-id="c3158d1"] .elementor-shortcode::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 4px !important;
    left: 4px !important;
    right: 4px !important;
    height: calc(100% - 8px) !important;
    background: #045574 !important;
    border-radius: 15px !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* When confirmation shows, dark area covers only the input row (curved bottom corners visible) */
[data-id="c3158d1"] .elementor-shortcode:has(.sib-alert-message)::before {
    height: auto !important;
    bottom: auto !important;
    top: 4px !important;
    /* Use the same height as the input row: boxInside padding (5+5) + content (~61px) */
    max-height: calc(100% - 8px) !important;
    height: 71px !important;
}

/* Form container — transparent, sits above pseudo, uniform 5px padding */
[data-id="c3158d1"] .sib_signup_box_inside_1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 5px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Hide empty message div before submission */
[data-id="c3158d1"] .sib_msg_disp:not(:has(.sib-alert-message)) {
    display: none !important;
}

/* Confirmation — sits below dark area in green space, green bg covers any dark bleed */
[data-id="c3158d1"] .sib_msg_disp:has(.sib-alert-message) {
    display: block !important;
    order: 99 !important;
    flex-basis: 100% !important;
    margin: 0 !important;
    padding: 0 8px !important;
    background: transparent !important;
    color: #000 !important;
    font-family: 'univers-next-pro', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    overflow: hidden !important;
    animation: aboutNlConfirmShow 4s ease forwards !important;
}

[data-id="c3158d1"] .sib-alert-message,
[data-id="c3158d1"] .sib-alert-message-success {
    color: #000 !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 8px !important;
}

/* Email input — larger version of footer */
[data-id="c3158d1"] .sib-email-area {
    border: none !important;
    background: transparent !important;
    color: #a09c9a !important;
    font-family: 'Univers', sans-serif !important;
    font-size: 22px !important;
    padding: 14px 0 !important;
    margin: 0 10px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 95% !important;
}

/* Email input wrapper — override inline width: 100% */
[data-id="c3158d1"] .sib_signup_box_inside_1 > div[style]:not(.sib_msg_disp) {
    flex: 1 1 auto !important;
    width: auto !important;
    
}

/* Submit button — stretches to fill row height, concentric radius: 10px */
[data-id="c3158d1"] .sib-default-btn {
    background-color: #B8EB1E !important;
    color: #045574 !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 42px !important;
    font-family: 'univers-next-pro-extended', sans-serif !important;
    line-height: 1 !important;
    width: 56px !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 6px 12px 13px 14px !important;
    box-sizing: border-box !important;
}

/* Hide loader spinner */
[data-id="c3158d1"] .sib_loader {
    display: none !important;
}

/* Disable greyed-out button look while submitting */
[data-id="c3158d1"] .sib-default-btn:disabled {
    opacity: 0.6 !important;
    cursor: wait !important;
}

/* Fix: About page newsletter widget — wider to fill more space */

/* Fix: Checkout country dropdown — white background with dark text */
/* Page: /checkout/ */
/* Date: 2026-04-13 */
.select2-container--open .select2-dropdown {
    background-color: #fff !important;
    border: 1px solid #ccc !important;
}
.select2-container--open .select2-results__option {
    color: #333 !important;
}
.select2-container--open .select2-results__option--highlighted {
    background-color: #B8EB1E !important;
    color: #000 !important;
}
.select2-container--open .select2-results__option[aria-selected="true"] {
    background-color: #e8e8e8 !important;
    color: #333 !important;
}
.select2-container--open .select2-search__field {
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
}

/* Fix: Select2 selected option dark background */
/* Date: 2026-04-13 */
.select2-container--open .select2-results__option[aria-selected="true"],
.select2-container--open .select2-results__option--selected,
.select2-container--default .select2-results__option[aria-selected="true"],
.elementor-18324 .select2-results__option[aria-selected="true"],
.elementor-18324 .select2-results__option--selected {
    background-color: #e8e8e8 !important;
    color: #333 !important;
}

/* Fix: Select2 selected option — nuclear specificity override */
/* Date: 2026-04-13 */
body .select2-container--default .select2-results__option[aria-selected="true"],
body .select2-container--default .select2-results__option[data-selected="true"],
body .select2-container .select2-results .select2-results__option[aria-selected="true"],
body .select2-container .select2-results .select2-results__option[data-selected="true"] {
    background-color: #e8e8e8 !important;
    color: #333 !important;
}
body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted {
    background-color: #B8EB1E !important;
    color: #000 !important;
}

/* Fix: Stripe UPE payment fields — force dark text for appearance detection */
/* The Stripe JS reads computed styles from this hidden input to set iframe colours */
/* Page: /checkout/ */
/* Date: 2026-04-13 */
#wc-stripe-hidden-input,
.wc-stripe-hidden-input {
    color: #333 !important;
    background-color: #fff !important;
}



/* Fix: Checkout shipping address toggle — matches site design */
/* Page: /checkout/ */
/* Date: 2026-04-13 */

/* The shipping toggle is an <h3 id="ship-to-different-address"> containing
   a <label> with a <span>. Target all three and override list styles. */
.elementor-18324 h3#ship-to-different-address,
.elementor-18324 #ship-to-different-address {
    background-color: #006a1300 !important;
    background-size: 6px 6px !important;
    background-image: repeating-linear-gradient(
        45deg,
        #0d9a0080 0, #02551c80 1px,
        #3005051e 0, #0c4a1a80 50%
    ) !important;
    padding: var(--sections-padding, 30px) !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    cursor: pointer !important;
    list-style: none !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    color: #fff !important;
}

.elementor-18324 #ship-to-different-address::before,
.elementor-18324 #ship-to-different-address::marker,
.elementor-18324 #ship-to-different-address label span::before,
.elementor-18324 #ship-to-different-address label span::after,
.elementor-18324 #ship-to-different-address label::before,
.elementor-18324 #ship-to-different-address label::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.elementor-18324 #ship-to-different-address label {
    cursor: pointer !important;
    color: #fff !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.elementor-18324 #ship-to-different-address label span,
.elementor-18324 #ship-to-different-address label {
    margin-top: -4px !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 27px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0px !important;
    color: #fff !important;
}

.elementor-18324 #ship-to-different-address input[type="checkbox"],
.elementor-18324 #ship-to-different-address input#ship-to-different-address-checkbox {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    accent-color: #B8EB1E !important;
    background-color: #fff !important;
    border: 2px solid #B8EB1E !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.elementor-18324 .woocommerce-shipping-fields .shipping_address {
    margin-top: 0 !important;
    padding: var(--sections-padding, 30px) !important;
    padding-top: 15px !important;
}

/* Tighten the vertical gap between billing col-1 and shipping toggle col-2 */
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-1 {
    padding-top: var(--sections-padding, 30px) !important;
    padding-right: var(--sections-padding, 30px) !important;
    padding-left: var(--sections-padding, 30px) !important;
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
}
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .col-2 {
    margin-top: 25px !important;
    margin-bottom: 40px !important;
}

/* Fix: Order received page — readability on green banner */
/* Page: /checkout/order-received/ */
/* Date: 2026-04-14 */
.elementor-18324 .woocommerce-notice--success,
.elementor-18324 p.woocommerce-thankyou-order-received {
    color: #fff !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 48px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.3px !important;
    margin-bottom: 20px !important;
}

.elementor-18324 ul.woocommerce-order-overview,
.elementor-18324 ul.woocommerce-thankyou-order-details {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}
.elementor-18324 ul.woocommerce-order-overview li,
.elementor-18324 ul.woocommerce-thankyou-order-details li {
    color: #fff !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.3 !important;
}
.elementor-18324 ul.woocommerce-order-overview li strong,
.elementor-18324 ul.woocommerce-thankyou-order-details li strong {
    color: #fff !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: block !important;
    margin-top: 2px !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
}

/* Fix: Order received — two-column layout */
/* Left col: thank you + order overview, Right col: order details */
/* Page: /checkout/order-received/ */
/* Date: 2026-04-14 */
.elementor-18324 .woocommerce-order {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 30px !important;
    row-gap: 0 !important;
    align-items: start !important;
}
.elementor-18324 .woocommerce-order > .woocommerce_status_bar {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
}
.elementor-18324 .woocommerce-order > p.woocommerce-notice {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
}
.elementor-18324 .woocommerce-order > ul.woocommerce-order-overview {
    grid-column: 1 !important;
    grid-row: 3 !important;
}
.elementor-18324 .woocommerce-order > section.woocommerce-order-details {
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
    margin-top: 0 !important;
    align-self: stretch !important;
}
@media (max-width: 767px) {
    .elementor-18324 .woocommerce-order {
        grid-template-columns: 1fr !important;
    }
    .elementor-18324 .woocommerce-order > .woocommerce_status_bar,
    .elementor-18324 .woocommerce-order > p.woocommerce-notice,
    .elementor-18324 .woocommerce-order > ul.woocommerce-order-overview,
    .elementor-18324 .woocommerce-order > section.woocommerce-order-details {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Order details section — match left column contrast and heading style */
.elementor-18324 section.woocommerce-order-details h2.woocommerce-order-details__title {
    color: #fff !important;
    font-family: 'univers-next-pro-condensed', sans-serif !important;
    font-size: 48px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.3px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}
.elementor-18324 section.woocommerce-order-details,
.elementor-18324 section.woocommerce-order-details table,
.elementor-18324 section.woocommerce-order-details table th,
.elementor-18324 section.woocommerce-order-details table td,
.elementor-18324 section.woocommerce-order-details table tfoot th,
.elementor-18324 section.woocommerce-order-details table tfoot td,
.elementor-18324 section.woocommerce-order-details .woocommerce-Price-amount,
.elementor-18324 section.woocommerce-order-details a {
    color: #fff !important;
}
.elementor-18324 section.woocommerce-order-details table.shop_table,
.elementor-18324 section.woocommerce-order-details table.shop_table tr,
.elementor-18324 section.woocommerce-order-details table.shop_table td,
.elementor-18324 section.woocommerce-order-details table.shop_table th {
    border-color: rgba(255,255,255,0.2) !important;
}

/* Order received — stripe boxes for the two columns */
/* Right column (order details) gets the stripe directly on the section. */
.elementor-18324 .woocommerce-order > section.woocommerce-order-details {
    background-color: #006a1300 !important;
    background-size: 6px 6px !important;
    background-image: repeating-linear-gradient(
        45deg,
        #0d9a0080 0, #02551c80 1px,
        #3005051e 0, #0c4a1a80 50%
    ) !important;
    padding: var(--sections-padding, 30px) !important;
    border-radius: var(--sections-border-radius, 3px) !important;
}

/* Left column: use a pseudo-element as the box background so notice + overview
   appear seamlessly inside one continuous box, regardless of grid row gaps. */
.elementor-18324 .woocommerce-order {
    position: relative !important;
}
.elementor-18324 .woocommerce-order::before {
    content: "" !important;
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    background-color: #006a1300 !important;
    background-size: 6px 6px !important;
    background-image: repeating-linear-gradient(
        45deg,
        #0d9a0080 0, #02551c80 1px,
        #3005051e 0, #0c4a1a80 50%
    ) !important;
    border-radius: var(--sections-border-radius, 3px) !important;
    align-self: stretch !important;
    z-index: 0 !important;
    display: block !important;
}
.elementor-18324 .woocommerce-order > p.woocommerce-notice,
.elementor-18324 .woocommerce-order > ul.woocommerce-order-overview {
    background: transparent !important;
    z-index: 1 !important;
    position: relative !important;
    padding-left: var(--sections-padding, 30px) !important;
    padding-right: var(--sections-padding, 30px) !important;
    border-radius: 0 !important;
}
.elementor-18324 .woocommerce-order > p.woocommerce-notice {
    padding-top: var(--sections-padding, 30px) !important;
    padding-bottom: 10px !important;
    margin: 0 !important;
}
.elementor-18324 .woocommerce-order > ul.woocommerce-order-overview {
    padding-top: 10px !important;
    padding-bottom: var(--sections-padding, 30px) !important;
    margin: 0 !important;
    align-self: start !important;
}

/* Order received — widget fills the full content container width */
.elementor-18324 .elementor-widget-woocommerce-checkout-page {
    width: 100% !important;
    max-width: 100% !important;
}
.elementor-18324 .elementor-widget-woocommerce-checkout-page .elementor-widget-container {
    padding: 0 !important;
    width: 100% !important;
}
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce,
.elementor-18324 .elementor-widget-woocommerce-checkout-page .woocommerce-order {
    max-width: 100% !important;
    width: 100% !important;
}

/* Order received — top & bottom margins so columns have breathing room */
.elementor-18324 .woocommerce-order {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}
