/* ==========================================================
   Rivrun Checkout/Cart CSS v7.0 Final Fix
   Loaded from the theme so checkout works even if Additional CSS is removed.
   ========================================================== */

body.woocommerce-checkout .woocommerce {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 10px !important;
}

body.woocommerce-checkout .rivrun-fast-checkout-wrap {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 6px !important;
}

body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Timer: must stay first/top and full-width inside the checkout form */
body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    --rivrun-reserve-color: #22c55e;
    --rivrun-reserve-ratio: 1;
    --rivrun-reserve-deg: 360deg;
    --rivrun-reserve-border-size: 3px;
    --rivrun-reserve-progress: 100%;
    order: -9999 !important;
    grid-column: 1 / -1 !important;
    position: relative !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 4px 0 !important;
    padding: 7px 9px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.050), rgba(255,255,255,.022)) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 18px rgba(0,0,0,.16) !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

body.woocommerce-checkout .rivrun-checkout-reserve-timer::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: var(--rivrun-reserve-border-size);
    background: conic-gradient(from -90deg, var(--rivrun-reserve-color) 0deg var(--rivrun-reserve-deg), rgba(255,255,255,.10) var(--rivrun-reserve-deg) 360deg);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1;
    transition: padding .35s linear, background .35s linear;
}

body.woocommerce-checkout .rivrun-checkout-reserve-timer::after {
    content: "";
    position: absolute;
    left: 9px;
    right: auto;
    bottom: 4px;
    width: var(--rivrun-reserve-progress);
    height: 2px;
    border-radius: 999px;
    background: var(--rivrun-reserve-color);
    box-shadow: 0 0 10px color-mix(in srgb, var(--rivrun-reserve-color) 55%, transparent);
    transition: width .35s linear, background .35s linear;
}

body.woocommerce-checkout .otxlab-signal-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(37,198,112,.26) !important;
    background: rgba(37,198,112,.12) !important;
    color: rgba(255,255,255,.92) !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .otxlab-signal-tag i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #22c55e;
    animation: otxlabSignalBeep 1s ease-in-out infinite;
}

body.woocommerce-checkout .rivrun-timer-title {
    display: block !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.woocommerce-checkout .rivrun-countdown,
body.woocommerce-cart .rivrun-countdown {
    min-width: 58px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.070) !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-align: center !important;
    letter-spacing: .04em !important;
    font-variant-numeric: tabular-nums !important;
}

body.woocommerce-checkout #customer_details.rivrun-customer-details,
body.woocommerce-checkout #order_review.rivrun-order-review-box {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 13px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.024)) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.065) !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .rivrun-section-heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .rivrun-payment-method-heading {
    margin: 0 0 9px 0 !important;
    color: #fff !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -.03em !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Payment Summary: title first, summary full-width under it */
body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-card {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
}

body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-title-row,
body.woocommerce-checkout #order_review.rivrun-order-review-box #order_review_heading,
body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
}

body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
}

body.woocommerce-checkout .rivrun-money-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.055) !important;
}

body.woocommerce-checkout .rivrun-money-row span {
    color: rgba(255,255,255,.73) !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .rivrun-money-row strong,
body.woocommerce-checkout .rivrun-money-row .woocommerce-Price-amount {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .rivrun-due-today {
    border-color: rgba(37,198,112,.35) !important;
    background: linear-gradient(180deg, rgba(37,198,112,.14), rgba(255,255,255,.040)) !important;
}

body.woocommerce-checkout .rivrun-view-cart-wrap {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-checkout .rivrun-view-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    padding: 5px 11px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    color: rgba(255,255,255,.80) !important;
    text-decoration: none !important;
}

/* Billing fields */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    margin: 0 !important;
}

body.woocommerce-checkout .form-row {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout label {
    margin: 0 0 4px 0 !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

body.woocommerce-checkout .rivrun-address-field-row label {
    font-size: 13px !important;
    color: #fff !important;
}

body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    min-height: 38px !important;
    height: auto !important;
    padding: 8px 10px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.050) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
    outline: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout textarea {
    min-height: 64px !important;
    resize: vertical !important;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
    border-color: rgba(37,198,112,.55) !important;
    box-shadow: 0 0 0 2px rgba(37,198,112,.12), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Payment box */
body.woocommerce-checkout #payment.rivrun-compact-payment {
    margin: 10px 0 0 0 !important;
    padding: 10px !important;
    border-radius: 13px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.030)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.095) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: rgba(37,198,112,.55) !important;
    background: rgba(37,198,112,.13) !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method input[type="radio"] {
    grid-column: 1 !important;
    width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: 0 !important;
    accent-color: #22c55e !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
    grid-column: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label img {
    max-height: 18px !important;
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

body.woocommerce-checkout .payment_box {
    grid-column: 1 / -1 !important;
    margin: 5px 0 0 0 !important;
    padding: 7px 8px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.065) !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 10.5px !important;
    line-height: 1.32 !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 8px 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .rivrun-place-order-button {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 12px 15px !important;
    border-radius: 11px !important;
    border: 1px solid rgba(34,197,94,.78) !important;
    background: linear-gradient(180deg, #31df7c, #15894e) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.22) !important;
    box-shadow: 0 10px 24px rgba(21,128,61,.34), inset 0 1px 0 rgba(255,255,255,.25) !important;
    animation: rivrunPlaceOrderShake 4.4s ease-in-out infinite !important;
}

body.woocommerce-checkout #place_order::before,
body.woocommerce-checkout .rivrun-place-order-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.20) 42%, rgba(255,255,255,.38) 50%, transparent 62%);
    transform: translateX(-130%) skewX(-18deg);
    animation: rivrunPlaceOrderShine 3.1s ease-in-out infinite;
    pointer-events: none;
}

body.woocommerce-checkout #place_order::after,
body.woocommerce-checkout .rivrun-place-order-button::after {
    content: "  🔒";
    font-size: 12px;
}

/* Coupon: inside right payment column, under Place Order */
body.woocommerce-checkout .rivrun-inline-coupon {
    width: 100% !important;
    margin: 10px 0 0 0 !important;
    padding: 9px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
}

body.woocommerce-checkout .rivrun-inline-coupon-title {
    margin: 0 0 7px 0 !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
}

body.woocommerce-checkout .rivrun-inline-coupon-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
    align-items: center !important;
}

