/* ==========================================================================
   Adib Account — پنل کاربری ادیب
   همه استایل‌ها فقط داخل .adib-acc (خروجی شورت‌کد) اعمال می‌شوند
   و روی هیچ بخش دیگری از سایت اثر ندارند.
   ========================================================================== */

.adib-acc {
	--adib-cream: #f8f5f0;
	--adib-sand: #e6ded3;
	--adib-sand-2: #d9cdbd;
	--adib-line: #efe8de;
	--adib-thumb: #f1ebe2;
	--adib-maroon: #862c21;
	--adib-maroon-dark: #5e1e16;
	--adib-maroon-tint: #f6ece9;
	--adib-green: #0f4c3a;
	--adib-green-tint: #e7f0ec;
	--adib-amber: #8a5d0c;
	--adib-amber-dot: #c08a1e;
	--adib-amber-tint: #fbf3e4;
	--adib-ink: #12302a;
	--adib-text: #474747;
	--adib-muted: #69727d;
	--adib-radius: 14px;
	--adib-shadow: 0 10px 30px rgba(18, 48, 42, .06);

	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px;
	min-width: 0;
	box-sizing: border-box;
	margin-inline: auto;
	direction: rtl;
	text-align: right;
	color: var(--adib-text);
	font-size: 15px;
	line-height: 1.8;
}

/* ---------- Font: Gandom for everything inside the panel ---------- */
.adib-acc,
.adib-acc *:not(i):not([class*="icon"]),
.adib-ty,
.adib-ty *:not(i):not([class*="icon"]) {
	font-family: var(--adib-font, "Gandom"), sans-serif !important;
}
.adib-acc *,
.adib-acc *::before,
.adib-acc *::after,
.adib-ty *,
.adib-ty *::before,
.adib-ty *::after { box-sizing: border-box; }
.adib-acc .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- Sidebar ---------- */
.adib-acc__side {
	flex: 1 1 260px;
	max-width: 300px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 20px 14px;
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: var(--adib-radius);
	box-shadow: var(--adib-shadow);
}
.adib-acc__user {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 6px 18px;
	border-bottom: 1px solid var(--adib-sand);
}
.adib-acc__avatar {
	width: 52px; height: 52px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--adib-green);
	color: var(--adib-cream);
	display: flex; align-items: center; justify-content: center;
	font-size: 20px; font-weight: 700; line-height: 1;
}
.adib-acc__user-info { display: flex; flex-direction: column; min-width: 0; line-height: 1.6; }
.adib-acc__user-name { font-size: 16px; font-weight: 700; color: var(--adib-ink); }
.adib-acc__user-contact {
	font-size: 12px; color: var(--adib-muted);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	direction: ltr; text-align: right;
}

.adib-acc__nav ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.adib-acc__item { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.adib-acc__item::before, .adib-acc__item::marker { content: none !important; }
.adib-acc__item a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	padding: 0 14px;
	border-radius: 10px;
	background: transparent;
	color: var(--adib-ink) !important;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none !important;
	transition: background-color .15s, color .15s;
}
.adib-acc__item a::before {
	content: "";
	width: 20px; height: 20px;
	flex-shrink: 0;
	background-color: var(--adib-green);
	-webkit-mask: var(--adib-ico) center / contain no-repeat;
	mask: var(--adib-ico) center / contain no-repeat;
}
.adib-acc__item a:hover,
.adib-acc__item a:focus-visible { background: var(--adib-cream); color: var(--adib-maroon) !important; }
.adib-acc__item.is-active a {
	background: var(--adib-maroon-tint);
	color: var(--adib-maroon) !important;
	font-weight: 700;
	box-shadow: inset -3px 0 0 var(--adib-maroon);
}
.adib-acc__item.is-active a::before { background-color: var(--adib-maroon); }

.adib-acc__item--customer-logout { margin-top: 14px !important; }
.adib-acc__item--customer-logout a { border: 1px solid var(--adib-sand); color: var(--adib-maroon) !important; }
.adib-acc__item--customer-logout a::before { background-color: var(--adib-maroon); }

