/* ==========================================================================
   چکاوت شیک — استایل سبد خرید و تسویه‌حساب ووکامرس (سبز پاستلی + آبی آسمانی)
   ========================================================================== */

:root {
	--ecw-accent: #5AA9D6;        /* آبی آسمانی */
	--ecw-accent-soft: #E6F4FB;
	--ecw-accent-dark: #3E85AE;
	--ecw-mint: #8FD9A8;          /* سبز پاستلی */
	--ecw-mint-soft: #E8F8EE;
	--ecw-mint-dark: #3F9A62;
	--ecw-radius: 16px;
	--ecw-bg: #F6FBFA;
	--ecw-card: #FFFFFF;
	--ecw-cream-deep: #EDF6F5;
	--ecw-border: #DCEBEA;
	--ecw-text: #223333;
	--ecw-text-soft: #7C918F;
	--ecw-success: #3F9A62;
	--ecw-danger: #E0685E;
	--ecw-shadow: 0 4px 20px rgba(30, 60, 60, 0.06);
	--ecw-shadow-hover: 0 10px 28px rgba(30, 60, 60, 0.12);
}

.ecw-elegant-checkout,
.ecw-elegant-checkout *,
.ecw-elegant-checkout *::before,
.ecw-elegant-checkout *::after {
	box-sizing: border-box;
}

.ecw-elegant-checkout {
	background: var(--ecw-bg);
}

.ecw-elegant-checkout .woocommerce-checkout,
.ecw-elegant-checkout form.checkout,
.ecw-elegant-checkout .woocommerce-cart-form,
.ecw-elegant-checkout .cart-collaterals {
	font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--ecw-text);
	max-width: 100%;
}

.ecw-elegant-checkout .woocommerce-billing-fields h3,
.ecw-elegant-checkout .woocommerce-additional-fields h3,
.ecw-elegant-checkout #order_review_heading {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ecw-text);
	margin-block-end: 20px;
	padding-block-end: 12px;
	border-block-end: 1px solid var(--ecw-border);
}

/* ----------------------------- کارت‌های اصلی (تسویه‌حساب) ----------------------------- */

.ecw-elegant-checkout #customer_details .col-1,
.ecw-elegant-checkout #customer_details .col-2,
.ecw-elegant-checkout .woocommerce-checkout-payment,
.ecw-elegant-checkout .woocommerce-shipping-fields,
.ecw-elegant-checkout #order_review {
	background: var(--ecw-card);
	border: 1px solid var(--ecw-border);
	border-radius: var(--ecw-radius);
	padding: 26px;
	box-shadow: var(--ecw-shadow);
	max-width: 100%;
	overflow: hidden;
}

.ecw-elegant-checkout #customer_details .col-2 {
	margin-block-start: 20px;
}

/* ------------------------------ فیلدهای فرم ------------------------------ */

.ecw-elegant-checkout .form-row {
	margin: 0 0 16px;
	max-width: 100%;
}

.ecw-elegant-checkout .form-row label {
	display: block;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--ecw-text-soft);
	margin-block-end: 6px;
}

.ecw-elegant-checkout .form-row label .required {
	color: var(--ecw-danger);
	text-decoration: none;
}

.ecw-elegant-checkout .form-row input.input-text,
.ecw-elegant-checkout .form-row textarea,
.ecw-elegant-checkout .form-row select {
	width: 100%;
	max-width: 100%;
	background: var(--ecw-bg);
	border: 1.5px solid var(--ecw-border);
	border-radius: calc(var(--ecw-radius) - 6px);
	padding: 12px 14px;
	font-size: 16px;
	font-family: inherit;
	color: var(--ecw-text);
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
	box-shadow: none;
}

/* برخی مرورگرهای اندروید حروف فارسی را داخل select بومی با فونت وب به‌درستی نمی‌چسبانند
   (حروف از هم جدا/شکسته نمایش داده می‌شوند)، پس select را به فونت سیستم برمی‌گردانیم */