body.woocommerce-checkout .rivrun-coupon-input {
    min-height: 36px !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.055) !important;
}

body.woocommerce-checkout .rivrun-apply-coupon-button {
    min-height: 36px !important;
    padding: 7px 12px !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

body.woocommerce-checkout .rivrun-coupon-result {
    margin-top: 7px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout .rivrun-coupon-result.is-error {
    color: #ff9b9b !important;
}

body.woocommerce-checkout .rivrun-coupon-result.is-success {
    color: #86efac !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
    max-width: 980px !important;
    margin: 8px auto !important;
    padding: 9px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.055) !important;
    color: #fff !important;
    font-size: 12px !important;
}

/* Cart page 24-hour timer preserved */
body.woocommerce-cart .rivrun-cart-expiry-timer {
    max-width: 1380px;
    margin: 0 auto 14px auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(231,136,150,.22);
    background: linear-gradient(180deg, rgba(126,17,29,.16), rgba(255,255,255,.040));
    color: #fff;
}

body.woocommerce-checkout .rivrun-timer-expired,
body.woocommerce-cart .rivrun-timer-expired {
    border-color: rgba(239,68,68,.75) !important;
    background: linear-gradient(180deg, rgba(239,68,68,.22), rgba(255,255,255,.040)) !important;
}

@media (max-width: 780px) {
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-checkout .rivrun-fast-checkout-wrap {
        padding: 6px !important;
    }

    body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    body.woocommerce-checkout #customer_details.rivrun-customer-details,
    body.woocommerce-checkout #order_review.rivrun-order-review-box {
        padding: 10px !important;
        border-radius: 12px !important;
    }
}

@media (max-width: 430px) {
    body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        gap: 5px !important;
        padding: 6px 7px !important;
    }

    body.woocommerce-checkout .otxlab-signal-tag {
        font-size: 8px !important;
        padding: 4px 5px !important;
    }

    body.woocommerce-checkout .rivrun-timer-title {
        font-size: 9.6px !important;
    }

    body.woocommerce-checkout .rivrun-countdown {
        min-width: 48px !important;
        padding: 5px 6px !important;
        font-size: 10px !important;
    }

    body.woocommerce-checkout .rivrun-money-row {
        padding: 7px 8px !important;
        gap: 5px !important;
    }

    body.woocommerce-checkout .rivrun-money-row span {
        font-size: 10px !important;
    }

    body.woocommerce-checkout .rivrun-money-row strong,
    body.woocommerce-checkout .rivrun-money-row .woocommerce-Price-amount {
        font-size: 14px !important;
    }

    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
        padding: 6px 7px !important;
        min-height: 36px !important;
    }

    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
        font-size: 10px !important;
    }
}

@keyframes rivrunPlaceOrderShake {
    0%, 72%, 100% { transform: translateX(0); }
    74% { transform: translateX(-1px) rotate(-.30deg); }
    76% { transform: translateX(1px) rotate(.30deg); }
    78% { transform: translateX(-1px) rotate(-.20deg); }
    80% { transform: translateX(1px) rotate(.20deg); }
    82% { transform: translateX(0); }
}

@keyframes rivrunPlaceOrderShine {
    0% { transform: translateX(-130%) skewX(-18deg); }
    46%, 100% { transform: translateX(130%) skewX(-18deg); }
}

@keyframes otxlabSignalBeep {
    0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); opacity: 1; }
    70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); opacity: .72; }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); opacity: 1; }
}

/* ==========================================================
   Rivrun v7.0 Final Top Timer + Payment Grid Fix
   Timer before .rivrun-fast-checkout-wrap, real conic border only.
   ========================================================== */

body.woocommerce-checkout .woocommerce > .rivrun-checkout-reserve-timer,
body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    --rivrun-reserve-color: #22c55e;
    --rivrun-reserve-deg: 360deg;
    --rivrun-reserve-border-size: 3px;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto 8px auto !important;
    padding: 8px 10px !important;
    position: relative !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 13px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.024)) !important;
    color: #fff !important;
    overflow: hidden !important;
    isolation: isolate !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 20px rgba(0,0,0,.18) !important;
}

body.woocommerce-checkout .rivrun-checkout-reserve-timer::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    padding: var(--rivrun-reserve-border-size) !important;
    background: conic-gradient(from -90deg, var(--rivrun-reserve-color) 0deg, var(--rivrun-reserve-color) var(--rivrun-reserve-deg), rgba(255,255,255,.10) var(--rivrun-reserve-deg), rgba(255,255,255,.10) 360deg) !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask-composite: exclude !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: padding .35s linear, background .35s linear !important;
}

/* No bottom progress bar: only animated conic border remains */
body.woocommerce-checkout .rivrun-checkout-reserve-timer::after {
    content: none !important;
}

body.woocommerce-checkout .rivrun-fast-checkout-wrap {
    margin-top: 0 !important;
}

body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    display: none !important;
}

body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-card {
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-title-row,
body.woocommerce-checkout #order_review.rivrun-order-review-box #order_review_heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 8px 0 !important;
    clear: both !important;
}

body.woocommerce-checkout .rivrun-view-cart-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 0 8px 0 !important;
}

body.woocommerce-checkout .rivrun-view-cart-button,
body.woocommerce-checkout a.rivrun-view-cart-button.button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 22px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(96,165,250,.42) !important;
    background: rgba(37,99,235,.12) !important;
    color: rgba(191,219,254,.94) !important;
    box-shadow: none !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