/* Menu icons */
.adib-acc__item { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.adib-acc__item--dashboard { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='9' rx='2'/%3E%3Crect x='13.5' y='3' width='7.5' height='5.5' rx='2'/%3E%3Crect x='3' y='15' width='7.5' height='6' rx='2'/%3E%3Crect x='13.5' y='11.5' width='7.5' height='9.5' rx='2'/%3E%3C/svg%3E"); }
.adib-acc__item--orders { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.adib-acc__item[class*="--wishlist"] { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E"); }
.adib-acc__item--downloads { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E"); }
.adib-acc__item--edit-address { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.adib-acc__item--edit-account { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E"); }
.adib-acc__item--payment-methods { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E"); }
.adib-acc__item--customer-logout { --adib-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3'/%3E%3Cpath d='M10 8l-4 4 4 4'/%3E%3Cpath d='M6 12h10'/%3E%3C/svg%3E"); }

/* ---------- Content column ---------- */
.adib-acc__content {
	flex: 999 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.adib-acc__content > p { margin: 0; }

/* Shared card / title / link / buttons */
.adib-acc .adib-card {
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: var(--adib-radius);
	padding: 24px;
}
.adib-acc .adib-card__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin-bottom: 16px;
}
.adib-acc .adib-title {
	display: flex; align-items: center; gap: 10px;
	margin: 0; padding: 0;
	font-size: 20px; font-weight: 700; line-height: 1.4;
	color: var(--adib-ink);
}
.adib-acc .adib-title::before {
	content: ""; width: 4px; height: 22px; border-radius: 2px; background: var(--adib-maroon);
}
.adib-acc .adib-link {
	font-size: 13px; white-space: nowrap;
	color: var(--adib-maroon) !important;
	text-decoration: none !important;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--adib-maroon);
}
.adib-acc .adib-link:hover { color: var(--adib-maroon-dark) !important; border-color: var(--adib-maroon-dark); }
.adib-acc .adib-link--plain { border-bottom: 0; padding: 0; }

.adib-acc .adib-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 38px; padding: 0 16px;
	border-radius: 8px;
	font-size: 13px; font-weight: 500; line-height: 1;
	text-decoration: none !important; white-space: nowrap;
	transition: background-color .15s;
}
.adib-acc .adib-btn--solid { background: var(--adib-maroon); border: 1px solid var(--adib-maroon); color: #fff !important; }
.adib-acc .adib-btn--solid:hover { background: var(--adib-maroon-dark); border-color: var(--adib-maroon-dark); }
.adib-acc .adib-btn--ghost { background: transparent; border: 1px solid var(--adib-maroon); color: var(--adib-maroon) !important; }
.adib-acc .adib-btn--ghost:hover { background: var(--adib-maroon-tint); }

/* ---------- Dashboard ---------- */
.adib-acc .adib-dash { display: flex; flex-direction: column; gap: 24px; }

.adib-acc .adib-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.adib-acc .adib-stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adib-acc .adib-stat {
	display: flex; align-items: center; gap: 16px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: var(--adib-radius);
	color: var(--adib-text) !important;
	text-decoration: none !important;
	transition: border-color .15s, transform .15s;
}
.adib-acc .adib-stat:hover { border-color: var(--adib-maroon); transform: translateY(-2px); }
.adib-acc .adib-stat__icon {
	width: 52px; height: 52px; flex-shrink: 0;
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
}
.adib-acc .adib-stat--warn .adib-stat__icon { background: var(--adib-amber-tint); color: var(--adib-amber); }
.adib-acc .adib-stat--ok .adib-stat__icon { background: var(--adib-green-tint); color: var(--adib-green); }
.adib-acc .adib-stat--fav .adib-stat__icon { background: var(--adib-maroon-tint); color: var(--adib-maroon); }
.adib-acc .adib-stat__body { display: flex; flex-direction: column; line-height: 1.5; }
.adib-acc .adib-stat__num { font-size: 26px; font-weight: 700; color: var(--adib-ink); }
.adib-acc .adib-stat__label { font-size: 13px; color: var(--adib-text); }

.adib-acc .adib-orders { display: flex; flex-direction: column; }
.adib-acc .adib-orders__head,
.adib-acc .adib-order {
	display: grid;
	grid-template-columns: minmax(180px, 1.6fr) 1fr 1fr 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 0 14px;
}
.adib-acc .adib-orders__head {
	min-height: 44px;
	background: var(--adib-cream);
	border-radius: 10px;
	font-size: 13px;
	color: var(--adib-text);
}
.adib-acc .adib-order { min-height: 76px; border-bottom: 1px solid var(--adib-line); font-size: 14px; }
.adib-acc .adib-order:last-child { border-bottom: 0; }
.adib-acc .adib-order__id { display: flex; align-items: center; gap: 12px; min-width: 0; }
.adib-acc .adib-order__thumb {
	width: 44px; height: 44px; flex-shrink: 0;
	border-radius: 8px; background: var(--adib-thumb); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.adib-acc .adib-order__thumb img {
	width: 90% !important; height: 90% !important;
	object-fit: contain; mix-blend-mode: multiply;
	margin: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.adib-acc .adib-order__meta { display: flex; flex-direction: column; line-height: 1.5; min-width: 0; }
.adib-acc .adib-order__meta strong { color: var(--adib-ink); font-weight: 700; }
.adib-acc .adib-order__meta small { font-size: 12px; color: var(--adib-muted); }
.adib-acc .adib-order__total { font-weight: 700; color: var(--adib-ink); }
.adib-acc .adib-order__actions { display: flex; gap: 8px; justify-content: flex-end; }

.adib-acc .adib-status {
	display: inline-flex; align-items: center; gap: 6px;
	height: 28px; padding: 0 12px;
	border-radius: 999px; font-size: 12px; white-space: nowrap;
}
.adib-acc .adib-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.adib-acc .adib-status--warn { background: var(--adib-amber-tint); color: var(--adib-amber); }
.adib-acc .adib-status--warn::before { background: var(--adib-amber-dot); }
.adib-acc .adib-status--ok { background: var(--adib-green-tint); color: var(--adib-green); }
.adib-acc .adib-status--muted { background: #f2f2f2; color: #555; }
.adib-acc .adib-status--muted::before { background: #888; }

.adib-acc .adib-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 0 8px; text-align: center; }
.adib-acc .adib-empty p { margin: 0; }

.adib-acc .adib-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.adib-acc .adib-info { padding: 22px; }
.adib-acc .adib-info .adib-card__head { margin-bottom: 10px; }
.adib-acc .adib-info__title {
	display: flex; align-items: center; gap: 8px;
	margin: 0; font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--adib-ink);
}
.adib-acc .adib-info__title svg { color: var(--adib-green); flex-shrink: 0; }
.adib-acc .adib-info__text { margin: 0; font-style: normal; font-size: 14px; line-height: 2; color: var(--adib-text); }
.adib-acc .adib-info__text--muted { color: var(--adib-muted); }
.adib-acc .adib-info__list { margin: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.9; }
.adib-acc .adib-info__list div { display: flex; gap: 8px; }
.adib-acc .adib-info__list dt { margin: 0; color: var(--adib-muted); font-weight: 400; }
.adib-acc .adib-info__list dt::after { content: ":"; }
.adib-acc .adib-info__list dd { margin: 0; color: var(--adib-text); word-break: break-all; }

/* ---------- WooCommerce sections inside the panel ---------- */
.adib-acc__content h2,
.adib-acc__content h3 { color: var(--adib-ink); font-weight: 700; line-height: 1.5; margin: 0 0 12px; }
.adib-acc__content h2 { font-size: 20px; }
.adib-acc__content h3 { font-size: 16px; }
.adib-acc__content a:not(.adib-btn):not(.button):not(.adib-stat):not(.adib-link) { color: var(--adib-maroon); }

.adib-acc__content table.shop_table,
.adib-acc__content table.woocommerce-orders-table,
.adib-acc__content table.woocommerce-table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--adib-sand) !important;
	border-radius: var(--adib-radius);
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	font-size: 14px;
}
.adib-acc__content table th {
	background: var(--adib-cream) !important;
	color: var(--adib-text);
	font-weight: 500;
	padding: 12px 14px !important;
	border: 0 !important;
	text-align: right;
}
.adib-acc__content table td {
	padding: 14px !important;
	border: 0 !important;
	border-top: 1px solid var(--adib-line) !important;
	background: #fff !important;
	color: var(--adib-text);
	vertical-align: middle;
	text-align: right;
}
.adib-acc__content table tfoot th,
.adib-acc__content table tfoot td { background: var(--adib-cream) !important; }

.adib-acc__content .button,
.adib-acc__content button,
.adib-acc__content input[type="submit"],
.adib-acc__content .woocommerce-button {
	display: inline-flex !important;
	align-items: center; justify-content: center;
	min-height: 40px;
	padding: 0 16px !important;
	margin: 2px !important;
	border-radius: 8px !important;
	border: 1px solid var(--adib-maroon) !important;
	background: var(--adib-maroon) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.adib-acc__content .button:hover,
.adib-acc__content button:hover,
.adib-acc__content input[type="submit"]:hover { background: var(--adib-maroon-dark) !important; border-color: var(--adib-maroon-dark) !important; }
.adib-acc__content .woocommerce-button.view,
.adib-acc__content .button.view { background: transparent !important; color: var(--adib-maroon) !important; }

.adib-acc__content .woocommerce-Addresses,
.adib-acc__content .u-columns.addresses {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}
.adib-acc__content .woocommerce-Addresses::before,
.adib-acc__content .woocommerce-Addresses::after { display: none !important; }
.adib-acc__content .woocommerce-Address {
	width: auto !important; float: none !important; margin: 0 !important;
	padding: 22px; background: #fff;
	border: 1px solid var(--adib-sand); border-radius: var(--adib-radius);
}
.adib-acc__content .woocommerce-Address-title {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px;
}
.adib-acc__content .woocommerce-Address-title::before,
.adib-acc__content .woocommerce-Address-title::after { display: none !important; }
.adib-acc__content .woocommerce-Address-title h2,
.adib-acc__content .woocommerce-Address-title h3 { margin: 0; font-size: 16px; }
.adib-acc__content .woocommerce-Address-title a { float: none !important; font-size: 13px; }
.adib-acc__content address { font-style: normal; line-height: 2; font-size: 14px; }

.adib-acc__content form {
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: var(--adib-radius);
	padding: 24px;
}
.adib-acc__content .form-row { margin: 0 0 16px; padding: 0; }
.adib-acc__content label { display: block; margin-bottom: 6px; color: var(--adib-ink); font-size: 14px; }
.adib-acc__content label .required { color: var(--adib-maroon); text-decoration: none; }
.adib-acc__content input[type="text"],
.adib-acc__content input[type="email"],
.adib-acc__content input[type="tel"],
.adib-acc__content input[type="password"],
.adib-acc__content input[type="number"],
.adib-acc__content select,
.adib-acc__content textarea,
.adib-acc__content .select2-container .select2-selection {
	width: 100%;
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid var(--adib-sand) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--adib-ink);
	font-size: 14px;
	box-shadow: none !important;
}
.adib-acc__content input:focus,
.adib-acc__content select:focus,
.adib-acc__content textarea:focus {
	outline: 2px solid rgba(134, 44, 33, .2);
	border-color: var(--adib-maroon) !important;
}
.adib-acc__content fieldset {
	margin: 20px 0; padding: 16px;
	border: 1px solid var(--adib-sand); border-radius: 10px;
}
.adib-acc__content legend { padding: 0 8px; color: var(--adib-ink); font-weight: 700; }
.adib-acc__content em, .adib-acc__content small { color: var(--adib-muted); font-style: normal; font-size: 12px; }

.adib-acc .woocommerce-message,
.adib-acc .woocommerce-info,
.adib-acc .woocommerce-error,
.adib-acc .woocommerce-notice {
	margin: 0 0 4px;
	padding: 14px 18px;
	list-style: none;
	background: #fff !important;
	color: var(--adib-text) !important;
	border: 1px solid var(--adib-sand) !important;
	border-right: 3px solid var(--adib-green) !important;
	border-radius: 10px;
	box-shadow: var(--adib-shadow);
}
.adib-acc .woocommerce-message::before,
.adib-acc .woocommerce-info::before,
.adib-acc .woocommerce-error::before { display: none !important; }
.adib-acc .woocommerce-error { border-right-color: var(--adib-maroon) !important; }
.adib-acc .woocommerce-message .button,
.adib-acc .woocommerce-info .button { float: left; }

.adib-acc .woocommerce-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 12px; }

/* ---------- Guest (login / register) ---------- */
.adib-acc--guest { display: block; }
.adib-acc--guest .u-columns,
.adib-acc--guest #customer_login {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
}
.adib-acc--guest .u-columns::before,
.adib-acc--guest .u-columns::after { display: none !important; }
.adib-acc--guest .u-column1,
.adib-acc--guest .u-column2,
.adib-acc--guest .col-1,
.adib-acc--guest .col-2 { width: auto !important; float: none !important; max-width: none !important; }
.adib-acc--guest h2 {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 14px; font-size: 20px; font-weight: 700; color: var(--adib-ink);
}
.adib-acc--guest h2::before { content: ""; width: 4px; height: 22px; border-radius: 2px; background: var(--adib-maroon); }
.adib-acc--guest form {
	margin: 0 !important;
	padding: 24px !important;
	background: #fff;
	border: 1px solid var(--adib-sand) !important;
	border-radius: var(--adib-radius) !important;
	box-shadow: var(--adib-shadow);
}
.adib-acc--guest .form-row { margin: 0 0 16px; padding: 0; }
.adib-acc--guest label { display: block; margin-bottom: 6px; color: var(--adib-ink); font-size: 14px; }
.adib-acc--guest label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 0 12px; }
.adib-acc--guest input[type="text"],
.adib-acc--guest input[type="email"],
.adib-acc--guest input[type="tel"],
.adib-acc--guest input[type="password"] {
	width: 100%; min-height: 46px; padding: 8px 14px;
	border: 1px solid var(--adib-sand) !important; border-radius: 8px !important;
	background: #fff !important; color: var(--adib-ink); font-size: 14px; box-shadow: none !important;
}
.adib-acc--guest input:focus { outline: 2px solid rgba(134, 44, 33, .2); border-color: var(--adib-maroon) !important; }
.adib-acc--guest button,
.adib-acc--guest .button {
	display: inline-flex !important; align-items: center; justify-content: center;
	min-height: 46px; padding: 0 22px !important;
	border-radius: 8px !important; border: 0 !important;
	background: var(--adib-maroon) !important; color: #fff !important;
	font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important;
	cursor: pointer; box-shadow: none !important;
}
.adib-acc--guest button:hover { background: var(--adib-maroon-dark) !important; }
.adib-acc--guest .lost_password a { color: var(--adib-maroon); font-size: 13px; }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.adib-acc .adib-orders__head,
	.adib-acc .adib-order { grid-template-columns: minmax(160px, 1.4fr) 1fr 1fr auto; }
	.adib-acc .adib-orders__head > :nth-child(2),
	.adib-acc .adib-order__date { display: none; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.adib-acc { gap: 16px; }
	.adib-acc__side { flex-basis: 100%; max-width: 100%; padding: 16px; gap: 14px; }
	.adib-acc__user { padding: 0 0 14px; }
	.adib-acc__avatar { width: 46px; height: 46px; font-size: 18px; }
	.adib-acc__content { flex-basis: 100%; gap: 16px; }

	/* Inner sections: horizontal scrolling chips */
	.adib-acc__nav ul { flex-direction: row; gap: 8px; overflow-x: auto; padding-bottom: 4px !important; scrollbar-width: none; }
	.adib-acc__nav ul::-webkit-scrollbar { display: none; }
	.adib-acc__item { flex-shrink: 0; }
	.adib-acc__item a {
		min-height: 44px; padding: 0 14px; gap: 8px;
		border: 1px solid var(--adib-sand);
		border-radius: 999px;
		font-size: 13px; white-space: nowrap;
	}
	.adib-acc__item a::before { width: 18px; height: 18px; }
	.adib-acc__item.is-active a { box-shadow: none; border-color: var(--adib-maroon); }
	.adib-acc__item--customer-logout { margin-top: 0 !important; }

	/* Dashboard: menu as 2-column tiles */
	.adib-acc--dashboard .adib-acc__nav ul {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; overflow: visible;
	}
	.adib-acc--dashboard .adib-acc__item--dashboard { display: none !important; }
	.adib-acc--dashboard .adib-acc__item a {
		min-height: 64px; padding: 0 12px; gap: 10px;
		border-radius: 12px;
		font-size: 14px; font-weight: 700; white-space: normal;
	}
	.adib-acc--dashboard .adib-acc__item a::before { width: 22px; height: 22px; }
	.adib-acc--dashboard .adib-acc__item--customer-logout { grid-column: 1 / -1; }
	.adib-acc--dashboard .adib-acc__item--customer-logout a { min-height: 48px; justify-content: center; font-weight: 400; }

	.adib-acc .adib-dash { gap: 16px; }
	.adib-acc .adib-card { padding: 16px; }
	.adib-acc .adib-title { font-size: 18px; }

	.adib-acc .adib-stats,
	.adib-acc .adib-stats--2 { gap: 8px; }
	.adib-acc .adib-stat { flex-direction: column; gap: 6px; padding: 14px 8px; text-align: center; }
	.adib-acc .adib-stat__icon { width: 40px; height: 40px; border-radius: 10px; }
	.adib-acc .adib-stat__icon svg { width: 20px; height: 20px; }
	.adib-acc .adib-stat__num { font-size: 20px; }
	.adib-acc .adib-stat__label { font-size: 11px; }

	.adib-acc .adib-orders { gap: 10px; }
	.adib-acc .adib-orders__head { display: none; }
	.adib-acc .adib-order {
		grid-template-columns: 1fr auto;
		grid-template-areas: "id status" "date total" "actions actions";
		gap: 10px; padding: 14px;
		border: 1px solid var(--adib-sand); border-radius: 12px;
	}
	.adib-acc .adib-order:last-child { border-bottom: 1px solid var(--adib-sand); }
	.adib-acc .adib-order__id { grid-area: id; }
	.adib-acc .adib-order__status { grid-area: status; justify-self: end; }
	.adib-acc .adib-order__date {
		grid-area: date; display: block;
		font-size: 12px; color: var(--adib-muted);
		padding-top: 10px; border-top: 1px dashed var(--adib-sand);
	}
	.adib-acc .adib-order__total {
		grid-area: total; text-align: left;
		padding-top: 10px; border-top: 1px dashed var(--adib-sand);
	}
	.adib-acc .adib-order__actions { grid-area: actions; display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); }
	.adib-acc .adib-order__actions .adib-btn { min-height: 44px; }

	.adib-acc .adib-pair,
	.adib-acc__content .woocommerce-Addresses,
	.adib-acc__content .u-columns.addresses,
	.adib-acc--guest .u-columns,
	.adib-acc--guest #customer_login { grid-template-columns: 1fr; }

	.adib-acc__content form,
	.adib-acc--guest form { padding: 16px !important; }
	.adib-acc__content table.woocommerce-orders-table { display: block; overflow-x: auto; }
}

/* ==========================================================================
   Thank-you page — [adib_thankyou]
   ========================================================================== */

.adib-ty {
	--adib-cream: #f8f5f0;
	--adib-sand: #e6ded3;
	--adib-sand-2: #c9b9a6;
	--adib-line: #efe8de;
	--adib-thumb: #f1ebe2;
	--adib-maroon: #862c21;
	--adib-maroon-dark: #5e1e16;
	--adib-maroon-tint: #f6ece9;
	--adib-green: #0f4c3a;
	--adib-green-tint: #e7f0ec;
	--adib-ink: #12302a;
	--adib-text: #474747;
	--adib-muted: #69727d;
	--adib-radius: 14px;
	--adib-shadow: 0 10px 30px rgba(18, 48, 42, .06);

	/* Fill the parent column (never the viewport), capped at 1100px. */
	width: 100%;
	max-width: 1100px;
	min-width: 0;
	box-sizing: border-box;
	margin-inline: auto;
	overflow-wrap: anywhere;
	display: flex;
	flex-direction: column;
	gap: 24px;
	direction: rtl;
	text-align: right;
	color: var(--adib-text);
	font-size: 15px;
	line-height: 1.8;
}

.adib-ty__preview {
	margin: 0;
	padding: 10px 16px;
	border-radius: 10px;
	background: #fbf3e4;
	color: #8a5d0c;
	font-size: 13px;
}

/* Hero */
.adib-ty__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 40px 32px 32px;
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: 18px;
	box-shadow: var(--adib-shadow);
	text-align: center;
}
.adib-ty__badge {
	width: 76px; height: 76px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
}
.adib-ty__badge--ok { background: var(--adib-green); box-shadow: 0 0 0 10px var(--adib-green-tint); }
.adib-ty__badge--fail { background: var(--adib-maroon); box-shadow: 0 0 0 10px var(--adib-maroon-tint); }
.adib-ty__badge--muted { background: #888; box-shadow: 0 0 0 10px #f2f2f2; }
.adib-ty__title {
	margin: 14px 0 0 !important;
	padding: 0 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	color: var(--adib-ink) !important;
}
.adib-ty__msg { margin: 0 !important; max-width: 560px; font-size: 15px; color: var(--adib-text); }

.adib-ty__number {
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 8px 0 18px;
	border: 1px dashed var(--adib-sand-2);
	border-radius: 12px;
	background: var(--adib-cream);
}
.adib-ty__number-label { font-size: 13px; color: var(--adib-muted); }
.adib-ty__number-value { font-size: 20px; font-weight: 700; color: var(--adib-maroon); letter-spacing: 1px; }
.adib-ty__copy {
	width: 36px; height: 36px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--adib-text) !important;
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	box-shadow: none !important;
}
.adib-ty__copy:hover { color: var(--adib-maroon) !important; }
.adib-ty__copy.is-copied { background: var(--adib-green-tint) !important; color: var(--adib-green) !important; }
.adib-ty__pill {
	display: inline-flex; align-items: center;
	height: 26px; padding: 0 10px;
	border-radius: 999px; font-size: 12px;
	margin-left: 10px;
}
.adib-ty__pill--fail { background: var(--adib-maroon-tint); color: var(--adib-maroon); }
.adib-ty__pill--muted { background: #f2f2f2; color: #555; }

/* Steps */
.adib-ty__steps {
	list-style: none !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	width: 100%;
	max-width: 760px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.adib-ty__step {
	position: relative;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	margin: 0 !important; padding: 0 !important;
	list-style: none !important;
}
.adib-ty__step::marker { content: none; }
.adib-ty__step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 50%;
	width: 100%;
	height: 3px;
	background: var(--adib-sand);
	z-index: 0;
}
.adib-ty__step.has-done-line::after { background: var(--adib-green); }
.adib-ty__dot {
	position: relative; z-index: 1;
	width: 32px; height: 32px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fff;
	border: 2px solid var(--adib-sand);
	color: #fff;
}
.adib-ty__step.is-done .adib-ty__dot { background: var(--adib-green); border-color: var(--adib-green); }
.adib-ty__step.is-current .adib-ty__dot { border: 3px solid var(--adib-maroon); }
.adib-ty__step.is-current .adib-ty__dot::before {
	content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--adib-maroon);
}
.adib-ty__step-label { font-size: 13px; line-height: 1.5; color: var(--adib-muted); }
.adib-ty__step.is-done .adib-ty__step-label { color: var(--adib-ink); font-weight: 700; }
.adib-ty__step.is-current .adib-ty__step-label { color: var(--adib-maroon); font-weight: 700; }

/* Buttons */
.adib-ty__actions { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.adib-ty__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px;
	border-radius: 10px;
	font-size: 14px; font-weight: 500; line-height: 1;
	text-decoration: none !important;
	transition: background-color .15s;
}
.adib-ty__btn--solid { background: var(--adib-maroon); border: 1px solid var(--adib-maroon); color: #fff !important; }
.adib-ty__btn--solid:hover { background: var(--adib-maroon-dark); border-color: var(--adib-maroon-dark); }
.adib-ty__btn--ghost { background: transparent; border: 1px solid var(--adib-maroon); color: var(--adib-maroon) !important; }
.adib-ty__btn--ghost:hover { background: var(--adib-maroon-tint); }
.adib-ty__btn--block { width: 100%; }

/* Details grid: items + side column side by side, stacked under 900px */
.adib-ty__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: 24px;
	align-items: start;
}
.adib-ty__items { min-width: 0; }
.adib-ty__side { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 900px) {
	.adib-ty__grid { grid-template-columns: minmax(0, 1fr); }
}
/* Give the plugin output the full row width inside Elementor's Shortcode widget */
.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-ty),
.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-acc) {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	align-self: stretch !important;
	flex: 1 1 100% !important;
}
.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-ty) > .elementor-shortcode,
.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-acc) > .elementor-shortcode { width: 100%; min-width: 0; }
.adib-ty__extra--hidden { display: none; }

