/*
 * Afadigi UI — one design layer for everything the plugin prints:
 * shop-loop prices, color swatches, tooltips, buttons, the gateway price table,
 * popups, the image lightbox and the checkout gateway note.
 *
 * Woodmart styles every button with :is(.btn,.button,button,[type=button]) (0,1,0)
 * and loads after this file, so button rules here use `:is(a, button)` (0,1,1)
 * and hover rules (0,2,1) to win without !important.
 */

:root {
	--afadigi-brand: #7db701;
	--afadigi-brand-strong: #5f8c00;
	--afadigi-brand-soft: #f2f8e6;
	--afadigi-ink: #1d232a;
	--afadigi-ink-muted: #5d6874;
	--afadigi-ink-faint: #9aa4ae;
	--afadigi-line: #e6e9ec;
	--afadigi-line-soft: #f0f2f4;
	--afadigi-surface: #fff;
	--afadigi-surface-soft: #f7f8f9;
	--afadigi-danger: #d64545;
	--afadigi-danger-soft: #fdeeee;
	--afadigi-warning: #c98a00;
	--afadigi-warning-soft: #fff6e0;

	--afadigi-space-1: 4px;
	--afadigi-space-2: 8px;
	--afadigi-space-3: 12px;
	--afadigi-space-4: 16px;
	--afadigi-space-5: 20px;
	--afadigi-space-6: 24px;

	--afadigi-radius-sm: 8px;
	--afadigi-radius: 12px;
	--afadigi-radius-lg: 18px;
	--afadigi-radius-pill: 999px;

	--afadigi-shadow-sm: 0 1px 2px rgba(16, 24, 32, 0.04);
	--afadigi-shadow-lg: 0 24px 60px rgba(16, 24, 32, 0.18);
	--afadigi-focus: 0 0 0 3px rgba(125, 183, 1, 0.35);
	--afadigi-font: "IRANSans", Tahoma, sans-serif;
	--afadigi-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ---------- Font: every block the plugin prints ---------- */

.afadigi-loop-price,
ul.afadigi-loop-prices,
.afadigi-gateway-table,
.afadigi-sellers-wrap,
.afadigi-pop,
.afadigi-tooltip-bubble,
.afadigi-checkout-gateway,
.afadigi-btn:is(a, button) {
	font-family: var(--afadigi-font);
}

/* Woodmart sets its own font on headings, table cells and buttons. */
:is(.afadigi-gateway-table, .afadigi-pop, ul.afadigi-loop-prices, .afadigi-checkout-gateway) :is(h2, h3, p, th, td, span, del, ins, button) {
	font-family: inherit;
}

/* ---------- Price (number always before the unit in RTL) ---------- */

.afadigi-price {
	direction: rtl;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.afadigi-price__num {
	font-size: 1.2em;
	font-variant-numeric: tabular-nums;
}

.afadigi-price__unit {
	font-size: 0.85em;
	font-weight: 500;
	color: var(--afadigi-ink-muted);
}

/* ---------- Shop-loop price rows ---------- */

.afadigi-loop-price {
	color: var(--afadigi-ink);
	font-size: 0.95rem;
	font-weight: 700;
}

ul.afadigi-loop-prices {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: var(--afadigi-space-3);
	width: 100%;
	margin: var(--afadigi-space-2) 0 0;
	padding: 0;
	list-style: none;
	color: var(--afadigi-ink);
	font-size: 0.85rem;
	line-height: 1.4;
	text-align: start;
}

ul.afadigi-loop-prices--cols-2 {
	grid-template-columns: auto auto 1fr;
}

ul.afadigi-loop-prices--cols-3 {
	grid-template-columns: auto auto minmax(0, auto) 1fr;
}

.afadigi-loop-prices__row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	align-items: center;
	min-height: 30px;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--afadigi-line-soft);
}

.afadigi-loop-prices__row:first-child {
	border-top: 0;
}

.afadigi-loop-prices__cell {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	height: 22px;
}

.afadigi-loop-prices__spec {
	justify-self: start;
	padding: 0 var(--afadigi-space-2);
	border-radius: 6px;
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink-muted);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.afadigi-loop-prices__colors {
	gap: 0;
}

.afadigi-loop-prices__colors .afadigi-color-swatch + .afadigi-color-swatch {
	margin-inline-start: -5px;
}