.ecw-elegant-checkout .form-row select {
	font-family: Tahoma, Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ------- فیلد کشور/منطقه (select2) - باید ارتفاع و line-height دقیقاً هم‌اندازه باشند
   وگرنه select2 متن را با موقعیت absolute روی هم می‌اندازد (حروف به‌هم‌ریخته/نصفه) ------- */
.ecw-elegant-checkout .select2-container {
	width: 100% !important;
	max-width: 100%;
}

.ecw-elegant-checkout .select2-container .select2-selection--single {
	height: 48px !important;
	background: var(--ecw-bg) !important;
	border: 1.5px solid var(--ecw-border) !important;
	border-radius: calc(var(--ecw-radius) - 6px) !important;
	padding: 0 !important;
}

.ecw-elegant-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 48px !important;
	height: 48px !important;
	padding-inline-start: 14px !important;
	padding-inline-end: 34px !important;
	font-size: 16px;
	font-family: Tahoma, Arial, -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--ecw-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ecw-elegant-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px !important;
	top: 0 !important;
	inset-inline-end: 6px;
	inset-inline-start: auto;
}

.ecw-elegant-checkout .select2-container--open .select2-dropdown {
	font-family: Tahoma, Arial, -apple-system, BlinkMacSystemFont, sans-serif;
	direction: rtl;
	text-align: start;
}

.ecw-elegant-checkout .form-row input.input-text:focus,
.ecw-elegant-checkout .form-row textarea:focus,
.ecw-elegant-checkout .form-row select:focus,
.ecw-elegant-checkout .select2-container--focus .select2-selection--single,
.ecw-elegant-checkout .select2-container--open .select2-selection--single {
	outline: none;
	border-color: var(--ecw-accent) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px var(--ecw-accent-soft);
}

.ecw-elegant-checkout .form-row.woocommerce-invalid input.input-text,
.ecw-elegant-checkout .form-row.woocommerce-invalid select {
	border-color: var(--ecw-danger);
}

/* ------------------------------ عنوان بخش پرداخت ------------------------------ */

.ecw-elegant-checkout #payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.ecw-elegant-checkout .woocommerce-checkout-payment::before {
	content: "روش پرداخت";
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	margin-block-end: 20px;
	padding-block-end: 12px;
	border-block-end: 1px solid var(--ecw-border);
}

/* --------------------------- لیست ستونی درگاه‌های پرداخت --------------------------- */

