/* =====================================================================
 * Notice window (prime-notice.js): «به روز رسانی جستجو», seat notice
 * ===================================================================== */
html.prime-ntc-open, html.prime-ntc-open body { overflow: hidden !important; }
.prime-ntc {
	--n-c: var(--prime_card_accent, #082c86);
	--n-soft: var(--prime_card_accent_soft, #eef3fc);
	--n-hi: #f59e0b;
	--n-btn-text: #fff;
	--n-title: #0f172a;
	--n-text: #475569;
	position: fixed; inset: 0; z-index: 100003;
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
	background: rgba(15, 23, 42, .52);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	font-family: var(--t-font, Vazirmatn, Vazir, IRANSans, Tahoma, sans-serif);
	direction: rtl;
	animation: prime-ntc-fade .2s ease both;
}
.prime-ntc.is-out { animation: prime-ntc-fade .18s ease reverse both; }
.prime-ntc-box {
	position: relative; width: 100%; max-width: 400px; box-sizing: border-box;
	padding: 26px 24px 22px;
	background: #fff; border-radius: 24px;
	box-shadow: 0 30px 70px -24px rgba(15, 23, 42, .55);
	text-align: center; color: var(--n-title);
	animation: prime-ntc-pop .34s cubic-bezier(.2, .8, .25, 1.15) both;
}
.prime-ntc-grip { display: none; }
.prime-ntc-art {
	width: 168px; height: 126px; margin: 0 auto 14px;
}
.prime-ntc-bg { fill: var(--n-soft); }
.prime-ntc-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.prime-ntc-ring { fill: none; stroke: var(--n-c); stroke-opacity: .16; stroke-width: 2; transform-origin: 80px 60px; animation: prime-ntc-ring 2.4s ease-out infinite; }
/* search: a results card being scanned */
.prime-ntc-card rect:first-child { filter: drop-shadow(0 6px 10px rgba(15, 23, 42, .12)); }
.prime-ntc-dot { fill: var(--n-soft); stroke: var(--n-c); stroke-opacity: .35; stroke-width: 1.5; }
.prime-ntc-bar { fill: #e2e8f0; animation: prime-ntc-shim 1.6s ease-in-out infinite; }
.prime-ntc-bar.b2 { animation-delay: .2s; }
.prime-ntc-bar.b3 { animation-delay: .4s; }
.prime-ntc-mag { animation: prime-ntc-scan 3.2s ease-in-out infinite; transform-box: view-box; }
.prime-ntc-lens { fill: rgba(255, 255, 255, .55); stroke: var(--n-c); stroke-width: 6; }
.prime-ntc-glint { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; opacity: .95; }
.prime-ntc-handle { stroke: var(--n-c); stroke-width: 9; stroke-linecap: round; }
/* seat: a seat with a notice badge */
.prime-ntc-back { fill: var(--n-c); }
.prime-ntc-cush { fill: var(--n-c); filter: brightness(1.25); }
.prime-ntc-arm { fill: var(--n-c); opacity: .75; }
.prime-ntc-leg { stroke: var(--n-c); stroke-width: 5; stroke-linecap: round; opacity: .6; }
.prime-ntc-stitch { stroke: #fff; stroke-opacity: .35; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 3 4; }
.prime-ntc-seat { animation: prime-ntc-nudge 3s ease-in-out infinite; transform-origin: 77px 94px; transform-box: view-box; }
.prime-ntc-badge circle:first-child { fill: var(--n-hi); stroke: #fff; stroke-width: 3.5; }
.prime-ntc-badge { animation: prime-ntc-ding 2.2s ease-in-out infinite; transform-origin: 110px 30px; transform-box: view-box; }
.prime-ntc-ex { stroke: #fff; stroke-width: 3.4; stroke-linecap: round; }
.prime-ntc-exd { fill: #fff; }
.prime-ntc-swap path { fill: none; stroke: var(--n-hi); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.prime-ntc-swap { animation: prime-ntc-swap 3s ease-in-out infinite; }

.prime-ntc-title { margin: 0 0 8px !important; font-size: 18.5px !important; font-weight: 800 !important; color: var(--n-title) !important; line-height: 1.5 !important; font-family: inherit !important; }
.prime-ntc-text { margin: 0 0 20px !important; font-size: 14px; line-height: 1.95; color: var(--n-text) !important; }
.prime-ntc-actions { display: flex; gap: 10px; }
.prime-ntc-btn {
	flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center;
	min-height: 50px; padding: 0 14px; box-sizing: border-box;
	border-radius: 14px; border: 1.5px solid transparent;
	font: 700 15px/1.2 var(--t-font, Vazirmatn, Vazir, Tahoma, sans-serif) !important;
	text-decoration: none !important; cursor: pointer;
	transition: transform .12s ease, filter .15s ease, background .15s ease;
}
.prime-ntc-btn:active { transform: scale(.97); }
.prime-ntc-btn.is-primary { background: var(--n-c); color: var(--n-btn-text) !important; box-shadow: 0 10px 22px -12px var(--n-c); }
.prime-ntc-btn.is-primary:hover { filter: brightness(1.12); }
.prime-ntc-btn.is-ghost { background: #fff; color: var(--n-c) !important; border-color: #dbe3ef; border-color: color-mix(in srgb, var(--n-c) 22%, #fff); }
.prime-ntc-btn.is-ghost:hover { background: color-mix(in srgb, var(--n-c) 7%, #fff); }
.prime-ntc-btn:focus-visible { outline: 3px solid rgba(8, 44, 134, .28); outline-offset: 2px; }
.prime-ntc-btn:focus-visible { outline-color: color-mix(in srgb, var(--n-c) 30%, transparent); }
.prime-ntc-btn.is-loading { pointer-events: none; color: transparent !important; position: relative; }
.prime-ntc-btn.is-loading::after { content: ""; position: absolute; width: 20px; height: 20px; border-radius: 50%; border: 2.5px solid rgba(255, 255, 255, .45); border-top-color: var(--n-btn-text); animation: prime-ntc-spin .7s linear infinite; }

@keyframes prime-ntc-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes prime-ntc-pop { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes prime-ntc-sheet { from { transform: translateY(100%); } to { transform: none; } }
@keyframes prime-ntc-ring { 0% { transform: scale(.82); opacity: .9; } 100% { transform: scale(1.12); opacity: 0; } }
@keyframes prime-ntc-shim { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes prime-ntc-scan {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	25% { transform: translate(26px, -10px) rotate(-6deg); }
	50% { transform: translate(30px, 18px) rotate(4deg); }
	75% { transform: translate(-4px, 16px) rotate(-3deg); }
}
@keyframes prime-ntc-nudge { 0%, 70%, 100% { transform: translateX(0); } 78% { transform: translateX(-6px); } 86% { transform: translateX(4px); } 92% { transform: translateX(-2px); } }
@keyframes prime-ntc-ding { 0%, 60%, 100% { transform: rotate(0) scale(1); } 66% { transform: rotate(-16deg) scale(1.12); } 72% { transform: rotate(13deg) scale(1.12); } 78% { transform: rotate(-8deg); } 84% { transform: rotate(4deg); } }
@keyframes prime-ntc-swap { 0%, 60%, 100% { opacity: .25; } 75% { opacity: 1; } }
@keyframes prime-ntc-spin { to { transform: rotate(360deg); } }

@media (max-width: 560px) {
	.prime-ntc { align-items: flex-end; padding: 0; }
	.prime-ntc-box {
		max-width: none; border-radius: 26px 26px 0 0;
		padding: 12px 20px calc(20px + env(safe-area-inset-bottom, 0px));
		animation: prime-ntc-sheet .32s cubic-bezier(.2, .8, .25, 1) both;
	}
	.prime-ntc-grip { display: block; width: 44px; height: 5px; border-radius: 5px; background: #e2e8f0; margin: 0 auto 14px; }
	.prime-ntc-art { width: 150px; height: 112px; }
}
/* «مدت زمان پرداخت به اتمام رسید» (cart / checkout timer) */
.prime-ntc-box.is-time { --n-hi: #dc2626; }
.prime-ntc-face { stroke: var(--n-c); stroke-width: 4; }
.prime-ntc-tick, .prime-ntc-crown { stroke: var(--n-c); stroke-width: 3.5; stroke-linecap: round; fill: none; }
.prime-ntc-hand { stroke: var(--n-c); stroke-width: 3.5; stroke-linecap: round; transform-origin: 80px 62px; transform-box: view-box; animation: prime-ntc-hand 2.4s cubic-bezier(.5,0,.3,1) infinite; }
.prime-ntc-hand.h2 { animation-duration: 7.2s; }
.prime-ntc-pin { fill: var(--n-c); }
.prime-ntc-clock { animation: prime-ntc-shake 2.4s ease-in-out infinite; transform-origin: 80px 62px; transform-box: view-box; }
.prime-ntc-box.is-time .prime-ntc-badge { transform-origin: 108px 36px; }
@keyframes prime-ntc-hand { to { transform: rotate(360deg); } }
@keyframes prime-ntc-shake { 0%, 78%, 100% { transform: rotate(0); } 82% { transform: rotate(-6deg); } 88% { transform: rotate(6deg); } 94% { transform: rotate(-3deg); } }
@media (prefers-reduced-motion: reduce) {
	.prime-ntc-hand, .prime-ntc-clock { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.prime-ntc, .prime-ntc-box, .prime-ntc-ring, .prime-ntc-bar, .prime-ntc-mag, .prime-ntc-seat, .prime-ntc-badge, .prime-ntc-swap { animation: none !important; }
}

/* «دربست» window (primeNotice icon 'car', lead + rows) */
.prime-ntc-lead{margin:2px 0 4px!important;font-weight:800;font-size:15px;color:#1f2633}
.prime-ntc-rows{margin:12px 0 16px!important;padding:0!important;border-radius:14px;background:#f7f8fb;text-align:right}
.prime-ntc-rows>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px}
.prime-ntc-rows>div+div{border-top:1px dashed #e3e7ee}
.prime-ntc-rows dt{margin:0;color:#6b7383;font-size:13px;font-weight:700}
.prime-ntc-rows dd{margin:0!important;font-weight:900;font-size:15px;color:#1f2633;overflow-wrap:anywhere}
.prime-ntc-rows>div:last-child dd{color:#b45309;font-size:17px}
.prime-ntc-car .prime-ntc-body{fill:#f59e0b}
.prime-ntc-car .prime-ntc-glass{fill:#fff;opacity:.85}
.prime-ntc-car .prime-ntc-wheel{fill:#1f2633;stroke:#fff;stroke-width:3}
.prime-ntc-car .prime-ntc-light{stroke:#fff;stroke-width:4;stroke-linecap:round}
.prime-ntc-badge .prime-ntc-ok{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* Prime logo (crown over «P») for the exclusive-service notice */
.prime-ntc-logo .prime-ntc-p { transform-origin: 80px 70px; animation: pnPop .7s cubic-bezier(.2,1.3,.4,1) both; }
.prime-ntc-logo .prime-ntc-crown { transform-origin: 80px 40px; animation: pnCrown .9s .25s cubic-bezier(.2,1.2,.4,1) both, pnFloat 3.2s 1.3s ease-in-out infinite; }
.prime-ntc-logo .prime-ntc-orbit { stroke: #1f6feb; stroke-opacity: .35; stroke-width: 1.6; stroke-dasharray: 5 9; transform-origin: 80px 60px; animation: pnSpin 14s linear infinite; }
.prime-ntc-logo .prime-ntc-spark path { fill: #f59e0b; transform-box: fill-box; transform-origin: center; animation: pnTwinkle 2s ease-in-out infinite; }
.prime-ntc-logo .prime-ntc-spark path:last-child { animation-delay: .9s; fill: #1f6feb; }
@keyframes pnPop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes pnCrown { from { transform: translateY(-26px) rotate(-8deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pnFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes pnSpin { to { transform: rotate(360deg); } }
@keyframes pnTwinkle { 0%,100% { transform: scale(.5); opacity: .4; } 50% { transform: scale(1.1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .prime-ntc-logo * { animation: none !important; } }

/* Taxi for the exclusive-service notice */
.prime-ntc-taxi .rd { stroke: #cfd6e6; stroke-width: 3; stroke-linecap: round; }
.prime-ntc-taxi .dash { stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 8 8; animation: ptRoad .7s linear infinite; }
.prime-ntc-taxi .prime-ntc-cab { animation: ptBounce .5s ease-in-out infinite alternate, ptIn .8s cubic-bezier(.2,1.1,.4,1) both; transform-origin: 80px 90px; }
.prime-ntc-taxi .body { fill: #fbbf24; stroke: #d99a06; stroke-width: 1.4; stroke-linejoin: round; }
.prime-ntc-taxi .glass { fill: #dff1ff; stroke: #d99a06; stroke-width: 1.2; stroke-linejoin: round; }
.prime-ntc-taxi .band { stroke: #1f2633; stroke-width: 1.4; }
.prime-ntc-taxi .chk { fill: #1f2633; }
.prime-ntc-taxi .sign { fill: #1f2633; }
.prime-ntc-taxi .signt { fill: #fbbf24; font: 800 6.4px/1 sans-serif; letter-spacing: .4px; animation: ptGlow 1.6s ease-in-out infinite; }
.prime-ntc-taxi .mast { stroke: #1f2633; stroke-width: 2.4; }
.prime-ntc-taxi .lamp { fill: #fff6c2; } .prime-ntc-taxi .lamp.r { fill: #ff7a59; }
.prime-ntc-taxi .tyre { fill: #1f2633; stroke: #fff; stroke-width: 2.4; }
.prime-ntc-taxi .hub { fill: #cfd6e6; }
.prime-ntc-taxi .spk { stroke: #8a93a8; stroke-width: 1.4; }
.prime-ntc-taxi .wh { transform-box: fill-box; transform-origin: center; animation: ptSpin .6s linear infinite; }
@keyframes ptRoad { to { stroke-dashoffset: -16; } }
@keyframes ptBounce { from { transform: translateY(0); } to { transform: translateY(-1.5px); } }
@keyframes ptIn { from { transform: translateX(-40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ptSpin { to { transform: rotate(360deg); } }
@keyframes ptGlow { 0%,100% { opacity: 1; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .prime-ntc-taxi * { animation: none !important; } }

/* «در حال انتقال به رزرو جدید» waiting card */
.prime-ntc-box.is-wait .prime-ntc-text { margin-bottom: 18px; }
.prime-ntc-wait { height: 6px; border-radius: 6px; background: #e6ecf8; overflow: hidden; margin: 4px 6px 6px; }
.prime-ntc-wait i { display: block; height: 100%; width: 40%; border-radius: 6px; background: linear-gradient(90deg, #0b3aa8, #1f6feb); animation: pnWait 1.1s ease-in-out infinite; }
@keyframes pnWait { 0% { transform: translateX(-110%); } 100% { transform: translateX(260%); } }
