/* ==========================================================================
   12 — Cart, checkout, account (کلاسیک + بلوکی ووکامرس)
   ========================================================================== */

.page-hero--compact { padding: 20px 0 18px; }
.page-hero--compact .page-hero__title { font-size: var(--fs-2xl); }
.commerce__body { padding-bottom: 20px; }

/* ---------- Steps ---------- */
.steps { display: flex; align-items: center; gap: 8px; margin-top: 16px; counter-reset: s; font-size: var(--fs-sm); color: var(--muted); }
.steps li { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.steps li:not(:last-child)::after { content: ""; width: clamp(16px, 5vw, 60px); height: 2px; border-radius: 1px; background: var(--line-2); margin-inline: 4px; }
.steps span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--white); border: 1.5px solid var(--line-2); font-size: var(--fs-xs); }
.steps .is-on { color: var(--green-deep); }
.steps .is-on span { background: var(--gold); border-color: var(--gold); color: var(--green-deep); }
.steps .is-done span { background: var(--green); border-color: var(--green); color: #fff; }
.steps .is-done::after { background: var(--green) !important; }

/* ---------- Classic cart ---------- */
.woocommerce-cart .woocommerce { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1024px) { .woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 360px; } .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .cross-sells { grid-column: 1 / -1; } }
.woocommerce-cart-form { padding: 8px; border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); }
.shop_table.cart { width: 100%; }
.shop_table.cart thead { display: none; }
.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 80px 1fr auto; grid-template-areas: "img name rm" "img price price" "img qty sub"; gap: 4px 12px; padding: 14px; border-bottom: 1px solid var(--line); }
.shop_table.cart td { padding: 0; border: 0; }
.shop_table.cart .product-remove { grid-area: rm; }
.shop_table.cart .product-thumbnail { grid-area: img; }
.shop_table.cart .product-thumbnail img { width: 80px; height: 80px; border-radius: var(--r); object-fit: cover; }
.shop_table.cart .product-name { grid-area: name; font-weight: 800; color: var(--green-deep); }
.shop_table.cart .product-price { grid-area: price; font-size: var(--fs-xs); color: var(--muted); }
.shop_table.cart .product-quantity { grid-area: qty; }
.shop_table.cart .product-subtotal { grid-area: sub; align-self: center; font-weight: 900; color: var(--brown); }
.shop_table.cart td::before { display: none; }
.shop_table.cart .remove { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--muted) !important; font-size: 1.3rem; }
.shop_table.cart .remove:hover { background: var(--err-soft); color: var(--err) !important; }
.shop_table.cart td.actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 14px; }
.shop_table.cart .coupon { display: flex; gap: 8px; flex: 1; max-width: 420px; }
.shop_table.cart .coupon label { display: none; }
.shop_table.cart .coupon .input-text { flex: 1; min-height: 46px; padding: 0 14px; border-radius: var(--r-pill); border: 1.5px solid var(--line); }
.shop_table.cart button[name="update_cart"] { background: transparent; color: var(--green); border-color: var(--line-2); }

.cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce-order { padding: 22px; border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); }
@media (min-width: 1024px) { .cart-collaterals { position: sticky; top: calc(var(--header-h) + 16px); } }
.cart_totals h2, #order_review_heading { font-size: var(--fs-lg); margin-bottom: 14px; }
.cart_totals table, .woocommerce-checkout-review-order-table { width: 100%; }
.cart_totals th, .cart_totals td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0; border-bottom: 1px dashed var(--line); text-align: right; font-size: var(--fs-sm); vertical-align: top; }
.cart_totals td, .woocommerce-checkout-review-order-table td { text-align: left; }
.cart_totals .order-total td, .woocommerce-checkout-review-order-table .order-total td { font-size: 1.25rem; font-weight: 900; color: var(--green-deep); border: 0; }
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; text-align: right; }
.wc-proceed-to-checkout { margin-top: 16px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; --h: 54px; font-size: var(--fs-lg); }

/* ---------- Classic checkout ---------- */
form.checkout { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1024px) { form.checkout { grid-template-columns: minmax(0, 1fr) 400px; } form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; } #order_review_heading, #order_review { grid-column: 2; } #customer_details { grid-row: span 2; } }
#customer_details { padding: clamp(18px, 3vw, 32px); border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); display: grid; gap: 20px; }
#customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3, #ship-to-different-address { font-size: var(--fs-lg); margin-bottom: 14px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; grid-column: 1 / -1; }
.form-row-first, .form-row-last { grid-column: auto; }
.form-row label { font-size: var(--fs-sm); font-weight: 700; color: var(--ink-2); }
.form-row .required { color: var(--err); text-decoration: none; }
.form-row.woocommerce-invalid .input-text, .form-row.woocommerce-invalid select { border-color: var(--err); }
.select2-container .select2-selection--single { height: 50px; border-radius: var(--r-sm); border: 1.5px solid var(--line); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-right: 16px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; left: 8px; right: auto; }
#payment { margin-top: 16px; }
#payment .wc_payment_methods { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
#payment .wc_payment_method { padding: 14px; border-radius: var(--r); border: 1.5px solid var(--line); transition: border-color var(--t); }
#payment .wc_payment_method:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
#payment .wc_payment_method label { font-weight: 800; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
#payment .payment_box { margin-top: 8px; font-size: var(--fs-sm); color: var(--ink-2); }
#place_order { width: 100%; --h: 56px; font-size: var(--fs-lg); }
.woocommerce-terms-and-conditions-wrapper { font-size: var(--fs-xs); color: var(--muted); margin-bottom: 14px; }

