/**
 * Simple OTP Login — front-end styles.
 * Uses logical properties throughout so RTL and LTR share one stylesheet.
 */

:root {
	--sol-accent: #4f46e5;
	--sol-accent-contrast: #ffffff;
	--sol-surface: #ffffff;
	--sol-surface-dark: #0f1117;
	--sol-text: #111827;
	--sol-text-dark: #e5e7eb;
	--sol-radius: 16px;
	--sol-field-radius: 12px;
	--sol-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px -12px rgba(15, 23, 42, 0.18);
	--sol-font: inherit;
	--sol-gap: 18px;
	--sol-pad: 32px;
}

.sol-root {
	/* Settings tokens are applied to `.sol-root` via an inline stylesheet.
	   Do not re-declare those properties here or they will ignore admin colors. */
	--sol-bg: var(--sol-surface);
	--sol-fg: var(--sol-text);
	--sol-muted: color-mix(in srgb, var(--sol-fg) 55%, transparent);
	--sol-border: color-mix(in srgb, var(--sol-fg) 12%, transparent);
	--sol-field-bg: color-mix(in srgb, var(--sol-fg) 3%, var(--sol-bg));
	--sol-danger: #dc2626;
	--sol-success: #059669;

	box-sizing: border-box;
	font-family: var(--sol-font);
	color: var(--sol-fg);
	line-height: 1.7;
	max-width: 100%;
}

.sol-root *,
.sol-root *::before,
.sol-root *::after {
	box-sizing: inherit;
}

.sol-theme-dark,
.sol-root[data-scheme="dark"] {
	--sol-bg: var(--sol-surface-dark);
	--sol-fg: var(--sol-text-dark);
	--sol-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 18px 40px -18px rgba(0, 0, 0, 0.8);
}

@media (prefers-color-scheme: dark) {
	.sol-theme-auto {
		--sol-bg: var(--sol-surface-dark);
		--sol-fg: var(--sol-text-dark);
		--sol-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 18px 40px -18px rgba(0, 0, 0, 0.8);
	}
}

/* ---------------------------------------------------------------- card -- */

.sol-card {
	position: relative;
	background: var(--sol-bg);
	border: 1px solid var(--sol-border);
	border-radius: var(--sol-radius);
	box-shadow: var(--sol-shadow);
	padding: var(--sol-pad);
	width: 100%;
	max-width: 420px;
	margin-inline: auto;
	overflow: hidden;
}

.sol-layout-inline .sol-card {
	border: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
	max-width: none;
}

.sol-progress {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 3px;
	background: var(--sol-border);
}

.sol-layout-inline .sol-progress {
	display: none;
}

.sol-progress__bar {
	display: block;
	height: 100%;
	width: 33%;
	background: var(--sol-accent);
	transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.sol-head {
	text-align: center;
	margin-block-end: var(--sol-gap);
}

.sol-logo {
	display: block;
	max-height: 48px;
	width: auto;
	margin: 0 auto 14px;
}

.sol-logo--mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 48px;
	block-size: 48px;
	border-radius: 14px;
	color: var(--sol-accent);
	background: color-mix(in srgb, var(--sol-accent) 12%, transparent);
}

.sol-title {
	margin: 0 0 4px;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--sol-fg);
	line-height: 1.5;
}

.sol-subtitle {
	margin: 0;
	font-size: 0.86rem;
	color: var(--sol-muted);
}

/* --------------------------------------------------------------- steps -- */

.sol-step {
	display: none;
	flex-direction: column;
	gap: var(--sol-gap);
	margin: 0;
	animation: sol-fade 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.sol-step.is-active {
	display: flex;
}

@keyframes sol-fade {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sol-step,
	.sol-progress__bar {
		animation: none;
		transition: none;
	}
}

/* -------------------------------------------------------------- fields -- */

.sol-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sol-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--sol-fg);
}

.sol-req {
	color: var(--sol-danger);
	margin-inline-start: 3px;
}

.sol-input-group {
	display: flex;
	align-items: stretch;
	gap: 8px;
	background: var(--sol-field-bg);
	border: 1px solid var(--sol-border);
	border-radius: var(--sol-field-radius);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	padding-inline: 12px;
}

.sol-input-group:focus-within {
	border-color: var(--sol-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sol-accent) 18%, transparent);
}