/* Payment methods must sit side by side and stay dynamic for any gateway count */
body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    gap: 7px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.095) !important;
    color: #fff !important;
    box-sizing: border-box !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: rgba(34,197,94,.58) !important;
    background: rgba(34,197,94,.14) !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method input[type="radio"] {
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: 0 !important;
    accent-color: #22c55e !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
    flex: 1 1 calc(100% - 22px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label img {
    max-height: 18px !important;
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method .payment_box {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 7px 0 0 0 !important;
    padding: 7px 8px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.065) !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 10.5px !important;
    line-height: 1.32 !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .rivrun-place-order-button {
    background: linear-gradient(180deg, #29f27e 0%, #18c95d 55%, #0b8f3a 100%) !important;
    border-color: rgba(34,197,94,.92) !important;
    box-shadow: 0 12px 30px rgba(22,163,74,.42), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

@media (max-width: 430px) {
    body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        max-width: 100% !important;
        margin: 0 auto 8px auto !important;
        padding: 7px 8px !important;
        gap: 5px !important;
    }

    body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
        flex-basis: calc(50% - 3px) !important;
        width: calc(50% - 3px) !important;
        max-width: calc(50% - 3px) !important;
        padding: 6px 7px !important;
        min-height: 38px !important;
    }
}


/* ==========================================================
   Rivrun v7.0 REAL FIX - Top Timer + Payment Grid
   This block intentionally uses high-specificity selectors to beat old Additional CSS.
   ========================================================== */

html body.woocommerce-checkout .woocommerce > .rivrun-checkout-reserve-timer,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    --rivrun-reserve-color: #22c55e;
    --rivrun-reserve-deg: 360deg;
    --rivrun-reserve-border-size: 3px;
    position: relative !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto 10px auto !important;
    padding: 8px 11px !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 20px rgba(0,0,0,.18) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    z-index: 50 !important;
}

html body.woocommerce-checkout .rivrun-fast-checkout-wrap {
    margin-top: 0 !important;
}

html body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    order: -9999 !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    padding: var(--rivrun-reserve-border-size) !important;
    background: conic-gradient(from -90deg, var(--rivrun-reserve-color) 0deg, var(--rivrun-reserve-color) var(--rivrun-reserve-deg), rgba(255,255,255,.11) var(--rivrun-reserve-deg), rgba(255,255,255,.11) 360deg) !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask-composite: exclude !important;
    pointer-events: none !important;
    z-index: -1 !important;
    transition: padding .35s linear, background .35s linear !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer::after,
html body.woocommerce-checkout .woocommerce .rivrun-checkout-reserve-timer::after,
html body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form .rivrun-checkout-reserve-timer::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.woocommerce-checkout .otxlab-signal-tag {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(34,197,94,.40) !important;
    background: rgba(34,197,94,.12) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    white-space: nowrap !important;
}

html body.woocommerce-checkout .otxlab-signal-tag i {
    width: 7px !important;
    height: 7px !important;
    display: block !important;
    border-radius: 999px !important;
    background: var(--rivrun-reserve-color, #22c55e) !important;
    animation: otxlabSignalBeep 1s ease-in-out infinite !important;
}

html body.woocommerce-checkout .rivrun-timer-title {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.woocommerce-checkout .rivrun-countdown {
    min-width: 58px !important;
    text-align: center !important;
    border-radius: 999px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
}

html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-review-title-row {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

html body.woocommerce-checkout #order_review.rivrun-order-review-box #order_review_heading,
html body.woocommerce-checkout #order_review_heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(25px, 2.8vw, 36px) !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    color: #fff !important;
}

html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
html body.woocommerce-checkout .rivrun-summary-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    clear: both !important;
}

html body.woocommerce-checkout .rivrun-view-cart-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.woocommerce-checkout .rivrun-view-cart-button,
html body.woocommerce-checkout a.rivrun-view-cart-button.button,
html body.woocommerce-checkout .rivrun-view-cart-wrap a.button {
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    min-height: 24px !important;
    height: auto !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(96,165,250,.45) !important;
    background: rgba(37,99,235,.14) !important;
    color: rgba(191,219,254,.96) !important;
    box-shadow: none !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    transform: none !important;
}

html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 45%)) !important;
    justify-content: space-between !important;
    align-items: start !important;
    gap: 10px 6% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
    float: none !important;
    clear: none !important;
    grid-column: auto !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.095) !important;
    color: #fff !important;
    box-sizing: border-box !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: rgba(34,197,94,.60) !important;
    background: rgba(34,197,94,.14) !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method input[type="radio"] {
    grid-column: 1 !important;
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #22c55e !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
    grid-column: 2 !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label img {
    max-height: 18px !important;
    width: auto !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method .payment_box {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 7px 0 0 0 !important;
    padding: 7px 8px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.065) !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 10.5px !important;
    line-height: 1.32 !important;
}

html body.woocommerce-checkout #place_order,
html body.woocommerce-checkout .rivrun-place-order-button,
html body.woocommerce-checkout button#place_order.button.alt {
    background: linear-gradient(180deg, #25e872 0%, #14b955 55%, #087f35 100%) !important;
    border-color: rgba(34,197,94,.95) !important;
    color: #fff !important;
    box-shadow: 0 14px 32px rgba(22,163,74,.45), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

@media (max-width: 430px) {
    html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        grid-template-columns: 16px minmax(0, 1fr) auto !important;
        max-width: 100% !important;
        padding: 7px 8px !important;
        gap: 6px !important;
    }
    html body.woocommerce-checkout .rivrun-timer-title {
        font-size: 10px !important;
    }
    html body.woocommerce-checkout .rivrun-countdown {
        min-width: 51px !important;
        padding: 5px 7px !important;
        font-size: 11px !important;
    }
    html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    html body.woocommerce-checkout .rivrun-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }
    html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
    html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods,
    html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
        grid-template-columns: repeat(2, minmax(0, 45%)) !important;
        gap: 8px 6% !important;
    }
    html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
        min-height: 42px !important;
        padding: 7px 8px !important;
        grid-template-columns: 14px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
        font-size: 10.5px !important;
    }
}