.afadigi-loop-prices__extra {
	overflow: hidden;
	color: var(--afadigi-ink-muted);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.afadigi-loop-prices__price {
	justify-self: end;
	font-weight: 700;
}

/* Browsers without subgrid: fixed-width cells keep rows aligned. */
@supports not (grid-template-columns: subgrid) {
	.afadigi-loop-prices__row {
		display: flex;
		gap: var(--afadigi-space-3);
	}

	.afadigi-loop-prices__spec {
		min-width: 4.8em;
		justify-content: center;
	}

	.afadigi-loop-prices__colors {
		min-width: 2.6em;
	}

	.afadigi-loop-prices__price {
		margin-inline-start: auto;
	}
}

/* ---------- Color swatches ---------- */

.afadigi-color-swatches {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--afadigi-space-2) var(--afadigi-space-3);
}

.afadigi-color-swatch-wrap {
	display: inline-flex;
	align-items: center;
	gap: var(--afadigi-space-2);
}

.afadigi-color-swatch {
	display: inline-block;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border: 1px solid rgba(16, 24, 32, 0.16);
	border-radius: 50%;
	background-color: var(--afadigi-swatch-color, transparent);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6);
	vertical-align: middle;
}

.afadigi-color-swatch--sm {
	width: 14px;
	height: 14px;
	box-shadow: 0 0 0 2px var(--afadigi-surface);
}

/* Color term without a "color" meta value. */
.afadigi-color-swatch--empty {
	background: linear-gradient(135deg, transparent 44%, var(--afadigi-ink-faint) 44% 56%, transparent 56%), var(--afadigi-surface);
}

.afadigi-color-swatch-name {
	line-height: 1.3;
}

/* ---------- Tooltip ---------- */

.afadigi-has-tooltip {
	cursor: default;
}

.afadigi-tooltip-bubble {
	position: fixed;
	z-index: 1000001;
	max-width: min(280px, calc(100vw - 24px));
	padding: 6px 10px;
	border-radius: var(--afadigi-radius-sm);
	background: var(--afadigi-ink);
	color: #fff;
	font-size: 0.78rem;
	line-height: 1.6;
	text-align: center;
	box-shadow: 0 8px 24px rgba(16, 24, 32, 0.2);
	pointer-events: none;
	animation: afadigi-fade-in 0.12s ease-out;
}

/* ---------- Buttons ---------- */

.afadigi-btn:is(a, button) {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--afadigi-space-2);
	min-height: 44px;
	margin: 0;
	padding: 0 var(--afadigi-space-5);
	border: 1px solid var(--afadigi-line);
	border-radius: var(--afadigi-radius-sm);
	background: var(--afadigi-surface);
	color: var(--afadigi-ink);
	box-shadow: none;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.afadigi-btn:is(a, button):hover {
	border-color: var(--afadigi-ink-faint);
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink);
}

.afadigi-btn:is(a, button):focus-visible {
	outline: none;
	box-shadow: var(--afadigi-focus);
}

.afadigi-btn:is(a, button):active {
	transform: translateY(1px);
}

.afadigi-btn--primary:is(a, button) {
	border-color: var(--afadigi-brand);
	background: var(--afadigi-brand);
	color: #fff;
}

.afadigi-btn--primary:is(a, button):hover {
	border-color: var(--afadigi-brand-strong);
	background: var(--afadigi-brand-strong);
	color: #fff;
}

.afadigi-btn--block:is(a, button) {
	width: 100%;
}

.afadigi-btn:is(a, button):disabled,
.afadigi-btn:is(a, button)[aria-disabled="true"] {
	border-color: var(--afadigi-line);
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink-faint);
	cursor: not-allowed;
	transform: none;
}

/* Buy button already in the cart. */
.afadigi-btn.afadigi-buy-now-btn--incart:is(a, button),
.afadigi-btn.afadigi-buy-now-btn--incart:is(a, button):hover {
	border-color: transparent;
	background: var(--afadigi-brand-soft);
	color: var(--afadigi-brand-strong);
	cursor: default;
}