.sol-input-group.has-error {
	border-color: var(--sol-danger);
}

.sol-prefix {
	display: flex;
	align-items: center;
	font-size: 0.9rem;
	color: var(--sol-muted);
	font-variant-numeric: tabular-nums;
}

.sol-country {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--sol-fg);
	font: inherit;
	font-size: 0.88rem;
	padding-inline: 2px;
	cursor: pointer;
	max-inline-size: 96px;
}

.sol-country:focus {
	outline: none;
}

.sol-input {
	flex: 1;
	min-inline-size: 0;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
	-webkit-appearance: none;
	appearance: none;
	color: var(--sol-fg);
	font-family: inherit;
	font-size: 16px !important;
	line-height: 1.4;
	padding-block: 13px;
	letter-spacing: 0.02em;
	width: 100%;
	min-height: 48px;
}

.sol-input:focus {
	outline: none;
}

.sol-step--profile .sol-input {
	background: var(--sol-field-bg) !important;
	border: 1px solid var(--sol-border) !important;
	border-radius: var(--sol-field-radius);
	padding: 12px 14px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	min-height: 48px;
	font-size: 16px !important;
}

.sol-step--profile .sol-input:focus {
	border-color: var(--sol-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sol-accent) 18%, transparent);
}

.sol-hint {
	margin: 0;
	font-size: 0.75rem;
	color: var(--sol-muted);
}

.sol-check {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: var(--sol-muted);
	cursor: pointer;
	user-select: none;
}

.sol-check input {
	inline-size: 16px;
	block-size: 16px;
	accent-color: var(--sol-accent);
	margin: 0;
}

.sol-honeypot {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ------------------------------------------------------------- buttons -- */

.sol-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	inline-size: 100%;
	min-block-size: 48px;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: var(--sol-field-radius);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.sol-btn:active {
	transform: translateY(1px);
}

.sol-btn:focus-visible {
	outline: 2px solid var(--sol-accent);
	outline-offset: 2px;
}

.sol-btn--primary {
	background: var(--sol-accent);
	color: var(--sol-accent-contrast);
	box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--sol-accent) 80%, transparent);
}

.sol-btn--primary:hover {
	background: color-mix(in srgb, var(--sol-accent) 88%, #000);
}

.sol-btn--ghost {
	background: transparent;
	color: var(--sol-fg);
	border-color: var(--sol-border);
}

.sol-btn--ghost:hover {
	background: var(--sol-field-bg);
}

.sol-btn[disabled],
.sol-btn.is-loading {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

.sol-spinner {
	display: none;
	inline-size: 16px;
	block-size: 16px;
	border-radius: 50%;
	border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
	border-block-start-color: currentColor;
	animation: sol-spin 0.7s linear infinite;
}

.sol-btn.is-loading .sol-spinner {
	display: inline-block;
}

@keyframes sol-spin {
	to {
		transform: rotate(360deg);
	}
}

.sol-link {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--sol-accent) !important;
	cursor: pointer;
	align-self: center;
	box-shadow: none !important;
}

.sol-link[disabled] {
	color: var(--sol-muted) !important;
	cursor: default;
	font-variant-numeric: tabular-nums;
}

.sol-link:hover:not([disabled]) {
	text-decoration: underline;
	color: var(--sol-accent) !important;
}

.sol-sent-to {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 0.9rem;
	color: var(--sol-muted);
	line-height: 1.9;
}

.sol-sent-to__msg {
	display: inline;
}

.sol-sent-to__phone,
.sol-sent-to__text {
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
	color: var(--sol-fg);
	font-weight: 700;
	letter-spacing: 0.02em;
	padding-inline: 2px;
}

.sol-sent-to .sol-edit,
.sol-sent-to .sol-edit-number,
.sol-root .sol-sent-to button.sol-edit {
	display: inline !important;
	align-self: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--sol-accent) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: inherit !important;
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	text-decoration: none !important;
	cursor: pointer;
}

.sol-sent-to .sol-edit:hover,
.sol-sent-to .sol-edit-number:hover {
	text-decoration: underline !important;
	color: var(--sol-accent) !important;
	background: none !important;
}

.sol-sent-to .sol-edit::before,
.sol-sent-to .sol-edit::after,
.sol-edit-number::before,
.sol-edit-number::after {
	content: none !important;
	display: none !important;
}

