/* ==========================================================================
   DaruHast — WooCommerce Cart styles
   RTL / Persian / IranYekanX
   Tokens mirror woocommerce-checkout.css — merge into woocommerce-shop.css
   when My Account is also complete.
   ========================================================================== */

:root {
	--dh-primary:          #23CEA9;
	--dh-primary-hover:    #1FB897;
	--dh-primary-soft:     rgba(35,206,169,0.10);
	--dh-blue:             #2379CE;
	--dh-blue-hover:       #1B62A8;
	--dh-blue-soft:        #EAF2FB;
	--dh-blue-softer:      #F4F8FD;
	--dh-text:             #2A2A2A;
	--dh-rich:             #1A1A1A;
	--dh-muted:            #5F6B7A;
	--dh-border:           #D8D8D8;
	--dh-border-soft:      #E8ECF1;
	--dh-border-heavy:     #AEAEAE;
	--dh-bg:               #FFFFFF;
	--dh-bg-soft:          #F7F8FA;
	--dh-error:            #E04848;

	--dh-radius-pill:      999px;
	--dh-radius-card:      16px;
	--dh-radius-md:        12px;

	--dh-shadow-glow:      0 14px 28px -10px rgba(35,206,169,0.55), 0 4px 10px -4px rgba(35,206,169,0.35);
	--dh-shadow-glow-blue: 0 14px 28px -10px rgba(35,121,206,0.45), 0 4px 10px -4px rgba(35,121,206,0.25);
	--dh-shadow-card:      0 1px 2px rgba(16,24,40,0.04), 0 8px 24px -16px rgba(16,24,40,0.10);
	--dh-shadow-card-hover:0 6px 14px -6px rgba(35,121,206,0.18), 0 18px 40px -22px rgba(16,24,40,0.18);

	--dh-font:             "IranYekanX", sans-serif;
}

/* --------------------------------------------------------------------------
   Page base
   -------------------------------------------------------------------------- */

body.woocommerce-cart {
	font-family: var(--dh-font) !important;
	color: var(--dh-text);
	direction: rtl;
	background:
		radial-gradient(1200px 480px at 100% -10%, rgba(35,121,206,0.08), transparent 60%),
		radial-gradient(900px 420px at -10% 12%, rgba(35,206,169,0.06), transparent 60%),
		linear-gradient(180deg, var(--dh-blue-softer) 0%, #FFFFFF 480px) fixed;
}

body.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 20px 64px;
}

/* WC outputs notices, then .woocommerce-cart-form + .cart-collaterals. Wrap them together via .dh-cart__grid. */

/* --------------------------------------------------------------------------
   Hero strip — page title + steps
   -------------------------------------------------------------------------- */

.dh-cart-hero {
	margin: 0 0 20px;
}

.dh-cart-hero__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding: 22px 26px;
	background: var(--dh-bg);
	border: 1px solid var(--dh-border-soft);
	border-radius: var(--dh-radius-card);
	position: relative;
	overflow: hidden;
	box-shadow: var(--dh-shadow-card);
}

.dh-cart-hero__inner::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--dh-primary), var(--dh-blue));
	pointer-events: none;
}

.dh-cart-hero__title-block { position: relative; z-index: 1; }

.dh-cart-hero__eyebrow {
	display: inline-block;
	background: var(--dh-primary);
	color: #fff;
	font-family: var(--dh-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	padding: 5px 12px;
	border-radius: var(--dh-radius-pill);
	margin-bottom: 10px;
}

.dh-cart-hero__title {
	font-family: var(--dh-font);
	font-size: 22px;
	font-weight: 800;
	color: var(--dh-rich);
	margin: 0;
	line-height: 1.4;
}

/* Steps — shared pattern, re-declared for cart page */

.dh-steps {
	list-style: none;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

.dh-steps__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255,255,255,0.7);
	border: 1px solid var(--dh-border-soft);
	border-radius: var(--dh-radius-pill);
	padding: 7px 14px 7px 8px;
	font-family: var(--dh-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--dh-muted);
	backdrop-filter: blur(4px);
}

.dh-steps__num {
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--dh-border-soft);
	color: var(--dh-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 12px;
}

.dh-steps__item.is-done {
	color: var(--dh-primary);
	border-color: rgba(35,206,169,0.35);
	background: var(--dh-primary-soft);
}
.dh-steps__item.is-done .dh-steps__num {
	background: var(--dh-primary);
	color: #fff;
}