.adib-ty__card {
	background: #fff;
	border: 1px solid var(--adib-sand);
	border-radius: var(--adib-radius);
	padding: 22px;
}
.adib-ty__items { padding: 24px; }
.adib-ty__card-title {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 8px !important;
	font-size: 20px !important; font-weight: 700 !important; line-height: 1.5 !important;
	color: var(--adib-ink) !important;
}
.adib-ty__card-title::before { content: ""; width: 4px; height: 22px; border-radius: 2px; background: var(--adib-maroon); }
.adib-ty__card-sub {
	margin: 0 0 12px !important;
	font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important;
	color: var(--adib-ink) !important;
}
.adib-ty__card-sub--icon { display: flex; align-items: center; gap: 8px; }
.adib-ty__card-sub--icon svg { color: var(--adib-green); }

.adib-ty__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.adib-ty__line {
	display: flex; align-items: center; gap: 14px;
	margin: 0 !important; padding: 14px 0 !important;
	border-bottom: 1px solid var(--adib-line);
	list-style: none !important;
}
.adib-ty__thumb {
	width: 64px; height: 64px; flex-shrink: 0;
	border-radius: 10px; background: var(--adib-thumb); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.adib-ty__thumb img {
	width: 88% !important; height: 88% !important;
	object-fit: contain; mix-blend-mode: multiply;
	margin: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.adib-ty__line-info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.6; }
.adib-ty__line-name { font-size: 15px; font-weight: 700; color: var(--adib-ink); }
.adib-ty__line-meta { font-size: 12px; color: var(--adib-muted); }
.adib-ty__line-total { font-size: 15px; font-weight: 700; color: var(--adib-ink); white-space: nowrap; }

.adib-ty__totals { margin: 16px 0 0 !important; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.adib-ty__total-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.adib-ty__total-row dt { margin: 0; color: var(--adib-muted); font-weight: 400; }
.adib-ty__total-row dd { margin: 0; color: var(--adib-ink); text-align: left; }
.adib-ty__total-row.is-discount dd { color: var(--adib-green); }
.adib-ty__total-row.is-grand {
	margin-top: 6px;
	padding: 14px 16px;
	border-radius: 10px;
	background: var(--adib-cream);
}
.adib-ty__total-row.is-grand dt { color: var(--adib-ink); font-weight: 700; }
.adib-ty__total-row.is-grand dd { color: var(--adib-maroon); font-size: 20px; font-weight: 700; }
.adib-ty__total-row.is-grand dd small { font-size: 12px; font-weight: 400; color: var(--adib-muted); }

.adib-ty__facts { margin: 0 !important; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.adib-ty__facts div { display: flex; justify-content: space-between; gap: 12px; }
.adib-ty__facts dt { margin: 0; color: var(--adib-muted); font-weight: 400; }
.adib-ty__facts dd { margin: 0; color: var(--adib-ink); text-align: left; word-break: break-word; }
.adib-ty__facts dd.is-ltr { direction: ltr; }
.adib-ty__address { margin: 0; font-style: normal; font-size: 14px; line-height: 2; color: var(--adib-text); }

.adib-ty__extra:empty { display: none; }
.adib-ty__extra > *:first-child { margin-top: 0; }
.adib-ty__extra > *:last-child { margin-bottom: 0; }
.adib-ty__extra h2, .adib-ty__extra h3 { font-size: 16px; color: var(--adib-ink); }

.adib-ty .woocommerce-message,
.adib-ty .woocommerce-info,
.adib-ty .woocommerce-error {
	margin: 0;
	padding: 14px 18px;
	list-style: none;
	background: #fff !important;
	color: var(--adib-text) !important;
	border: 1px solid var(--adib-sand) !important;
	border-right: 3px solid var(--adib-green) !important;
	border-radius: 10px;
}
.adib-ty .woocommerce-message::before,
.adib-ty .woocommerce-info::before,
.adib-ty .woocommerce-error::before { display: none !important; }
.adib-ty .woocommerce-error { border-right-color: var(--adib-maroon) !important; }

@media (max-width: 767px) {
	.adib-ty { gap: 14px; font-size: 14px; }
	.adib-ty__hero { padding: 28px 18px 22px; border-radius: 16px; gap: 10px; }
	.adib-ty__badge { width: 64px; height: 64px; }
	.adib-ty__badge svg { width: 30px; height: 30px; }
	.adib-ty__badge--ok { box-shadow: 0 0 0 8px var(--adib-green-tint); }
	.adib-ty__badge--fail { box-shadow: 0 0 0 8px var(--adib-maroon-tint); }
	.adib-ty__title { margin-top: 10px !important; font-size: 21px !important; }
	.adib-ty__msg { font-size: 13px; }
	.adib-ty__number { gap: 8px; padding: 0 6px 0 14px; min-height: 46px; flex-wrap: wrap; justify-content: center; }
	.adib-ty__number-label { font-size: 12px; }
	.adib-ty__number-value { font-size: 18px; }
	.adib-ty__steps { margin-top: 16px !important; }
	.adib-ty__step { gap: 6px; }
	.adib-ty__step:not(:last-child)::after { top: 12px; height: 2px; }
	.adib-ty__dot { width: 26px; height: 26px; }
	.adib-ty__dot svg { width: 13px; height: 13px; }
	.adib-ty__step.is-current .adib-ty__dot::before { width: 8px; height: 8px; }
	.adib-ty__step-label { font-size: 11px; }
	.adib-ty__actions { width: 100%; flex-direction: column; }
	.adib-ty__actions .adib-ty__btn { width: 100%; }
	.adib-ty__grid { gap: 14px; }
	.adib-ty__card, .adib-ty__items { padding: 16px; }
	.adib-ty__card-title { font-size: 17px !important; }
	.adib-ty__card-sub { font-size: 15px !important; }
	.adib-ty__thumb { width: 54px; height: 54px; }
	.adib-ty__line { gap: 12px; padding: 12px 0 !important; }
	.adib-ty__line-name { font-size: 14px; }
	.adib-ty__line-meta { font-size: 11px; }
	.adib-ty__line-total { font-size: 13px; }
	.adib-ty__totals, .adib-ty__facts { font-size: 13px; }
	.adib-ty__total-row.is-grand { padding: 12px 14px; }
	.adib-ty__total-row.is-grand dd { font-size: 17px; }
}

/* ==========================================================================
   سبد خرید [adib_cart] و تسویه حساب [adib_checkout]
   فقط داخل .adib-sc — خروجی خود ووکامرس استایل می‌شود و ساختارش دست نمی‌خورد.
   ========================================================================== */

.adib-sc {
	--adib-cream: #f8f5f0;
	--adib-sand: #e6ded3;
	--adib-sand-2: #c9b9a6;
	--adib-line: #efe8de;
	--adib-thumb: #f1ebe2;
	--adib-maroon: #862c21;
	--adib-maroon-dark: #5e1e16;
	--adib-maroon-tint: #f6ece9;
	--adib-green: #0f4c3a;
	--adib-green-tint: #e7f0ec;
	--adib-ink: #12302a;
	--adib-text: #474747;
	--adib-muted: #69727d;
	--adib-danger: #b3261e;
	--adib-radius: 14px;
	--adib-shadow: 0 10px 30px rgba(18, 48, 42, .06);
	--adib-side: 380px;

	width: 100%;
	max-width: 1200px;
	min-width: 0;
	box-sizing: border-box;
	margin-inline: auto;
	direction: rtl;
	text-align: right;
	color: var(--adib-text);
	font-size: 15px;
	line-height: 1.8;
}
.adib-sc.adib-co { --adib-side: 410px; }
.adib-sc,
.adib-sc *:not(i):not([class*="icon"]):not(.select2-selection__arrow b) {
	font-family: var(--adib-font, "Gandom"), sans-serif !important;
}
.adib-sc *, .adib-sc *::before, .adib-sc *::after { box-sizing: border-box; }
.adib-sc a { color: var(--adib-maroon); text-decoration: none; }
.adib-sc a:hover { color: var(--adib-maroon-dark); }
.adib-sc .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.adib-sc .clear { display: none; }

.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-sc) {
	width: 100% !important; max-width: 100% !important; min-width: 0 !important; align-self: stretch !important; flex: 1 1 100% !important;
}
.elementor-widget-shortcode:has(> .elementor-shortcode > .adib-sc) > .elementor-shortcode { width: 100%; min-width: 0; }

/* ---------- head + steps ---------- */
.adib-sc__head { display: flex; flex-direction: column; align-items: center; gap: 22px; margin-bottom: 28px; }
.adib-sc .adib-sc__title { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.5; color: var(--adib-ink); text-align: center; }
.adib-steps {
	list-style: none; margin: 0 auto; padding: 0; width: 100%; max-width: 620px;
	display: grid; grid-template-columns: repeat(var(--adib-steps, 3), minmax(0, 1fr));
}
.adib-steps__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; margin: 0; padding: 0; }
.adib-steps__item:not(:last-child)::after {
	content: ""; position: absolute; top: 15px; right: 50%; width: 100%; height: 3px; background: var(--adib-sand);
}
.adib-steps__item.is-done:not(:last-child)::after { background: var(--adib-green); }
.adib-steps__dot {
	position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1;
	background: #fff; border: 2px solid var(--adib-sand); color: var(--adib-muted);
}
.is-done .adib-steps__dot { background: var(--adib-green); border-color: var(--adib-green); color: #fff; }
.is-current .adib-steps__dot { background: var(--adib-maroon); border-color: var(--adib-maroon); color: #fff; font-weight: 700; box-shadow: 0 0 0 5px var(--adib-maroon-tint); }
.adib-steps__label { font-size: 13px; line-height: 1.5; color: var(--adib-muted); font-weight: 500; }
.is-done .adib-steps__label, .is-current .adib-steps__label { color: var(--adib-ink); }
.is-current .adib-steps__label { font-weight: 700; }

/* ---------- shared: tables reset (theme styles) ---------- */
.adib-sc table, .adib-sc table thead, .adib-sc table tbody, .adib-sc table tfoot { border: 0 !important; margin: 0; background: transparent; }
.adib-sc table td, .adib-sc table th {
	border: 0 !important; background: transparent !important; padding: 0; vertical-align: middle; line-height: 1.7; text-align: right;
}
.adib-sc table td::before { display: none !important; content: none !important; }

/* ---------- shared: cards ---------- */
.adib-sc .woocommerce-cart-form,
.adib-sc .cart_totals,
.adib-sc .adib-co__review,
.adib-sc #customer_details > .col-1,
.adib-sc #customer_details > .col-2,
.adib-sc .wc-empty-cart-message,
.adib-sc.adib-co--pay #order_review {
	background: #fff; border: 1px solid var(--adib-sand); border-radius: var(--adib-radius); padding: 24px;
}
.adib-sc .cart_totals > h2,
.adib-sc .adib-co__review > #order_review_heading,
.adib-sc .woocommerce-billing-fields > h3,
.adib-sc #customer_details > .col-2::before {
	display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 0;
	font-size: 18px; font-weight: 700; line-height: 1.5; color: var(--adib-ink); border: 0;
}
.adib-sc .cart_totals > h2::before,
.adib-sc .adib-co__review > #order_review_heading::before,
.adib-sc .woocommerce-billing-fields > h3::before {
	content: ""; width: 4px; height: 20px; border-radius: 2px; background: var(--adib-maroon); flex-shrink: 0;
}
.adib-sc #customer_details > .col-2::before {
	content: "ارسال و توضیحات"; padding-right: 14px;
	background: linear-gradient(var(--adib-maroon), var(--adib-maroon)) right center / 4px 20px no-repeat;
}