/* Close (×) button shared by popups and the lightbox. */
.afadigi-close:is(button) {
	position: absolute;
	z-index: 2;
	top: var(--afadigi-space-3);
	inset-inline-end: var(--afadigi-space-3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink-muted);
	box-shadow: none;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.afadigi-close:is(button):hover {
	background: var(--afadigi-line);
	color: var(--afadigi-ink);
}

.afadigi-close:is(button):focus-visible {
	outline: none;
	box-shadow: var(--afadigi-focus);
}

.afadigi-close svg {
	width: 18px;
	height: 18px;
}

/* ---------- Product page: sellers button ---------- */

.afadigi-sellers-wrap {
	margin: var(--afadigi-space-3) 0 0;
}

/* ---------- Product page: gateway price table ---------- */

.afadigi-gateway-table {
	margin: 32px 0 0;
	color: var(--afadigi-ink);
}

.afadigi-gateway-table__intro {
	margin: 0 0 var(--afadigi-space-5);
}

.afadigi-gateway-table__title {
	margin: 0 0 var(--afadigi-space-1);
	color: var(--afadigi-ink);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.5;
}

.afadigi-gateway-table__desc {
	margin: 0;
	color: var(--afadigi-ink-muted);
	font-size: 0.95rem;
	line-height: 1.9;
}

.afadigi-gateway-group {
	margin: 0 0 var(--afadigi-space-4);
	overflow: hidden;
	border: 1px solid var(--afadigi-line);
	border-radius: var(--afadigi-radius);
	background: var(--afadigi-surface);
	box-shadow: var(--afadigi-shadow-sm);
}

.afadigi-gateway-group__title {
	display: flex;
	align-items: center;
	gap: var(--afadigi-space-3);
	margin: 0;
	padding: var(--afadigi-space-3) var(--afadigi-space-5);
	border-bottom: 1px solid var(--afadigi-line);
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink);
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.5;
}

.afadigi-gateway-group__title::before {
	content: "";
	flex: 0 0 auto;
	width: 4px;
	height: 18px;
	border-radius: var(--afadigi-radius-pill);
	background: var(--afadigi-brand);
}

.afadigi-gateway-group__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	padding: 4px;
	border: 1px solid var(--afadigi-line);
	border-radius: var(--afadigi-radius-sm);
	background: var(--afadigi-surface);
	line-height: 0;
}

/* The icon box replaces the accent bar. */
.afadigi-gateway-group__title:has(.afadigi-gateway-group__icon)::before {
	content: none;
}

.afadigi-gateway-group__icon :is(img, svg) {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.afadigi-gateway-group__table-wrap {
	overflow-x: auto;
}

table.afadigi-gateway-grid {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.5;
}

.afadigi-gateway-grid th,
.afadigi-gateway-grid td {
	padding: var(--afadigi-space-3) var(--afadigi-space-5);
	border: 0;
	border-bottom: 1px solid var(--afadigi-line-soft);
	background: transparent;
	color: var(--afadigi-ink);
	font-size: 0.95rem;
	text-align: start;
	vertical-align: middle;
}

.afadigi-gateway-grid thead th {
	padding-block: 10px;
	border-bottom-color: var(--afadigi-line);
	color: var(--afadigi-ink-muted);
	font-family: var(--afadigi-font);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: none;
	white-space: nowrap;
}

.afadigi-gateway-grid tbody tr:last-child td {
	border-bottom: 0;
}

.afadigi-gateway-grid tbody tr {
	transition: background-color 0.15s ease;
}

.afadigi-gateway-grid tbody tr:hover {
	background: #fbfcfa;
}

.afadigi-gateway-grid td.afadigi-gateway-grid__price {
	font-weight: 800;
	white-space: nowrap;
}

.afadigi-gateway-grid .afadigi-price-regular {
	display: block;
	margin: 0;
	color: var(--afadigi-ink-faint);
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: line-through;
}

.afadigi-gateway-grid .afadigi-price-regular .afadigi-price__unit {
	color: inherit;
}

.afadigi-gateway-grid .afadigi-price-sale {
	display: block;
	background: transparent;
	color: var(--afadigi-ink);
	text-decoration: none;
}

.afadigi-gateway-grid :is(th, td).afadigi-gateway-grid__buy {
	width: 1%;
	text-align: end;
	white-space: nowrap;
}

/* Status chips: stock and shipping. */
.afadigi-gateway-grid td.afadigi-gateway-grid__stock,
.afadigi-gateway-grid td.afadigi-gateway-grid__shipping {
	color: var(--afadigi-ink-muted);
	font-size: 0.85rem;
}

.afadigi-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: var(--afadigi-radius-pill);
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink-muted);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}

.afadigi-chip::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.afadigi-chip--success {
	background: var(--afadigi-brand-soft);
	color: var(--afadigi-brand-strong);
}

.afadigi-chip--danger {
	background: var(--afadigi-danger-soft);
	color: var(--afadigi-danger);
}

.afadigi-gateway-grid tr.is-oos td {
	color: var(--afadigi-ink-faint);
}

.afadigi-gateway-grid tr.is-oos .afadigi-color-swatch {
	opacity: 0.55;
}

.afadigi-buy-now-wrap {
	display: inline-block;
	max-width: 100%;
}

.afadigi-buy-now-form {
	margin: 0;
}

.afadigi-buy-now-btn.afadigi-btn:is(a, button) {
	min-width: 112px;
	min-height: 40px;
}