.dh-steps__item.is-active {
	color: #fff;
	background: var(--dh-blue);
	border-color: var(--dh-blue);
	box-shadow: var(--dh-shadow-glow-blue);
}
.dh-steps__item.is-active .dh-steps__num {
	background: #fff;
	color: var(--dh-blue);
}

/* --------------------------------------------------------------------------
   Two-column grid
   -------------------------------------------------------------------------- */

.dh-cart__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 24px;
	align-items: start;
}

.dh-cart__main  { min-width: 0; }
.dh-cart__sidebar { min-width: 0; }

/* --------------------------------------------------------------------------
   Cart card (left panel)
   -------------------------------------------------------------------------- */

.dh-card {
	position: relative;
	background: var(--dh-bg);
	border: 1px solid var(--dh-border-soft);
	border-radius: var(--dh-radius-card);
	padding: 22px 24px 24px;
	margin-bottom: 18px;
	box-shadow: var(--dh-shadow-card);
	transition: box-shadow .2s, border-color .2s;
}

.dh-card::before {
	content: "";
	position: absolute;
	top: 14px;
	bottom: 14px;
	inset-inline-end: 0;
	width: 4px;
	border-radius: 999px;
	background: var(--dh-blue);
	opacity: .85;
}

.dh-card--cart::before { background: var(--dh-primary); }

.dh-card__head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding-bottom: 16px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--dh-border-soft);
}

.dh-card__icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--dh-primary-soft);
	color: var(--dh-primary);
}

.dh-card__head-text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.dh-card__title {
	font-family: var(--dh-font);
	font-size: 16px;
	font-weight: 700;
	color: var(--dh-rich);
	margin: 0;
	line-height: 1.5;
}

.dh-card__subtitle {
	display: block;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--dh-muted);
}

/* --------------------------------------------------------------------------
   Coupon accordion (inside cart form)
   -------------------------------------------------------------------------- */

.dh-cart-coupon {
	margin-bottom: 20px;
}

/* Defensive: keep collapsed even if inline style is stripped */
.dh-cart-coupon .checkout_coupon.woocommerce-form-coupon {
	display: none;
}

.dh-coupon-toggle__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 12px 14px;
	border: 1px dashed var(--dh-blue);
	border-radius: 12px;
	background: var(--dh-blue-softer);
	color: var(--dh-blue) !important;
	font-family: var(--dh-font);
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s, border-color .2s;
}

.dh-coupon-toggle__btn:hover {
	background: var(--dh-blue-soft);
	border-color: var(--dh-blue-hover);
}

.dh-coupon-toggle__left {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.dh-coupon-toggle__icon {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: #fff;
	color: var(--dh-blue);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(35,121,206,0.15);
}

.dh-coupon-toggle__cta {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--dh-blue);
	opacity: .9;
}

.dh-coupon-toggle__chevron { transition: transform .25s ease; }

.dh-coupon-form {
	margin: 10px 0 0;
	padding: 12px;
	background: var(--dh-bg);
	border: 1px solid var(--dh-border-soft);
	border-radius: 14px;
	direction: rtl;
	box-shadow: var(--dh-shadow-card);
}

.dh-coupon-form__row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.dh-coupon-form__input { flex: 1; }

.dh-coupon-form__input input[type="text"] {
	width: 100% !important;
	box-sizing: border-box;
	padding: 11px 16px;
	border: 1px solid var(--dh-border) !important;
	border-radius: var(--dh-radius-pill) !important;
	font-family: var(--dh-font);
	font-size: 13.5px;
	background: var(--dh-bg);
	direction: rtl;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
}

.dh-coupon-form__input input[type="text"]:focus {
	border-color: var(--dh-blue) !important;
	box-shadow: 0 0 0 4px rgba(35,121,206,0.14);
}

.dh-coupon-form__action button.button,
.dh-coupon-form__action button.button:hover,
.dh-coupon-form__action button.button:focus,
.dh-coupon-form__action button.button:active {
	background: var(--dh-blue) !important;
	background-color: var(--dh-blue) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--dh-radius-pill) !important;
	white-space: nowrap !important;
	padding: 11px 20px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	font-family: var(--dh-font) !important;
	box-shadow: 0 6px 14px -6px rgba(35,121,206,0.5) !important;
	cursor: pointer;
}