/* ---------- shared: inputs & buttons ---------- */
.adib-sc input.input-text,
.adib-sc input[type="text"],
.adib-sc input[type="email"],
.adib-sc input[type="tel"],
.adib-sc input[type="number"],
.adib-sc input[type="password"],
.adib-sc select,
.adib-sc textarea {
	width: 100%; min-height: 48px; margin: 0; padding: 10px 14px !important;
	border: 1px solid var(--adib-sand) !important; border-radius: 10px !important;
	background: #fff !important; color: var(--adib-ink) !important;
	font-size: 14px !important; line-height: 1.6 !important; box-shadow: none !important; outline: none;
}
.adib-sc textarea { min-height: 104px; resize: vertical; }
.adib-sc select { appearance: none; padding-left: 36px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2369727d' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat left 14px center !important; }
.adib-sc input:focus, .adib-sc select:focus, .adib-sc textarea:focus {
	border-color: var(--adib-maroon) !important; box-shadow: 0 0 0 3px var(--adib-maroon-tint) !important;
}
.adib-sc ::placeholder { color: #a39b91 !important; opacity: 1; }
.adib-sc input[type="radio"], .adib-sc input[type="checkbox"] { accent-color: var(--adib-maroon); width: 18px; height: 18px; margin: 0; flex-shrink: 0; }

.adib-sc .button,
.adib-sc button.button,
.adib-sc a.button {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; margin: 0 !important; padding: 0 20px !important;
	border: 1px solid var(--adib-maroon) !important; border-radius: 10px !important;
	background: #fff !important; color: var(--adib-maroon) !important;
	font-size: 14px !important; font-weight: 700 !important; line-height: 1.4 !important;
	text-decoration: none !important; white-space: nowrap; cursor: pointer; box-shadow: none !important; float: none !important;
	transition: background .2s, color .2s;
}
.adib-sc .button:hover { background: var(--adib-maroon-tint) !important; color: var(--adib-maroon-dark) !important; }
.adib-sc .button:disabled, .adib-sc .button[disabled] { opacity: .5; cursor: not-allowed; }
.adib-sc .button.alt,
.adib-sc .checkout-button,
.adib-sc #place_order,
.adib-sc .wc-backward {
	width: 100%; min-height: 52px; background: var(--adib-maroon) !important; color: #fff !important; border-color: var(--adib-maroon) !important; font-size: 15px !important;
}
.adib-sc .button.alt:hover, .adib-sc .checkout-button:hover, .adib-sc #place_order:hover, .adib-sc .wc-backward:hover {
	background: var(--adib-maroon-dark) !important; border-color: var(--adib-maroon-dark) !important; color: #fff !important;
}

/* ---------- shared: notices ---------- */
.adib-sc .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 20px; }
.adib-sc .woocommerce-message,
.adib-sc .woocommerce-info,
.adib-sc .woocommerce-error,
.adib-sc .woocommerce-NoticeGroup .woocommerce-error {
	list-style: none; margin: 0 0 16px !important; padding: 14px 18px !important;
	border: 1px solid transparent !important; border-radius: 12px !important;
	font-size: 14px; line-height: 1.8; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
}
.adib-sc .woocommerce-message::before, .adib-sc .woocommerce-info::before, .adib-sc .woocommerce-error::before { display: none !important; content: none !important; }
.adib-sc .woocommerce-message::after, .adib-sc .woocommerce-info::after, .adib-sc .woocommerce-error::after { display: none !important; }
.adib-sc .woocommerce-message { background: var(--adib-green-tint) !important; color: var(--adib-green) !important; }
.adib-sc .woocommerce-info { background: #fff !important; border: 1px dashed var(--adib-sand-2) !important; color: var(--adib-text) !important; }
.adib-sc .woocommerce-error { background: var(--adib-maroon-tint) !important; color: var(--adib-maroon-dark) !important; flex-direction: column; align-items: flex-start; }
.adib-sc .woocommerce-error li { margin: 0; }
.adib-sc .woocommerce-message .button, .adib-sc .woocommerce-info .button { min-height: 38px; order: 2; margin-right: auto !important; }

/* ---------- shared: chips ---------- */
.adib-sc .adib-chip {
	display: inline-block; margin-top: 4px; height: 24px; line-height: 24px; padding: 0 10px; border-radius: 6px;
	background: var(--adib-cream); border: 1px solid var(--adib-line); font-size: 12px; color: var(--adib-text); white-space: nowrap; font-weight: 400;
}

/* ---------- shared: trust ---------- */
.adib-sc .adib-trust { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.adib-sc .adib-trust li { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0; text-align: center; font-size: 12px; line-height: 1.5; color: var(--adib-text); }
.adib-sc .adib-trust li > span { width: 40px; height: 40px; border-radius: 50%; background: var(--adib-green-tint); color: var(--adib-green); display: flex; align-items: center; justify-content: center; }
.adib-sc .cart_totals .adib-trust { padding-top: 16px; border-top: 1px solid var(--adib-line); }

/* ---------- shared: totals rows (cart totals + checkout review tfoot) ---------- */
.adib-sc .cart_totals table,
.adib-sc .woocommerce-checkout-review-order-table { display: block; width: 100%; }
.adib-sc .cart_totals table tbody,
.adib-sc .woocommerce-checkout-review-order-table tfoot { display: flex; flex-direction: column; gap: 12px; }
.adib-sc .cart_totals table tr,
.adib-sc .woocommerce-checkout-review-order-table tfoot tr {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; font-size: 14px;
}
.adib-sc .cart_totals table th,
.adib-sc .woocommerce-checkout-review-order-table tfoot th { display: block !important; font-weight: 400; color: var(--adib-muted); }
.adib-sc .cart_totals table td,
.adib-sc .woocommerce-checkout-review-order-table tfoot td { display: block !important; text-align: left !important; color: var(--adib-ink); font-weight: 500; }
.adib-sc tr.cart-discount td, .adib-sc tr.cart-discount th { color: var(--adib-green) !important; }
.adib-sc tr.cart-discount td { font-weight: 700; }
.adib-sc .woocommerce-remove-coupon { font-size: 12px; font-weight: 400; margin-right: 6px; color: var(--adib-maroon) !important; }
.adib-sc tr.order-total { padding-top: 14px; border-top: 1px dashed var(--adib-sand); align-items: baseline !important; }
.adib-sc tr.order-total th { font-size: 15px; font-weight: 700 !important; color: var(--adib-ink) !important; }
.adib-sc tr.order-total td, .adib-sc tr.order-total td strong { font-size: 20px; font-weight: 700; color: var(--adib-maroon) !important; }
.adib-sc tr.order-total td small, .adib-sc tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--adib-muted); }