.ecw-elegant-checkout ul.wc_payment_methods.payment_methods.methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	max-width: 100%;
	width: 100%;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: var(--ecw-bg);
	border: 1.5px solid var(--ecw-border);
	border-radius: calc(var(--ecw-radius) - 2px);
	padding: 15px 16px;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method:hover {
	box-shadow: var(--ecw-shadow-hover);
	border-color: var(--ecw-accent);
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method.ecw-selected {
	border-color: var(--ecw-accent);
	background: var(--ecw-accent-soft);
	box-shadow: 0 0 0 3px var(--ecw-accent-soft);
}

.ecw-elegant-checkout ul.wc_payment_methods input.input-radio {
	position: static;
	flex-shrink: 0;
	width: 19px;
	height: 19px;
	margin: 0;
	accent-color: var(--ecw-accent);
	cursor: pointer;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method > label {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 0;
	text-align: start;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--ecw-text);
	cursor: pointer;
	word-break: break-word;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method > label img {
	max-height: 26px;
	max-width: 84px;
	width: auto;
	object-fit: contain;
	flex-shrink: 0;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method .payment_box {
	flex-basis: 100%;
	width: 100%;
	margin-block-start: 4px;
	padding: 16px;
	background: #fff;
	border: 1px dashed var(--ecw-border);
	border-radius: 10px;
	font-size: 0.85rem;
	color: var(--ecw-text-soft);
	cursor: default;
	text-align: start;
	max-width: 100%;
	overflow-wrap: break-word;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method .payment_box p {
	margin: 0 0 8px;
}

.ecw-elegant-checkout ul.wc_payment_methods li.wc_payment_method .payment_box:last-child p:last-child {
	margin-block-end: 0;
}

/* ------------------------------ باکس کارت‌به‌کارت ------------------------------ */

.ecw-elegant-checkout .ecw-c2c-desc {
	font-size: 0.85rem;
	color: var(--ecw-text-soft);
	margin-block-end: 12px;
}

.ecw-elegant-checkout .ecw-c2c-box {
	background: var(--ecw-mint-soft);
	border: 1px solid var(--ecw-mint);
	border-radius: 14px;
	padding: 16px;
	max-width: 100%;
	box-shadow: 0 2px 10px rgba(63, 154, 98, 0.08);
}

.ecw-elegant-checkout .ecw-c2c-holder {
	font-size: 0.85rem;
	color: var(--ecw-text);
	margin-block-end: 12px;
	text-align: center;
}

.ecw-elegant-checkout .ecw-c2c-row {
	margin-block-end: 14px;
}

.ecw-elegant-checkout .ecw-c2c-row:last-child {
	margin-block-end: 0;
}

.ecw-elegant-checkout .ecw-c2c-label {
	display: block;
	font-size: 0.76rem;
	font-weight: 700;
	color: var(--ecw-mint-dark);
	margin-block-end: 6px;
	text-align: center;
}

.ecw-elegant-checkout .ecw-c2c-copy-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 100%;
}

.ecw-elegant-checkout .ecw-c2c-input {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: #fff;
	border: 2px solid var(--ecw-mint);
	border-radius: 10px;
	padding: 12px 10px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.5px;
	font-family: inherit;
	color: var(--ecw-text);
	direction: ltr;
	text-align: center;
}

.ecw-elegant-checkout .ecw-c2c-copy-btn {
	display: block;
	width: 100%;
	border: none;
	border-radius: 10px;
	padding: 12px 18px;
	background: var(--ecw-mint-dark);
	color: #fff;
	font-family: inherit;
	font-size: 0.88rem;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: filter .15s ease, transform .1s ease;
}

.ecw-elegant-checkout .ecw-c2c-copy-btn:hover {
	filter: brightness(0.92);
}

.ecw-elegant-checkout .ecw-c2c-copy-btn:active {
	transform: scale(0.96);
}

.ecw-elegant-checkout .ecw-c2c-copy-btn.ecw-copied {
	background: var(--ecw-success);
}

.ecw-elegant-checkout .ecw-c2c-note {
	margin-block-start: 12px;
	padding: 12px 14px;
	background: var(--ecw-cream-deep);
	border-radius: 10px;
	font-size: 0.82rem;
	color: var(--ecw-text-soft);
}

.ecw-elegant-checkout .ecw-c2c-note p {
	margin: 0 0 6px;
}

.ecw-elegant-checkout .ecw-c2c-note p:last-child {
	margin-block-end: 0;
}

.ecw-elegant-checkout .ecw-thankyou-note {
	background: var(--ecw-mint-soft);
	border: 1px solid var(--ecw-mint);
	border-radius: 12px;
	padding: 14px 16px;
	margin-block-end: 20px;
	font-family: 'Vazirmatn', sans-serif;
	color: var(--ecw-text);
	font-size: 0.92rem;
}

/* ------------------------------ روش‌های ارسال (آکاردئون) ------------------------------ */

/* مخفی کردن برچسب انگلیسی/تکراری ردیف (مثل «Shipping»/«Shipment») - دکمه آکاردئون جایگزین آن است */
.ecw-elegant-checkout .ecw-hidden-label {
	visibility: hidden;
	font-size: 0;
}

.ecw-elegant-checkout .ecw-shipping-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	background: var(--ecw-card);
	border: 1.5px solid var(--ecw-border);
	border-radius: 12px;
	padding: 13px 16px;
	font-family: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--ecw-text);
	cursor: pointer;
	text-align: start;
}

.ecw-elegant-checkout .ecw-shipping-toggle:hover {
	border-color: var(--ecw-accent);
}

.ecw-elegant-checkout .ecw-shipping-toggle .ecw-chevron {
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	border-inline-end: 2px solid var(--ecw-text-soft);
	border-block-end: 2px solid var(--ecw-text-soft);
	transform: rotate(45deg);
	transition: transform .18s ease;
}

.ecw-elegant-checkout .ecw-shipping-toggle.ecw-open .ecw-chevron {
	transform: rotate(225deg);
}

.ecw-elegant-checkout .woocommerce-shipping-fields h3 {
	font-size: 1.05rem;
	font-weight: 700;
	margin-block-end: 16px;
}

.ecw-elegant-checkout ul#shipping_method {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ecw-elegant-checkout ul#shipping_method.ecw-collapsed {
	display: none;
}