.dh-coupon-form__action button.button:hover {
	background: var(--dh-blue-hover) !important;
	background-color: var(--dh-blue-hover) !important;
}

/* --------------------------------------------------------------------------
   Cart items table
   -------------------------------------------------------------------------- */

table.dh-cart-table {
	width: 100%;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	font-family: var(--dh-font);
	direction: rtl;
	margin: 0 !important;
	background: transparent;
	border: 0 !important;
	table-layout: auto;
}

table.dh-cart-table thead tr {
	border-bottom: 2px solid var(--dh-border-soft);
}

table.dh-cart-table thead th {
	padding: 0 10px 12px;
	font-family: var(--dh-font);
	font-size: 12px;
	font-weight: 600;
	color: var(--dh-muted);
	letter-spacing: .3px;
	text-align: right;
	border: 0;
	background: transparent;
}

table.dh-cart-table thead th.product-subtotal,
table.dh-cart-table thead th.product-price { text-align: left; }

table.dh-cart-table thead th.product-remove,
table.dh-cart-table thead th.product-thumbnail { width: 1%; }

/* Each cart row */
table.dh-cart-table tbody tr.cart_item {
	border-bottom: 1px solid var(--dh-border-soft);
	transition: background .15s;
}

table.dh-cart-table tbody tr.cart_item:last-of-type {
	border-bottom: 2px solid var(--dh-border-soft);
}

table.dh-cart-table tbody tr.cart_item:hover { background: var(--dh-bg-soft); }

/* Kill WC zebra / default cell styles */
table.dh-cart-table tbody tr,
table.dh-cart-table tbody tr:nth-child(odd),
table.dh-cart-table tbody tr:nth-child(even),
table.dh-cart-table tbody tr:nth-child(odd) td,
table.dh-cart-table tbody tr:nth-child(even) td {
	background: transparent !important;
}

table.dh-cart-table tbody td {
	padding: 16px 10px;
	vertical-align: middle;
	font-family: var(--dh-font);
	border: 0 !important;
	background: transparent !important;
}

/* Thumbnail cell */
table.dh-cart-table td.product-thumbnail {
	width: 80px;
	padding-inline-end: 0;
}

table.dh-cart-table td.product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover;
	border-radius: 12px;
	display: block;
	background: var(--dh-blue-softer);
	border: 1px solid var(--dh-border-soft);
}

table.dh-cart-table td.product-thumbnail a {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 12px;
	overflow: hidden;
}

/* Product name cell */
table.dh-cart-table td.product-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--dh-rich);
	text-align: right;
}

table.dh-cart-table td.product-name a {
	color: var(--dh-rich);
	text-decoration: none;
	transition: color .2s;
}

table.dh-cart-table td.product-name a:hover { color: var(--dh-blue); }

table.dh-cart-table td.product-name dl.variation {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--dh-muted);
	font-weight: 500;
}

table.dh-cart-table td.product-name dl.variation dt,
table.dh-cart-table td.product-name dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
}

table.dh-cart-table td.product-name dl.variation dt::after { content: ": "; }
table.dh-cart-table td.product-name dl.variation dd::after { content: "  ·  "; }
table.dh-cart-table td.product-name dl.variation dd:last-child::after { content: ""; }

/* Price cell */
table.dh-cart-table td.product-price {
	font-size: 14px;
	font-weight: 600;
	color: var(--dh-muted);
	text-align: left;
	white-space: nowrap;
}

/* Quantity cell */
table.dh-cart-table td.product-quantity { width: 130px; }

table.dh-cart-table td.product-quantity .quantity {
	display: flex;
	align-items: center;
	gap: 0;
}

table.dh-cart-table td.product-quantity input.qty {
	width: 52px !important;
	padding: 9px 10px !important;
	border: 1px solid var(--dh-border) !important;
	border-radius: var(--dh-radius-pill) !important;
	font-family: var(--dh-font) !important;
	font-size: 14px;
	font-weight: 700;
	color: var(--dh-rich);
	text-align: center !important;
	background: #fff;
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
}

table.dh-cart-table td.product-quantity input.qty::-webkit-inner-spin-button,
table.dh-cart-table td.product-quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