/* ==========================================================
   Rivrun v7.3.5 Final Precision Fix
   Keeps existing checkout logic; fixes only requested UI parts.
   ========================================================== */

/* Same top margin for billing and payment summary boxes */
html body.woocommerce-checkout .rv-checkout-box div#customer_details,
html body.woocommerce-checkout .rv-checkout-box div#order_review,
html body.woocommerce-checkout #customer_details.rivrun-customer-details,
html body.woocommerce-checkout #order_review.rivrun-order-review-box {
    margin-top: 20px !important;
}

/* Payment Summary title: a little smaller, still one line */
html body.woocommerce-checkout #order_review_heading,
html body.woocommerce-checkout #order_review.rivrun-order-review-box #order_review_heading {
    font-size: clamp(22px, 2.35vw, 30px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Address label must be visible above the address textarea */
html body.woocommerce-checkout .rivrun-address-field-row label,
html body.woocommerce-checkout p#billing_address_2_field label,
html body.woocommerce-checkout #billing_address_2_field label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    margin: 0 0 6px 0 !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

/* Payment methods: no pseudo clearfix/content, and force true side-by-side cards */
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods::before,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods::after,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method::before,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method::after {
    content: none !important;
    display: none !important;
}

html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
    flex: 0 0 45% !important;
    width: 45% !important;
    max-width: 45% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.095) !important;
    box-sizing: border-box !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method input[type="radio"] {
    grid-column: 1 !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method .payment_box {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 0 !important;
}

/* Place order: about 20% less green, no green shadow */
html body.woocommerce-checkout #place_order,
html body.woocommerce-checkout .rivrun-place-order-button,
html body.woocommerce-checkout button#place_order.button.alt {
    background: linear-gradient(180deg, #23c96a 0%, #14934d 56%, #0b6f34 100%) !important;
    border-color: rgba(34,197,94,.68) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

html body.woocommerce-checkout #place_order:hover,
html body.woocommerce-checkout .rivrun-place-order-button:hover,
html body.woocommerce-checkout button#place_order.button.alt:hover {
    box-shadow: 0 12px 26px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

/* Inline coupon: no wrapper border/background */
html body.woocommerce-checkout .rivrun-inline-coupon {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Timer conic border: starts at top and ends at the same top point */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer::before {
    background: conic-gradient(from -90deg, var(--rivrun-reserve-color) 0deg var(--rivrun-reserve-deg), rgba(255,255,255,.10) var(--rivrun-reserve-deg) 360deg) !important;
}

/* Keep no bottom progress bar */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 430px) {
    html body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    html body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    html body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
        flex-basis: 45% !important;
        width: 45% !important;
        max-width: 45% !important;
        padding: 7px 8px !important;
        grid-template-columns: 14px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
}
/* ===== END Rivrun v7.3.5 Final Precision Fix ===== */


/* ==========================================================
   Rivrun v7.5.5 Checkout Login Toggle + Place Order Spacing
   - Dark WooCommerce login toggle
   - No extra top space above Place Order button
   - Bottom margin under Place Order button
   - Cart timer logic unchanged
   ========================================================== */

/* WooCommerce returning customer login toggle - dark glass style */
html body.woocommerce-checkout .woocommerce-form-login-toggle,
html body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-left: 3px solid rgba(231,136,150,.62) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(18,18,20,.96), rgba(8,8,10,.98)) !important;
    color: rgba(255,255,255,.78) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
}

html body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
html body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::after {
    color: #e78896 !important;
}

html body.woocommerce-checkout .woocommerce-form-login-toggle a,
html body.woocommerce-checkout .woocommerce-form-login-toggle a.showlogin,
html body.woocommerce-checkout .woocommerce-info a.showlogin {
    color: #8fc7ff !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(143,199,255,.35) !important;
}

html body.woocommerce-checkout .woocommerce-form-login-toggle a:hover,
html body.woocommerce-checkout .woocommerce-form-login-toggle a.showlogin:hover,
html body.woocommerce-checkout .woocommerce-info a.showlogin:hover {
    color: #ffffff !important;
    border-bottom-color: rgba(255,255,255,.55) !important;
}

/* Login form opened from the toggle - dark mode */
html body.woocommerce-checkout form.woocommerce-form-login,
html body.woocommerce-checkout form.login {
    margin: 0 0 14px 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
    color: rgba(255,255,255,.80) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html body.woocommerce-checkout form.woocommerce-form-login p,
html body.woocommerce-checkout form.login p,
html body.woocommerce-checkout form.woocommerce-form-login label,
html body.woocommerce-checkout form.login label {
    color: rgba(255,255,255,.78) !important;
}

html body.woocommerce-checkout form.woocommerce-form-login input.input-text,
html body.woocommerce-checkout form.login input.input-text {
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.055) !important;
    color: #fff !important;
    border-radius: 10px !important;
}

html body.woocommerce-checkout form.woocommerce-form-login .button,
html body.woocommerce-checkout form.login .button {
    border-radius: 999px !important;
    border: 1px solid rgba(143,199,255,.30) !important;
    background: rgba(52,120,190,.18) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    min-height: 38px !important;
    padding: 9px 16px !important;
    font-weight: 850 !important;
}

/* Place Order button: remove top gap, keep clean bottom space */
html body.woocommerce-checkout .form-row.place-order,
html body.woocommerce-checkout #payment .place-order,
html body.woocommerce-checkout .woocommerce-checkout-payment .place-order {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html body.woocommerce-checkout #place_order,
html body.woocommerce-checkout .button.alt.rivrun-place-order-button,
html body.woocommerce-checkout .button.alt.rivrun-place-order-button.wp-element-button,
html body.woocommerce-checkout button#place_order.button.alt {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.15 !important;
}