/* shipping rows → stacked, methods as cards */
.adib-sc tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch !important; }
.adib-sc tr.woocommerce-shipping-totals th { font-weight: 700 !important; color: var(--adib-ink) !important; }
.adib-sc tr.woocommerce-shipping-totals td { text-align: right !important; font-weight: 400; }
.adib-sc #shipping_method { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.adib-sc #shipping_method li {
	position: relative; display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 12px 14px !important; text-indent: 0 !important;
	border: 1px solid var(--adib-sand); border-radius: 12px; background: #fff; transition: border-color .2s, background .2s;
}
.adib-sc #shipping_method li.is-checked,
.adib-sc #shipping_method li:has(input:checked) { border-color: var(--adib-maroon); background: #fdf9f8; box-shadow: 0 0 0 1px var(--adib-maroon) inset; }
.adib-sc #shipping_method li input { margin: 0 !important; position: static !important; }
.adib-sc #shipping_method li label {
	flex: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin: 0 !important; cursor: pointer;
	font-size: 14px; font-weight: 700; color: var(--adib-ink); line-height: 1.6;
}
.adib-sc #shipping_method li label::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.adib-sc #shipping_method li label .amount { margin-right: auto; font-size: 13px; }
.adib-sc .woocommerce-shipping-destination,
.adib-sc .woocommerce-shipping-contents { margin: 8px 0 0; font-size: 12px; color: var(--adib-muted); }
.adib-sc .shipping-calculator-button { font-size: 13px; }
.adib-sc .shipping-calculator-form { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.adib-sc .shipping-calculator-form p { margin: 0; }

/* ==========================================================================
   CART
   ========================================================================== */
.adib-cart .woocommerce {
	display: grid; grid-template-columns: minmax(0, 1fr) var(--adib-side); column-gap: 24px; row-gap: 0;
	grid-auto-flow: row dense; align-items: start;
}
.adib-cart .woocommerce > * { grid-column: 1 / -1; min-width: 0; }
.adib-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; padding-bottom: 8px; }
.adib-cart .woocommerce > .cart-collaterals {
	grid-column: 2; position: sticky; top: var(--adib-sticky-top, 24px); width: auto; float: none;
}
.adib-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.adib-cart .cart-collaterals .cross-sells { display: none; }