.sol-root .sol-back {
	display: none !important;
}

.sol-step--code {
	position: relative;
}

.sol-otp-autofill {
	position: absolute;
	opacity: 0;
	inline-size: 1px;
	block-size: 1px;
	inset-block-start: 0;
	inset-inline-start: 0;
	z-index: -1;
	border: 0;
	padding: 0;
}

.sol-otp {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.sol-otp__digit {
	inline-size: 48px;
	block-size: 56px;
	text-align: center;
	font-size: 16px !important;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--sol-fg);
	background: var(--sol-field-bg);
	border: 1px solid var(--sol-border);
	border-radius: var(--sol-field-radius);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
	overflow: hidden;
}

.sol-otp__digit:focus {
	outline: none;
	border-color: var(--sol-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sol-accent) 18%, transparent);
	transform: translateY(-1px);
}

.sol-otp__digit.is-filled {
	border-color: color-mix(in srgb, var(--sol-accent) 55%, var(--sol-border));
}

.sol-otp.has-error .sol-otp__digit {
	border-color: var(--sol-danger);
	animation: sol-shake 0.4s ease;
}

@keyframes sol-shake {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-5px); }
	40% { transform: translateX(5px); }
	60% { transform: translateX(-3px); }
	80% { transform: translateX(3px); }
}

@media (max-width: 420px) {
	.sol-otp {
		gap: 6px;
	}

	.sol-otp__digit {
		inline-size: 42px;
		block-size: 50px;
		font-size: 16px;
	}

	.sol-card {
		padding: 22px;
	}
}

/* --------------------------------------------------------------- timer -- */

.sol-timer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 0.8rem;
	color: var(--sol-muted);
	font-variant-numeric: tabular-nums;
}

.sol-timer__ring {
	inline-size: 20px;
	block-size: 20px;
	transform: rotate(-90deg);
}

.sol-timer__track,
.sol-timer__value {
	fill: none;
	stroke-width: 3;
}

.sol-timer__track {
	stroke: var(--sol-border);
}

.sol-timer__value {
	stroke: var(--sol-accent);
	stroke-linecap: round;
	stroke-dasharray: 100.5;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1s linear;
}

.sol-timer.is-expired .sol-timer__value {
	stroke: var(--sol-danger);
}

/* --------------------------------------------------------------- alert -- */

.sol-alert {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-block-end: var(--sol-gap);
	padding: 11px 14px;
	border-radius: var(--sol-field-radius);
	font-size: 0.83rem;
	border: 1px solid transparent;
	animation: sol-fade 0.25s ease;
}

.sol-alert[hidden] {
	display: none;
}

.sol-alert--error {
	color: var(--sol-danger);
	background: color-mix(in srgb, var(--sol-danger) 8%, transparent);
	border-color: color-mix(in srgb, var(--sol-danger) 25%, transparent);
}

.sol-alert--success {
	color: var(--sol-success);
	background: color-mix(in srgb, var(--sol-success) 8%, transparent);
	border-color: color-mix(in srgb, var(--sol-success) 25%, transparent);
}

.sol-alert--info {
	color: var(--sol-accent);
	background: color-mix(in srgb, var(--sol-accent) 8%, transparent);
	border-color: color-mix(in srgb, var(--sol-accent) 25%, transparent);
}

/* ------------------------------------------------------------- success -- */

.sol-step--done {
	align-items: center;
	text-align: center;
	gap: 12px;
	padding-block: 12px;
}

.sol-success svg {
	inline-size: 64px;
	block-size: 64px;
}

.sol-success__circle {
	stroke: var(--sol-success);
	stroke-width: 2;
	stroke-dasharray: 151;
	stroke-dashoffset: 151;
	animation: sol-draw 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.sol-success__check {
	stroke: var(--sol-success);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: sol-draw 0.35s cubic-bezier(0.65, 0, 0.45, 1) 0.5s forwards;
}

@keyframes sol-draw {
	to {
		stroke-dashoffset: 0;
	}
}

.sol-done-message {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
}

/* --------------------------------------------------------------- terms -- */

.sol-terms {
	margin-block-start: var(--sol-gap);
	padding-block-start: 14px;
	border-block-start: 1px solid var(--sol-border);
	font-size: 0.72rem;
	color: var(--sol-muted);
	text-align: center;
}

.sol-terms a {
	color: var(--sol-accent);
	text-decoration: none;
}

.sol-terms a:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------------- modal -- */

.sol-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.sol-modal[hidden] {
	display: none;
}

.sol-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(4px);
	animation: sol-fade 0.25s ease;
}