table.dh-cart-table td.product-quantity input.qty:focus {
	border-color: var(--dh-blue) !important;
	box-shadow: 0 0 0 4px rgba(35,121,206,0.14);
}

/* Subtotal cell */
table.dh-cart-table td.product-subtotal {
	font-size: 15px;
	font-weight: 800;
	color: var(--dh-primary);
	text-align: left;
	white-space: nowrap;
}

table.dh-cart-table td.product-subtotal bdi,
table.dh-cart-table td.product-subtotal .amount { color: var(--dh-primary); }

/* Remove cell */
table.dh-cart-table td.product-remove {
	width: 36px;
	text-align: center;
}

a.remove.dh-cart-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: rgba(224,72,72,0.06);
	color: var(--dh-error) !important;
	border: 1px solid rgba(224,72,72,0.15) !important;
	text-decoration: none !important;
	transition: background .2s, border-color .2s, transform .1s;
	font-size: 0 !important;
}

a.remove.dh-cart-remove:hover {
	background: rgba(224,72,72,0.14);
	border-color: rgba(224,72,72,0.4) !important;
	transform: scale(1.1);
}

/* Actions row (update cart) */
table.dh-cart-table tr td.actions {
	padding: 14px 10px !important;
	border-top: 1px solid var(--dh-border-soft) !important;
	background: transparent !important;
	text-align: right;
}

button.dh-cart__update-btn,
button.dh-cart__update-btn:hover,
button.dh-cart__update-btn:focus,
button.dh-cart__update-btn:active {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 8px 16px !important;
	background: transparent !important;
	color: var(--dh-muted) !important;
	border: 1px solid var(--dh-border) !important;
	border-radius: var(--dh-radius-pill) !important;
	font-family: var(--dh-font) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: color .2s, border-color .2s, background .2s;
}

button.dh-cart__update-btn:hover {
	color: var(--dh-blue) !important;
	border-color: var(--dh-blue) !important;
	background: var(--dh-blue-softer) !important;
}

/* --------------------------------------------------------------------------
   Cart totals card (sidebar)
   -------------------------------------------------------------------------- */

.dh-cart__sidebar {
	position: sticky;
	top: 24px;
}

.dh-cart__sidebar .cart-collaterals { width: 100%; }

.dh-cart-totals {
	width: 100% !important;
	background: var(--dh-bg);
	border: 1px solid var(--dh-border-soft);
	border-radius: var(--dh-radius-card);
	padding: 22px;
	box-shadow: var(--dh-shadow-card);
	position: relative;
	overflow: hidden;
	direction: rtl;
	font-family: var(--dh-font);
	box-sizing: border-box;
}

.dh-cart-totals::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: linear-gradient(90deg, var(--dh-primary), var(--dh-blue));
}

.dh-cart-totals__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px dashed var(--dh-border);
}

.dh-cart-totals__head .dh-card__icon {
	background: var(--dh-blue-soft);
	color: var(--dh-blue);
}

.dh-cart-totals__title {
	font-family: var(--dh-font);
	font-size: 17px;
	font-weight: 700;
	color: var(--dh-rich);
	margin: 0;
}

table.dh-cart-totals__table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--dh-font);
	direction: rtl;
	margin-bottom: 18px;
}

table.dh-cart-totals__table,
table.dh-cart-totals__table tr,
table.dh-cart-totals__table tr:nth-child(odd),
table.dh-cart-totals__table tr:nth-child(even),
table.dh-cart-totals__table tr:nth-child(odd) td,
table.dh-cart-totals__table tr:nth-child(odd) th,
table.dh-cart-totals__table tr:nth-child(even) td,
table.dh-cart-totals__table tr:nth-child(even) th { background: transparent !important; }

table.dh-cart-totals__table th,
table.dh-cart-totals__table td {
	padding: 10px 0;
	font-size: 14px;
	border-bottom: 1px dashed var(--dh-border-soft);
	vertical-align: middle;
}

table.dh-cart-totals__table th {
	text-align: right;
	font-weight: 500;
	color: var(--dh-muted);
	border-right: 0 !important;
	border-left: 0 !important;
}

table.dh-cart-totals__table td {
	text-align: left;
	font-weight: 700;
	color: var(--dh-rich);
	border-right: 0 !important;
	border-left: 0 !important;
}

