.mds-ui {
	--mds-accent: var(--theme-palette-color-1, #ff6310);
	--mds-accent-hover: var(--theme-palette-color-2, #fd7c47);
	--mds-text: var(--theme-palette-color-4, #111518);
	--mds-muted: var(--theme-palette-color-3, #687279);
	--mds-border: var(--theme-border-color, #e5e7eb);
	--mds-surface: var(--theme-palette-color-8, #ffffff);
	--mds-soft: var(--theme-palette-color-7, #f8f9fa);
	--mds-accent-soft: #fffaf7;
	--mds-radius-card: 18px;
	--mds-radius-inner: 14px;
	--mds-radius-pill: 999px;
	box-sizing: border-box;
	direction: rtl;
	color: var(--mds-text);
	font: inherit;
}

.mds-ui *,
.mds-ui *::before,
.mds-ui *::after {
	box-sizing: border-box;
}

.mds-icon {
	flex: 0 0 auto;
	width: 1.125em;
	height: 1.125em;
	color: currentColor;
}

.mds-amount {
	unicode-bidi: isolate;
	direction: rtl;
	white-space: nowrap;
}

.mds-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	max-width: min(100%, 18rem);
	min-height: 2rem;
	padding: 0.35rem 0.6rem;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-pill);
	background: var(--mds-surface);
	color: var(--mds-text);
	font-size: 0.8125rem;
	font-weight: 800;
	line-height: 1.55;
	vertical-align: middle;
	overflow-wrap: anywhere;
	box-shadow: 0 4px 14px rgba(17, 21, 24, 0.04);
}

.mds-badge__label {
	min-width: 0;
	overflow-wrap: anywhere;
}

.mds-badge--archive {
	position: relative;
	z-index: 4;
	margin: -2.6rem 0.6rem 0.7rem 0;
}

.mds-badge--active {
	border-color: rgba(255, 99, 16, 0.32);
	background: var(--mds-accent-soft);
	color: var(--mds-accent);
}

.mds-badge--conditional {
	border-color: rgba(255, 99, 16, 0.28);
	background: var(--mds-accent-soft);
	color: var(--mds-accent);
}

.mds-badge--guest {
	border-color: var(--mds-border);
	background: rgba(255, 255, 255, 0.96);
	color: var(--mds-text);
}

.mds-price {
	display: inline-grid;
	grid-template-columns: minmax(0, auto);
	gap: 0.15rem;
	max-width: 100%;
	color: var(--mds-text);
	line-height: 1.65;
	vertical-align: baseline;
}

.mds-price__original,
.mds-price__final,
.mds-price__saving {
	display: inline-flex;
	align-items: baseline;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.mds-price__range {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.25rem;
	min-width: 0;
	max-width: 100%;
}

.mds-price__range-separator {
	color: currentColor;
	line-height: 1;
}

.mds-price__original {
	color: var(--mds-muted);
	font-size: 0.9em;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mds-price__final {
	color: var(--mds-text);
	font-weight: 900;
}

.mds-price__saving {
	color: var(--mds-accent);
	font-size: 0.8125rem;
	font-weight: 800;
}

.mds-card {
	width: 100%;
	max-width: 38rem;
	margin: 0.85rem 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-card);
	background: var(--mds-surface);
	color: var(--mds-text);
	line-height: 1.8;
}

.mds-card--compact {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	padding: 0.85rem 0.95rem;
}

.mds-card--active,
.mds-card--conditional {
	border-color: rgba(255, 99, 16, 0.24);
	background: var(--mds-accent-soft);
}

.mds-card__head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	color: var(--mds-text);
}

.mds-card--active .mds-card__head,
.mds-card--conditional .mds-card__head {
	color: var(--mds-accent);
}

.mds-card__title {
	min-width: 0;
	font-size: 0.95rem;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.mds-card__message {
	margin: 0.35rem 1.65rem 0 0;
	color: var(--mds-muted);
	font-size: 0.875rem;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.mds-card__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.65rem 1.65rem 0 0;
}

.mds-card .mds-discount-guide-trigger {
	margin-inline-start: auto;
}

.mds-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 2.25rem;
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-pill);
	background: var(--mds-surface);
	color: var(--mds-text);
	font-size: 0.875rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.mds-card__button {
	font-family: inherit;
	line-height: inherit;
}

.mds-card__link--primary {
	border-color: var(--mds-accent);
	background: var(--mds-accent);
	color: #ffffff;
}

.mds-card__link:hover,
.mds-card__link:focus-visible {
	border-color: var(--mds-accent-hover);
	color: var(--mds-accent-hover);
}

.mds-card__link--primary:hover,
.mds-card__link--primary:focus-visible {
	background: var(--mds-accent-hover);
	color: #ffffff;
}

.mds-status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--mds-muted);
	font-size: 0.875rem;
	line-height: 1.7;
}

.mds-discount-sheet.is-hidden {
	display: none !important;
}

.mds-discount-sheet {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	overscroll-behavior: contain;
}

.mds-discount-sheet__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 24, 39, 0.42);
}

.mds-discount-sheet__dialog {
	position: relative;
	z-index: 1;
	width: min(560px, 100%);
	max-height: min(720px, 86vh);
	overflow: auto;
	padding: 0;
	border: 1px solid var(--mds-border);
	border-radius: 22px;
	background: var(--mds-surface);
	box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
	overscroll-behavior: contain;
	text-align: right;
}

.mds-discount-sheet__header {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px 12px;
	border-bottom: 1px solid #f0f2f4;
	background: var(--mds-surface);
	box-shadow: 0 8px 18px rgba(255, 255, 255, 0.92);
}

.mds-discount-sheet__close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-pill);
	background: var(--mds-surface);
	color: var(--mds-text);
	font: inherit;
	cursor: pointer;
}