/* ==========================================================
   Rivrun v7.5.5 Phone Responsive + Header Menu Layer Fix
   Base: Checkout Dark Login Fix. Keeps the good top counter.
   ========================================================== */

body.woocommerce-checkout,
body.woocommerce-checkout .wp-site-blocks,
body.woocommerce-checkout main,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .rivrun-fast-checkout-wrap,
body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout {
    overflow-x: clip !important;
}

/* Header/dropdown must stay above checkout/body content */
body.woocommerce-checkout header,
body.woocommerce-checkout .wp-block-template-part,
body.woocommerce-checkout header.Header-Navigation,
body.woocommerce-checkout .Header-Navigation,
body.woocommerce-checkout nav.wp-block-navigation,
body.woocommerce-checkout .wp-block-navigation,
body.woocommerce-checkout .wp-block-navigation__container,
body.woocommerce-checkout .wp-block-navigation-item,
body.woocommerce-checkout .wp-block-navigation-submenu {
    overflow: visible !important;
    z-index: 99990 !important;
}

body.woocommerce-checkout header,
body.woocommerce-checkout .wp-block-template-part,
body.woocommerce-checkout .Header-Navigation {
    position: relative !important;
}

body.woocommerce-checkout .wp-block-navigation__submenu-container,
body.woocommerce-checkout ul.wp-block-navigation__submenu-container,
body.woocommerce-checkout .wp-block-navigation__responsive-container {
    z-index: 999999 !important;
}

body.woocommerce-checkout .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    z-index: 999999 !important;
    background: rgba(8, 7, 8, .98) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* The timer belongs above the checkout wrapper, not at the bottom. */
body.woocommerce-checkout .woocommerce > .rivrun-checkout-reserve-timer,
body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto 10px auto !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
}

/* Keep the countdown timer on the right side. */
body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown {
    justify-self: end !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-text,
body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Desktop/tablet wrapper */
body.woocommerce-checkout .rivrun-fast-checkout-wrap {
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 6px !important;
    overflow: visible !important;
}

/* Desktop: stable two columns */
body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.woocommerce-checkout #customer_details.rivrun-customer-details,
body.woocommerce-checkout #order_review.rivrun-order-review-box,
body.woocommerce-checkout .rv-checkout-box div#customer_details,
body.woocommerce-checkout .rv-checkout-box div#order_review {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Desktop payment methods stay two-column. */
body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods,
body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
}

body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method label {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Phone and iOS/Android: ONE column only, no overlap. */
@media screen and (max-width: 781px) {
    body.woocommerce-checkout .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: max(10px, env(safe-area-inset-left)) !important;
        padding-right: max(10px, env(safe-area-inset-right)) !important;
        margin: 0 auto !important;
        overflow-x: clip !important;
    }

    body.woocommerce-checkout .woocommerce > .rivrun-checkout-reserve-timer,
    body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        max-width: 100% !important;
        margin: 0 0 10px 0 !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 6px !important;
        padding: 7px 8px !important;
        border-radius: 12px !important;
    }

    body.woocommerce-checkout .rivrun-fast-checkout-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-checkout #customer_details.rivrun-customer-details,
    body.woocommerce-checkout #order_review.rivrun-order-review-box,
    body.woocommerce-checkout div#customer_details,
    body.woocommerce-checkout div#order_review {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body.woocommerce-checkout .rivrun-review-card,
    body.woocommerce-checkout #payment.rivrun-compact-payment,
    body.woocommerce-checkout .woocommerce-checkout-payment,
    body.woocommerce-checkout .form-row.place-order,
    body.woocommerce-checkout .rivrun-inline-coupon,
    body.woocommerce-checkout .rivrun-inline-coupon-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .rivrun-summary-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    body.woocommerce-checkout .rivrun-money-row {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.woocommerce-checkout h3#order_review_heading,
    body.woocommerce-checkout #order_review_heading {
        width: 100% !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: clamp(22px, 8vw, 31px) !important;
        line-height: 1.06 !important;
    }

    /* On phone: payment methods one column only to prevent all overlap. */
    body.woocommerce-checkout #payment.rivrun-compact-payment ul.wc_payment_methods.payment_methods.methods,
    body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods,
    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 0 12px 0 !important;
    }

    body.woocommerce-checkout #payment ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method,
    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 9px 10px !important;
        display: grid !important;
        grid-template-columns: 17px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods > li.wc_payment_method .payment_box {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 7px 0 0 0 !important;
    }

    body.woocommerce-checkout .rivrun-inline-coupon-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 7px !important;
    }

    body.woocommerce-checkout .rivrun-coupon-input {
        min-width: 0 !important;
    }
}

@media screen and (max-width: 430px) {
    body.woocommerce-checkout .woocommerce > .rivrun-checkout-reserve-timer,
    body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding: 7px 8px !important;
        gap: 7px !important;
    }

    body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag {
        display: none !important;
    }

    body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
        font-size: 10.2px !important;
        line-height: 1.15 !important;
    }

    body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown {
        min-width: 54px !important;
        padding: 5px 7px !important;
        font-size: 11px !important;
    }

    body.woocommerce-checkout .rivrun-inline-coupon-row {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout .rivrun-apply-coupon-button {
        width: 100% !important;
    }
}

/* ==========================================================
   Rivrun v7.5.5 Mobile Grid Conflict Fix
   - Removes forced phone grid placement from checkout columns.
   - Payment summary money rows become one-after-one on phone.
   ========================================================== */