table.dh-cart-totals__table tr.cart-discount th,
table.dh-cart-totals__table tr.cart-discount td { color: var(--dh-primary); }

table.dh-cart-totals__table tr.cart-discount td bdi {
	background: var(--dh-primary-soft);
	border-radius: 999px;
	padding: 3px 12px;
	display: inline-block;
}

table.dh-cart-totals__table tr.order-total th,
table.dh-cart-totals__table tr.order-total td {
	border-bottom: none;
	border-top: 2px solid var(--dh-border-soft);
	background: var(--dh-blue-softer) !important;
	padding-block: 16px !important;
	padding-inline-start: 14px !important;
	padding-inline-end: 14px !important;
}

table.dh-cart-totals__table tr.order-total th {
	font-weight: 700;
	color: var(--dh-rich);
	border-radius: 0 12px 12px 0;
}

table.dh-cart-totals__table tr.order-total td { border-radius: 12px 0 0 12px; }

table.dh-cart-totals__table tr.order-total td .amount,
table.dh-cart-totals__table tr.order-total td bdi {
	color: var(--dh-primary);
	font-size: 19px;
	font-weight: 800;
}

/* Shipping methods in totals table */
.dh-cart-totals .dh-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dh-cart-totals .dh-shipping-methods li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	background: var(--dh-bg);
	border: 1.5px solid var(--dh-border);
	border-radius: 10px;
	transition: border-color .2s, background .2s;
}

.dh-cart-totals .dh-shipping-methods li:has(input[type="radio"]:checked) {
	border-color: var(--dh-blue);
	background: var(--dh-blue-softer);
}

.dh-cart-totals .dh-shipping-methods li input[type="radio"] {
	accent-color: var(--dh-blue);
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	cursor: pointer;
}

.dh-cart-totals .dh-shipping-methods li label {
	cursor: pointer;
	font-family: var(--dh-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--dh-text);
	margin: 0;
	flex: 1;
}

.dh-cart-totals .woocommerce-shipping-destination {
	font-size: 12px;
	color: var(--dh-muted);
	margin: 8px 0 0;
}

/* --------------------------------------------------------------------------
   Proceed to checkout CTA
   -------------------------------------------------------------------------- */

.wc-proceed-to-checkout { margin-bottom: 16px; }

a.dh-cart-checkout-btn,
a.dh-cart-checkout-btn:visited,
a.dh-cart-checkout-btn:hover,
a.dh-cart-checkout-btn:focus,
a.dh-cart-checkout-btn:active {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100%;
	padding: 17px 24px !important;
	background: linear-gradient(135deg, var(--dh-primary) 0%, #1ec0a0 100%) !important;
	color: #FFFFFF !important;
	font-family: var(--dh-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	border-radius: var(--dh-radius-pill) !important;
	border: none !important;
	cursor: pointer;
	text-decoration: none !important;
	text-align: center !important;
	direction: rtl !important;
	box-shadow: var(--dh-shadow-glow) !important;
	transition: background .2s, box-shadow .2s, transform .1s !important;
	box-sizing: border-box;
}

a.dh-cart-checkout-btn:hover {
	background: linear-gradient(135deg, var(--dh-primary-hover) 0%, #18a98b 100%) !important;
	box-shadow: 0 18px 32px -10px rgba(35,206,169,0.65), 0 6px 12px -4px rgba(35,206,169,0.4) !important;
	transform: translateY(-1px) !important;
}

a.dh-cart-checkout-btn:active {
	transform: translateY(0) !important;
	box-shadow: 0 4px 12px -4px rgba(35,206,169,0.5) !important;
}

/* --------------------------------------------------------------------------
   Trust badges
   -------------------------------------------------------------------------- */

.dh-cart-totals .dh-trust {
	list-style: none;
	margin: 18px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--dh-border-soft);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dh-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: var(--dh-blue-soft);
	border-radius: 12px;
}

.dh-trust__icon {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #fff;
	color: var(--dh-blue);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 1px 2px rgba(35,121,206,0.15);
}

.dh-trust__item:nth-child(2) .dh-trust__icon { color: var(--dh-primary); }

.dh-trust__text { display: flex; flex-direction: column; line-height: 1.45; }

.dh-trust__text strong {
	font-family: var(--dh-font);
	font-size: 13px;
	font-weight: 700;
	color: var(--dh-rich);
}

.dh-trust__text span {
	font-size: 11.5px;
	color: var(--dh-muted);
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   Shipping calculator accordion
   -------------------------------------------------------------------------- */

.dh-shipping-calc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--dh-font);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--dh-blue) !important;
	text-decoration: none !important;
	margin-top: 8px;
	padding: 5px 12px;
	background: var(--dh-blue-soft);
	border-radius: 999px;
	transition: background .2s;
}

