/* Maharat — first-visit welcome offer dialog (design: Maharat redesign promo.css, on Maharat Site Kit tokens) */
.m-promo { position: fixed; inset: 0; z-index: 1400; display: grid; place-items: center; padding: 1rem; direction: rtl; }
.m-promo[hidden] { display: none; }
.m-promo__overlay { position: absolute; inset: 0; background: rgba(13, 37, 64, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .3s ease; }
.m-promo__dialog {
	position: relative; width: min(860px, 100%); max-height: calc(100dvh - 2rem); overflow: auto; overscroll-behavior: contain;
	display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	background: var(--m-surface, #fff); border-radius: var(--m-r-xl, 28px);
	box-shadow: 0 40px 80px rgba(13, 37, 64, .35);
	opacity: 0; transform: translateY(24px) scale(.97);
	transition: opacity .35s var(--m-ease, ease), transform .45s var(--m-ease-out, cubic-bezier(.2, .8, .2, 1));
}
.m-promo__dialog:focus { outline: none; }
.m-promo.is-open .m-promo__overlay { opacity: 1; }
.m-promo.is-open .m-promo__dialog { opacity: 1; transform: none; }
html.m-promo-open, html.m-promo-open body { overflow: hidden; }

.m-promo .m-promo__close { position: absolute; top: .75rem; inset-inline-start: .75rem; z-index: 2; width: 44px; height: 44px; min-height: 0; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--m-ink, #0F2A44); cursor: pointer; box-shadow: 0 4px 12px rgba(13, 37, 64, .15); transition: transform .2s; }
.m-promo .m-promo__close:hover, .m-promo .m-promo__close:focus { background: #fff; color: var(--m-ink, #0F2A44); transform: rotate(90deg); }
.m-promo__close svg, .m-promo__close .mk-ico { width: 20px; height: 20px; }

.m-promo__media { position: relative; margin: 0; min-height: 100%; background: var(--m-primary-50, #E6F1FA); }
.m-promo__img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5; }
.m-promo__badge { position: absolute; bottom: 1rem; inset-inline-end: 1rem; padding: .55rem 1rem; border-radius: 999px; background: var(--m-accent, #F7941D); color: var(--m-ink, #0F2A44); font: 700 1.05rem/1.2 var(--m-font-head); box-shadow: 0 8px 20px rgba(247, 148, 29, .35); }

.m-promo__body { padding: clamp(1.5rem, 3vw, 2.5rem); display: flex; flex-direction: column; gap: 1rem; text-align: start; }
.m-promo__kicker { display: inline-flex; align-items: center; gap: .55rem; margin: 0; font: 600 var(--m-fs-sm, .9375rem)/1.5 var(--m-font-body); color: var(--m-primary, #1B75BB); }
.m-promo__kicker span { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--m-accent, #F7941D); box-shadow: 0 0 0 4px var(--m-accent-50, #FEF0E0); }
.m-promo__title { margin: 0; font-family: var(--m-font-head); font-size: clamp(1.35rem, 1rem + 1.4vw, 1.8rem); line-height: 1.35; color: var(--m-ink, #0F2A44); text-wrap: balance; }
.m-promo__desc { margin: 0; color: var(--m-muted, #586779); line-height: 1.75; }
.m-promo__cat { display: inline-block; margin-inline-start: .4rem; padding: .1rem .6rem; border-radius: 999px; background: var(--m-primary-50, #E6F1FA); color: var(--m-primary-800, #0D3D66); font-size: .8rem; font-weight: 600; }

.m-promo__timer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; direction: ltr; }
.m-promo__unit { display: grid; justify-items: center; gap: .15rem; padding: .7rem .25rem; border-radius: var(--m-r, 14px); background: var(--m-primary-800, #0D3D66); color: #fff; }
.m-promo__unit span { font: 700 1.7rem/1 var(--m-font-head); font-variant-numeric: tabular-nums; }
.m-promo__unit small { font-size: .75rem; opacity: .85; direction: rtl; }

.m-promo__price { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.m-promo__price strong { font: 700 1.7rem/1.2 var(--m-font-head); color: var(--m-primary-800, #0D3D66); }
.m-promo__price del { color: var(--m-muted, #586779); }
.m-promo__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.m-promo__buy { flex: 1 1 auto; justify-content: center; }
.m-promo__more { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; text-decoration: none; color: var(--m-primary, #1B75BB); }
.m-promo__more svg, .m-promo__more .mk-ico { width: 1.1em; height: 1.1em; }
.m-promo__note { margin: 0; font-size: .82rem; color: var(--m-muted, #586779); }

@media (max-width: 767px) {
	.m-promo { place-items: end center; padding: 0; }
	.m-promo__dialog { grid-template-columns: minmax(0, 1fr); border-radius: 24px 24px 0 0; max-height: 92dvh; transform: translateY(100%); padding-bottom: env(safe-area-inset-bottom); }
	.m-promo__img { aspect-ratio: 16 / 9; height: auto; }
	.m-promo__body { padding: 1.25rem 1.25rem 1.5rem; gap: .8rem; }
	.m-promo__unit span { font-size: 1.4rem; }
	.m-promo__actions { display: grid; }
	.m-promo__more { justify-self: center; }
}
@media (prefers-reduced-motion: reduce) { .m-promo__overlay, .m-promo__dialog { transition: none; } }
.m-promo .m-promo__buy { --btn-bg: var(--m-accent, #F7941D); --btn-fg: var(--m-ink, #0F2A44); }
.m-promo .m-promo__buy:hover, .m-promo .m-promo__buy:focus { --btn-bg: #E8830C; --btn-fg: var(--m-ink, #0F2A44); }