/* Row thumbnails. */
.afadigi-row-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.afadigi-row-thumb:is(button) {
	display: inline-flex;
	width: 46px;
	height: 46px;
	min-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--afadigi-line);
	border-radius: var(--afadigi-radius-sm);
	background: var(--afadigi-surface);
	box-shadow: none;
	cursor: zoom-in;
	transition: border-color 0.15s ease;
}

.afadigi-row-thumb:is(button):hover {
	border-color: var(--afadigi-brand);
	background: var(--afadigi-surface);
}

.afadigi-row-thumb:is(button):focus-visible {
	outline: none;
	box-shadow: var(--afadigi-focus);
}

.afadigi-row-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Tables become stacked cards on phones. */
@media (max-width: 640px) {
	.afadigi-gateway-group__title {
		padding: var(--afadigi-space-3) var(--afadigi-space-4);
		font-size: 1rem;
	}

	.afadigi-gateway-group__table-wrap {
		overflow: visible;
	}

	table.afadigi-gateway-grid,
	.afadigi-gateway-grid tbody,
	.afadigi-gateway-grid tr,
	.afadigi-gateway-grid td {
		display: block;
		width: 100%;
	}

	.afadigi-gateway-grid thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.afadigi-gateway-grid tbody tr {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: var(--afadigi-space-4);
		border-bottom: 1px solid var(--afadigi-line);
	}

	.afadigi-gateway-grid tbody tr:last-child {
		border-bottom: 0;
	}

	.afadigi-gateway-grid tbody tr:hover {
		background: transparent;
	}

	.afadigi-gateway-grid td,
	.afadigi-gateway-grid tbody tr:last-child td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--afadigi-space-3);
		padding: 0;
		border: 0;
		font-size: 0.9rem;
		text-align: end;
	}

	.afadigi-gateway-grid td::before {
		content: attr(data-label);
		flex: 0 0 auto;
		color: var(--afadigi-ink-muted);
		font-size: 0.8rem;
		font-weight: 500;
		text-align: start;
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__name {
		font-weight: 700;
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__name::before,
	.afadigi-gateway-grid td.afadigi-gateway-grid__image::before {
		content: none;
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__name,
	.afadigi-gateway-grid td.afadigi-gateway-grid__image {
		justify-content: flex-start;
		text-align: start;
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__price {
		margin-top: 2px;
		padding-top: 10px;
		border-top: 1px dashed var(--afadigi-line);
		font-size: 1.05rem;
	}

	.afadigi-gateway-grid .afadigi-gateway-grid__price :is(.afadigi-price-regular, .afadigi-price-sale) {
		display: inline;
	}

	.afadigi-gateway-grid .afadigi-price-regular {
		margin-inline-end: var(--afadigi-space-2);
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__buy {
		width: 100%;
		margin-top: 2px;
	}

	.afadigi-gateway-grid td.afadigi-gateway-grid__buy::before {
		content: none;
	}

	.afadigi-gateway-grid__buy .afadigi-buy-now-wrap,
	.afadigi-gateway-grid__buy .afadigi-buy-now-form,
	.afadigi-buy-now-btn.afadigi-btn:is(a, button) {
		display: flex;
		width: 100%;
	}
}

/* ---------- Popups ---------- */

body.afadigi-pop-open,
body.afadigi-lightbox-open {
	overflow: hidden;
}

.afadigi-pop {
	position: fixed;
	z-index: 1000000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--afadigi-space-6);
}

.afadigi-pop__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 20, 26, 0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	cursor: pointer;
	animation: afadigi-fade-in 0.2s ease-out;
}

.afadigi-pop__card {
	position: relative;
	z-index: 1;
	width: min(400px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 36px var(--afadigi-space-6) var(--afadigi-space-6);
	border-radius: var(--afadigi-radius-lg);
	background: var(--afadigi-surface);
	box-shadow: var(--afadigi-shadow-lg);
	color: var(--afadigi-ink);
	text-align: center;
	animation: afadigi-pop-in 0.24s var(--afadigi-ease);
}

.afadigi-pop__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 0 var(--afadigi-space-4);
	border-radius: 50%;
	background: var(--afadigi-surface-soft);
	color: var(--afadigi-ink-muted);
}

.afadigi-pop__icon svg {
	width: 26px;
	height: 26px;
}

.afadigi-pop--success .afadigi-pop__icon {
	background: var(--afadigi-brand-soft);
	color: var(--afadigi-brand-strong);
}

.afadigi-pop--danger .afadigi-pop__icon {
	background: var(--afadigi-danger-soft);
	color: var(--afadigi-danger);
}

.afadigi-pop--warning .afadigi-pop__icon {
	background: var(--afadigi-warning-soft);
	color: var(--afadigi-warning);
}

.afadigi-pop__kicker {
	display: block;
	margin: 0 0 6px;
	color: var(--afadigi-ink-muted);
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.5;
}

.afadigi-pop--danger .afadigi-pop__kicker {
	color: var(--afadigi-danger);
}

.afadigi-pop--warning .afadigi-pop__kicker {
	color: var(--afadigi-warning);
}

.afadigi-pop .afadigi-pop__title {
	margin: 0 0 var(--afadigi-space-2);
	color: var(--afadigi-ink);
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.6;
}

.afadigi-pop .afadigi-pop__text {
	margin: 0 0 var(--afadigi-space-2);
	color: var(--afadigi-ink-muted);
	font-size: 0.95rem;
	line-height: 1.9;
}

.afadigi-pop .afadigi-pop__text:last-child {
	margin-bottom: 0;
}

.afadigi-pop__actions {
	display: flex;
	flex-direction: column;
	gap: var(--afadigi-space-2);
	margin-top: var(--afadigi-space-5);
}

/* Phones: bottom sheet. */
@media (max-width: 480px) {
	.afadigi-pop {
		align-items: flex-end;
		padding: 0;
	}

	.afadigi-pop__card {
		width: 100%;
		max-height: 88vh;
		padding: 36px var(--afadigi-space-5) calc(var(--afadigi-space-5) + env(safe-area-inset-bottom, 0px));
		border-radius: var(--afadigi-radius-lg) var(--afadigi-radius-lg) 0 0;
		animation-name: afadigi-sheet-in;
	}

	.afadigi-pop__card::before {
		content: "";
		position: absolute;
		top: 8px;
		left: 50%;
		width: 40px;
		height: 4px;
		border-radius: var(--afadigi-radius-pill);
		background: var(--afadigi-line);
		transform: translateX(-50%);
	}
}

/* ---------- Image lightbox ---------- */

.afadigi-lightbox[hidden] {
	display: none;
}

.afadigi-lightbox.is-open {
	position: fixed;
	z-index: 1000000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--afadigi-space-6);
	background: rgba(15, 20, 26, 0.82);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	animation: afadigi-fade-in 0.2s ease-out;
}

.afadigi-lightbox__img {
	max-width: min(92vw, 1100px);
	max-height: 86vh;
	border-radius: var(--afadigi-radius);
	background: var(--afadigi-surface);
	box-shadow: var(--afadigi-shadow-lg);
	animation: afadigi-pop-in 0.24s var(--afadigi-ease);
}

.afadigi-lightbox .afadigi-close:is(button) {
	top: var(--afadigi-space-4);
	inset-inline-end: var(--afadigi-space-4);
	width: 42px;
	height: 42px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--afadigi-ink);
}

