body.rpf-shopping .woocommerce{--rpf-ink:#183746;--rpf-border:#dce3e8;--rpf-muted:#637585;font-family:Vazirmatn,sans-serif;line-height:1.8}
body.rpf-shopping .woocommerce *,body.rpf-shopping .rpf-checkout-panel *{box-sizing:border-box}
body.rpf-shopping .woocommerce :is(button.button,a.button,input.button,#place_order,.checkout-button),.rpf-checkout-panel button{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px!important;height:auto!important;aspect-ratio:auto!important;padding:10px 18px!important;border:1px solid #183746!important;border-radius:8px!important;background:#183746!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;line-height:1.5!important;font:inherit;cursor:pointer;text-align:center!important;white-space:normal;max-width:100%}
body.rpf-shopping .woocommerce :is(button,a).button:disabled,.rpf-checkout-panel button:disabled{opacity:.55;cursor:default}
body.rpf-shopping .woocommerce :is(input.input-text,select,textarea){min-height:46px;height:auto!important;aspect-ratio:auto!important;border:1px solid var(--rpf-border);border-radius:8px;padding:10px 12px;font:inherit;max-width:100%;box-shadow:none;color:var(--rpf-ink);background:#fff}
body.rpf-shopping .woocommerce :is(input,select,textarea,button,a):focus-visible,.rpf-checkout-panel :is(input,button):focus-visible{outline:2px solid #b97a51;outline-offset:3px}
body.rpf-shopping .woocommerce table.shop_table{border:1px solid var(--rpf-border);border-radius:10px;border-collapse:separate;border-spacing:0;width:100%;table-layout:auto;box-shadow:none;overflow-wrap:normal}
body.rpf-shopping .woocommerce table.shop_table :is(th,td){padding:14px 12px;vertical-align:middle;background:transparent;height:auto!important;min-height:0!important;aspect-ratio:auto!important}
body.rpf-shopping .woocommerce .product-thumbnail img{display:block;width:76px!important;height:76px!important;max-width:none;object-fit:contain;border-radius:8px;background:#f7f8fa}
body.rpf-shopping .woocommerce .product-name a{color:var(--rpf-ink);font-weight:650;text-decoration:none}
body.rpf-shopping .woocommerce .rpf-cart-quantity{display:grid!important;grid-template-columns:38px 46px 38px!important;align-items:center;justify-content:start;gap:0!important;width:122px!important;max-width:122px!important;height:44px!important;min-height:44px!important;aspect-ratio:auto!important;padding:0!important;border:1px solid var(--rpf-border);border-radius:8px;overflow:hidden;box-shadow:none}
body.rpf-shopping .woocommerce .rpf-cart-quantity input.qty{width:46px!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:0!important;text-align:center!important;border:0!important;border-inline:1px solid var(--rpf-border)!important;border-radius:0;appearance:textfield;font:inherit}
body.rpf-shopping .woocommerce .rpf-cart-quantity input::-webkit-inner-spin-button{appearance:none}
body.rpf-shopping .woocommerce .rpf-cart-quantity button{display:flex;align-items:center;justify-content:center;width:38px;height:42px;min-height:42px;border:0;background:#f5f7f9;color:var(--rpf-ink);padding:0;box-shadow:none;font:inherit;font-size:22px;line-height:1;cursor:pointer}
body.rpf-shopping .woocommerce .rpf-cart-quantity button:disabled{opacity:.4}
body.rpf-shopping .woocommerce .cart-collaterals .cart_totals{border:1px solid var(--rpf-border);padding:20px;border-radius:10px;box-shadow:none;background:#fff}
body.rpf-shopping .woocommerce .coupon{display:inline-flex;gap:8px;align-items:stretch;float:none!important;max-width:100%;flex-wrap:wrap}
body.rpf-shopping .woocommerce .coupon input{width:180px!important}
body.rpf-shopping .woocommerce .form-row{padding:6px 0;margin:0 0 10px}
body.rpf-shopping .woocommerce .form-row label{font-size:14px;font-weight:600;line-height:1.8;color:var(--rpf-ink)}
body.rpf-shopping .woocommerce .form-row .description{font-size:12px;color:var(--rpf-muted)}
body.rpf-shopping .woocommerce #ship-to-different-address{font-size:16px}
body.rpf-shopping:has(.rpf-map-panel) #ship-to-different-address,body.rpf-shopping:has(.rpf-map-panel) .shipping_address{display:none!important}
body.rpf-shopping .woocommerce #payment{background:#fff;border:1px solid var(--rpf-border);border-radius:10px;box-shadow:none}
body.rpf-shopping .woocommerce #payment ul.payment_methods{padding:14px;display:grid;gap:10px}
body.rpf-shopping .woocommerce #payment li.wc_payment_method{padding:12px;border:1px solid var(--rpf-border);border-radius:8px;background:#fff;line-height:1.8}
body.rpf-shopping .woocommerce #payment li.wc_payment_method:has(input:checked){border-color:var(--rpf-ink);background:#f7fafb}
body.rpf-shopping .woocommerce #payment .payment_box{background:#f2f5f7;color:var(--rpf-ink);border-radius:6px;font-size:13px;margin:10px 0 0;box-shadow:none}
body.rpf-shopping .woocommerce #payment .payment_box::before{display:none}
body.rpf-shopping .woocommerce #payment .place-order{padding:16px}
body.rpf-shopping .woocommerce #place_order{width:100%;float:none}
body.rpf-shopping .woocommerce .rpf-review-product{display:flex;align-items:center;gap:10px;min-width:0}
body.rpf-shopping .woocommerce .rpf-review-product img{width:54px!important;height:54px!important;object-fit:contain;max-width:none!important;background:#f8f9fa;border-radius:6px;flex:none}
body.rpf-shopping .woocommerce .rpf-review-product>span{min-width:0;overflow-wrap:normal}
.rpf-checkout-panel{font-family:Vazirmatn,sans-serif;border:1px solid #dce3e8;border-radius:10px;padding:18px;margin:0 0 20px;background:#fff;color:#183746;box-shadow:none;min-width:0;height:auto!important;aspect-ratio:auto!important;overflow-wrap:normal}
.rpf-checkout-panel [hidden]{display:none!important}
.rpf-checkout-panel .rpf-step-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.rpf-checkout-panel .rpf-step-heading>span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid #dce3e8;background:#f4f7f9;border-radius:6px}
.rpf-checkout-panel .rpf-step-heading h2{font-size:17px;margin:0 0 4px;font-weight:700;line-height:1.6}
.rpf-checkout-panel p{margin:8px 0;font-size:13px;line-height:1.9}
.rpf-checkout-panel .rpf-otp-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:12px 0}
.rpf-checkout-panel .rpf-otp-controls label{font-size:14px;display:grid;gap:6px}
.rpf-checkout-panel input:not([type=hidden]){width:100%;min-width:0;border:1px solid #dce3e8;background:#fff;border-radius:8px;height:46px!important;min-height:46px!important;aspect-ratio:auto!important;padding:8px 12px;font:inherit;color:#183746}
.rpf-checkout-panel .rpf-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.rpf-checkout-panel .rpf-map-toolbar button{background:#f5f7f9!important;color:#183746!important;border-color:#dce3e8!important;font-size:12px;flex:1}
.rpf-checkout-panel #rpf-delivery-map{width:100%;height:280px!important;min-height:0!important;aspect-ratio:auto!important;border:1px solid #dce3e8;border-radius:8px;position:relative;z-index:1}
.rpf-checkout-panel .rpf-address-preview{padding:12px;border-inline-start:3px solid #b97a51;background:#f9fafb;margin:10px 0;font-size:13px}
.rpf-checkout-panel .rpf-map-pin span{display:block;width:26px;height:26px;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#183746;box-shadow:0 1px 3px #0004}
.rpf-checkout-panel .rpf-map-pin span::after{content:'';display:block;width:7px;height:7px;background:#fff;border-radius:50%;margin:6px}
.rpf-checkout-panel .rpf-error{color:#9d2537}
.rpf-checkout-panel .rpf-success{color:#1a7050}
.rpf-map-confirm>button{width:100%}
/* Layout is resolved once, by checkout-elementor.css, for classic and Elementor forms. */
@media(max-width:767px){body.rpf-shopping .woocommerce .woocommerce-cart-form table.shop_table,body.rpf-shopping .woocommerce .woocommerce-cart-form tbody{display:block;border:0}body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item{display:grid!important;grid-template-columns:76px minmax(0,1fr);gap:8px 12px;position:relative;padding:14px!important;margin-bottom:12px;border:1px solid var(--rpf-border);border-radius:10px;background:#fff}body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item td{display:block!important;text-align:right!important;padding:0!important;border:0;min-width:0}body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item td::before{display:none}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-thumbnail{grid-column:1;grid-row:1 / span 2}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-name{grid-column:2;padding-inline-end:28px!important}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-price{grid-column:2;font-size:13px}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-quantity{grid-column:1 / span 2}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-subtotal{grid-column:1 / span 2;font-weight:700}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-subtotal::before{display:inline!important;content:'جمع: ';float:none!important;font-weight:400}body.rpf-shopping .woocommerce .woocommerce-cart-form .product-remove{position:absolute;inset:12px auto auto 12px}body.rpf-shopping .woocommerce .woocommerce-cart-form td.actions{padding:0!important;background:#fff!important;display:grid;gap:12px}body.rpf-shopping .woocommerce .coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px}body.rpf-shopping .woocommerce .coupon input{width:100%!important;min-width:0}body.rpf-shopping .woocommerce .coupon label{display:none}body.rpf-shopping .woocommerce .cart-collaterals .cart_totals{padding:14px;width:100%}body.rpf-shopping .woocommerce table.shop_table :is(th,td){padding:10px 8px;font-size:13px}body.rpf-shopping .woocommerce .col2-set .col-1,body.rpf-shopping .woocommerce .col2-set .col-2{float:none;width:100%}.rpf-checkout-panel{padding:14px}.rpf-checkout-panel #rpf-delivery-map{height:230px!important}.rpf-checkout-panel .rpf-map-toolbar{gap:6px}.rpf-checkout-panel .rpf-map-toolbar button{padding:8px!important}.rpf-checkout-panel .rpf-step-heading{gap:8px}.rpf-checkout-panel .rpf-step-heading h2{font-size:16px}}
@media(max-width:360px){.rpf-checkout-panel .rpf-otp-controls{grid-template-columns:1fr}.rpf-checkout-panel .rpf-otp-controls button{width:100%}}
/* Keep address selects, radio labels and long product names aligned under broad theme rules. */
body.rpf-shopping .woocommerce .form-row>label{display:block}
body.rpf-shopping .woocommerce .form-row select,body.rpf-shopping .woocommerce .form-row .select2-container{width:100%!important}
body.rpf-shopping .woocommerce .select2-container .select2-selection--single{height:46px!important;min-height:46px!important;aspect-ratio:auto!important;display:flex;align-items:center;border:1px solid var(--rpf-border);border-radius:8px;padding:6px 8px;box-shadow:none}
body.rpf-shopping .woocommerce .select2-container .select2-selection__arrow{height:44px!important}
body.rpf-shopping .woocommerce #payment li.wc_payment_method{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:center}
body.rpf-shopping .woocommerce #payment li.wc_payment_method>input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;grid-column:1;float:none;vertical-align:middle}
body.rpf-shopping .woocommerce #payment li.wc_payment_method>label{grid-column:2;min-width:0;margin:0;line-height:1.8}
body.rpf-shopping .woocommerce #payment li.wc_payment_method>.payment_box{grid-column:1 / -1}
body.rpf-shopping .woocommerce .checkout-button{text-decoration:none}
@media(max-width:767px){body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item td.product-name{padding-inline-end:28px!important}}

/* Iran is a fixed checkout value; preserve its control for Woo's state updates. */
body.rpf-shopping .woocommerce .rpf-fixed-country,
body.rpf-location-required .woocommerce .rpf-fixed-country { display:none!important; }
body.rpf-location-pending .woocommerce :is(#payment,.e-checkout__payment,.woocommerce-shipping-totals),
body.rpf-location-pending .woocommerce .woocommerce-checkout-review-order-table .order-total { display:none!important; }
.rpf-location-next { display:none;color:#183746;background:#f3f7f9;border:1px solid #dce3e8;border-radius:8px;padding:14px;font:14px/1.9 "RPF Vazirmatn",Tahoma,sans-serif; }
body.rpf-location-pending .rpf-location-next { display:block; }
body.rpf-shopping .woocommerce #payment ul.payment_methods { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start;gap:10px!important;list-style:none!important; }
body.rpf-shopping .woocommerce #payment ul.payment_methods>li.wc_payment_method { display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start;gap:6px 8px;min-width:0;margin:0!important;padding:12px!important; }
body.rpf-shopping .woocommerce #payment li.wc_payment_method>input[type=radio] { display:block!important;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:5px 0 0!important;grid-column:1;grid-row:1; }
body.rpf-shopping .woocommerce #payment li.wc_payment_method>label { display:block!important;width:auto!important;min-width:0;float:none!important;grid-column:2;grid-row:1;font-size:14px!important;line-height:1.8!important;text-align:right!important; }
body.rpf-shopping .woocommerce #payment li.wc_payment_method>.payment_box { grid-column:1 / -1;width:100%!important;margin:4px 0 0!important; }
body.rpf-shopping .woocommerce #payment label img { max-height:28px;width:auto;vertical-align:middle; }
@media(max-width:480px) { body.rpf-shopping .woocommerce #payment ul.payment_methods { grid-template-columns:minmax(0,1fr)!important; } }
body.rpf-otp-pending .woocommerce :is(#payment,.e-checkout__payment) { display:none!important; }
body.rpf-otp-pending .rpf-location-next { display:block; }
body.rpf-otp-pending:has(.rpf-otp-panel) .woocommerce .e-woocommerce-login-section { display:none!important; }