/* free shipping bar */
.adib-cart .adib-fsbar {
	display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: 12px 16px; border-radius: 12px;
	background: var(--adib-green-tint); color: var(--adib-green); font-size: 14px; line-height: 1.7;
}
.adib-cart .adib-fsbar__icon { display: flex; flex-shrink: 0; }
.adib-cart .adib-fsbar__text { flex: 1; min-width: 0; }
.adib-cart .adib-fsbar__track { width: 200px; height: 6px; border-radius: 3px; background: #c6dcd3; overflow: hidden; flex-shrink: 0; }
.adib-cart .adib-fsbar__track > span { display: block; height: 100%; background: var(--adib-green); border-radius: 3px; transition: width .4s; }
.adib-cart .adib-fsbar strong, .adib-cart .adib-fsbar .amount { font-weight: 700; color: var(--adib-green); }

/* items table → grid rows */
.adib-cart table.shop_table.cart { display: block; width: 100%; }
.adib-cart table.shop_table.cart thead,
.adib-cart table.shop_table.cart tbody { display: block !important; }
.adib-cart table.shop_table.cart tr.cart_item,
.adib-cart table.shop_table.cart thead tr {
	display: grid !important; align-items: center; column-gap: 16px;
	grid-template-columns: 80px minmax(0, 1fr) 120px 128px 140px 36px;
	grid-template-areas: "thumb name price qty sub rm";
}
.adib-cart table.shop_table.cart thead tr {
	grid-template-areas: "name name price qty sub rm"; padding-bottom: 10px; border-bottom: 1px solid var(--adib-sand);
}
.adib-cart table.shop_table.cart thead th { display: block !important; font-size: 12px; font-weight: 400; color: var(--adib-muted); }
.adib-cart table.shop_table.cart thead th.product-thumbnail { display: none !important; }
.adib-cart table.shop_table.cart tr.cart_item { padding: 18px 0; border-top: 1px solid var(--adib-line); }
.adib-cart table.shop_table.cart thead + tbody tr.cart_item:first-child { border-top: 0; }
.adib-cart table.shop_table.cart td { display: block !important; min-width: 0; }
.adib-cart .product-remove { grid-area: rm; }
.adib-cart .product-thumbnail { grid-area: thumb; }
.adib-cart .product-name { grid-area: name; }
.adib-cart .product-price { grid-area: price; }
.adib-cart .product-quantity { grid-area: qty; }
.adib-cart .product-subtotal { grid-area: sub; }

.adib-cart td.product-thumbnail a, .adib-cart td.product-thumbnail > img {
	display: block; width: 80px; height: 80px; border-radius: 12px; overflow: hidden; background: var(--adib-thumb);
}
.adib-cart td.product-thumbnail img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }
.adib-cart td.product-name { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; font-size: 15px; font-weight: 700; color: var(--adib-ink); }
.adib-cart td.product-name > a { color: var(--adib-ink); }
.adib-cart td.product-name > a:hover { color: var(--adib-maroon); }
.adib-cart td.product-name dl.variation { margin: 2px 0 0; font-size: 12px; font-weight: 400; color: var(--adib-muted); display: flex; flex-wrap: wrap; gap: 0 6px; }
.adib-cart td.product-name dl.variation dt, .adib-cart td.product-name dl.variation dd { margin: 0; float: none; }
.adib-cart td.product-name dl.variation dd p { margin: 0; }
.adib-cart td.product-name .backorder_notification { margin: 4px 0 0; font-size: 12px; font-weight: 400; color: var(--adib-maroon); }
.adib-cart td.product-price { font-size: 14px; color: var(--adib-text); }
.adib-cart td.product-subtotal { font-size: 15px; font-weight: 700; color: var(--adib-ink); }
.adib-cart td.product-price del, .adib-cart td.product-subtotal del { opacity: .6; font-weight: 400; display: block; font-size: 12px; }
.adib-cart td.product-price ins, .adib-cart td.product-subtotal ins { text-decoration: none; }

/* remove ×  → trash icon */
.adib-cart td.product-remove a.remove {
	display: flex !important; align-items: center; justify-content: center; width: 36px !important; height: 36px !important;
	border-radius: 8px !important; font-size: 0 !important; color: var(--adib-muted) !important; background: transparent !important; text-indent: 0;
}
.adib-cart td.product-remove a.remove::before {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.adib-cart td.product-remove a.remove:hover { background: var(--adib-maroon-tint) !important; color: var(--adib-maroon) !important; }

/* quantity stepper */
.adib-cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--adib-sand); border-radius: 10px; padding: 3px; background: #fff; margin: 0; float: none; }
.adib-cart .quantity input.qty {
	width: 44px !important; min-height: 34px !important; height: 34px; padding: 0 !important; border: 0 !important; box-shadow: none !important;
	text-align: center; font-weight: 700; font-size: 15px !important; -moz-appearance: textfield; background: transparent !important;
}
.adib-cart .quantity input.qty::-webkit-outer-spin-button,
.adib-cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.adib-cart .quantity:not(.adib-qty) input.qty { width: 64px !important; }
.adib-cart .adib-qty__btn {
	width: 34px; height: 34px; padding: 0 !important; margin: 0; border: 0 !important; border-radius: 8px !important;
	background: transparent !important; color: var(--adib-ink) !important; font-size: 18px !important; line-height: 1 !important; cursor: pointer; box-shadow: none !important;
}
.adib-cart .adib-qty__btn:hover { background: var(--adib-thumb) !important; }

/* actions row: coupon + update */
.adib-cart table.shop_table.cart tbody tr:not(.cart_item) { display: block; }
.adib-cart td.actions {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px; padding: 20px 0 16px !important;
	border-top: 1px solid var(--adib-sand) !important; text-align: right !important;
}
.adib-cart td.actions .coupon { flex: 1 1 320px; display: flex; gap: 8px; float: none !important; padding: 0 !important; margin: 0; }
.adib-cart td.actions .coupon .input-text {
	flex: 1; width: auto !important; min-width: 0; float: none !important;
	padding-right: 42px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369727d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") no-repeat right 14px center !important;
}
.adib-cart td.actions > button[name="update_cart"] { border-color: var(--adib-sand) !important; color: var(--adib-text) !important; }
.adib-cart.adib-auto td.actions > button[name="update_cart"] { display: none !important; }