/* ---------- Checkout: locked gateway note ---------- */

.afadigi-checkout-gateway {
	display: flex;
	align-items: center;
	gap: var(--afadigi-space-3);
	margin: 0 0 var(--afadigi-space-4);
	padding: var(--afadigi-space-3) var(--afadigi-space-4);
	border: 1px solid rgba(125, 183, 1, 0.3);
	border-radius: var(--afadigi-radius);
	background: var(--afadigi-brand-soft);
	color: var(--afadigi-ink);
	font-weight: 600;
	line-height: 1.8;
}

.afadigi-checkout-gateway__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--afadigi-surface);
	color: var(--afadigi-brand-strong);
}

.afadigi-checkout-gateway__icon svg {
	width: 16px;
	height: 16px;
}

body.afadigi-gateway-locked #payment :is(ul.payment_methods, ul.wc_payment_methods),
body.afadigi-gateway-locked #payment :is(ul.payment_methods, ul.wc_payment_methods) > li {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

/* Only one gateway is allowed, so its radio and label are hidden (kept for screen readers).
   !important: gateway plugins style these with their own high-specificity rules. */
body.afadigi-gateway-locked #payment :is(ul.payment_methods, ul.wc_payment_methods) > li > :is(input.input-radio, label) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.afadigi-gateway-locked #payment div.payment_box {
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

/* ---------- Motion ---------- */

@keyframes afadigi-fade-in {
	from {
		opacity: 0;
	}
}

@keyframes afadigi-pop-in {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.97);
	}
}

@keyframes afadigi-sheet-in {
	from {
		transform: translateY(100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.afadigi-pop__backdrop,
	.afadigi-pop__card,
	.afadigi-lightbox.is-open,
	.afadigi-lightbox__img,
	.afadigi-tooltip-bubble {
		animation: none;
	}
}
