/* Presentation only: native checkout fields, gateway fragments and validation. */
.rp-shop-content form.rp-checkout{margin-top:24px}
.rp-checkout .rp-shop-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:42px}
.rp-checkout .rp-shop-customer-column,.rp-checkout .rp-checkout-payment-column{min-width:0}
.rp-shop-content .rp-checkout #customer_details,.rp-checkout .rp-checkout-payment-column{background:#fff;border:1px solid #dfe0e8;border-radius:24px;padding:28px;box-shadow:none}
.rp-checkout h3{font-size:25px;line-height:1.25;letter-spacing:-.035em;margin:0 0 24px;color:#191a1e}
.rp-shop-content .rp-checkout .form-row{padding:0;margin:0 0 17px}
.rp-shop-content .rp-checkout .form-row label{font-size:14px;line-height:1.5;margin-bottom:7px;color:#3c3e47}
.rp-shop-content .rp-checkout .form-row .optional{font-weight:400;color:#737783}
.rp-shop-content .rp-checkout #customer_details .col-1,.rp-shop-content .rp-checkout #customer_details .col-2{float:none;width:100%}
.rp-shop-content .rp-checkout #customer_details input.input-text,.rp-shop-content .rp-checkout #customer_details textarea{padding:12px 14px!important;min-height:48px;font-size:15px!important;box-shadow:none!important}
.rp-shop-content .rp-checkout #customer_details textarea{min-height:90px}
.rp-checkout .woocommerce-additional-fields h3{font-size:20px;margin-top:25px}
.rp-checkout .rp-shop-express{max-width:none;margin:0 0 18px;clear:both}
.rp-checkout .rp-shop-express:empty{display:none}
.rp-checkout #wc-stripe-express-checkout-element{margin-top:0!important}
.rp-shop-content .rp-checkout #payment{background:transparent;border:0;border-radius:0;padding:0;margin:0}
.rp-shop-content .rp-checkout #payment ul.payment_methods{display:grid;gap:10px;padding:0;margin:0;border:0}
.rp-shop-content .rp-checkout #payment ul.payment_methods::before,.rp-shop-content .rp-checkout #payment ul.payment_methods::after{display:none}
.rp-shop-content .rp-checkout #payment ul.payment_methods>li{position:relative;display:block;padding:17px 16px;margin:0;border:1px solid #e2e3eb;border-radius:14px;background:#fff;line-height:1.5;transition:border-color .15s,background .15s}
.rp-shop-content .rp-checkout #payment ul.payment_methods>li:has(>input:checked){background:#eff9f1;border-color:#a4a6db}
.rp-shop-content .rp-checkout #payment ul.payment_methods>li:hover{border-color:#a4a6db}
.rp-shop-content .rp-checkout #payment input.input-radio{position:absolute;top:20px;left:16px;appearance:auto;-webkit-appearance:auto;width:18px;height:18px;min-width:18px;margin:0;accent-color:#009246;cursor:pointer;box-shadow:none}
.rp-shop-content .rp-checkout #payment ul.payment_methods>li>label{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;line-height:1.45;margin:0 0 0 32px;color:#262831;cursor:pointer;font-size:15px;font-weight:700}
.rp-checkout .rp-payment-title{flex:1 1 auto}
.rp-checkout .rp-payment-brands{display:inline-flex;align-items:center;gap:4px;max-width:100%}
.rp-shop-content .rp-checkout #payment .rp-payment-brands img{float:none;max-height:21px;max-width:115px;width:auto;height:auto;margin:0;vertical-align:middle}
.rp-checkout #payment label>small{flex:0 0 100%;display:block;color:#757987;font-weight:400;font-size:12px;line-height:1.5;margin-top:2px}
.rp-shop-content .rp-checkout #payment div.payment_box{grid-column:1/-1;width:100%;box-sizing:border-box;padding:14px 0 0!important;margin:12px 0 0!important;border:0!important;border-top:1px solid #ecdde2!important;border-radius:0!important;background:transparent!important;color:#686c79;font-size:14px;line-height:1.65;box-shadow:none!important;min-width:0}
.rp-shop-content .rp-checkout #payment div.payment_box::before{display:none!important}
.rp-shop-content .rp-checkout #payment div.payment_box p{margin:0 0 10px}
.rp-shop-content .rp-checkout #payment div.payment_box p:last-child{margin-bottom:0}
.rp-shop-content .rp-checkout #payment fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0;background:transparent;box-shadow:none}
.rp-checkout #payment .wc-stripe-upe-element{max-width:100%}
.rp-shop-content .rp-checkout #payment .place-order{padding:22px 0 0!important;margin:20px 0 0;border-top:1px solid #e7e7ef;float:none;width:100%}
.rp-checkout-payable{display:flex;align-items:baseline;justify-content:space-between;gap:15px;color:#191a1e;line-height:1.35;font-size:17px;font-weight:700}
.rp-checkout-payable>div{text-align:right;font-size:29px;letter-spacing:-.03em}
.rp-checkout-payable small{display:block;font-size:12px;font-weight:400;letter-spacing:0;max-width:220px;color:#777a86}
.rp-checkout .rp-checkout-review-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#747782;margin:8px 0 20px;text-decoration:underline;text-underline-offset:3px}
.rp-checkout .rp-checkout-review-link svg{width:13px;height:13px;transform:rotate(90deg)}
.rp-checkout #payment .woocommerce-privacy-policy-text{font-size:12px;line-height:1.7;color:#818490;margin-bottom:15px}
.rp-checkout #payment .woocommerce-privacy-policy-text p{margin:0}
.rp-shop-content .rp-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row{margin:0 0 20px}
.rp-shop-content .rp-checkout #payment label.woocommerce-form__label-for-checkbox{position:relative;display:block;padding-left:28px;font-size:13px;line-height:1.6;cursor:pointer;font-weight:400;margin:0}
.rp-shop-content .rp-checkout #terms{position:absolute;top:2px;left:0;width:18px;height:18px;min-width:18px;margin:0;accent-color:#009246;appearance:auto;-webkit-appearance:auto;outline:none!important;box-shadow:none!important}
.rp-shop-content .rp-checkout #terms:focus-visible{outline:2px solid #009246!important;outline-offset:3px}
.rp-checkout #payment .woocommerce-invalid label.woocommerce-form__label-for-checkbox{color:#b92343!important}
.rp-shop-content .rp-checkout #place_order{display:block;width:100%;float:none;box-sizing:border-box;font-size:16px;min-height:52px;padding:16px 24px;margin:0;line-height:1.3;box-shadow:none}
.rp-shop-content .rp-checkout #place_order:hover{background:#20215e!important}
.rp-checkout .rp-checkout-order{min-width:0}
.rp-checkout-review-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.rp-shop-content .rp-checkout #order_review_heading{background:none;border:0;border-radius:0;margin:0 0 8px;padding:0;scroll-margin-top:110px}
.rp-checkout-review-heading p{font-size:14px;line-height:1.6;color:#7b7e8a;margin:0}
.rp-checkout-review-heading>a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#3f424c;font-size:13px;font-weight:650;text-decoration:none;border:1px solid #dedfe8;border-radius:30px;padding:11px 16px;background:#fff}
.rp-checkout-review-heading>a:hover{border-color:#009246;color:#009246}
.rp-checkout-review-heading>a svg{width:16px;height:16px}
.rp-shop-content .rp-checkout #order_review{padding:0;border:0;border-radius:0;background:none;width:100%;float:none}
.rp-shop-content .rp-checkout table.rp-checkout-review-table{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;border:0;border-radius:0;background:none;margin:0;overflow:visible;width:100%}
.rp-checkout-review-table>thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rp-checkout-review-table>tbody{display:grid;gap:16px;min-width:0}
.rp-shop-content .rp-checkout-review-table tbody>tr.cart_item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:center;background:#fff;border:1px solid #dfe0e8;border-radius:20px;padding:22px;min-width:0}
.rp-shop-content .rp-checkout-review-table tr.cart_item>td{padding:0;border:0;background:none!important;min-width:0}
.rp-shop-content .rp-checkout-review-table tr.cart_item>td.product-name{display:contents}
.rp-review-product-identity{display:flex;align-items:center;gap:15px;min-width:0;grid-row:1;grid-column:1}
.rp-review-product-image{flex:0 0 58px}
.rp-review-product-image img{display:block;width:58px;height:58px;object-fit:contain;border-radius:10px}
.rp-review-product-title{font-size:18px;font-weight:700;line-height:1.35;color:#272932;letter-spacing:-.02em;overflow-wrap:anywhere}
.rp-review-product-title .product-quantity{display:block;font-size:12px;color:#777b86;letter-spacing:0;font-weight:500;margin-top:4px}
.rp-shop-content .rp-checkout-review-table tr.cart_item>.product-total{grid-column:2;grid-row:1;text-align:right;white-space:nowrap;font-size:19px;font-weight:750;width:auto}
.rp-checkout-review-table .rp-cart-details{grid-column:1/-1;grid-row:2;min-width:0;margin-top:17px}
.rp-shop-content .rp-checkout-review-table>tfoot{display:block;padding:24px;background:#fff;border:1px solid #dfe0e8;border-radius:20px;min-width:0}
.rp-shop-content .rp-checkout-review-table>tfoot>tr{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid #eeeef4;padding:14px 0}
.rp-shop-content .rp-checkout-review-table>tfoot>tr:first-child{padding-top:0}
.rp-shop-content .rp-checkout-review-table>tfoot>tr:last-child{border-bottom:0;padding-bottom:0}
.rp-shop-content .rp-checkout-review-table>tfoot :is(th,td){display:block;padding:0;border:0;background:none!important;width:auto;font-size:14px;line-height:1.5;font-weight:500;color:#6f7380}
.rp-shop-content .rp-checkout-review-table>tfoot td{text-align:right;color:#30333c}
.rp-shop-content .rp-checkout-review-table>tfoot .order-total{margin-top:7px;padding-top:20px}
.rp-shop-content .rp-checkout-review-table>tfoot .order-total :is(th,td){font-size:22px;font-weight:750;color:#191a1e}
.rp-shop-content .rp-checkout-review-table>tfoot .order-total small{display:block;font-size:12px;font-weight:400}
.woocommerce-checkout .rp-shop-content .woocommerce-form-coupon-toggle .woocommerce-info{background:#fff;border:1px solid #dfe0e8;border-radius:14px;padding:18px 22px;color:#747885;font-size:14px;line-height:1.6;margin:0 0 20px;box-shadow:none}
.woocommerce-checkout .rp-shop-content .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}
.woocommerce-checkout .rp-shop-content form.checkout_coupon{background:#fff;border:1px solid #dfe0e8;border-radius:14px;padding:22px;margin:0 0 24px}
@media(max-width:1100px){.rp-checkout .rp-shop-checkout-grid{gap:20px}.rp-shop-content .rp-checkout #customer_details,.rp-checkout .rp-checkout-payment-column{padding:22px}.rp-shop-content .rp-checkout table.rp-checkout-review-table{grid-template-columns:minmax(0,1fr) 290px;gap:20px}}
@media(max-width:900px){.rp-checkout .rp-shop-checkout-grid{grid-template-columns:minmax(0,1fr);gap:22px}.rp-shop-content .rp-checkout table.rp-checkout-review-table{grid-template-columns:minmax(0,1fr)}.rp-checkout h3{font-size:23px}}
@media(max-width:600px){.rp-shop-content .rp-checkout #customer_details,.rp-checkout .rp-checkout-payment-column{padding:20px 17px;border-radius:20px}.rp-checkout .rp-shop-checkout-grid{margin-bottom:32px}.rp-shop-content .rp-checkout #payment ul.payment_methods>li{padding:15px 12px;gap:0 9px}.rp-shop-content .rp-checkout #payment ul.payment_methods>li>label{font-size:14px}.rp-checkout #payment label>small{font-size:11px}.rp-checkout-review-heading{align-items:flex-start;flex-direction:column;gap:14px}.rp-checkout-review-heading p{font-size:13px}.rp-shop-content .rp-checkout-review-table tbody>tr.cart_item{padding:17px;gap:0 12px}.rp-review-product-image{flex-basis:44px}.rp-review-product-image img{width:44px;height:44px}.rp-review-product-identity{gap:10px}.rp-review-product-title{font-size:15px}.rp-shop-content .rp-checkout-review-table tr.cart_item>.product-total{font-size:16px}.rp-shop-content .rp-checkout-review-table>tfoot{padding:22px}.rp-checkout-payable{font-size:16px}.rp-checkout-payable>div{font-size:26px}}
/* Gateway scripts may toggle list-item display; use positioned radios, not grid placement. */
.rp-shop-content .rp-checkout #payment ul.payment_methods>li::before,.rp-shop-content .rp-checkout #payment ul.payment_methods>li::after{display:none!important;content:none!important}
.rp-shop-content .rp-checkout #payment ul.payment_methods>li>label{min-width:0}
.rp-shop-content .rp-checkout #order_review table.rp-checkout-review-table>tfoot :is(th,td){border:0!important;padding:0!important}

@media(max-width:600px){.rp-shop-content .rp-checkout #payment input.input-radio{left:12px;top:17px}.rp-shop-content .rp-checkout #payment ul.payment_methods>li>label{margin-left:29px}}
/* Coupons use WooCommerce's own form and AJAX, with a visible input. */
.woocommerce-checkout .rp-shop-content form.rp-checkout-coupon{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px) auto;gap:14px 22px;align-items:center;padding:22px 26px;scroll-margin-top:115px}
.rp-checkout-coupon::before,.rp-checkout-coupon::after{display:none!important}
.rp-checkout-coupon .rp-coupon-intro h2{font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.025em;margin:0 0 5px}
.rp-checkout-coupon .rp-coupon-intro p{font-size:13px;line-height:1.6;color:#7a7e89;margin:0}
.woocommerce-checkout .rp-shop-content form.rp-checkout-coupon .form-row{float:none;width:100%;padding:0;margin:0;min-width:0}
.rp-shop-content .rp-checkout-coupon #coupon_code{width:100%;box-sizing:border-box;min-height:48px;font-size:15px;padding:12px 14px;border:1px solid #dfe0e8;border-radius:11px}
.rp-shop-content .rp-checkout-coupon .button{min-height:48px;white-space:nowrap;padding:13px 28px;font-size:14px;margin:0}
.rp-checkout-coupon .coupon-error-notice{display:block;color:#bd2447;font-size:12px;line-height:1.5;margin-top:7px}
.rp-shop-content .rp-checkout-coupon #coupon_code.has-error{border-color:#dc4869}
.rp-checkout .rp-coupon-jump{display:block;color:#737783;font-size:12px;text-decoration:underline;text-underline-offset:3px;margin:5px 0 0}
.rp-checkout .rp-coupon-jump:hover{color:#009246}
@media(max-width:900px){.woocommerce-checkout .rp-shop-content form.rp-checkout-coupon{grid-template-columns:minmax(0,1fr) auto;padding:22px}.rp-checkout-coupon .rp-coupon-intro{grid-column:1/-1}}
@media(max-width:600px){.woocommerce-checkout .rp-shop-content form.rp-checkout-coupon{padding:20px 17px;gap:14px 10px}.rp-shop-content .rp-checkout-coupon .button{padding:13px 18px}.rp-checkout-coupon .rp-coupon-intro h2{font-size:17px}}