/* totals card */
.adib-cart .wc-proceed-to-checkout { padding: 20px 0 0 !important; margin: 0; }
.adib-cart .wc-proceed-to-checkout a.checkout-button { margin: 0 !important; padding: 0 20px !important; font-size: 15px !important; }
.adib-cart .wc-proceed-to-checkout a.checkout-button::after {
	content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* empty cart */
.adib-cart--empty .woocommerce { display: block; }
.adib-cart .wc-empty-cart-message { max-width: 560px; margin: 0 auto; text-align: center; padding: 40px 24px 16px; border-bottom: 0; border-radius: var(--adib-radius) var(--adib-radius) 0 0; }
.adib-cart .wc-empty-cart-message .cart-empty {
	border: 0 !important; margin: 0 !important; padding: 0 !important; justify-content: center; font-size: 17px !important; font-weight: 700; color: var(--adib-ink) !important;
	flex-direction: column;
}
.adib-cart .wc-empty-cart-message .cart-empty::before {
	content: "" !important; display: block !important; position: static !important; width: 76px; height: 76px; border-radius: 50%; margin: 0 auto 8px;
	background: var(--adib-maroon-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 24 24' fill='none' stroke='%23862c21' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h8.4a1.5 1.5 0 0 0 1.5-1.1L20.5 8H6'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") no-repeat center;
}
.adib-cart .return-to-shop {
	max-width: 560px; margin: 0 auto; padding: 8px 24px 32px; text-align: center;
	background: #fff; border: 1px solid var(--adib-sand); border-top: 0; border-radius: 0 0 var(--adib-radius) var(--adib-radius);
}
.adib-cart .return-to-shop .button { width: auto; min-width: 220px; }

/* mobile sticky bar (created by shop.js) */
.adib-cart__bar { display: none; }

/* ==========================================================================
   CHECKOUT
   ========================================================================== */
.adib-co .woocommerce-form-coupon-toggle .woocommerce-info,
.adib-co .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 12px !important; }
.adib-co .woocommerce-form-coupon-toggle .woocommerce-info { padding-right: 46px !important; position: relative; }
.adib-co .woocommerce-form-coupon-toggle .woocommerce-info::after {
	content: "" !important; display: block !important; position: absolute; right: 18px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23862c21' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") no-repeat center;
}
.adib-co .woocommerce-form-coupon-toggle a, .adib-co .woocommerce-form-login-toggle a { font-weight: 700; }
.adib-co .woocommerce-form-login-toggle .woocommerce-info { background: var(--adib-maroon-tint) !important; border-style: solid !important; border-color: transparent !important; color: var(--adib-maroon-dark) !important; }

.adib-co form.checkout_coupon,
.adib-co form.woocommerce-form-login {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 16px !important; padding: 18px !important;
	background: #fff; border: 1px solid var(--adib-sand) !important; border-radius: 12px !important;
}
.adib-co form.checkout_coupon > p, .adib-co form.woocommerce-form-login > p { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.adib-co form.checkout_coupon > p:not(.form-row), .adib-co form.woocommerce-form-login > p:not(.form-row) { flex-basis: 100%; font-size: 13px; color: var(--adib-muted); }
.adib-co form.checkout_coupon .form-row-first { flex: 1 1 220px; }
.adib-co form.woocommerce-form-login .form-row-first, .adib-co form.woocommerce-form-login .form-row-last { flex: 1 1 200px; }
.adib-co form.woocommerce-form-login > p.form-row:not(.form-row-first):not(.form-row-last) { flex-basis: 100%; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* layout */
.adib-co form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) var(--adib-side); column-gap: 24px; row-gap: 0;
	grid-auto-flow: row dense; align-items: start;
}
.adib-co form.checkout > * { grid-column: 1; min-width: 0; }
.adib-co form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.adib-co form.checkout > .adib-co__side { grid-column: 2; grid-row: 1 / span 6; position: sticky; top: var(--adib-sticky-top, 24px); }
.adib-co form.checkout:has(> .woocommerce-NoticeGroup) > .adib-co__side { grid-row: 2 / span 6; }
.adib-co:not(.adib-co--side) form.checkout > #customer_details { grid-row: span 6; }
.adib-co:not(.adib-co--side) form.checkout > #order_review_heading,
.adib-co:not(.adib-co--side) form.checkout > #order_review { grid-column: 2; background: #fff; border: 1px solid var(--adib-sand); padding: 0 24px; margin: 0; }
.adib-co:not(.adib-co--side) form.checkout > #order_review_heading { border-bottom: 0; border-radius: var(--adib-radius) var(--adib-radius) 0 0; padding-top: 24px; font-size: 18px; font-weight: 700; color: var(--adib-ink); }
.adib-co:not(.adib-co--side) form.checkout > #order_review { border-top: 0; border-radius: 0 0 var(--adib-radius) var(--adib-radius); padding-bottom: 24px; }

.adib-co #customer_details { display: flex; flex-direction: column; gap: 20px; width: auto; margin: 0; }
.adib-co #customer_details::before, .adib-co #customer_details::after { display: none !important; }
.adib-co #customer_details > .col-1,
.adib-co #customer_details > .col-2 { float: none !important; width: 100% !important; max-width: none; margin: 0; }
.adib-co #customer_details > .col-2:not(:has(.form-row, #ship-to-different-address)) { display: none; }

/* fields */
.adib-co .woocommerce-billing-fields__field-wrapper,
.adib-co .woocommerce-shipping-fields__field-wrapper,
.adib-co .woocommerce-additional-fields__field-wrapper,
.adib-co .woocommerce-account-fields .create-account {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
}
.adib-co .woocommerce-additional-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
.adib-co .form-row {
	grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; margin: 0 !important; padding: 0 !important;
	float: none !important; width: auto !important;
}
.adib-co .form-row.form-row-first { grid-column: auto; }
.adib-co .form-row.form-row-last { grid-column: auto; }
.adib-co .form-row::before, .adib-co .form-row::after { display: none !important; }
.adib-co .form-row[style*="display:none"], .adib-co .form-row[style*="display: none"] { display: none !important; }
.adib-co .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	margin: 0; font-size: 13px; font-weight: 500; line-height: 1.6; color: var(--adib-ink); display: block;
}
.adib-co .form-row .required { color: var(--adib-maroon); border: 0; text-decoration: none; font-weight: 500; }
.adib-co .form-row .optional { color: var(--adib-muted); font-weight: 400; }
.adib-co .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
.adib-co .form-row .woocommerce-input-wrapper strong { display: block; min-height: 48px; line-height: 48px; color: var(--adib-ink); }
.adib-co .form-row.woocommerce-invalid input.input-text,
.adib-co .form-row.woocommerce-invalid select,
.adib-co .form-row.woocommerce-invalid .select2-selection { border-color: var(--adib-danger) !important; }
.adib-co .form-row.woocommerce-invalid > label { color: var(--adib-danger); }
.adib-co .form-row .checkout-inline-error-message, .adib-co .form-row .woocommerce-error { margin: 0 !important; padding: 0 !important; font-size: 12px; color: var(--adib-danger) !important; background: none !important; border: 0 !important; }
.adib-co .form-row .description { font-size: 12px; color: var(--adib-muted); }
.adib-co .form-row label.checkbox,
.adib-co .form-row .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; cursor: pointer; }

/* select2 (country / state) */
.adib-co .select2-container { width: 100% !important; }
.adib-co .select2-container .select2-selection--single {
	height: 48px !important; border: 1px solid var(--adib-sand) !important; border-radius: 10px !important; background: #fff !important;
}
.adib-co .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 46px !important; padding: 0 14px 0 36px !important; color: var(--adib-ink) !important; font-size: 14px; text-align: right;
}
.adib-co .select2-container .select2-selection--single .select2-selection__arrow { height: 46px !important; left: 10px !important; right: auto !important; }
.adib-co .select2-container--open .select2-selection--single,
.adib-co .select2-container--focus .select2-selection--single { border-color: var(--adib-maroon) !important; box-shadow: 0 0 0 3px var(--adib-maroon-tint); }

/* ship to different address */
.adib-co #ship-to-different-address { margin: 0 0 18px; padding: 0; font-size: 14px; font-weight: 400; border: 0; }
.adib-co #ship-to-different-address label {
	display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; cursor: pointer;
	border: 1px dashed var(--adib-sand-2); border-radius: 12px; background: #fff; font-size: 14px; font-weight: 700; color: var(--adib-ink);
}
.adib-co #ship-to-different-address label:has(input:checked) { border-style: solid; border-color: var(--adib-maroon); background: #fdf9f8; }
.adib-co .shipping_address { margin-bottom: 18px; }
.adib-co .woocommerce-additional-fields > h3 { display: none; }