/* ---------- Thank you ---------- */
.woocommerce-order .woocommerce-thankyou-order-received { font-size: var(--fs-lg); font-weight: 800; color: var(--green); margin-bottom: 16px; }
.woocommerce-order-overview { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 20px; }
.woocommerce-order-overview li { padding: 14px; border-radius: var(--r); background: var(--cream); font-size: var(--fs-xs); color: var(--muted); }
.woocommerce-order-overview strong { display: block; font-size: var(--fs-sm); color: var(--green-deep); margin-top: 4px; }

/* ---------- WooCommerce Blocks (سبد/تسویه بلوکی) ---------- */
.wc-block-cart, .wc-block-checkout { font-family: var(--font) !important; }
.wc-block-components-button:not(.is-link) { border-radius: var(--r-pill) !important; background: var(--gold) !important; color: var(--green-deep) !important; font-weight: 800 !important; min-height: 52px; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-blocks-components-select__select { border-radius: var(--r-sm) !important; border-color: var(--line) !important; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { padding: 20px !important; }
.wc-block-components-sidebar { border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--green-deep); font-weight: 900; }
.wc-block-components-product-name { color: var(--green-deep) !important; font-weight: 800; }
.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--green) !important; border-radius: var(--r) !important; }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce { display: grid; gap: 20px; align-items: start; }
@media (min-width: 900px) { .woocommerce-account.logged-in .woocommerce { grid-template-columns: 260px minmax(0, 1fr); gap: 28px; } }
.woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 6px; border-radius: var(--r-lg); background: var(--white); border: 1px solid var(--line); }
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation a { display: block; white-space: nowrap; padding: 10px 16px; border-radius: var(--r); font-weight: 700; font-size: var(--fs-sm); color: var(--ink-2); transition: background var(--t), color var(--t); }
.woocommerce-MyAccount-navigation a:hover { background: var(--cream); color: var(--green); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--green); color: #fff; }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--err); }
@media (min-width: 900px) { .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--header-h) + 16px); } .woocommerce-MyAccount-navigation ul { flex-direction: column; } }
.woocommerce-MyAccount-content { padding: clamp(18px, 3vw, 32px); border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); min-width: 0; }
.woocommerce-MyAccount-content > p:first-child { padding: 16px 18px; border-radius: var(--r); background: var(--gold-soft); color: var(--brown); }
.woocommerce-MyAccount-content mark { background: none; color: var(--green); font-weight: 800; }
.woocommerce-orders-table { width: 100%; font-size: var(--fs-sm); }
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: 12px 8px; border-bottom: 1px solid var(--line); text-align: right; }
.woocommerce-orders-table .button { --h: 36px; padding: 0 14px; font-size: var(--fs-xs); }
@media (max-width: 700px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--line); }
	.woocommerce-orders-table td { border: 0; padding: 2px 0; }
	.woocommerce-orders-table td::before { content: attr(data-title) ": "; color: var(--muted); font-size: var(--fs-xs); }
}
.woocommerce-Addresses { display: grid; gap: 16px; }
@media (min-width: 700px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address { padding: 18px; border-radius: var(--r); background: var(--cream); }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.woocommerce-Address-title h2 { font-size: var(--fs-lg); }
.woocommerce-EditAccountForm, .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.woocommerce-EditAccountForm fieldset { grid-column: 1 / -1; border: 1px dashed var(--line-2); border-radius: var(--r); padding: 14px; }

/* صفحه ورود حساب (OTP) */
.account-login { display: grid; gap: 20px; max-width: 920px; margin-inline: auto; }
.account-login__card { border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--line); box-shadow: var(--sh-2); }
.account-login__side { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: var(--r-xl); background: var(--green-deep) url("../img/pattern.svg") 0 0/120px; color: #EDE7D6; }
.account-login__side h2 { color: #fff; font-size: var(--fs-xl); }
.account-login__side .kicker { color: var(--gold-light); }
.account-login__side ul { display: flex; flex-direction: column; gap: 12px; }
.account-login__side li { display: flex; align-items: center; gap: 10px; }
.account-login__side .ico { width: 36px; height: 36px; padding: 8px; border-radius: 12px; background: rgba(255,255,255,.08); color: var(--gold-light); }
@media (min-width: 800px) { .account-login { grid-template-columns: 1.1fr .9fr; align-items: stretch; } }
.empty--cart { max-width: 520px; margin: 0 auto; background: var(--white); }
