/* توکا کور - استایل فرانت‌اند (بازطراحی کامل)
 * طراحی باکسی، رنگ سازمانی آبی نفتی تیره، واکنش‌گرا، RTL.
 * سازنده: ابر باران - abrbaranidc.ir
 */

.touka-wrap {
	--touka-accent: #0f3a4f;
	--touka-accent-2: #14506b;
	--touka-bg: #ffffff;
	--touka-soft: #f3f7f9;
	--touka-border: #d8e2e8;
	--touka-text: #1c2b33;
	--touka-radius: 14px;
	direction: rtl;
	text-align: right;
	font-family: inherit;
	color: var(--touka-text);
}
.touka-wrap *, .touka-wrap *::before, .touka-wrap *::after { box-sizing: border-box; }

/* ---------- جعبه‌ها ---------- */
.touka-box {
	background: var(--touka-bg);
	border: 1px solid var(--touka-border);
	border-radius: var(--touka-radius);
	padding: 20px 22px;
	margin: 0 0 18px;
	box-shadow: 0 6px 22px rgba(15, 58, 79, 0.06);
}
.touka-box--header {
	background: linear-gradient(135deg, var(--touka-accent), var(--touka-accent-2));
	border: none;
	color: #fff;
	padding: 18px 24px;
}
.touka-main-title { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 700; }
.touka-box-title {
	margin: 0 0 16px;
	color: var(--touka-accent);
	font-size: 1.1rem;
	font-weight: 700;
	border-right: 4px solid var(--touka-accent);
	padding-right: 10px;
}

/* ---------- دکمه‌ها ---------- */
.touka-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: var(--touka-accent);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 12px 20px;
	font-weight: 700;
	font-size: .98rem;
	cursor: pointer;
	text-decoration: none;
	transition: background .18s, transform .1s;
}
.touka-btn:hover { background: var(--touka-accent-2); color: #fff; transform: translateY(-1px); }
.touka-btn-ghost {
	background: #fff;
	color: var(--touka-accent);
	border: 1.5px solid var(--touka-accent);
}
.touka-btn-ghost:hover { background: var(--touka-soft); color: var(--touka-accent); }

/* ========================================================= */
/*                       سبد خرید سفارشی                      */
/* ========================================================= */
.touka-cart-empty { text-align: center; }
.touka-cart-empty p { margin: 0 0 14px; font-size: 1.05rem; }

.touka-cart-head {
	display: grid;
	grid-template-columns: 1fr 150px 120px;
	gap: 12px;
	padding: 0 4px 12px;
	margin-bottom: 8px;
	border-bottom: 2px solid var(--touka-border);
	font-weight: 700;
	color: var(--touka-accent);
}
.touka-cart-item {
	display: grid;
	grid-template-columns: 1fr 150px 120px;
	gap: 12px;
	align-items: center;
	padding: 14px 4px;
	border-bottom: 1px solid var(--touka-border);
}
.touka-cart-item:last-child { border-bottom: none; }

.touka-col-product { display: flex; align-items: center; gap: 12px; position: relative; }
.touka-ci-remove {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fde8e8;
	color: #c0392b;
	text-decoration: none;
	font-size: 1.1rem;
	line-height: 1;
	transition: background .15s;
}
.touka-ci-remove:hover { background: #f9c9c9; color: #a93226; }
.touka-ci-thumb img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}
.touka-ci-info { display: flex; flex-direction: column; gap: 4px; }
.touka-ci-name a { color: var(--touka-text); text-decoration: none; font-weight: 600; }
.touka-ci-name a:hover { color: var(--touka-accent); }
.touka-ci-price { font-size: .9rem; opacity: .75; }

/* استپر تعداد */
.touka-col-qty { display: flex; justify-content: center; }
.touka-qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--touka-border);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.touka-qty-btn {
	flex: 0 0 auto;
	width: 40px;
	height: 44px;
	border: none;
	background: var(--touka-soft);
	color: var(--touka-accent);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	transition: background .15s, color .15s;
}
.touka-qty-btn:hover { background: var(--touka-accent); color: #fff; }
.touka-qty-input {
	flex: 0 0 auto;
	width: 56px;
	height: 44px;
	border: none;
	border-inline-start: 1px solid var(--touka-border);
	border-inline-end: 1px solid var(--touka-border);
	border-radius: 0;
	text-align: center;
	background: #fff;
	color: var(--touka-text) !important;
	-webkit-text-fill-color: var(--touka-text);
	font-weight: 700;
	font-size: 1.05rem;
	padding: 0;
	margin: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}
.touka-qty-input::-webkit-outer-spin-button,
.touka-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.touka-qty-single { font-weight: 700; font-size: 1.05rem; }

.touka-col-subtotal { text-align: center; font-weight: 700; color: var(--touka-accent); }

/* اکشن‌های سبد: کوپن + بروزرسانی */
.touka-cart-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}
.touka-coupon { display: flex; gap: 8px; flex: 1 1 320px; }
.touka-coupon-input {
	flex: 1 1 auto;
	padding: 11px 14px;
	border: 1.5px solid var(--touka-border);
	border-radius: 10px;
	background: var(--touka-soft);
	font-family: inherit;
}
.touka-coupon-input:focus {
	outline: none;
	border-color: var(--touka-accent);
	box-shadow: 0 0 0 3px rgba(15, 58, 79, .12);
	background: #fff;
}