/* review card */
.adib-co .adib-co__review { padding: 24px; }
.adib-co #order_review { margin: 0; }
.adib-co .woocommerce-checkout-review-order-table thead { display: none !important; }
.adib-co .woocommerce-checkout-review-order-table tbody { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.adib-co .woocommerce-checkout-review-order-table tbody tr.cart_item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid var(--adib-line);
}
.adib-co .woocommerce-checkout-review-order-table tbody tr.cart_item:first-child { padding-top: 0; border-top: 0; }
.adib-co .woocommerce-checkout-review-order-table td.product-name {
	position: relative; flex: 1; min-width: 0; display: block; font-size: 13px; font-weight: 700; color: var(--adib-ink); line-height: 1.6;
}
.adib-co .woocommerce-checkout-review-order-table td.product-total { font-size: 13px; color: var(--adib-ink); white-space: nowrap; text-align: left !important; }
.adib-co .woocommerce-checkout-review-order-table td.product-name:has(.adib-thumb) { min-height: 48px; padding-right: 60px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.adib-co .adib-thumb { position: absolute; right: 0; top: 50%; margin-top: -24px; width: 48px; height: 48px; border-radius: 10px; overflow: hidden; background: var(--adib-thumb); }
.adib-co .adib-thumb img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }
.adib-co .adib-iname { display: block; }
.adib-co .adib-iname a { color: var(--adib-ink); }
.adib-co td.product-name .adib-chip { height: 20px; line-height: 20px; padding: 0 6px; font-size: 11px; margin-top: 2px; }
.adib-co td.product-name .product-quantity { font-weight: 400; color: var(--adib-muted); font-size: 12px; }
.adib-co td.product-name:has(.adib-thumb) .product-quantity {
	position: absolute; top: 50%; right: -6px; margin-top: -30px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px;
	background: var(--adib-ink); color: #fff; font-size: 11px; font-weight: 700; line-height: 20px; text-align: center; white-space: nowrap;
}
.adib-co td.product-name dl.variation { margin: 2px 0 0; font-size: 11px; font-weight: 400; color: var(--adib-muted); display: flex; flex-wrap: wrap; gap: 0 4px; }
.adib-co td.product-name dl.variation dt, .adib-co td.product-name dl.variation dd { margin: 0; float: none; }
.adib-co td.product-name dl.variation dd p { margin: 0; }
.adib-co .woocommerce-checkout-review-order-table tfoot { padding-top: 14px; border-top: 1px solid var(--adib-sand); }

/* payment */
.adib-sc.adib-co #payment { background: transparent; border-radius: 0; margin-top: 20px; }
.adib-sc.adib-co #payment::before {
	content: "روش پرداخت"; display: block; margin: 0 0 10px; font-size: 14px; font-weight: 700; color: var(--adib-ink);
}
.adib-sc.adib-co #payment ul.payment_methods {
	list-style: none; margin: 0; padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; gap: 8px; text-align: right;
}
.adib-sc.adib-co #payment ul.payment_methods::before, .adib-sc.adib-co #payment ul.payment_methods::after { display: none; }
.adib-sc.adib-co #payment ul.payment_methods li {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0; padding: 14px; line-height: 1.6; text-align: right;
	border: 1px solid var(--adib-sand); border-radius: 12px; background: #fff;
}
.adib-sc.adib-co #payment ul.payment_methods li.is-checked,
.adib-sc.adib-co #payment ul.payment_methods li:has(> input:checked) { border-color: var(--adib-maroon); background: #fdf9f8; box-shadow: 0 0 0 1px var(--adib-maroon) inset; }
.adib-sc.adib-co #payment ul.payment_methods li > input { margin: 0 !important; }
.adib-sc.adib-co #payment ul.payment_methods li > label {
	flex: 1; display: flex; align-items: center; gap: 8px; margin: 0; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--adib-ink);
}
.adib-sc.adib-co #payment ul.payment_methods li > label img { max-height: 28px; width: auto; margin: 0 auto 0 0 !important; float: none; }
.adib-sc.adib-co #payment ul.payment_methods li.woocommerce-notice { display: block; border-style: dashed; font-size: 13px; }
.adib-sc.adib-co #payment div.payment_box {
	flex-basis: 100%; margin: 0 !important; padding: 10px 12px !important; border-radius: 8px;
	background: var(--adib-cream) !important; color: var(--adib-text) !important; font-size: 12px; line-height: 1.8;
}
.adib-sc.adib-co #payment div.payment_box::before { display: none !important; }
.adib-sc.adib-co #payment div.payment_box p { margin: 0; }
.adib-sc.adib-co #payment div.payment_box p + p { margin-top: 6px; }
.adib-sc.adib-co #payment .form-row.place-order { padding: 16px 0 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.adib-sc.adib-co #payment .woocommerce-terms-and-conditions-wrapper { font-size: 12px; line-height: 1.9; color: var(--adib-muted); }
.adib-sc.adib-co #payment .woocommerce-privacy-policy-text p { margin: 0; }
.adib-sc.adib-co #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin-top: 10px !important; }
.adib-sc.adib-co #payment #place_order {
	float: none; width: 100%; margin: 0 !important; padding: 0 20px !important; min-height: 52px; font-size: 15px !important;
}
.adib-sc.adib-co #payment #place_order::before {
	content: ""; width: 18px; height: 18px; background: currentColor; flex-shrink: 0;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.adib-co .blockUI.blockOverlay { border-radius: var(--adib-radius); }

/* order-pay */
.adib-co--pay .woocommerce { max-width: 760px; margin: 0 auto; }
.adib-co--pay #order_review .shop_table { display: block; width: 100%; margin-bottom: 8px; }
.adib-co--pay #order_review .shop_table thead { display: none !important; }
.adib-co--pay #order_review .shop_table tbody, .adib-co--pay #order_review .shop_table tfoot { display: flex; flex-direction: column; gap: 10px; }
.adib-co--pay #order_review .shop_table tfoot { padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--adib-sand); }
.adib-co--pay #order_review .shop_table tr { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.adib-co--pay #order_review .shop_table th, .adib-co--pay #order_review .shop_table td { display: block !important; }
.adib-co--pay #order_review .shop_table td:last-child { text-align: left !important; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.adib-cart .woocommerce,
	.adib-co form.checkout { grid-template-columns: minmax(0, 1fr); }
	.adib-cart .woocommerce > .cart-collaterals,
	.adib-co form.checkout > .adib-co__side,
	.adib-co:not(.adib-co--side) form.checkout > #order_review_heading,
	.adib-co:not(.adib-co--side) form.checkout > #order_review { grid-column: 1; grid-row: auto !important; position: static; }
	.adib-cart .woocommerce > .cart-collaterals { margin-top: 20px; }
	.adib-co form.checkout > .adib-co__side { margin-top: 20px; }
	.adib-co:not(.adib-co--side) form.checkout > #customer_details { grid-row: auto; margin-bottom: 20px; }
}

@media (max-width: 767px) {
	.adib-sc { font-size: 14px; }
	.adib-sc__head { gap: 18px; margin-bottom: 20px; }
	.adib-sc .adib-sc__title { font-size: 22px; }
	.adib-steps__label { font-size: 12px; }
	.adib-sc .woocommerce-cart-form,
	.adib-sc .cart_totals,
	.adib-sc .adib-co__review,
	.adib-sc #customer_details > .col-1,
	.adib-sc #customer_details > .col-2 { padding: 18px 16px; }

	.adib-cart .adib-fsbar { flex-wrap: wrap; font-size: 13px; padding: 12px 14px; }
	.adib-cart .adib-fsbar__track { width: 100%; flex-basis: 100%; }

	.adib-cart table.shop_table.cart thead { display: none !important; }
	.adib-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) auto; column-gap: 12px; row-gap: 8px; padding: 16px 0;
		grid-template-areas: "thumb name rm" "thumb qty sub";
	}
	.adib-cart table.shop_table.cart tr.cart_item:first-child { border-top: 0; }
	.adib-cart table.shop_table.cart td.product-thumbnail { display: block !important; align-self: start; }
	.adib-cart td.product-thumbnail a, .adib-cart td.product-thumbnail > img { width: 76px; height: 76px; }
	.adib-cart table.shop_table.cart td.product-price { display: none !important; }
	.adib-cart td.product-name { font-size: 14px; }
	.adib-cart td.product-remove { align-self: start; margin: -6px 0 0 -6px; }
	.adib-cart td.product-subtotal { text-align: left !important; font-size: 14px; }
	.adib-cart td.actions { flex-direction: column; align-items: stretch; }
	.adib-cart td.actions .coupon { flex-basis: auto; }
	.adib-cart td.actions > button[name="update_cart"] { width: 100%; }

	.adib-co .woocommerce-billing-fields__field-wrapper,
	.adib-co .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.adib-co .form-row.form-row-first, .adib-co .form-row.form-row-last { grid-column: 1 / -1; }

	/* sticky bars */
	.adib-cart.adib-sc--sticky:not(.adib-cart--empty) { padding-bottom: 84px; }
	.adib-cart.adib-sc--sticky .adib-cart__bar {
		display: flex; align-items: center; gap: 12px; position: fixed; z-index: 999; right: 0; left: 0; bottom: 0;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff;
		border-top: 1px solid var(--adib-sand); box-shadow: 0 -6px 20px rgba(18, 48, 42, .08);
	}
	.adib-cart__bar-total { display: flex; flex-direction: column; line-height: 1.4; }
	.adib-cart__bar-total span { font-size: 11px; color: var(--adib-muted); }
	.adib-cart__bar-total strong { font-size: 16px; font-weight: 700; color: var(--adib-maroon); white-space: nowrap; }
	.adib-cart__bar-total .woocommerce-Price-currencySymbol { font-size: 11px; font-weight: 400; color: var(--adib-muted); }
	.adib-cart .adib-cart__bar-btn {
		flex: 1; display: flex; align-items: center; justify-content: center; height: 50px; border-radius: 10px;
		background: var(--adib-maroon); color: #fff !important; font-size: 15px; font-weight: 700; text-decoration: none;
	}

	.adib-co.adib-sc--sticky { padding-bottom: 88px; }
	.adib-sc.adib-co.adib-sc--sticky #payment #place_order {
		position: fixed; z-index: 999; right: 16px; left: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); width: auto;
		box-shadow: 0 0 0 16px #fff, 0 -14px 28px rgba(18, 48, 42, .14) !important;
	}
}