.dh-shipping-calc__toggle:hover {
	background: var(--dh-blue);
	color: #fff !important;
}

.dh-shipping-calc__form {
	margin-top: 12px;
}

.dh-shipping-calc__form .form-row {
	margin: 0 0 10px !important;
	padding: 0 !important;
}

.dh-shipping-calc__form .form-row label {
	display: block;
	font-family: var(--dh-font);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--dh-text);
	margin-bottom: 6px;
}

.dh-shipping-calc__form .form-row .input-text,
.dh-shipping-calc__form .form-row input[type="text"] {
	width: 100% !important;
	padding: 10px 14px;
	border: 1px solid var(--dh-border) !important;
	border-radius: var(--dh-radius-pill);
	font-family: var(--dh-font);
	font-size: 13px;
	background: #fff;
	direction: rtl;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}

.dh-shipping-calc__form .form-row .input-text:focus,
.dh-shipping-calc__form .form-row input:focus {
	border-color: var(--dh-blue) !important;
	box-shadow: 0 0 0 4px rgba(35,121,206,0.14);
}

.dh-shipping-calc__form select {
	width: 100% !important;
	padding: 10px 14px;
	border: 1px solid var(--dh-border) !important;
	border-radius: var(--dh-radius-pill);
	font-family: var(--dh-font);
	font-size: 13px;
	background: #fff;
	direction: rtl;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.dh-shipping-calc__submit { margin: 12px 0 0; }

button.dh-shipping-calc__btn,
button.dh-shipping-calc__btn:hover,
button.dh-shipping-calc__btn:focus,
button.dh-shipping-calc__btn:active {
	background: var(--dh-blue) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--dh-radius-pill) !important;
	padding: 10px 22px !important;
	font-family: var(--dh-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: background .2s !important;
}

button.dh-shipping-calc__btn:hover {
	background: var(--dh-blue-hover) !important;
}

/* --------------------------------------------------------------------------
   Empty cart state
   -------------------------------------------------------------------------- */

.dh-cart-empty {
	padding: 40px 20px;
}

.dh-cart-empty__card {
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
	background: var(--dh-bg);
	border: 1px solid var(--dh-border-soft);
	border-radius: 24px;
	padding: 56px 32px 40px;
	box-shadow: var(--dh-shadow-card);
	position: relative;
	overflow: hidden;
}

.dh-cart-empty__card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: linear-gradient(90deg, var(--dh-primary), var(--dh-blue));
}

.dh-cart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	border-radius: 999px;
	background: var(--dh-primary-soft);
	color: var(--dh-primary);
	margin-bottom: 24px;
}

.dh-cart-empty__title {
	font-family: var(--dh-font);
	font-size: 20px;
	font-weight: 800;
	color: var(--dh-rich);
	margin: 0 0 12px;
}

.dh-cart-empty__desc {
	font-family: var(--dh-font);
	font-size: 14px;
	color: var(--dh-muted);
	line-height: 1.8;
	margin: 0 0 28px;
}

.dh-cart-empty .return-to-shop { margin: 0; }