.sol-modal__panel {
	position: relative;
	inline-size: 100%;
	max-inline-size: 420px;
	max-block-size: 92vh;
	overflow-y: auto;
	animation: sol-pop 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes sol-pop {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.97);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.sol-modal__close {
	position: absolute;
	inset-block-start: 12px;
	inset-inline-end: 12px;
	z-index: 2;
	inline-size: 30px;
	block-size: 30px;
	border-radius: 50%;
	border: 1px solid var(--sol-border);
	background: var(--sol-bg);
	color: var(--sol-muted);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

/* ------------------------------------------------------------- account -- */

.sol-card--account {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sol-avatar {
	inline-size: 48px;
	block-size: 48px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sol-account__body {
	flex: 1;
	min-inline-size: 0;
}

.sol-account__name {
	margin: 0;
	font-weight: 700;
	font-size: 0.95rem;
}

.sol-account__meta {
	margin: 0;
	font-size: 0.8rem;
	color: var(--sol-muted);
	direction: ltr;
	unicode-bidi: plaintext;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sol-card--account .sol-btn {
	inline-size: auto;
	min-block-size: 38px;
	padding-inline: 16px;
	font-size: 0.82rem;
}

/* -------------------------------------------------- wp-login.php panel -- */

.sol-login-divider {
	position: relative;
	text-align: center;
	margin: 16px 0 12px;
	color: #667085;
	font-size: 12px;
}

.sol-login-divider::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-start: 50%;
	border-block-start: 1px solid #dcdcde;
}

.sol-login-divider span {
	position: relative;
	background: #fff;
	padding-inline: 10px;
}

.sol-login-panel {
	display: none;
	margin: 0 auto 24px;
	max-inline-size: 320px;
}

.sol-login-panel.is-visible {
	display: block;
}

body.login .sol-login-panel .sol-card {
	max-inline-size: none;
}

/* ------------------------------------------------------- persian / RTL -- */

.sol-root {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.sol-root[dir="rtl"] {
	text-align: right;
}

.sol-root[dir="rtl"] .sol-head {
	text-align: center;
}

.sol-root[dir="rtl"] .sol-label,
.sol-root[dir="rtl"] .sol-hint,
.sol-root[dir="rtl"] .sol-terms,
.sol-root[dir="rtl"] .sol-check,
.sol-root[dir="rtl"] .sol-subtitle,
.sol-root[dir="rtl"] .sol-alert,
.sol-root[dir="rtl"] .sol-profile__intro {
	text-align: right;
}

.sol-root[dir="rtl"] .sol-check {
	flex-direction: row;
	justify-content: flex-start;
}

.sol-root[dir="rtl"] .sol-identifier {
	text-align: right;
}

.sol-root input.sol-identifier,
.sol-root input.sol-input,
.sol-root input.sol-otp__digit,
.sol-root input[type="tel"],
.sol-root input[type="text"],
.sol-root input[type="email"] {
	font-size: 16px !important;
}

.sol-root .sol-input-group input {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	outline: none !important;
}

/*
 * Themes (especially WooCommerce) paint input color / -webkit-text-fill-color
 * onto the placeholder too. Force a muted example until the user types.
 */
.sol-root input.sol-identifier:placeholder-shown,
.sol-root input.sol-input:placeholder-shown,
body.woocommerce-checkout .sol-root input.sol-identifier:placeholder-shown,
.woocommerce .sol-root input.sol-identifier:placeholder-shown {
	color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	-webkit-text-fill-color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

.sol-root input.sol-identifier:not(:placeholder-shown),
.sol-root input.sol-input:not(:placeholder-shown),
body.woocommerce-checkout .sol-root input.sol-identifier:not(:placeholder-shown),
.woocommerce .sol-root input.sol-identifier:not(:placeholder-shown) {
	color: var(--sol-fg) !important;
	-webkit-text-fill-color: var(--sol-fg) !important;
	font-weight: 500 !important;
}

.sol-root input.sol-identifier::placeholder,
.sol-root input.sol-input::placeholder,
body.woocommerce-checkout .sol-root input::placeholder,
.woocommerce .sol-root input::placeholder {
	color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	-webkit-text-fill-color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

.sol-root input.sol-identifier::-webkit-input-placeholder,
.sol-root input.sol-input::-webkit-input-placeholder,
body.woocommerce-checkout .sol-root input::-webkit-input-placeholder,
.woocommerce .sol-root input::-webkit-input-placeholder {
	color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	-webkit-text-fill-color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

.sol-root input.sol-identifier::-moz-placeholder,
.sol-root input.sol-input::-moz-placeholder {
	color: color-mix(in srgb, var(--sol-fg) 38%, transparent) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

/* ---------------------------------------------- woocommerce takeover -- */

body.sol-woo-otp .woocommerce-info:has(.showlogin),
body.sol-woo-otp .woocommerce-info:has(a.showlogin),
body.woocommerce-checkout.sol-woo-otp .woocommerce-form-login-toggle {
	display: none !important;
}

.sol-woo .sol-card,
.sol-woo-checkout .sol-card {
	margin-inline: auto;
}

/* Checkout/theme buttons (WooCommerce `.button`, pill themes) must not win. */
body.woocommerce-checkout .sol-root,
.woocommerce .sol-root,
.sol-root.sol-woo-checkout,
.sol-root.sol-woo {
	font-family: inherit;
}

body.woocommerce-checkout .sol-root .sol-card,
.woocommerce .sol-root .sol-card {
	background: var(--sol-bg) !important;
	border: 1px solid var(--sol-border) !important;
	border-radius: var(--sol-radius) !important;
	box-shadow: var(--sol-shadow) !important;
	padding: var(--sol-pad) !important;
	max-width: 420px !important;
	width: 100% !important;
}

body.woocommerce-checkout .sol-root .sol-btn,
.woocommerce .sol-root .sol-btn,
.sol-root button.sol-btn,
.sol-root .sol-btn.sol-btn--primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: var(--sol-field-radius) !important;
	background: var(--sol-accent) !important;
	background-image: none !important;
	color: var(--sol-accent-contrast) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-shadow: none !important;
	box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--sol-accent) 80%, transparent) !important;
}

body.woocommerce-checkout .sol-root .sol-btn:hover,
.woocommerce .sol-root .sol-btn:hover,
.sol-root .sol-btn.sol-btn--primary:hover {
	background: var(--sol-accent) !important;
	color: var(--sol-accent-contrast) !important;
	filter: brightness(0.94);
}

body.woocommerce-checkout .sol-root .sol-edit-number,
.woocommerce .sol-root .sol-edit-number,
.sol-root button.sol-edit-number,
body.woocommerce-checkout .sol-root button.sol-edit,
body.woocommerce-checkout .sol-root .sol-link:not([disabled]),
.woocommerce .sol-root .sol-link:not([disabled]) {
	width: auto !important;
	max-width: max-content !important;
	min-height: auto !important;
	padding: 0 !important;
	margin: 0 0 2px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--sol-accent) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout .sol-root .sol-link[disabled],
.woocommerce .sol-root .sol-link[disabled] {
	color: var(--sol-muted) !important;
}

body.woocommerce-checkout .sol-root .sol-btn::before,
body.woocommerce-checkout .sol-root .sol-btn::after,
.woocommerce .sol-root .sol-btn::before,
.woocommerce .sol-root .sol-btn::after,
body.woocommerce-checkout .sol-root .sol-edit-number::before,
body.woocommerce-checkout .sol-root .sol-edit-number::after,
.woocommerce .sol-root .sol-edit-number::before,
.woocommerce .sol-root .sol-edit-number::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-checkout .sol-root .sol-input-group,
.woocommerce .sol-root .sol-input-group {
	background: var(--sol-field-bg) !important;
	border: 1px solid var(--sol-border) !important;
	box-shadow: none !important;
	border-radius: var(--sol-field-radius) !important;
}

body.woocommerce-checkout .sol-root .sol-title,
.woocommerce .sol-root .sol-title {
	color: var(--sol-fg) !important;
	font-weight: 700 !important;
}