.mds-discount-sheet__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--mds-text);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.6;
}

.mds-discount-sheet__body {
	display: grid;
	gap: 12px;
	padding: 14px 18px 18px;
}

.mds-discount-sheet__section {
	padding: 12px;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-inner);
	background: var(--mds-surface);
}

.mds-discount-sheet__section h4,
.mds-discount-sheet__section p {
	margin: 0;
}

.mds-discount-sheet__section h4 {
	margin-bottom: 0.45rem;
	color: var(--mds-text);
	font-size: 0.95rem;
	font-weight: 900;
}

.mds-discount-sheet__section p + p {
	margin-top: 0.35rem;
}

.mds-discount-sheet__section p,
.mds-discount-sheet__rules,
.mds-discount-sheet__steps {
	color: var(--mds-muted);
	font-size: 0.875rem;
	line-height: 1.85;
}

.mds-discount-sheet__steps,
.mds-discount-sheet__rules {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mds-discount-sheet__steps li,
.mds-discount-sheet__rules li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	min-width: 0;
}

.mds-discount-sheet__steps .mds-icon,
.mds-discount-sheet__rules .mds-icon {
	margin-top: 0.25rem;
	color: var(--mds-accent);
}

.mds-discount-sheet__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 0.75rem;
}

.mds-discount-sheet__stat {
	min-width: 0;
	padding: 0.65rem;
	border: 1px solid var(--mds-border);
	border-radius: 12px;
	background: var(--mds-soft);
}

.mds-discount-sheet__stat span,
.mds-discount-sheet__stat strong {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.mds-discount-sheet__stat span {
	color: var(--mds-muted);
	font-size: 0.78rem;
}

.mds-discount-sheet__stat strong {
	margin-top: 0.15rem;
	color: var(--mds-text);
	font-size: 0.9rem;
	font-weight: 900;
}

.mds-discount-sheet__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-top: 2px;
}

body.mds-discount-sheet-lock,
html.mds-discount-sheet-lock {
	overflow: hidden;
}

@media (max-width: 689.98px) {
	.mds-card__actions {
		align-items: stretch;
		margin-inline-start: 0;
	}

	.mds-card .mds-discount-guide-trigger {
		width: 100%;
		margin-inline-start: 0;
	}

	.mds-discount-sheet {
		align-items: flex-end;
		padding: 10px;
	}

	.mds-discount-sheet__dialog {
		width: 100%;
		max-height: 82vh;
		border-radius: 22px 22px 16px 16px;
	}

	.mds-discount-sheet__stats {
		grid-template-columns: minmax(0, 1fr);
	}

	.mds-discount-sheet__actions .mds-card__link {
		width: 100%;
	}
}

.mds-summary,
.mds-guest-notice,
.mds-onboarding,
.mds-badge,
.mds-product-price,
.mds-product-badge,
.mds-product-notice,
.mds-classic-summary-row,
.mds-classic-notice,
.mds-classic-item-price {
	box-sizing: border-box;
	direction: rtl;
	font: inherit;
}

.mds-summary *,
.mds-guest-notice *,
.mds-onboarding *,
.mds-badge *,
.mds-product-price *,
.mds-product-badge *,
.mds-product-notice *,
.mds-classic-summary-row *,
.mds-classic-notice *,
.mds-classic-item-price * {
	box-sizing: border-box;
}