@media screen and (max-width: 781px) {
    html body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form,
    body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.woocommerce-checkout #customer_details.rivrun-customer-details,
    html body.woocommerce-checkout #order_review.rivrun-order-review-box,
    html body.woocommerce-checkout div#customer_details,
    html body.woocommerce-checkout div#order_review,
    body.woocommerce-checkout #customer_details.rivrun-customer-details,
    body.woocommerce-checkout #order_review.rivrun-order-review-box,
    body.woocommerce-checkout div#customer_details,
    body.woocommerce-checkout div#order_review {
        grid-column: auto !important;
        grid-row: auto !important;
        order: initial !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body.woocommerce-checkout #customer_details.rivrun-customer-details,
    body.woocommerce-checkout #customer_details.rivrun-customer-details,
    html body.woocommerce-checkout div#customer_details,
    body.woocommerce-checkout div#customer_details {
        order: 1 !important;
    }

    html body.woocommerce-checkout #order_review.rivrun-order-review-box,
    body.woocommerce-checkout #order_review.rivrun-order-review-box,
    html body.woocommerce-checkout div#order_review,
    body.woocommerce-checkout div#order_review {
        order: 2 !important;
    }

    html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    html body.woocommerce-checkout .rivrun-summary-grid,
    body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    body.woocommerce-checkout .rivrun-summary-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 8px !important;
    }

    html body.woocommerce-checkout .rivrun-summary-grid > .rivrun-money-row,
    html body.woocommerce-checkout .rivrun-money-row,
    body.woocommerce-checkout .rivrun-summary-grid > .rivrun-money-row,
    body.woocommerce-checkout .rivrun-money-row {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media screen and (max-width: 430px) {
    html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    html body.woocommerce-checkout .rivrun-summary-grid,
    body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    body.woocommerce-checkout .rivrun-summary-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ==========================================================
   Rivrun v7.5.5 Final Mobile Order Review Fix
   Removes phone-breaking explicit grid placement and stacks summary rows.
   ========================================================== */

/* Never force order review into desktop grid cells on phone/tablet. */
@media screen and (max-width: 782px) {
    html body.woocommerce-checkout form.checkout.woocommerce-checkout,
    html body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form,
    body.woocommerce-checkout form.checkout.woocommerce-checkout,
    body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    html body.woocommerce-checkout .rivrun-fast-checkout-wrap,
    body.woocommerce-checkout .rivrun-fast-checkout-wrap,
    html body.woocommerce-checkout .rv-checkout-box,
    body.woocommerce-checkout .rv-checkout-box {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    html body.woocommerce-checkout .rv-checkout-box div#customer_details,
    html body.woocommerce-checkout .rv-checkout-box div#order_review,
    html body.woocommerce-checkout #customer_details.rivrun-customer-details,
    html body.woocommerce-checkout #order_review.rivrun-order-review-box,
    html body.woocommerce-checkout div#customer_details,
    html body.woocommerce-checkout div#order_review,
    body.woocommerce-checkout .rv-checkout-box div#customer_details,
    body.woocommerce-checkout .rv-checkout-box div#order_review,
    body.woocommerce-checkout #customer_details.rivrun-customer-details,
    body.woocommerce-checkout #order_review.rivrun-order-review-box,
    body.woocommerce-checkout div#customer_details,
    body.woocommerce-checkout div#order_review {
        display: block !important;
        grid-column: auto !important;
        grid-column-start: auto !important;
        grid-column-end: auto !important;
        grid-row: auto !important;
        grid-row-start: auto !important;
        grid-row-end: auto !important;
        order: initial !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Payment summary rows must be one after another on phone. */
    html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    html body.woocommerce-checkout .rivrun-summary-grid,
    body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid,
    body.woocommerce-checkout .rivrun-summary-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 8px !important;
    }

    html body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid > .rivrun-money-row,
    html body.woocommerce-checkout .rivrun-summary-grid > .rivrun-money-row,
    html body.woocommerce-checkout .rivrun-money-row,
    body.woocommerce-checkout #order_review.rivrun-order-review-box .rivrun-summary-grid > .rivrun-money-row,
    body.woocommerce-checkout .rivrun-summary-grid > .rivrun-money-row,
    body.woocommerce-checkout .rivrun-money-row {
        display: flex !important;
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        box-sizing: border-box !important;
    }
}

@media screen and (max-width: 480px) {
    html body.woocommerce-checkout .rivrun-summary-grid,
    body.woocommerce-checkout .rivrun-summary-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.woocommerce-checkout .rivrun-money-row,
    body.woocommerce-checkout .rivrun-money-row {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================
   Rivrun exact 300s timer border - SVG path version
   Constant 3px stroke; no inward shifting; no bottom progress.
   ========================================================== */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
html body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    --rivrun-reserve-color: #22c55e;
    --rivrun-reserve-border-size: 3px;
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
    border: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 18px rgba(0,0,0,.16) !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer::before,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer::after,
html body.woocommerce-checkout .woocommerce .rivrun-checkout-reserve-timer::before,
html body.woocommerce-checkout .woocommerce .rivrun-checkout-reserve-timer::after,
html body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form .rivrun-checkout-reserve-timer::before,
html body.woocommerce-checkout form.checkout.woocommerce-checkout.rivrun-fast-checkout-form .rivrun-checkout-reserve-timer::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    box-shadow: none !important;
    animation: none !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-reserve-border-svg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 3 !important;
    overflow: visible !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-reserve-border-path {
    fill: none !important;
    stroke-width: 3 !important;
    stroke-linecap: butt !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke !important;
    transition: stroke .12s linear !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer > *:not(.rivrun-reserve-border-svg) {
    position: relative !important;
    z-index: 4 !important;
}


/* ==========================================================
   Rivrun v7.1.3 - Left-middle timer border + mobile timer readability
   ========================================================== */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

@media only screen and (max-width: 767px) {
    html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px 12px !important;
        min-height: auto !important;
    }

    html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-text {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 76px) !important;
    }

    html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.25 !important;
        font-size: 11.5px !important;
        letter-spacing: 0 !important;
    }

    html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        white-space: nowrap !important;
        min-width: 58px !important;
        text-align: right !important;
    }
}


/* ==========================================================
   Rivrun v7.1.3 - iOS form zoom + footer gap fix
   Prevent iPhone Safari zoom by keeping form control text >= 16px.
   Also removes mobile bottom overflow space on checkout/cart.
   ========================================================== */
@media only screen and (max-width: 767px) {
    html body.woocommerce-checkout input,
    html body.woocommerce-checkout textarea,
    html body.woocommerce-checkout select,
    html body.woocommerce-checkout button,
    html body.woocommerce-checkout .select2-container .select2-selection--single,
    html body.woocommerce-checkout .select2-container .select2-selection__rendered,
    html body.woocommerce-checkout .select2-search__field {
        font-size: 16px !important;
        line-height: 1.35 !important;
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    html body.woocommerce-checkout input[type="text"],
    html body.woocommerce-checkout input[type="email"],
    html body.woocommerce-checkout input[type="tel"],
    html body.woocommerce-checkout input[type="password"],
    html body.woocommerce-checkout textarea,
    html body.woocommerce-checkout select {
        min-height: 46px !important;
        transform: none !important;
        touch-action: manipulation !important;
    }

    html body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    html body.woocommerce-checkout .woocommerce form .form-row {
        max-width: 100% !important;
        overflow: visible !important;
    }
}

html body.woocommerce-checkout,
html body.woocommerce-cart {
    min-height: auto !important;
    overflow-x: clip !important;
}

html body.woocommerce-checkout .wp-site-blocks,
html body.woocommerce-cart .wp-site-blocks {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
}

html body.woocommerce-checkout footer,
html body.woocommerce-cart footer,
html body.woocommerce-checkout .wp-block-template-part,
html body.woocommerce-cart .wp-block-template-part,
html body.woocommerce-checkout .wp-site-blocks > *:last-child,
html body.woocommerce-cart .wp-site-blocks > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@supports (-webkit-touch-callout: none) {
    html body.woocommerce-checkout,
    html body.woocommerce-cart {
        padding-bottom: 0 !important;
    }
}

/* ==========================================================
   Rivrun v7.7.7 - remove forced .wp-site-blocks bottom gap
   ========================================================== */
html body .wp-site-blocks,
html body .wp-site-blocks[style],
html body.woocommerce-checkout .wp-site-blocks,
html body.woocommerce-cart .wp-site-blocks,
html body.single-product .wp-site-blocks {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

html body .wp-site-blocks > *:last-child,
html body footer,
html body .wp-block-template-part:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* ==========================================================
   Rivrun v7.7.8 - Gutenberg Sticky Block Global Fix
   Sticky blocks break when html/body or parent wrappers use overflow:hidden/auto/scroll.
   Keep horizontal clipping with overflow:clip, and repair only ancestors of real sticky blocks.
   ========================================================== */
html,
body {
    overflow-x: clip !important;
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: visible !important;
    }
}

html body .is-position-sticky,
html body [style*="position:sticky"],
html body [style*="position: sticky"] {
    position: sticky !important;
    align-self: flex-start !important;
    z-index: 80 !important;
}

html body .rivrun-sticky-parent-fix {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    contain: none !important;
}

html body .wp-site-blocks.rivrun-sticky-parent-fix,
html body main.rivrun-sticky-parent-fix,
html body .entry-content.rivrun-sticky-parent-fix {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* ==========================================================
   Rivrun 8.0.7 checkout mobile stacking/z-index precision fix
   Does not raise bottom menu or chat buttons; it lowers checkout layers only.
   ========================================================== */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .rivrun-fast-checkout-wrap,
body.woocommerce-checkout .rivrun-fast-checkout-form,
body.woocommerce-checkout .rv-checkout-box,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .rivrun-review-card,
body.woocommerce-checkout .rivrun-summary-grid,
body.woocommerce-checkout .rivrun-view-cart-wrap {
  position: relative !important;
  z-index: 0 !important;
}
body.woocommerce-checkout {
  padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
}
body.woocommerce-checkout .rivrun-fast-checkout-wrap,
body.woocommerce-checkout form.checkout {
  padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
}
@media (max-width: 767px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    min-height: 88px !important;
    padding: 16px 16px 16px 38px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    width: 6px !important;
    height: 38px !important;
    min-width: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    overflow: hidden !important;
    font-size: 0 !important;
    border-radius: 999px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag i,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag i {
    width: 6px !important;
    height: 38px !important;
    display: block !important;
  }
  html body.woocommerce-checkout .rivrun-timer-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(17px, 4.7vw, 23px) !important;
    line-height: 1.22 !important;
    max-width: 100% !important;
  }
  html body.woocommerce-checkout .rivrun-countdown {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    min-width: 92px !important;
    padding: 10px 12px !important;
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
  }
}
@media (max-width: 380px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding-left: 32px !important;
    column-gap: 8px !important;
  }
  html body.woocommerce-checkout .rivrun-countdown {
    min-width: 78px !important;
    font-size: 28px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ==========================================================
   Rivrun 8.0.8 checkout precision fix.
   Do not raise plugin z-index. Keep bottom menu/WhatsApp untouched.
   Lower checkout stacking and pin timer on right for phone.
   ========================================================== */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .rivrun-fast-checkout-wrap,
body.woocommerce-checkout .rivrun-fast-checkout-form,
body.woocommerce-checkout .rv-checkout-box,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .rivrun-review-card,
body.woocommerce-checkout .rivrun-summary-grid,
body.woocommerce-checkout .rivrun-view-cart-wrap,
body.woocommerce-checkout .rivrun-money-row {
  position: relative !important;
  z-index: 0 !important;
}
body.woocommerce-checkout {
  padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important;
}
body.woocommerce-checkout .rivrun-fast-checkout-wrap,
body.woocommerce-checkout form.checkout {
  padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
}
@media (max-width: 767px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 106px !important;
    padding: 17px 132px 17px 40px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    width: 7px !important;
    height: 42px !important;
    min-width: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    overflow: hidden !important;
    font-size: 0 !important;
    border-radius: 999px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag i,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag i {
    display: block !important;
    width: 7px !important;
    height: 42px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-text {
    display: flex !important;
    align-items: center !important;
    min-height: 72px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(18px, 4.9vw, 24px) !important;
    line-height: 1.22 !important;
    font-weight: 950 !important;
    letter-spacing: -0.02em !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    min-width: 96px !important;
    max-width: 112px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    text-align: center !important;
    font-size: clamp(30px, 8.8vw, 43px) !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
  }
}
@media (max-width: 390px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer {
    padding-left: 34px !important;
    padding-right: 112px !important;
    min-height: 104px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown {
    right: 12px !important;
    min-width: 86px !important;
    max-width: 96px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 30px !important;
  }
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title {
    font-size: 17px !important;
  }
}


/* ==========================================================
   Rivrun 8.0.9 checkout countdown responsive precision fix.
   Only changes the reserve timer layout. Other checkout/theme code untouched.
   ========================================================== */
html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
html body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) max-content !important;
  grid-template-areas: "signal text countdown" !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag {
  grid-area: signal !important;
  position: static !important;
  transform: none !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0 !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-text,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-timer-text {
  grid-area: text !important;
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-timer-title {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.18 !important;
}

html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown,
html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-countdown,
html body.woocommerce-checkout .rivrun-countdown {
  grid-area: countdown !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  justify-self: end !important;
  align-self: center !important;
  width: auto !important;
  min-width: 86px !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 767px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
  html body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    grid-template-columns: 8px minmax(0, 1fr) max-content !important;
    grid-template-areas: "signal text countdown" !important;
    column-gap: 9px !important;
    row-gap: 0 !important;
    min-height: 96px !important;
    padding: 15px 14px 18px 14px !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag {
    width: 8px !important;
    min-width: 8px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag i,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag i {
    display: block !important;
    width: 8px !important;
    height: 44px !important;
    border-radius: 999px !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-timer-title {
    font-size: clamp(15px, 4.35vw, 21px) !important;
    font-weight: 950 !important;
    letter-spacing: -0.025em !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-countdown,
  html body.woocommerce-checkout .rivrun-countdown {
    min-width: 82px !important;
    padding: 9px 9px !important;
    border-radius: 14px !important;
    font-size: clamp(23px, 6.8vw, 32px) !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
  }
}

@media (max-width: 380px) {
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer,
  html body.woocommerce-checkout .rivrun-fast-checkout-wrap form.checkout.woocommerce-checkout.rivrun-fast-checkout-form > .rivrun-checkout-reserve-timer {
    grid-template-columns: 7px minmax(0, 1fr) max-content !important;
    column-gap: 7px !important;
    min-height: 92px !important;
    padding: 13px 10px 16px 11px !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .otxlab-signal-tag i,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .otxlab-signal-tag i {
    width: 7px !important;
    min-width: 7px !important;
    height: 40px !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-timer-title,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-timer-title {
    font-size: clamp(14px, 4.15vw, 17px) !important;
    line-height: 1.18 !important;
  }

  html body.woocommerce-checkout .rivrun-checkout-reserve-timer .rivrun-countdown,
  html body.woocommerce-checkout .rivrun-checkout-reserve-timer > .rivrun-countdown,
  html body.woocommerce-checkout .rivrun-countdown {
    min-width: 74px !important;
    padding: 8px 7px !important;
    font-size: clamp(21px, 6.6vw, 27px) !important;
  }
}

/* ==========================================================
   Rivrun 8.0.10 - checkout max-width precision only
   Keeps checkout page content readable and centered without touching plugin UI.
   ========================================================== */
body.woocommerce-checkout .woocommerce.wp-block-group,
body.woocommerce-checkout main.wp-block-group > .woocommerce.wp-block-group,
body.woocommerce-checkout .wp-site-blocks .woocommerce.wp-block-group {
    width: min(100%, 1080px) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(12px, 2vw, 24px) !important;
    padding-right: clamp(12px, 2vw, 24px) !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    body.woocommerce-checkout .woocommerce.wp-block-group,
    body.woocommerce-checkout main.wp-block-group > .woocommerce.wp-block-group,
    body.woocommerce-checkout .wp-site-blocks .woocommerce.wp-block-group {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ==========================================================
   Rivrun 8.0.11 - checkout footer stacking + bottom gap precision fix
   Only checkout footer/container spacing. Does not edit bottom menu or WhatsApp plugin z-index.
   ========================================================== */
html body.woocommerce-checkout {
  padding-bottom: 0 !important;
}

html body.woocommerce-checkout .wp-site-blocks,
html body.woocommerce-checkout .wp-site-blocks[style] {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
}

html body.woocommerce-checkout main.wp-block-group {
  position: relative !important;
  z-index: 0 !important;
  padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  margin-bottom: 0 !important;
}

html body.woocommerce-checkout .woocommerce.wp-block-group,
html body.woocommerce-checkout .rivrun-fast-checkout-wrap,
html body.woocommerce-checkout form.checkout {
  position: relative !important;
  z-index: 0 !important;
}

html body.woocommerce-checkout .wp-site-blocks > .wp-block-template-part:last-child,
html body.woocommerce-checkout .wp-site-blocks > footer:last-child,
html body.woocommerce-checkout footer,
html body.woocommerce-checkout .wp-block-template-part:has(footer) {
  position: relative !important;
  z-index: 0 !important;
  isolation: auto !important;
  transform: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html body.woocommerce-checkout .wp-site-blocks > .wp-block-template-part:last-child > *,
html body.woocommerce-checkout footer > * {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  html body.woocommerce-checkout main.wp-block-group {
    padding-bottom: calc(126px + env(safe-area-inset-bottom)) !important;
  }
}