.dh-cart-empty .return-to-shop a.dh-btn--primary,
.dh-cart-empty .return-to-shop a.dh-btn--primary:visited,
.dh-cart-empty .return-to-shop a.dh-btn--primary:hover,
.dh-cart-empty .return-to-shop a.dh-btn--primary:focus,
.dh-cart-empty .return-to-shop a.dh-btn--primary:active {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 14px 28px !important;
	background: linear-gradient(135deg, var(--dh-primary) 0%, #1ec0a0 100%) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--dh-radius-pill) !important;
	font-family: var(--dh-font) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: var(--dh-shadow-glow) !important;
	transition: background .2s, transform .1s !important;
}

.dh-cart-empty .return-to-shop a.dh-btn--primary:hover {
	background: linear-gradient(135deg, var(--dh-primary-hover) 0%, #18a98b 100%) !important;
	transform: translateY(-1px) !important;
}

/* Hide WC's own empty cart notice (we replaced it with dh-cart-empty__desc) */
.dh-cart-empty .woocommerce-info { display: none; }

/* --------------------------------------------------------------------------
   Cross-sells section (full-width below grid)
   -------------------------------------------------------------------------- */

.dh-cross-sells {
	margin-top: 32px;
}

.dh-cross-sells__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.dh-cross-sells__accent {
	display: inline-block;
	width: 4px;
	height: 24px;
	background: var(--dh-primary);
	border-radius: 999px;
}

.dh-cross-sells__title {
	font-family: var(--dh-font);
	font-size: 18px;
	font-weight: 700;
	color: var(--dh-rich);
	margin: 0;
}

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
	font-family: var(--dh-font) !important;
	direction: rtl;
	text-align: right;
	border-radius: 12px;
}

body.woocommerce-cart .woocommerce-error {
	border-top: 3px solid var(--dh-error) !important;
	background-color: rgba(224,72,72,0.06) !important;
}

body.woocommerce-cart .woocommerce-message {
	border-top: 3px solid var(--dh-primary) !important;
	background-color: rgba(35,206,169,0.07) !important;
}

body.woocommerce-cart .woocommerce-info {
	border-top: 3px solid var(--dh-blue) !important;
	background: var(--dh-blue-soft) !important;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.dh-cart__grid { grid-template-columns: minmax(0, 1fr) 340px; }
}

@media (max-width: 960px) {
	.dh-cart__grid { grid-template-columns: 1fr; }
	.dh-cart__sidebar {
		position: static;
		order: 2;
	}
	.dh-cart__main { order: 1; }
	.dh-cart-hero__inner {
		padding: 16px 18px;
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.dh-cart-hero__title { font-size: 19px; }
	.dh-steps { width: 100%; gap: 6px; }
	.dh-steps__item { flex: 1; justify-content: center; padding: 6px 8px 6px 6px; font-size: 11.5px; }
}

@media (max-width: 768px) {
	/* Stack table: hide thead, make each row a block with data labels */
	table.dh-cart-table thead { display: none; }

	/* Neutralize WooCommerce's built-in shop_table_responsive behavior
	   (woocommerce-smallscreen.css). Without this its data-title pseudo
	   labels ("قیمت:", "محصول:", …) render and its floated/block rules
	   fight our grid, causing the overlap + left-edge overflow. */
	table.dh-cart-table tbody td::before {
		content: none !important;
		display: none !important;
	}

	table.dh-cart-table tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		gap: 4px 12px;
		padding: 16px 0;
		text-align: right !important;
	}

	table.dh-cart-table tbody td {
		display: block !important;
		padding: 0 !important;
		width: auto !important;
		float: none !important;
		text-align: right !important;
	}

	table.dh-cart-table td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / 3;
		align-self: center;
	}

	table.dh-cart-table td.product-name {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	table.dh-cart-table td.product-price { display: none !important; }

	table.dh-cart-table td.product-quantity {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
	}

	table.dh-cart-table td.product-subtotal {
		grid-column: 3;
		grid-row: 1;
		text-align: left !important;
		font-size: 14px;
		white-space: nowrap;
	}

	table.dh-cart-table td.product-remove {
		grid-column: 3;
		grid-row: 2;
		text-align: left !important;
	}

	table.dh-cart-table tr.cart_item td.product-remove a.remove.dh-cart-remove {
		margin-inline-start: auto;
	}

	table.dh-cart-table tr td.actions {
		display: block !important;
		grid-column: 1 / -1;
		padding: 12px 0 !important;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart .woocommerce { padding: 16px 12px 48px; }
	.dh-card { padding: 18px 18px 20px; }
	.dh-cart-hero__inner { padding: 14px 16px; border-radius: 14px; }
	.dh-steps__label { display: none; }
	.dh-steps__item { gap: 0; padding: 6px; }
	.dh-steps__item.is-active .dh-steps__label { display: inline; }
	.dh-cart-empty__card { padding: 40px 20px 28px; }

	@media (max-width: 380px) {
		.dh-coupon-form__row { flex-direction: column; }
		.dh-coupon-form__action button.button { width: 100% !important; }
	}
}
