/* Ramana owns the purchase area only; Elementor's header and other widgets remain separate. */
body.rpf-shopping .woocommerce {
	font-family:"RPF Vazirmatn",Tahoma,sans-serif;
	font-size:14px;
	color:#183746;
}
body.rpf-shopping .woocommerce:has(form.checkout),
body.rpf-shopping .woocommerce:has(.woocommerce-cart-form) {
	container-type:inline-size;
	container-name:rpf-shopping;
}
body.rpf-shopping .woocommerce :is(form.checkout,.e-checkout__container,.e-cart__container,
.e-checkout__column,.e-checkout__column-inner,.e-cart__column,.e-cart__column-inner,
#customer_details,#order_review,.cart-collaterals,.cart_totals) {
	min-width:0!important;
	max-width:100%!important;
}
body.rpf-shopping .woocommerce form.checkout {
	display:block!important;
	width:100%!important;
	margin:0!important;
}
body.rpf-shopping .woocommerce :is(.e-checkout__container,.e-cart__container) {
	display:grid!important;
	grid-template-columns:minmax(0,1fr)!important;
	gap:20px!important;
	width:100%!important;
	align-items:start!important;
}
body.rpf-shopping .woocommerce :is(.e-checkout__column,.e-cart__column) { width:100%!important; }
body.rpf-shopping .woocommerce :is(.e-checkout__column-inner,.e-cart__column-inner) {
	position:static!important;
	transform:none!important;
	width:100%!important;
}
body.rpf-shopping .woocommerce :is(#customer_details,#order_review,#order_review_heading,.cart_totals,.col2-set .col-1,.col2-set .col-2) {
	float:none!important;
	width:100%!important;
}
body.rpf-shopping .woocommerce :is(.e-checkout__order_review,.e-checkout__order_review-2,
.e-checkout__payment,.e-woocommerce-login-section,.e-woocommerce-coupon-section,
.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields,
.e-cart-section) {
	background:#fff!important;
	border:1px solid #dce3e8!important;
	border-radius:10px!important;
	padding:20px!important;
	box-shadow:none!important;
	margin:0 0 16px!important;
	min-width:0;
}
/* Each Elementor section has one border, without a second nested frame. */
body.rpf-shopping .woocommerce .e-cart-section .cart_totals,
body.rpf-shopping .woocommerce .e-cart-section table.shop_table,
body.rpf-shopping .woocommerce :is(.e-checkout__order_review,.e-checkout__order_review-2) table.shop_table,
body.rpf-shopping .woocommerce .e-checkout__payment #payment {
	border:0!important;
	border-radius:0!important;
	padding:0!important;
	margin:0!important;
	background:transparent!important;
}
body.rpf-shopping .woocommerce :is(h2,h3,#order_review_heading) {
	font-family:inherit!important;
	font-size:18px!important;
	font-weight:700!important;
	line-height:1.7!important;
	color:#183746!important;
	margin:0 0 18px!important;
}
body.rpf-shopping .woocommerce table.shop_table {
	table-layout:auto!important;
	width:100%!important;
	font-size:14px!important;
	word-break:normal!important;
	overflow-wrap:normal!important;
}
body.rpf-shopping .woocommerce table.shop_table :is(th,td) {
	font-family:inherit!important;
	font-size:14px!important;
	line-height:1.8!important;
	padding:12px 8px!important;
	border:0!important;
	border-bottom:1px solid #edf0f3!important;
	word-break:normal!important;
	overflow-wrap:normal!important;
}
body.rpf-shopping .woocommerce :is(.woocommerce-Price-amount,.woocommerce-Price-amount bdi) {
	display:inline-block!important;
	white-space:nowrap!important;
	word-break:normal!important;
	overflow-wrap:normal!important;
	font-family:inherit!important;
	font-size:14px!important;
	font-variant-numeric:tabular-nums;
}
body.rpf-shopping .woocommerce .woocommerce-Price-currencySymbol { font-size:.85em!important; }
body.rpf-shopping .woocommerce .cart_totals table.shop_table :is(th,td) { display:table-cell!important; }
body.rpf-shopping .woocommerce .cart_totals table.shop_table tr { display:table-row!important;background:transparent!important; }
body.rpf-shopping .woocommerce .cart_totals table.shop_table td::before { display:none!important; }
body.rpf-shopping .woocommerce .cart_totals table.shop_table th { width:28%; }
body.rpf-shopping .woocommerce .woocommerce-cart-form :is(.product-price,.product-subtotal,.product-quantity) { width:1%; }
body.rpf-shopping .woocommerce .woocommerce-cart-form .product-name { min-width:120px; }
body.rpf-shopping .woocommerce .woocommerce-checkout-review-order-table :is(.product-total,thead th:last-child) { width:1%;white-space:nowrap; }
body.rpf-shopping .woocommerce .rpf-review-product {
	display:grid!important;
	grid-template-columns:44px minmax(0,1fr);
	align-items:center;
	gap:10px;
}
body.rpf-shopping .woocommerce .rpf-review-product img { width:44px!important;height:44px!important; }
body.rpf-shopping .woocommerce .rpf-review-product>span { overflow-wrap:break-word!important;word-break:normal!important;line-height:1.8; }
body.rpf-shopping .woocommerce .product-quantity { white-space:nowrap; }
body.rpf-shopping .woocommerce :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}
body.rpf-shopping .woocommerce :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper)>.form-row {
	float:none!important;
	width:100%!important;
	min-width:0;
	padding:0!important;
	margin:0!important;
}
body.rpf-shopping .woocommerce :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper)>.form-row-wide { grid-column:1 / -1; }
body.rpf-shopping .woocommerce .form-row :is(input.input-text,textarea,select:not(.select2-hidden-accessible)) {
	width:100%!important;
	height:46px!important;
	min-height:46px!important;
	border:1px solid #dce3e8!important;
	border-radius:8px!important;
	background:#fff!important;
	padding:10px 12px!important;
	font-family:inherit!important;
	font-size:14px!important;
	line-height:1.6!important;
	box-shadow:none!important;
}
body.rpf-shopping .woocommerce .form-row textarea { height:100px!important;resize:vertical; }
body.rpf-shopping .woocommerce .select2-container :is(.select2-selection--single,.select2-selection__rendered) {
	font-family:inherit!important;
	font-size:14px!important;
	line-height:1.7!important;
	color:#183746!important;
}
body.rpf-shopping .woocommerce .coupon {
	display:flex!important;
	gap:10px!important;
	align-items:stretch!important;
	flex-wrap:nowrap!important;
	width:100%!important;
	float:none!important;
}
body.rpf-shopping .woocommerce :is(.coupon>.coupon-col,.coupon>.form-row) {
	display:flex!important;
	align-items:stretch!important;
	gap:10px!important;
	width:100%!important;
	margin:0!important;
}
body.rpf-shopping .woocommerce .coupon input.input-text { flex:1;width:100%!important;min-width:0!important;height:46px!important; }
body.rpf-shopping .woocommerce .coupon-col-start { flex:1!important;min-width:0; }
body.rpf-shopping .woocommerce .coupon-col-end { flex:none!important;width:auto!important; }
body.rpf-shopping .woocommerce .coupon button { flex:none;font-size:13px!important;padding:10px 14px!important; }
body.rpf-shopping .woocommerce .woocommerce-cart-form button[name="update_cart"]:empty { display:none!important; }
body.rpf-shopping .woocommerce .wc-proceed-to-checkout { padding:16px 0 0!important; }
body.rpf-shopping .woocommerce .checkout-button { width:100%!important;margin:0!important; }
body.rpf-shopping .woocommerce #shipping_method { list-style:none!important;margin:0!important;padding:0!important; }
body.rpf-shopping .woocommerce #shipping_method>li { display:flex;gap:8px;align-items:flex-start;margin:0 0 10px!important; }
body.rpf-shopping .woocommerce #shipping_method input.shipping_method { flex:none;width:16px!important;height:16px!important;margin:5px 0 0!important; }
body.rpf-shopping .woocommerce #shipping_method label { min-width:0;font-size:13px!important;line-height:1.8!important; }
body.rpf-shopping .woocommerce #payment { font-size:14px!important; }
body.rpf-shopping .woocommerce .rpf-checkout-panel { font-family:inherit; }
/* Container width, not viewport width: this also covers narrow Elementor columns. */
@container rpf-shopping (min-width:1000px) {
	body.rpf-shopping .woocommerce .e-cart__container { grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr)!important; }
}
@container rpf-shopping (min-width:900px) {
	body.rpf-shopping .woocommerce .e-checkout__container { grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr)!important; }
	body.rpf-shopping .woocommerce form.checkout:not(:has(>.e-checkout__container)) {
		display:grid!important;
		grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);
		gap:0 24px;
		align-items:start;
	}
	body.rpf-shopping .woocommerce form.checkout:not(:has(>.e-checkout__container))>#customer_details { grid-column:1;grid-row:1 / span 3; }
	body.rpf-shopping .woocommerce form.checkout:not(:has(>.e-checkout__container))>:is(#order_review_heading,#order_review) { grid-column:2; }
}
@container rpf-shopping (max-width:999px) {
	body.rpf-shopping .woocommerce .woocommerce-cart-form thead { display:none!important; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form :is(table.shop_table,tbody) { display:block!important; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item {
		display:grid!important;
		grid-template-columns:70px minmax(0,1fr)!important;
		gap:10px 12px;
		padding:14px!important;
		position:relative;
		border:1px solid #dce3e8!important;
		border-radius:8px;
		margin:0 0 12px;
		background:#fff;
	}
	body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item td {
		display:block!important;
		width:auto!important;
		min-width:0!important;
		padding:0!important;
		border:0!important;
		text-align:right!important;
	}
	body.rpf-shopping .woocommerce .woocommerce-cart-form tr.cart_item td::before { display:none!important; }
	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-thumbnail img { width:70px!important;height:70px!important; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form .product-name { grid-column:2;padding-inline-end:24px!important; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form .product-price { grid-column:2; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form :is(.product-quantity,.product-subtotal) { grid-column:1 / -1; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form .product-remove { position:absolute;inset:12px auto auto 12px; }
	body.rpf-shopping .woocommerce .woocommerce-cart-form .product-subtotal::before { display:inline!important;content:'جمع: ';float:none!important;font-weight:400; }
}
@container rpf-shopping (max-width:600px) {
	body.rpf-shopping .woocommerce :is(.e-cart-section,.e-checkout__order_review,.e-checkout__order_review-2,.e-checkout__payment,.e-woocommerce-login-section,.e-woocommerce-coupon-section,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) { padding:14px!important; }
	body.rpf-shopping .woocommerce table.shop_table :is(th,td) { padding:10px 5px!important;font-size:13px!important; }
	body.rpf-shopping .woocommerce .woocommerce-Price-amount { font-size:13px!important; }
	body.rpf-shopping .woocommerce .rpf-review-product { grid-template-columns:minmax(0,1fr);gap:6px; }
	body.rpf-shopping .woocommerce .coupon button { max-width:115px; }
}