/* جمع کل */
.touka-cart-totals { max-width: 460px; margin-inline-start: auto; }
.touka-tt-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--touka-border);
}
.touka-tt-discount { color: #1e7e34; }
.touka-tt-total {
	border-bottom: none;
	font-weight: 800;
	font-size: 1.1rem;
	color: var(--touka-accent);
}
.touka-checkout-btn { width: 100%; margin-top: 14px; font-size: 1.05rem; padding: 14px; }

/* ========================================================= */
/*                          چک‌اوت                           */
/* ========================================================= */
.tkcart-hidden { display: none !important; }

.touka-checkout-extra .touka-field { margin-bottom: 14px; }
.touka-checkout-extra label,
.touka-wrap .touka-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.touka-checkout-extra input[type="text"],
.touka-checkout-extra input[type="tel"],
.touka-checkout-extra input[type="email"],
.touka-checkout-extra textarea,
.touka-checkout-extra select {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--touka-border);
	border-radius: 10px;
	background: var(--touka-soft);
	font-size: .98rem;
	font-family: inherit;
	transition: border-color .2s, box-shadow .2s;
}
.touka-checkout-extra input:focus,
.touka-checkout-extra textarea:focus,
.touka-checkout-extra select:focus {
	outline: none;
	border-color: var(--touka-accent);
	box-shadow: 0 0 0 3px rgba(15, 58, 79, .12);
	background: #fff;
}
.touka-checkout-extra textarea { min-height: 80px; resize: vertical; }

.touka-notice {
	background: #fff7e6;
	border: 1px solid #ffd98a;
	color: #8a5d00;
	padding: 10px 14px;
	border-radius: 10px;
	margin-bottom: 16px;
	font-size: .92rem;
}
.touka-arak-note {
	background: #eef6f9;
	border: 1px solid var(--touka-accent);
	color: var(--touka-accent);
	font-weight: 600;
}
.touka-delivery-address-wrap { margin-top: 6px; }

/* مخفی‌کردن ارسال پیش‌فرض در چک‌اوت (انتخاب با کارت‌های ماست) */
.touka-checkout-wrap .woocommerce-checkout-review-order-table tr.shipping,
.touka-checkout-wrap .woocommerce-shipping-totals { display: none !important; }

/* دکمه‌ها و باکس‌های ووکامرس داخل ویجت چک‌اوت */
.touka-wrap #place_order,
.touka-wrap .button {
	background: var(--touka-accent) !important;
	border-color: var(--touka-accent) !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 12px 22px !important;
	font-weight: 700 !important;
}
.touka-wrap #place_order:hover { background: var(--touka-accent-2) !important; }

/* ---------- انتخاب‌گر روش دریافت ---------- */
.touka-receipt-hint { margin: 0 0 14px; opacity: .75; font-size: .95rem; }
.touka-receipt-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}
.touka-receipt-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 2px solid var(--touka-border);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	transition: border-color .18s, box-shadow .18s, background .18s;
}
.touka-receipt-card:hover { border-color: var(--touka-accent-2); }
.touka-receipt-card input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.touka-receipt-icon {
	flex: 0 0 auto;
	width: 46px; height: 46px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 12px;
	background: var(--touka-soft);
	color: var(--touka-accent);
}
.touka-receipt-text { display: flex; flex-direction: column; line-height: 1.5; }
.touka-receipt-text strong { font-size: 1rem; }
.touka-receipt-text small { opacity: .65; font-size: .82rem; }
.touka-receipt-check {
	position: absolute; inset-inline-end: 12px; top: 12px;
	width: 20px; height: 20px;
	border: 2px solid var(--touka-border);
	border-radius: 50%;
	transition: all .18s;
}
.touka-receipt-card.is-active {
	border-color: var(--touka-accent);
	box-shadow: 0 6px 18px rgba(15, 58, 79, .12);
}
.touka-receipt-card.is-active .touka-receipt-icon { background: var(--touka-accent); color: #fff; }
.touka-receipt-card.is-active .touka-receipt-check {
	border-color: var(--touka-accent);
	background: var(--touka-accent);
	box-shadow: inset 0 0 0 3px #fff;
}

/* پیام‌های ووکامرس */
.touka-wrap .woocommerce-message,
.touka-wrap .woocommerce-info,
.touka-wrap .woocommerce-error {
	border-radius: 10px;
	padding: 12px 16px;
	border-right: 4px solid var(--touka-accent);
	background: var(--touka-soft);
	list-style: none;
}

/* ========================================================= */
/*                         موبایل                            */
/* ========================================================= */
@media (max-width: 768px) {
	.touka-box { padding: 16px; border-radius: 12px; }
	.touka-main-title { font-size: 1.15rem; }

	.touka-cart-head { display: none; }
	.touka-cart-item {
		grid-template-columns: 1fr;
		gap: 10px;
		border: 1px solid var(--touka-border);
		border-radius: 12px;
		margin-bottom: 12px;
		padding: 12px;
	}
	.touka-col-qty { justify-content: flex-start; }
	.touka-col-subtotal { text-align: right; }
	.touka-col-subtotal::before { content: "جمع: "; font-weight: 600; color: var(--touka-text); opacity: .7; }
	.touka-cart-totals { max-width: none; }
	.touka-cart-actions { flex-direction: column; align-items: stretch; }
	.touka-coupon { flex-direction: column; }
	.touka-update-cart { width: 100%; }

	.touka-checkout-extra input,
	.touka-checkout-extra select,
	.touka-checkout-extra textarea { font-size: 16px; }

	/* دکمه‌ی ادامه و تسویه: چسبان به پایین صفحه در موبایل */
	.touka-cart-wrap { padding-bottom: 76px; }
	.touka-cart-wrap .touka-checkout-btn {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0;
		border-radius: 0;
		z-index: 9999;
		padding: 16px;
		box-shadow: 0 -4px 16px rgba(15, 58, 79, .18);
	}
}