.ecw-elegant-checkout ul#shipping_method li {
	background: var(--ecw-bg);
	border: 1.5px solid var(--ecw-border);
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 0.86rem;
	color: var(--ecw-text);
	transition: border-color .15s ease, background-color .15s ease;
}

.ecw-elegant-checkout ul#shipping_method li.ecw-shipping-selected {
	border-color: var(--ecw-mint-dark);
	background: var(--ecw-mint-soft);
}

.ecw-elegant-checkout ul#shipping_method input.shipping_method {
	accent-color: var(--ecw-mint-dark);
	margin-inline-end: 8px;
}

.ecw-elegant-checkout ul#shipping_method label {
	cursor: pointer;
}

/* ------------------------------ جدول خلاصه سفارش / سبد خرید ------------------------------ */

.ecw-elegant-checkout table.shop_table {
	width: 100%;
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--ecw-border);
	border-radius: 12px;
	overflow: hidden;
	font-size: 0.86rem;
	background: var(--ecw-card);
}

.ecw-elegant-checkout table.shop_table thead th {
	background: var(--ecw-cream-deep);
	color: var(--ecw-text);
	font-weight: 700;
	padding: 12px 14px;
	text-align: start;
}

.ecw-elegant-checkout table.shop_table td {
	padding: 12px 14px;
	border-block-start: 1px solid var(--ecw-border);
	word-break: break-word;
}

.ecw-elegant-checkout table.shop_table tbody tr:nth-child(even) td {
	background: var(--ecw-accent-soft);
}

.ecw-elegant-checkout table.shop_table tfoot tr th,
.ecw-elegant-checkout table.shop_table tfoot tr td {
	border-block-start: 1px solid var(--ecw-border);
	padding: 12px 14px;
	font-weight: 600;
}

.ecw-elegant-checkout table.shop_table tfoot .order-total th,
.ecw-elegant-checkout table.shop_table tfoot .order-total td {
	font-size: 1rem;
	font-weight: 800;
	color: var(--ecw-mint-dark);
	background: var(--ecw-mint-soft);
}

/* دکمه نهایی ثبت سفارش */
.ecw-elegant-checkout #place_order {
	width: 100%;
	background: var(--ecw-accent);
	border: none;
	border-radius: calc(var(--ecw-radius) - 4px);
	padding: 15px 18px;
	font-size: 0.98rem;
	font-weight: 700;
	color: #fff;
	transition: filter .18s ease, transform .18s ease;
}

.ecw-elegant-checkout #place_order:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.ecw-elegant-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-block: 16px;
	font-size: 0.85rem;
	color: var(--ecw-text-soft);
}

/* ------------------------------ ریسپانسیو کلی ------------------------------ */

@media (max-width: 782px) {
	.ecw-elegant-checkout #customer_details .col-1,
	.ecw-elegant-checkout #customer_details .col-2,
	.ecw-elegant-checkout .woocommerce-checkout-payment,
	.ecw-elegant-checkout .woocommerce-shipping-fields,
	.ecw-elegant-checkout #order_review {
		padding: 16px;
	}

	.ecw-elegant-checkout table.shop_table {
		font-size: 0.8rem;
	}

	.ecw-elegant-checkout table.shop_table th,
	.ecw-elegant-checkout table.shop_table td {
		padding: 10px;
	}
}