.mds-summary,
.mds-guest-notice,
.mds-onboarding {
	width: 100%;
	margin: 0 0 1.25rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--theme-border-color, #d9dee8);
	border-radius: 8px;
	background: var(--theme-palette-color-8, #fff);
	color: var(--theme-text-color, #1f2937);
}

.mds-summary--guest,
.mds-summary--missing {
	background: #f7f9fc;
}

.mds-summary__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem;
}

.mds-summary__eyebrow,
.mds-summary__message,
.mds-summary__note,
.mds-summary__explain,
.mds-guest-notice__text {
	margin: 0;
	line-height: 1.8;
}

.mds-summary__eyebrow {
	margin-bottom: 0.25rem;
	color: var(--theme-palette-color-1, #145c9e);
	font-size: 0.875rem;
	font-weight: 700;
}

.mds-summary__title,
.mds-onboarding__title {
	margin: 0;
	color: var(--theme-heading-color, #111827);
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	line-height: 1.5;
}

.mds-summary__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.mds-summary__stat {
	min-width: 0;
	padding: 0.875rem;
	border: 1px solid var(--theme-border-color, #d9dee8);
	border-radius: 8px;
	background: #fff;
}

.mds-summary__stat-label,
.mds-summary__stat-value {
	display: block;
	overflow-wrap: anywhere;
}

.mds-summary__stat-label {
	margin-bottom: 0.35rem;
	color: #4b5563;
	font-size: 0.875rem;
}

.mds-summary__stat-value {
	color: #111827;
	font-size: 1rem;
	line-height: 1.6;
}

.mds-summary__note {
	margin: 0 0 1rem;
	padding: 0.75rem 0.875rem;
	border-radius: 8px;
	background: #fff7ed;
	color: #7c2d12;
}

.mds-progress {
	margin: 0 0 1rem;
}

.mds-progress__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
	color: #374151;
	font-size: 0.875rem;
	line-height: 1.7;
}

.mds-progress__track {
	position: relative;
	width: 100%;
	min-height: 0.75rem;
	overflow: hidden;
	border-radius: 999px;
	background: #e5e7eb;
}

.mds-progress__bar {
	display: block;
	min-height: 0.75rem;
	border-radius: inherit;
	background: var(--theme-palette-color-1, #145c9e);
}

.mds-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	max-width: 100%;
	padding: 0.4rem 0.65rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	vertical-align: middle;
	white-space: normal;
}

.mds-badge__label,
.mds-badge__percent {
	overflow-wrap: anywhere;
}

.mds-badge--bronze {
	border-color: #b45309;
	background: #fff7ed;
	color: #7c2d12;
}

.mds-badge--silver {
	border-color: #64748b;
	background: #f8fafc;
	color: #334155;
}

.mds-badge--gold {
	border-color: #ca8a04;
	background: #fefce8;
	color: #713f12;
}

.mds-badge--platinum {
	border-color: #0f766e;
	background: #f0fdfa;
	color: #134e4a;
}

.mds-badge--vip {
	border-color: #7c3aed;
	background: #f5f3ff;
	color: #4c1d95;
}

.mds-badge--special {
	border-color: #be123c;
	background: #fff1f2;
	color: #881337;
}

.mds-badge--loyalty {
	border-color: #2563eb;
	background: #eff6ff;
	color: #1e3a8a;
}

.mds-guest-notice__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.mds-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--theme-palette-color-1, #145c9e);
	border-radius: 8px;
	color: var(--theme-palette-color-1, #145c9e);
	text-decoration: none;
}

.mds-link:focus-visible {
	outline: 2px solid var(--theme-palette-color-1, #145c9e);
	outline-offset: 2px;
}

.mds-onboarding__list {
	display: grid;
	gap: 0.55rem;
	margin: 1rem 0 0;
	padding: 0 1.25rem 0 0;
	line-height: 1.9;
}

.mds-product-price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	max-width: 100%;
	color: var(--theme-text-color, #1f2937);
	line-height: 1.8;
	vertical-align: baseline;
}

.mds-product-price__original,
.mds-product-price__personalized {
	display: inline-flex;
	align-items: baseline;
	min-width: 0;
	overflow-wrap: anywhere;
}

.mds-product-price__original del {
	color: #64748b;
	text-decoration-thickness: 1px;
}

.mds-product-price__personalized ins {
	color: var(--theme-palette-color-1, #145c9e);
	font-weight: 800;
	text-decoration: none;
}

.mds-product-price--variable {
	display: inline-grid;
	gap: 0.25rem;
}

.mds-product-badge {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.3rem 0.45rem;
	max-width: 100%;
	margin: 0.35rem 0 0;
	padding: 0.35rem 0.6rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.7;
	vertical-align: middle;
	overflow-wrap: anywhere;
}

.mds-product-badge--price {
	margin: 0;
}

.mds-product-badge--active {
	border-color: var(--theme-palette-color-1, #145c9e);
	background: #eff6ff;
	color: #1e3a8a;
}

.mds-product-badge--conditional {
	border-color: #b45309;
	background: #fff7ed;
	color: #7c2d12;
}

.mds-product-badge__percent {
	font-weight: 900;
}

.mds-product-badge__source {
	color: inherit;
	font-weight: 600;
	opacity: 0.88;
}

.mds-product-notice {
	width: 100%;
	margin: 0.75rem 0 1rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--theme-border-color, #d9dee8);
	border-radius: 8px;
	background: #f7f9fc;
	color: var(--theme-text-color, #1f2937);
	line-height: 1.8;
}

.mds-product-notice p {
	margin: 0;
}

.mds-product-notice__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.mds-classic-summary-row th,
.mds-classic-summary-row td {
	vertical-align: top;
}

.mds-classic-summary__main {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem 0.75rem;
	max-width: 100%;
	line-height: 1.8;
}

.mds-classic-summary__label {
	font-weight: 800;
	color: var(--theme-heading-color, #111827);
	overflow-wrap: anywhere;
}

.mds-classic-summary__percent,
.mds-classic-summary__amount {
	display: inline-flex;
	align-items: center;
	min-height: 1.8rem;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: #eff6ff;
	color: #1e3a8a;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.mds-classic-summary__amount {
	background: #f0fdfa;
	color: #134e4a;
}

.mds-classic-message {
	margin: 0.55rem 0 0;
	padding: 0.55rem 0.7rem;
	border: 1px solid transparent;
	border-radius: 8px;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.mds-classic-message--bronze {
	border-color: #fed7aa;
	background: #fff7ed;
	color: #7c2d12;
}

.mds-classic-message--suppressed {
	border-color: #bfdbfe;
	background: #eff6ff;
	color: #1e3a8a;
}

.mds-classic-notice {
	width: 100%;
	margin: 0 0 1rem;
	padding: 0.875rem 1rem;
	border: 1px solid var(--theme-border-color, #d9dee8);
	border-radius: 8px;
	background: #f7f9fc;
	color: var(--theme-text-color, #1f2937);
	line-height: 1.8;
}

.mds-classic-notice p {
	margin: 0;
}

.mds-classic-notice__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.mds-classic-item-price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.25rem 0.45rem;
	max-width: 100%;
	line-height: 1.8;
	vertical-align: baseline;
}

.mds-classic-item-price__original,
.mds-classic-item-price__final,
.mds-classic-item-price__label {
	display: inline-flex;
	min-width: 0;
	overflow-wrap: anywhere;
}

.mds-classic-item-price__original del {
	color: #64748b;
	text-decoration-thickness: 1px;
}

.mds-classic-item-price__final ins {
	color: var(--theme-palette-color-1, #145c9e);
	font-weight: 800;
	text-decoration: none;
}

.mds-classic-item-price__label {
	color: #4b5563;
	font-size: 0.8125rem;
}

.mwbo .mds-mwbo-price {
	white-space: normal;
}

.mwbo .mds-mwbo-price--account {
	gap: 3px;
}

.mwbo .mds-mwbo-price--account .mwbo-price-line--regular del {
	color: #6b7280;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mwbo .mds-mwbo-price--account .mwbo-price-line--current ins {
	color: #111827;
	font-weight: 800;
	text-decoration: none;
}

.mwbo .mds-mwbo-price__label {
	display: block;
	max-width: 100%;
	color: #687279;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
	white-space: normal;
}

.mwbo .mds-mwbo-price--bronze_conditional {
	color: #ff6310;
}

@media (max-width: 767px) {
	.mds-summary__header,
	.mds-progress__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.mds-summary__grid {
		grid-template-columns: 1fr;
	}

	.mds-product-price,
	.mds-product-badge,
	.mds-classic-summary__main,
	.mds-classic-item-price {
		align-items: flex-start;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.mds-summary__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.mds-ui.mds-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	max-width: min(100%, 18rem);
	min-height: 2rem;
	padding: 0.35rem 0.6rem;
	border: 1px solid var(--mds-border);
	border-radius: var(--mds-radius-pill);
	background: var(--mds-surface);
	color: var(--mds-text);
	font-size: 0.8125rem;
	font-weight: 800;
	line-height: 1.55;
	vertical-align: middle;
	white-space: normal;
	overflow-wrap: anywhere;
	box-shadow: 0 4px 14px rgba(17, 21, 24, 0.04);
}

.mds-ui.mds-badge--archive {
	position: relative;
	z-index: 4;
	margin: -2.6rem 0.6rem 0.7rem 0;
}

.mds-ui.mds-badge--active,
.mds-ui.mds-badge--conditional {
	border-color: rgba(255, 99, 16, 0.28);
	background: var(--mds-accent-soft);
	color: var(--mds-accent);
}

.mds-ui.mds-badge--guest {
	border-color: var(--mds-border);
	background: rgba(255, 255, 255, 0.96);
	color: var(--mds-text);
}
