.rangak-card-product .woocommerce div.product form.rangak-configurator {
	display: block;
	width: 100%;
	margin: 28px 0 0;
	padding: 0;
	border: 1px solid var(--line, #d9d2c7);
	background: #fffdf9;
	color: var(--ink, #171511);
}

.rangak-raw-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.rangak-raw-price small { color: #5f5a53; font-size: 13px; font-weight: 500; }
.rangak-price-pair { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.35; }
.rangak-price-current { display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.rangak-price-pair del { color: #8a847c; font-size: .78em; font-weight: 600; text-decoration-color: #9a4b56; text-decoration-thickness: 1px; }
.rangak-price-pair ins { color: #733844; font-size: 1em; font-weight: 850; text-decoration: none; }
.rangak-wizard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 24px; border-bottom: 1px solid #ded7cd; background: #f2ece3; }
.rangak-wizard-heading > div { min-width: 0; flex: 1 1 auto; }
.rangak-wizard-heading > div > span, .rangak-account-heading > span { color: #8a8278; font: 600 13px/1.7 Vazirmatn, sans-serif; letter-spacing: 0; direction: rtl; }
.rangak-wizard-heading h2 { margin: 7px 0 0; font-size: 22px; letter-spacing: -1px; }
.rangak-wizard-heading > strong { min-width: 0; max-width: none; display: inline-flex; flex: 0 1 420px; align-items: center; gap: 7px; color: #5d5952; font-size: 14px; line-height: 1.7; text-align: right; }
.rangak-wizard-heading > strong i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #6e7d65; box-shadow: 0 0 0 4px #dce4d7; }

.rangak-wizard-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #ded7cd; background: #faf7f2; }
.rangak-wizard-progress li { position: relative; min-height: 67px; display: flex; align-items: center; gap: 9px; padding: 13px 11px; color: #625d56; border-left: 1px solid #e7e0d7; }
.rangak-wizard-progress li:last-child { border-left: 0; }
.rangak-wizard-progress span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 25px; border: 1px solid #cfc7bc; border-radius: 50%; font: 700 13px Vazirmatn, sans-serif; }
.rangak-wizard-progress b { font-size: 14px; line-height: 1.5; }
.rangak-wizard-progress li.is-active { color: #171511; background: #fffdf9; }
.rangak-wizard-progress li.is-active::after { content: ""; position: absolute; right: 0; left: 0; bottom: -1px; height: 2px; background: #733844; }
.rangak-wizard-progress li.is-active span, .rangak-wizard-progress li.is-done span { border-color: #733844; background: #733844; color: #fff; }
.rangak-wizard-progress li.is-done b { color: #4e4a44; }
.rangak-wizard-progress li.is-skipped { opacity: .45; text-decoration: line-through; }

.rangak-wizard-step { padding: 28px 24px 24px; }
.rangak-wizard-step[hidden] { display: none !important; }
.rangak-step-title { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 24px; }
.rangak-step-title > div { min-width: 0; }
.rangak-step-title > span { margin-top: 4px; color: #85474c; font: 700 13px Vazirmatn, sans-serif; }
.rangak-step-title h3 { margin: 0 0 5px; font-size: 19px; }
.rangak-step-title p { margin: 0; color: #615c55; font-size: 14px; line-height: 1.8; }

.rangak-choice-group { min-width: 0; margin: 0 0 25px; padding: 0; border: 0; }
.rangak-choice-group legend { width: 100%; margin-bottom: 11px; color: #514d47; font-size: 15px; font-weight: 750; }
.rangak-choice-group legend em { display: inline-block; margin-right: 7px; padding: 2px 6px; background: #f0deda; color: #733844; font-size: 12px; font-style: normal; }
.rangak-option-grid, .rangak-print-options, .rangak-assembly-grid, .rangak-mode-grid, .rangak-shipping-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rangak-option-card input, .rangak-color-option input, .rangak-print-options input, .rangak-assembly-grid input, .rangak-mode-grid input, .rangak-shipping-grid input { position: absolute; opacity: 0; pointer-events: none; }
.rangak-option-card > span, .rangak-print-options label > span, .rangak-assembly-grid label > span { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid #d9d2c7; background: #faf7f2; cursor: pointer; transition: border-color .18s ease, background-color .18s ease; }
.rangak-option-card b, .rangak-print-options b, .rangak-assembly-grid strong { font-size: 15px; }
.rangak-option-card small, .rangak-print-options small, .rangak-assembly-grid small { color: #625d56; font-size: 13px; line-height: 1.5; }
.rangak-print-options [data-method-price], .rangak-assembly-grid [data-assembly-total] { color: #733844; font-size: 14px; font-weight: 800; white-space: nowrap; }
.rangak-assembly-grid label { display: flex; min-width: 0; }
.rangak-assembly-grid label > span { width: 100%; flex: 1; align-content: center; flex-wrap: wrap; }
.rangak-assembly-grid em { width: 100%; color: #625d56; font-size: 13px; font-style: normal; line-height: 1.7; }
.rangak-option-card input:checked + span, .rangak-print-options input:checked + span, .rangak-assembly-grid input:checked + span { border-color: #733844; background: #f2e3df; box-shadow: inset 0 0 0 1px #733844; }

.rangak-color-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.rangak-color-option > span { min-width: 104px; min-height: 52px; display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 1px 8px; padding: 9px 11px; border: 1px solid #d9d2c7; background: #faf7f2; cursor: pointer; }
.rangak-color-option i { grid-row: 1 / 3; width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: var(--swatch); box-shadow: 0 0 0 1px #bfb6aa; }
.rangak-color-option b { font-size: 15px; }
.rangak-color-option small { color: #625d56; font-size: 13px; }
.rangak-color-option input:checked + span { border-color: #733844; box-shadow: inset 0 0 0 1px #733844; }

.rangak-quantity-field { display: grid; grid-template-columns: 1fr 115px; align-items: center; gap: 4px 12px; margin-top: 5px; padding: 16px; border: 1px solid #d9d2c7; background: #f5f0e8; }
.rangak-quantity-field > span { font-size: 16px; font-weight: 750; }
.rangak-quantity-field input { grid-column: 2; grid-row: 1 / 3; width: 100%; min-height: 48px; padding: 8px; border: 1px solid #bdb5aa; background: #fff; text-align: center; font-weight: 800; }
.rangak-quantity-field small { color: #625d56; font-size: 13px; }
.rangak-early-mobile { display: grid; gap: 7px; margin-top: 14px; padding: 16px; border: 1px solid #cfc5b8; background: #fffdf9; }
.rangak-early-mobile > span { font-size: 16px; font-weight: 750; }
.rangak-early-mobile em { color: #a84f58; font-style: normal; }
.rangak-early-mobile input { width: 100%; min-height: 48px; padding: 9px 12px; border: 1px solid #bdb5aa; background: #fff; direction: ltr; text-align: left; font-size: 13px; }
.rangak-early-mobile small { color: #756e65; font-size: 14px; line-height: 1.9; }

.rangak-mode-grid label > span, .rangak-shipping-grid label > span { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; padding: 18px; border: 1px solid #d9d2c7; background: #faf7f2; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background-color .18s ease; direction: rtl; text-align: right; }
.rangak-mode-grid label > span:hover, .rangak-shipping-grid label > span:hover { transform: translateY(-2px); }
.rangak-mode-grid i, .rangak-shipping-grid i { margin-bottom: 20px; color: #918a80; font: 600 13px Vazirmatn, sans-serif; letter-spacing: 0; }
.rangak-mode-grid strong, .rangak-shipping-grid strong { margin-bottom: 7px; font-size: 13px; }
.rangak-mode-grid small, .rangak-shipping-grid small { color: #6f6961; font-size: 14px; line-height: 1.8; direction: rtl; text-align: right; }
.rangak-mode-grid b { margin-top: auto; padding-top: 14px; color: #733844; font-size: 14px; }
.rangak-mode-grid input:checked + span, .rangak-shipping-grid input:checked + span { border-color: #733844; background: #f2e3df; box-shadow: inset 0 0 0 1px #733844; }
.rangak-shipping-grid > label:only-child { grid-column: 1 / -1; }
.rangak-shipping-grid > label:only-child > span { min-height: 118px; }
.rangak-delivery-estimate { display: grid; gap: 5px; margin-top: 14px; padding: 17px 18px; border: 1px solid #c9b69e; background: #f5eee4; }
.rangak-delivery-estimate > span { color: #6f6253; font-size: 13px; font-weight: 750; }
.rangak-delivery-estimate strong { color: #3e3024; font-size: 18px; line-height: 1.8; }
.rangak-delivery-estimate small { color: #733844; font-size: 13px; font-weight: 700; line-height: 1.8; }
.rangak-delivery-estimate small[hidden] { display: none !important; }

.rangak-print-group { padding-bottom: 20px; border-bottom: 1px solid #e4ddd4; }
.rangak-print-color-picker { container-type: inline-size; margin-top: 14px; padding: 18px; border: 1px solid #cfc5b8; background: #fffdf9; }
.rangak-print-color-picker[hidden] { display: none !important; }
.rangak-print-color-picker__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 17px; padding-bottom: 14px; border-bottom: 1px solid #e2d9ce; }
.rangak-print-color-picker__header > * { min-width: 0; }
.rangak-print-color-picker__header span { color: #8a4d55; font-size: 13px; font-weight: 800; }
.rangak-print-color-picker__header h4 { margin: 3px 0 0; font-size: 18px; }
.rangak-print-color-picker__header p { width: 100%; max-width: none; flex: 1 1 430px; margin: 0; color: #625d56; font-size: 14px; line-height: 1.8; text-align: right; }
.rangak-print-color-picker__layout { display: block; }
.rangak-print-color-picker__controls { min-width: 0; }
.rangak-print-palette { display: flex; gap: 8px; margin: 0 0 16px; padding: 0 0 7px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: inline proximity; }
.rangak-print-palette__swatch { min-width: max-content; min-height: 45px; display: flex; align-items: center; flex: 0 0 auto; gap: 9px; padding: 7px 11px; border: 1px solid #d8cfc4; background: #faf7f2; color: #39342f; font: 700 13px/1.5 Vazirmatn, sans-serif; text-align: right; cursor: pointer; scroll-snap-align: start; }
.rangak-print-palette__swatch > span { width: 23px; height: 23px; flex: 0 0 23px; border: 3px solid #fff; border-radius: 50%; background: var(--print-color); box-shadow: 0 0 0 1px #ada59a; }
.rangak-print-palette__swatch b { font-size: 13px; font-weight: 750; white-space: nowrap; }
.rangak-print-palette__swatch:hover { border-color: #9c6267; }
.rangak-print-palette__swatch.is-active { border-color: #733844; background: #f2e3df; box-shadow: inset 0 0 0 1px #733844; }
.rangak-print-color-picker__custom { padding: 13px; border: 1px solid #d8cfc4; background: #faf7f2; }
.rangak-print-color-picker__custom-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rangak-print-color-picker__custom-title strong { font-size: 14px; }
.rangak-print-color-picker__custom-title span { color: #706960; font-size: 12px; line-height: 1.6; }
.rangak-print-color-field { position: relative; width: 100%; height: 190px; overflow: hidden; border: 1px solid #aaa095; background: linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,var(--picker-hue)); cursor: crosshair; touch-action: none; }
.rangak-print-color-field:focus-visible { outline: 3px solid rgba(115,56,68,.18); outline-offset: 2px; }
.rangak-print-color-field > i { position: absolute; top: 50%; left: 50%; width: 17px; height: 17px; transform: translate(-50%,-50%); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #151515,0 2px 6px rgba(0,0,0,.35); pointer-events: none; }
.rangak-print-hue { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; margin-top: 11px; color: #514b44; font-size: 13px; font-weight: 750; }
.rangak-print-hue input { width: 100%; height: 18px; margin: 0; padding: 0; border: 0; border-radius: 999px; outline: 0; background: linear-gradient(to left,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); appearance: none; cursor: pointer; direction: ltr; }
.rangak-print-hue input::-webkit-slider-thumb { width: 22px; height: 22px; border: 3px solid #fff; border-radius: 50%; background: #222; box-shadow: 0 0 0 1px #555; appearance: none; }
.rangak-print-hue input::-moz-range-thumb { width: 16px; height: 16px; border: 3px solid #fff; border-radius: 50%; background: #222; box-shadow: 0 0 0 1px #555; }
.rangak-print-color-picker__selection { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 2px 11px; margin-top: 10px; padding: 11px 12px; border: 1px solid #d8cfc4; background: #fff; color: #29241f; }
.rangak-print-color-picker__selection i { grid-row: 1 / 3; width: 58px; height: 40px; border: 4px solid #fff; background: var(--selected-print-color); box-shadow: 0 0 0 1px #aaa095; }
.rangak-print-color-picker__selection span { color: #706960; font-size: 12px; }
.rangak-print-color-picker__selection output { grid-column: 2 / 4; direction: ltr; color: #29241f; font: 800 17px/1.4 Consolas, monospace; text-align: left; unicode-bidi: isolate; }
.rangak-print-live-summary,
.rangak-order-summary { margin-top: 20px; overflow: hidden; border: 1px solid #cfc4b7; border-radius: 18px; background: #fffdf9; color: #29251f; box-shadow: 0 16px 42px rgba(40,31,24,.08); }
.rangak-print-live-summary__title,
.rangak-order-summary__title { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 20px; border-bottom: 1px solid #ddd3c7; background: #f5efe7; direction: rtl; text-align: right; }
.rangak-print-live-summary__title span,
.rangak-order-summary__title strong { display: block; color: #29251f; font-size: 17px; font-weight: 850; }
.rangak-print-live-summary__title small,
.rangak-order-summary__title small { display: block; margin-top: 3px; color: #756e65; font-size: 13px; line-height: 1.7; }
.rangak-order-summary__title b { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #c9b3b4; border-radius: 999px; background: #fff; color: #733844; font-size: 13px; white-space: nowrap; }
.rangak-summary-lines { display: grid; gap: 11px; padding: 16px 20px 18px; }
.rangak-summary-group { overflow: hidden; border: 1px solid #e1d9cf; border-radius: 12px; background: #fff; }
.rangak-summary-group > h4 { margin: 0; padding: 9px 13px; border-bottom: 1px solid #e7dfd5; background: #f8f4ee; color: #756d63; font-size: 13px; font-weight: 800; line-height: 1.7; }
.rangak-summary-row { min-height: 48px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 10px 13px; border-bottom: 1px solid #eee7df; color: #5e574f; font-size: 14px; line-height: 1.8; direction: rtl; text-align: right; }
.rangak-summary-row:last-child { border-bottom: 0; }
.rangak-summary-row > span { min-width: 0; }
.rangak-summary-row > b { color: #2e2924; font-size: 15px; font-weight: 800; white-space: nowrap; text-align: left; }
.rangak-summary-row.rangak-summary-original > b { color: #877f76; font-weight: 650; text-decoration: line-through; text-decoration-color: #a65a63; }
.rangak-summary-row.rangak-summary-discount > span,
.rangak-summary-row.rangak-summary-discount > b { color: #287454; font-weight: 850; }
.rangak-summary-row.rangak-summary-primary { background: #fffaf4; color: #332c26; font-weight: 800; }
.rangak-summary-group--shipping { border-color: #bdd4d0; background: #f4fbf9; }
.rangak-summary-group--shipping > h4 { border-color: #d0e3df; background: #eaf6f3; color: #34655d; }
.rangak-summary-row.rangak-summary-shipping > b { color: #236a5d; }
.rangak-summary-total { min-height: 96px; display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 20px; border-top: 1px solid #3c3530; background: #241f1b; color: #fff; direction: rtl; text-align: right; }
.rangak-summary-total > div { min-width: 0; }
.rangak-summary-total span { display: block; font-size: 18px; font-weight: 850; }
.rangak-summary-total small { display: block; margin-top: 4px; color: #bdb5ac; font-size: 13px; font-weight: 500; line-height: 1.7; }
.rangak-summary-total strong { flex: 0 0 auto; color: #fff; font-size: 29px; line-height: 1.35; white-space: nowrap; text-align: left; }
.rangak-single-order-note { margin: 12px 0 0; padding: 11px 13px; border: 1px dashed #c9bfb3; color: #6c665e; font-size: 14px; line-height: 1.8; }
.rangak-single-order-note strong { color: #171511; }
.rangak-step-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }
.rangak-step-actions .button { min-height: 46px; padding: 11px 18px; cursor: pointer; }
.rangak-step-actions .rangak-prev { margin-left: auto; }
.rangak-step-actions .button.is-loading { gap: 10px; cursor: wait; opacity: .88; transform: none; }
.rangak-loading-spinner { width: 18px; height: 18px; flex: 0 0 18px; display: inline-block; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: rangak-loading-spin .72s linear infinite; }
.rangak-wizard-error { margin: 0 24px 24px; padding: 11px 14px; border-right: 3px solid #a53e47; background: #f6dedf; color: #70232a; font-size: 14px; }

@keyframes rangak-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rangak-loading-spinner { animation-duration: 1.4s; } }

@media (max-width: 760px) {
	.rangak-print-color-picker { padding: 14px; }
	.rangak-print-color-picker__header { align-items: flex-start; flex-direction: column; gap: 8px; }
	.rangak-print-color-picker__header p { flex: 0 1 auto; }
	.rangak-print-live-summary__title,
	.rangak-order-summary__title { align-items: flex-start; padding: 15px; }
	.rangak-summary-lines { gap: 9px; padding: 12px; }
	.rangak-summary-row { gap: 12px; padding: 10px 11px; }
	.rangak-summary-total { min-height: 0; align-items: flex-start; flex-direction: column; gap: 12px; padding: 18px 15px; }
	.rangak-summary-total strong { width: 100%; font-size: 27px; text-align: right; }
}

@media (max-width: 390px) {
	.rangak-print-color-picker__custom-title { align-items: flex-start; flex-direction: column; gap: 3px; }
	.rangak-print-color-field { height: 170px; }
}

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid #d9d2c7; background: #fffdf9; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 14px 16px; border-bottom: 1px solid #e5ded4; text-decoration: none; font-size: 14px; }
.woocommerce-MyAccount-navigation li.is-active a { border-right: 3px solid #733844; background: #f0e8df; font-weight: 750; }
.rangak-account-overview { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 25px; border: 1px solid #d9d2c7; background: #fffdf9; }
.rangak-account-overview > div { min-height: 126px; display: flex; flex-direction: column; padding: 18px; border-left: 1px solid #e5ded4; }
.rangak-account-overview > div:nth-child(3) { border-left: 0; }
.rangak-account-overview span { color: #6f6961; font-size: 13px; }
.rangak-account-overview strong { margin: auto 0 2px; font-size: 30px; }
.rangak-account-overview small { color: #938c83; font-size: 13px; }
.rangak-account-overview > a { grid-column: 1 / -1; display: flex; justify-content: space-between; padding: 13px 18px; border-top: 1px solid #d9d2c7; background: #171511; color: #fff; text-decoration: none; font-size: 14px; }
.rangak-account-overview > a span { color: #86ddd1; }
.rangak-account-heading { margin-bottom: 30px; }
.rangak-account-heading h2 { margin: 8px 0 5px; font-size: clamp(31px, 4vw, 52px); letter-spacing: -2px; }
.rangak-account-heading p { margin: 0; color: #706a62; font-size: 14px; }
.rangak-account-heading--order > a { display: inline-block; margin-bottom: 20px; color: #736d65; font-size: 13px; text-decoration: none; }
.rangak-order-title-meta { display: flex; align-items: center; gap: 10px; margin-top: 13px; }
.rangak-order-title-meta > b { font-size: 14px; }
.rangak-account-orders { display: grid; gap: 12px; }
.rangak-account-order { border: 1px solid #d9d2c7; background: #fffdf9; }
.rangak-account-order__top, .rangak-account-order__footer { display: flex; align-items: center; justify-content: space-between; padding: 11px 16px; border-bottom: 1px solid #e5ded4; color: #837c73; font-size: 13px; }
.rangak-account-order__body { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 16px; }
.rangak-account-order__body small { color: #8b847b; font-size: 13px; }
.rangak-account-order__body h3 { margin: 4px 0; font-size: 17px; }
.rangak-account-order__body p { margin: 0; color: #706a62; font-size: 14px; }
.rangak-account-order__footer { border-top: 1px solid #e5ded4; border-bottom: 0; }
.rangak-account-order__footer strong { color: #171511; font-size: 12px; }
.rangak-account-order__footer a { color: #733844; text-decoration: none; font-size: 14px; font-weight: 750; }
.rangak-status { display: inline-flex; align-items: center; padding: 5px 8px; background: #eae5dd; color: #5f5951; font-size: 13px; font-weight: 700; }
.rangak-status--proof_ready, .rangak-status--revision_requested { background: #f2ddcf; color: #7a4129; }
.rangak-status--print_queue, .rangak-status--printed, .rangak-status--shipped { background: #dae6d7; color: #40533d; }
.rangak-status--initial { background: #f0dfdf; color: #713f44; }
.rangak-status--paid, .rangak-status--awaiting_design { background: #dce9ef; color: #31586b; }
.rangak-account-empty { padding: 38px; border: 1px dashed #c8bfb3; text-align: center; }
.rangak-account-empty strong { font-size: 18px; }
.rangak-account-empty p { color: #746e66; font-size: 14px; }
.rangak-account-layout { display: grid; grid-template-columns: minmax(0, 1fr) 215px; gap: 18px; align-items: start; }
.rangak-account-main { display: grid; gap: 16px; }
.rangak-account-card { border: 1px solid #d9d2c7; background: #fffdf9; }
.rangak-account-card > header { display: flex; gap: 13px; padding: 17px; border-bottom: 1px solid #e4ddd4; background: #f3ede4; }
.rangak-account-card > header > span { color: #b57670; font: 600 13px Vazirmatn, sans-serif; }
.rangak-account-card h3 { margin: 0 0 4px; font-size: 15px; }
.rangak-account-card header p { margin: 0; color: #7d766d; font-size: 13px; }
.rangak-config-review, .rangak-print-details-view { display: grid; grid-template-columns: repeat(2, 1fr); padding: 8px 17px 17px; }
.rangak-config-review > div, .rangak-print-details-view > div { padding: 12px 0; border-bottom: 1px solid #ece5dc; }
.rangak-config-review > div:nth-child(odd), .rangak-print-details-view > div:nth-child(odd) { padding-left: 13px; }
.rangak-config-review span, .rangak-print-details-view span { display: block; margin-bottom: 3px; color: #8a837a; font-size: 13px; }
.rangak-config-review strong { font-size: 14px; }
.rangak-print-details-view p { margin: 0; font-size: 14px; line-height: 1.8; }
.rangak-print-form { padding: 17px; }
.rangak-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-bottom: 16px; }
.rangak-form-grid label { display: grid; gap: 6px; }
.rangak-form-grid label.is-wide { grid-column: 1 / -1; }
.rangak-form-grid label > span { color: #5f5952; font-size: 14px; font-weight: 700; }
.rangak-form-grid em { color: #a84f58; font-style: normal; }
.rangak-form-grid input, .rangak-form-grid textarea { width: 100%; padding: 10px 11px; border: 1px solid #cfc6ba; background: #fff; font-size: 16px; }
.rangak-account-date { display: grid; grid-template-columns: .8fr 1.4fr 1fr; gap: 8px; }
.rangak-account-date select { width: 100%; min-height: 43px; padding: 8px; border: 1px solid #cfc6ba; background: #fff; }
.rangak-upload-field { padding: 13px; border: 1px dashed #c7bdb1; background: #f7f2eb; }
.rangak-upload-field small { color: #817a71; font-size: 13px; }
.rangak-lock-note, .rangak-success-note { margin: 0 17px 17px; padding: 11px; background: #e3eadf; color: #46533f; font-size: 14px; }
.rangak-selected-presets { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 17px 17px 0; padding: 11px 13px; border: 1px solid #d8cfc4; background: #f7f2eb; color: #625b53; font-size: 13px; }
.rangak-selected-presets b { color: #733844; }
.rangak-customer-proof { padding: 17px; text-align: center; }
.rangak-customer-proof a { display: inline-grid; gap: 8px; color: #733844; font-size: 14px; text-decoration: none; }
.rangak-customer-proof img { max-height: 560px; width: auto; border: 1px solid #d1c8bd; }
.rangak-proof-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; padding: 0 17px 17px; }
.rangak-revision-form { display: grid; gap: 7px; }
.rangak-revision-form textarea { min-height: 75px; padding: 9px; border: 1px solid #cfc6ba; }
.rangak-proof-empty { margin: 17px; padding: 28px; border: 1px dashed #c9c0b5; text-align: center; }
.rangak-proof-empty span { font-size: 13px; font-weight: 750; }
.rangak-proof-empty p { margin: 5px auto 0; max-width: 430px; color: #7c756d; font-size: 14px; line-height: 1.8; }
.rangak-account-aside { position: sticky; top: 24px; border: 1px solid #292722; background: #1b1916; color: #fff; }
.rangak-account-aside > div { padding: 15px; border-bottom: 1px solid #37342f; }
.rangak-account-aside span { display: block; margin-bottom: 5px; color: #9d9891; font-size: 13px; }
.rangak-account-aside strong { font-size: 14px; }
.rangak-account-aside > div:first-child strong { color: #dec9aa; font-size: 17px; }
.rangak-account-aside > a { display: block; padding: 13px 15px; color: #86ddd1; font-size: 14px; text-decoration: none; }

/* Direct order information form */
.woocommerce-checkout .content-page { padding-top: 48px; }
.woocommerce-checkout .content-page > article,
.woocommerce-checkout .entry-content { width: 100%; max-width: none; }
.woocommerce-checkout .page-heading { margin-bottom: 30px; }
.woocommerce-checkout .page-heading h1 { margin-bottom: 0; font-size: clamp(36px, 4.4vw, 58px); }
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-account-fields { display: none !important; }
.rangak-checkout-assurance { width: 100%; margin: 0 0 26px; padding: 20px 22px; border: 1px solid #bfcfc8; border-right: 4px solid #5e8274; background: linear-gradient(110deg, #f1f6f3, #f8fbf8); }
.rangak-checkout-assurance strong { display: block; margin-bottom: 6px; color: #2f5246; font-size: 15px; }
.rangak-checkout-assurance p { width: 100%; max-width: none; margin: 0; color: #4e625b; font-size: 14px; line-height: 2; text-align: right; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 430px); gap: 30px; align-items: start; }
.woocommerce-checkout form.checkout > *,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > * { min-width: 0; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1; width: auto; float: none; padding: 10px 30px 30px; border: 1px solid #d6cec2; background: #fffdf9; box-shadow: 0 18px 45px rgba(49, 40, 31, .045); }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; clear: both; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 18px; }
.rangak-checkout-section-heading { clear: both; display: flex; flex: 0 0 100%; gap: 14px; width: 100%; margin: 25px 0 17px; padding: 14px 0 12px; border-bottom: 1px solid #d9d2c7; }
.rangak-checkout-section-heading > div { min-width: 0; flex: 1 1 auto; }
.rangak-checkout-section-heading > span { padding-top: 2px; color: #a45e61; font: 700 13px/1.7 Vazirmatn, sans-serif; }
.rangak-checkout-section-heading h2 { margin: 0 0 4px; font-size: 19px; letter-spacing: -.4px; }
.rangak-checkout-section-heading p { width: 100%; max-width: none; margin: 0; color: #756f67; font-size: 14px; line-height: 1.8; text-align: right; }
.woocommerce-checkout .form-row { width: 100%; margin: 0 0 15px; float: none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { width: calc(50% - 9px) !important; }
.woocommerce-checkout .form-row label { display: block; margin-bottom: 6px; color: #4e4943; font-size: 14px; font-weight: 750; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single { width: 100%; min-height: 49px; border: 1px solid #c9c0b5; border-radius: 0; outline: 0; background: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single { border-color: #733844; box-shadow: 0 0 0 3px rgba(115, 56, 68, .09); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select { padding: 11px 13px; }
.woocommerce-checkout .form-row textarea { min-height: 105px; resize: vertical; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 9px 13px; line-height: 30px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; left: 10px; right: auto; }
.woocommerce-checkout .form-row .description { display: block; margin-top: 7px; color: #746d65; font-size: 14px; line-height: 1.8; }
.woocommerce-checkout .rangak-preset-field .woocommerce-input-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 9px; }
.woocommerce-checkout .rangak-preset-field .woocommerce-input-wrapper > input,
.woocommerce-checkout .rangak-preset-field .woocommerce-input-wrapper > textarea { grid-column: 1; }
.woocommerce-checkout .rangak-preset-open { grid-column: 2; grid-row: 1; min-height: 49px; margin: 0 !important; padding: 9px 14px !important; border: 1px solid #733844 !important; background: #fff !important; color: #733844 !important; font-size: 14px !important; white-space: nowrap; }
.woocommerce-checkout .rangak-preset-state { grid-column: 1 / -1; color: #706960; font-size: 13px; line-height: 1.7; }
.rangak-modal-open { overflow: hidden; }
.rangak-preset-modal { position: fixed; z-index: 100050; inset: 0; display: grid; place-items: center; padding: 20px; opacity: 0; transition: opacity .18s ease; }
.rangak-preset-modal[hidden] { display: none !important; }
.rangak-preset-modal.is-open { opacity: 1; }
.rangak-preset-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(18,15,13,.72); cursor: pointer; }
.rangak-preset-modal__dialog { position: relative; width: min(680px, 100%); max-height: min(760px, calc(100vh - 40px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #cabfb2; background: #fffdf9; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.rangak-preset-modal__dialog > header { min-height: 85px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border-bottom: 1px solid #ded5ca; background: #f4eee6; }
.rangak-preset-modal__dialog > header span { color: #8a4d55; font-size: 13px; font-weight: 800; }
.rangak-preset-modal__dialog > header h2 { margin: 3px 0 0; color: #211d19; font-size: 22px; }
.rangak-preset-modal__close { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 42px; padding: 0; border: 1px solid #cfc5b9; background: #fff; color: #342e29; font: 400 29px/1 Arial,sans-serif; cursor: pointer; }
.rangak-preset-modal__viewport { min-height: 330px; overflow-y: auto; padding: 22px; }
.rangak-preset-slide[hidden] { display: none !important; }
.rangak-preset-slide__preview { min-height: 245px; display: grid; place-items: center; align-content: center; gap: 24px; padding: 34px; border: 1px solid #d8cfc4; background: radial-gradient(circle at 20% 10%,rgba(164,94,97,.12),transparent 34%),linear-gradient(135deg,#fbf7f1,#f0e7dc); text-align: center; }
.rangak-preset-slide__preview > span { padding: 4px 10px; border: 1px solid #d8c5c4; background: rgba(255,255,255,.76); color: #874b54; font-size: 13px; font-weight: 800; }
.rangak-preset-slide__preview > strong { max-width: 520px; color: #27211d; font-size: 20px; font-weight: 700; line-height: 2.05; white-space: normal; }
.rangak-preset-slide__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 3px 0; }
.rangak-preset-slide__meta b { color: #39322c; font-size: 15px; }
.rangak-preset-slide__meta small { color: #756d64; font-size: 13px; }
.rangak-preset-modal__dialog > footer { display: grid; grid-template-columns: 42px auto 42px 1fr; align-items: center; gap: 9px; padding: 15px 20px 18px; border-top: 1px solid #ded5ca; background: #faf6f0; }
.rangak-preset-modal__dialog > footer > span { min-width: 72px; color: #686159; font-size: 13px; text-align: center; }
.rangak-preset-modal__arrow { width: 42px; height: 42px; padding: 0; border: 1px solid #cfc5b9; background: #fff; color: #302a25; font: 800 18px/1 Vazirmatn,sans-serif; cursor: pointer; }
.rangak-preset-modal__select { justify-self: end; min-height: 46px; padding-inline: 20px !important; }
.woocommerce-checkout .rangak-mobile-checkout-field { padding: 15px; border: 1px solid #d9c9c5; background: #faf3f1; }
.woocommerce-checkout .form-row.rangak-mobile-checkout-field .description { position: static !important; display: block !important; height: auto !important; margin: 8px 0 0 !important; padding: 10px 12px !important; overflow: visible !important; border: 0 !important; border-right: 3px solid #b57670 !important; background: #f2e7e3 !important; color: #554d47 !important; font-size: 14px !important; line-height: 1.9 !important; }
.woocommerce-checkout .form-row.rangak-mobile-checkout-field .description::before { display: none !important; content: none !important; }
.woocommerce-checkout .rangak-mobile-checkout-field input { direction: ltr; text-align: left; font-size: 15px; letter-spacing: .4px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .rangak-date-part { width: calc(33.333% - 12px) !important; }
.woocommerce-checkout .woocommerce-additional-fields { clear: both; }
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { display: block; }
.woocommerce-checkout #order_review { position: sticky; top: 22px; grid-column: 2; grid-row: 1; width: auto; min-width: 0; overflow: hidden; float: none; padding: 0; border: 1px solid #d3c8bb; background: #fffdf9; box-shadow: 0 20px 50px rgba(34, 28, 23, .1); direction: rtl; text-align: right; }
.woocommerce-checkout #order_review::before { content: "خلاصه و مبلغ سفارش"; display: block; padding: 20px 22px; background: #1b1916; color: #fff; font-size: 19px; font-weight: 800; }
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #order_review .shop_table tbody,
.woocommerce-checkout #order_review .shop_table tfoot,
.woocommerce-checkout #order_review .shop_table tr { display: block; width: 100%; }
.woocommerce-checkout #order_review .shop_table { margin: 0; border: 0; border-radius: 0; color: #4f4942; font-size: 15px; table-layout: fixed; }
.woocommerce-checkout #order_review .shop_table thead { display: none; }
.woocommerce-checkout #order_review .shop_table tbody { padding: 20px 20px 0; }
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td { box-sizing: border-box; color: #4f4942; vertical-align: top; }
.woocommerce-checkout #order_review .shop_table td::before { display: none !important; content: none !important; }
.woocommerce-checkout #order_review .cart_item .product-name { display: block; width: 100%; padding: 0; border: 0; color: #25211d; font-size: 16px; font-weight: 800; line-height: 1.85; }
.woocommerce-checkout #order_review .product-name > strong.product-quantity { display: inline-flex; align-items: center; min-height: 28px; margin-inline-start: 5px; padding: 2px 9px; color: #733844; border: 1px solid #dfc9cd; background: #faf0f1; font-size: 14px; line-height: 1; white-space: nowrap; }
.woocommerce-checkout #order_review dl.variation { display: grid; grid-template-columns: minmax(112px, .9fr) minmax(0, 1.1fr); width: 100%; margin: 15px 0 0; padding: 5px 14px; border: 1px solid #e1d8cd; background: #f8f4ee; font-size: 14px; line-height: 1.75; }
.woocommerce-checkout #order_review dl.variation dt,
.woocommerce-checkout #order_review dl.variation dd { display: block; width: auto; min-width: 0; float: none !important; clear: none !important; margin: 0 !important; padding: 10px 0 !important; border-bottom: 1px solid #e7dfd5; }
.woocommerce-checkout #order_review dl.variation dt { padding-left: 10px !important; color: #746c63; font-weight: 700; }
.woocommerce-checkout #order_review dl.variation dd { color: #302b26; font-weight: 750; text-align: right; overflow-wrap: anywhere; }
.woocommerce-checkout #order_review dl.variation dd .amount { display: block; text-align: left; }
.woocommerce-checkout #order_review dl.variation dt:last-of-type,
.woocommerce-checkout #order_review dl.variation dd:last-of-type { border-bottom: 0; }
.woocommerce-checkout #order_review dl.variation p { margin: 0; }
.woocommerce-checkout #order_review dl.variation a { color: #733844; text-underline-offset: 4px; }
.woocommerce-checkout #order_review .cart_item .product-total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; width: 100%; padding: 15px 0; border: 0; color: #302b26; font-size: 16px; font-weight: 850; }
.woocommerce-checkout #order_review .cart_item .product-total::before { content: "جمع کارت و خدمات"; color: #676057; font-size: 15px; font-weight: 700; }
.woocommerce-checkout #order_review .cart-subtotal { display: none !important; }
.woocommerce-checkout #order_review .shipping,
.woocommerce-checkout #order_review .order-total { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 14px; padding: 16px 20px; border-top: 1px solid #e1d8cd; }
.woocommerce-checkout #order_review .shipping th,
.woocommerce-checkout #order_review .shipping td,
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td { display: block; width: auto; padding: 0; border: 0; background: transparent; font-size: 15px; }
.woocommerce-checkout #order_review .shipping td { text-align: right; }
.woocommerce-checkout #order_review .order-total td { text-align: left; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods { margin: 0; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods li { margin: 0; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods label { display: block; color: #4d4740; line-height: 1.8; }
.woocommerce-checkout #order_review .shipping label .amount { display: block; margin-top: 3px; color: #29241f; font-size: 16px; text-align: left; }
.woocommerce-checkout #order_review .order-total { padding-block: 19px; background: #f1e9df; }
.woocommerce-checkout #order_review .order-total th { color: #29241f; font-size: 16px; font-weight: 800; }
.woocommerce-checkout #order_review .order-total .amount { color: #733844; font-size: 23px; font-weight: 900; white-space: nowrap; }
.woocommerce-checkout #payment { border-top: 1px solid #d8cec2; border-radius: 0; background: #faf6f0; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 18px 20px; border-color: #ddd4c9; }
.woocommerce-checkout #payment ul.payment_methods > li > label { color: #2e2924; font-size: 15px; font-weight: 800; }
.woocommerce-checkout #payment div.payment_box { margin: 12px 0 0; padding: 14px 16px; background: #eee6dc; font-size: 14px; line-height: 1.9; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #eee6dc; }
.woocommerce-checkout #payment .place-order { margin: 0; padding: 18px 20px 20px; }
.woocommerce-checkout .rangak-privacy-note { display: block; color: #6f6961; font-size: 14px; line-height: 1.9; }
.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"] { display: none; }
.woocommerce-checkout .woocommerce-shipping-methods label { cursor: default; font-weight: 700; }
.woocommerce-checkout #place_order { width: 100%; min-height: 58px; margin-top: 15px; background: #733844 !important; font-size: 16px; }

/* A stable one-column receipt avoids WooCommerce table/floats colliding in RTL. */
.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(420px, 470px); }
.woocommerce-checkout #order_review { border-radius: 0; }
.woocommerce-checkout #order_review::before { padding: 19px 20px; border-bottom: 1px solid #312e29; }
.woocommerce-checkout #order_review .shop_table tbody { padding: 18px; }
.woocommerce-checkout #order_review .shop_table tr.cart_item { display: block !important; overflow: hidden; border: 1px solid #ded5ca; background: #fff; }
.woocommerce-checkout #order_review .cart_item .product-name { padding: 16px 16px 0; }
.woocommerce-checkout #order_review .product-name > strong.product-quantity { float: none; margin-inline-start: 8px; vertical-align: middle; }
.woocommerce-checkout #order_review dl.variation { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0; margin: 14px 0 0; padding: 0; border: 0; background: #f7f2eb; }
.woocommerce-checkout #order_review dl.variation dt,
.woocommerce-checkout #order_review dl.variation dd { grid-column: 1; width: 100%; padding-inline: 13px !important; border: 0; text-align: right !important; }
.woocommerce-checkout #order_review dl.variation dt { padding-top: 10px !important; padding-bottom: 2px !important; color: #7a7269; font-size: 12px; font-weight: 750; }
.woocommerce-checkout #order_review dl.variation dd { padding-top: 0 !important; padding-bottom: 10px !important; border-bottom: 1px solid #e2d9ce; color: #2e2924; font-size: 14px; font-weight: 750; line-height: 1.75; }
.woocommerce-checkout #order_review dl.variation dd:last-child { border-bottom: 0; }
.woocommerce-checkout #order_review dl.variation dd .amount { display: inline; text-align: inherit; }
.woocommerce-checkout #order_review .cart_item .product-total { margin-top: 0; padding: 14px 16px; border-top: 1px solid #ded5ca; background: #fbf8f3; }
.woocommerce-checkout #order_review .cart_item .product-total::before { font-size: 13px; }
.woocommerce-checkout #order_review .cart_item .product-total .amount { color: #29241f; font-size: 17px; }
.woocommerce-checkout #order_review .shop_table tfoot { padding-top: 0; }
.woocommerce-checkout #order_review .shipping,
.woocommerce-checkout #order_review .order-total { display: flex !important; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; }
.woocommerce-checkout #order_review .shipping th,
.woocommerce-checkout #order_review .order-total th { flex: 0 0 auto; }
.woocommerce-checkout #order_review .shipping td,
.woocommerce-checkout #order_review .order-total td { min-width: 0; flex: 1; text-align: left !important; }
.woocommerce-checkout #order_review .shipping td { text-align: right !important; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods li { direction: rtl; text-align: right; }
.woocommerce-checkout #order_review .woocommerce-shipping-methods label { display: flex; align-items: baseline; justify-content: flex-start; flex-wrap: wrap; gap: 5px 9px; direction: rtl; text-align: right; }
.woocommerce-checkout #order_review .shipping label .amount { display: inline; margin: 0; text-align: inherit; }
.woocommerce-checkout #order_review .order-total { border-top: 1px solid #d8cec2; background: #f1e9df; }
.woocommerce-checkout #order_review .order-total .amount { display: inline-block; font-size: 24px; }
.woocommerce-checkout #payment { margin-top: 0; }

@media (max-width: 820px) {
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-MyAccount-navigation { margin-bottom: 25px; }
	.rangak-account-layout { grid-template-columns: 1fr; }
	.rangak-account-aside { position: static; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout #order_review { position: static; }
}

@media (max-width: 560px) {
	.rangak-wizard-heading { flex-direction: column; }
	.rangak-wizard-heading > strong { width: 100%; max-width: none; flex: 0 0 auto !important; }
	.rangak-wizard-progress b { display: none; }
	.rangak-wizard-progress li { min-height: 52px; justify-content: center; padding: 8px; }
	.rangak-wizard-step { padding: 23px 16px 18px; }
	.rangak-option-grid, .rangak-print-options, .rangak-assembly-grid, .rangak-mode-grid, .rangak-shipping-grid { grid-template-columns: 1fr; }
	.rangak-mode-grid label > span, .rangak-shipping-grid label > span { min-height: 125px; }
	.rangak-quantity-field { grid-template-columns: 1fr 100px; }
	.rangak-step-actions { align-items: stretch; }
	.rangak-step-actions .button { flex: 1; padding-inline: 10px; }
	.rangak-account-overview { grid-template-columns: 1fr; }
	.rangak-account-overview > div { min-height: 85px; border-left: 0; border-bottom: 1px solid #e5ded4; }
	.rangak-account-order__body { align-items: flex-start; flex-direction: column; }
	.rangak-config-review, .rangak-print-details-view, .rangak-form-grid, .rangak-proof-actions { grid-template-columns: 1fr; }
	.rangak-config-review > div:nth-child(odd), .rangak-print-details-view > div:nth-child(odd) { padding-left: 0; }
	.rangak-form-grid label.is-wide { grid-column: auto; }
	.rangak-account-date { grid-template-columns: 1fr; }
	.woocommerce-checkout .content-page { padding-top: 34px; }
	.woocommerce-checkout .page-heading { margin-bottom: 22px; }
	.woocommerce-checkout .rangak-checkout-assurance { padding: 17px 18px; }
	.woocommerce-checkout #customer_details { padding: 5px 17px 20px; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { column-gap: 0; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last { width: 100% !important; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .rangak-date-part { width: calc(33.333% - 7px) !important; margin-left: 10px !important; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .rangak-date-part:nth-of-type(3n) { margin-left: 0 !important; }
	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row textarea,
	.woocommerce-checkout .form-row select { font-size: 16px; }
	.woocommerce-checkout .rangak-preset-field .woocommerce-input-wrapper { grid-template-columns: 1fr; }
	.woocommerce-checkout .rangak-preset-open { grid-column: 1; grid-row: auto; width: 100%; }
	.rangak-preset-modal { padding: 10px; }
	.rangak-preset-modal__dialog { max-height: calc(100vh - 20px); }
	.rangak-preset-modal__viewport { min-height: 0; padding: 14px; }
	.rangak-preset-slide__preview { min-height: 250px; padding: 24px 18px; }
	.rangak-preset-slide__preview > strong { font-size: 17px; }
	.rangak-preset-modal__dialog > footer { grid-template-columns: 42px 1fr 42px; padding: 13px 14px 15px; }
	.rangak-preset-modal__select { grid-column: 1 / -1; width: 100%; justify-self: stretch; }
	.woocommerce-checkout #order_review::before { padding: 18px; font-size: 18px; }
	.woocommerce-checkout #order_review .shop_table tbody { padding: 18px 16px 0; }
	.woocommerce-checkout #order_review .shipping,
	.woocommerce-checkout #order_review .order-total { padding-inline: 16px; }
	.woocommerce-checkout #payment ul.payment_methods,
	.woocommerce-checkout #payment .place-order { padding-inline: 16px; }
}

/* Mobile + password account entry, aligned with the Aipak two-panel pattern. */
.content-page--account-login { padding-top: 52px; }
.content-page--account-login > article,
.content-page--account-login .entry-content { width: 100%; max-width: none; }
.rangak-auth { --auth-ink: #171511; --auth-muted: #716b63; --auth-line: #d8d0c5; --auth-accent: #733844; width: 100%; max-width: 1180px; margin: 0 auto; }
.rangak-auth__layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(430px, 1fr); min-height: 620px; overflow: hidden; border: 1px solid var(--auth-line); background: #fffdf9; box-shadow: 0 24px 65px rgba(54, 43, 33, .07); }
.rangak-auth__intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 68px); background: var(--auth-ink); color: #fff; }
.rangak-auth__kicker { display: flex; align-items: center; gap: 9px; color: #bdb8b0; font-size: 14px; font-weight: 700; }
.rangak-auth__kicker i { width: 8px; height: 8px; border-radius: 50%; background: #86ddd1; }
.rangak-auth__intro h1 { margin: 25px 0 20px; color: #fff; font-size: clamp(39px, 4.5vw, 62px); line-height: 1.25; letter-spacing: -2.7px; }
.rangak-auth__intro > p { margin: 0; color: #cfcbc4; font-size: 16px; line-height: 2; }
.rangak-auth__intro ul { margin: 42px 0 0; padding: 0; list-style: none; }
.rangak-auth__intro li { display: flex; align-items: center; gap: 14px; min-height: 56px; border-top: 1px solid #3c3934; color: #eeeae4; font-size: 14px; }
.rangak-auth__intro li:last-child { border-bottom: 1px solid #3c3934; }
.rangak-auth__intro li span { color: #86ddd1; font-weight: 800; }
.rangak-auth__card { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 64px); background: #fffdf9; }
.rangak-auth__heading > span { color: var(--auth-accent); font-size: 14px; font-weight: 800; }
.rangak-auth__heading h2 { margin: 8px 0 6px; font-size: clamp(32px, 3.4vw, 48px); letter-spacing: -1.7px; }
.rangak-auth__heading p { margin: 0 0 30px; color: var(--auth-muted); font-size: 15px; line-height: 1.9; }
.rangak-login-form { display: flex; flex-direction: column; gap: 18px; padding: 0 !important; border: 0 !important; }
.rangak-login-form > label:not(.rangak-login-remember) { display: grid; gap: 8px; color: #403b35; font-size: 15px; font-weight: 750; }
.rangak-login-form input[type="tel"],
.rangak-login-form input[type="password"],
.rangak-login-form input[type="text"] { width: 100%; height: 56px; padding: 0 15px; border: 1px solid #cfc6ba; border-radius: 0; outline: 0; background: #fff; color: #171511; font-family: Vazirmatn, sans-serif; font-size: 17px; transition: border-color .18s, box-shadow .18s; }
.rangak-login-form input[type="tel"] { direction: ltr; text-align: left; }
.rangak-login-form input:focus { border-color: var(--auth-accent); box-shadow: 0 0 0 3px rgba(115, 56, 68, .1); }
.rangak-password-field { position: relative; display: block; }
.rangak-password-field input { direction: ltr; padding-right: 72px !important; text-align: left; }
.rangak-password-field button { position: absolute; top: 50%; right: 9px; min-width: 55px; min-height: 38px; padding: 0 7px; transform: translateY(-50%); border: 0; background: #eee7de; color: #5d554d; font: 700 13px Vazirmatn, sans-serif; cursor: pointer; }
.rangak-login-remember { display: flex; align-items: center; gap: 9px; color: #5f5951; font-size: 14px; cursor: pointer; }
.rangak-login-remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--auth-accent); }
.woocommerce .rangak-login-submit { display: flex !important; align-items: center; justify-content: space-between; width: 100%; min-height: 56px; padding: 0 19px !important; border: 0 !important; background: var(--auth-ink) !important; color: #fff !important; font-size: 16px !important; cursor: pointer; }
.rangak-login-submit span { color: #86ddd1; font-size: 21px; }
.rangak-auth__help { margin-top: 26px; padding: 17px 18px; border: 1px dashed #cfc4b8; background: #f5efe7; }
.rangak-auth__help strong { display: block; margin-bottom: 4px; font-size: 15px; }
.rangak-auth__help p { margin: 0; color: #696159; font-size: 14px; line-height: 1.9; }
.content-page--account-login .woocommerce-error,
.content-page--account-login .woocommerce-message { margin: 0 auto 18px; max-width: 1180px; font-size: 14px; line-height: 1.9; }

.rangak-password-callout { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 0 0 20px; padding: 19px 21px; border: 1px solid #cbbda9; border-right: 4px solid #b58a54; background: #f6efe4; }
.rangak-password-callout strong { font-size: 17px; }
.rangak-password-callout p { margin: 4px 0 0; color: #6f675d; font-size: 14px; line-height: 1.8; }
.rangak-password-callout .button { flex: 0 0 auto; }
.rangak-security-card { max-width: 650px; }
.rangak-security-form { display: grid; gap: 17px; padding: 24px; }
.rangak-security-form label { display: grid; gap: 7px; color: #514b44; font-size: 14px; font-weight: 750; }
.rangak-security-form input { width: 100%; min-height: 52px; padding: 10px 13px; border: 1px solid #cfc6ba; background: #fff; font-size: 16px; direction: ltr; text-align: left; }
.rangak-security-form .button { justify-self: start; min-height: 50px; padding-inline: 22px; }

@media (max-width: 900px) {
	.rangak-auth__layout { display: flex; flex-direction: column; min-height: 0; }
	.rangak-auth__card { order: 1; }
	.rangak-auth__intro { order: 2; }
}

@media (max-width: 560px) {
	.content-page--account-login { padding-top: 28px; }
	.rangak-auth__card { padding: 30px 19px; }
	.rangak-auth__intro { padding: 34px 22px; }
	.rangak-auth__intro h1 { font-size: 38px; letter-spacing: -1.6px; }
	.rangak-auth__intro ul { margin-top: 27px; }
	.rangak-password-callout { align-items: stretch; flex-direction: column; }
	.rangak-password-callout .button { width: 100%; text-align: center; }
	.rangak-security-form { padding: 18px; }
}
