/* Saved passengers (مسافران ذخیره‌شده): profile page, picker dialog, login popup */
html.prime-pax-lock, html.prime-pax-lock body { overflow: hidden !important; }
.prime-pax, .prime-pax-sheet, .prime-pax-login { --pc: var(--prime_card_accent, #082c86); --pcs: var(--prime_card_accent_soft, #eef3fc); direction: rtl; text-align: right; font-family: var(--t-font, Vazirmatn, Vazir, IRANSans, Tahoma, sans-serif); }
.prime-pax *, .prime-pax-sheet *, .prime-pax-login * { box-sizing: border-box; font-family: var(--t-font, inherit) !important; }
.prime-pax-i { display: inline-flex; flex: none; line-height: 0; }
.prime-pax-i svg { width: 1em; height: 1em; }

/* small text link inside each passenger block */
.prime-pax-pick { display: inline-flex !important; align-items: center; gap: 5px; margin: 0 0 10px; padding: 2px 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--prime_card_accent, #1677ff) !important; font: 600 13px/1.4 var(--t-font, inherit) !important; cursor: pointer; }
.prime-pax-pick svg { width: 15px !important; height: 15px !important; max-width: 15px; flex: none; }
.prime-pax-pick:hover { opacity: .75; }

/* the picker link sits in the header box of each passenger block, at its far end */
.prime-pax-hdr { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; }
.prime-pax-hdr h3, .prime-pax-hdr h5 { margin: 0 !important; }
.prime-pax-hdr .prime-pax-pick { margin: 0; flex: none; }
.prime-pax-hdr--head { margin-bottom: 10px; }

/* shared */
.prime-pax-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 20px !important; border: 0 !important; border-radius: 13px !important; background: var(--pc) !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer; box-shadow: 0 8px 18px -8px var(--pc) !important; transition: transform .15s, box-shadow .15s; }
.prime-pax-btn:hover { transform: translateY(-1px); }
.prime-pax-av { flex: none; width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 800; background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }
.prime-pax-av.is-f { background: linear-gradient(135deg, #fce7f3, #fbcfe8); color: #be185d; }
.prime-pax-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.prime-pax-tx b { max-width: 100%; font-size: 15px; font-weight: 800; color: #101828; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prime-pax-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.prime-pax-chip { padding: 2px 9px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 12px; font-weight: 600; line-height: 1.7; }
.prime-pax-chip.is-m { background: #eff6ff; color: #1d4ed8; }
.prime-pax-chip.is-f { background: #fdf2f8; color: #be185d; }
.prime-pax-chip.is-used { background: #fff7e6; color: #b54708; }
.prime-pax-emptybox { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 16px 18px; text-align: center; color: var(--pc); }
.prime-pax-emptybox p { margin: 0; max-width: 300px; color: #667085; font-size: 13.5px; line-height: 1.9; }
.prime-pax-loading { margin: 0; padding: 28px 12px; text-align: center; color: #667085; font-size: 14px; }

/* profile page */
.prime-pax { max-width: 820px; margin: 0 auto; padding: 18px; border: 1px solid #e8ebf0; border-radius: 22px; background: #fff; box-shadow: 0 14px 34px -22px rgba(16, 24, 40, .25); }
.prime-pax-head { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px dashed #e4e7ec; margin-bottom: 14px; }
.prime-pax-hic { flex: none; width: 50px; height: 50px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--pcs); color: var(--pc); }
.prime-pax-htx { flex: 1; min-width: 0; }
.prime-pax-htx h3 { margin: 0 0 3px; font-size: 18px; font-weight: 800; color: #101828; }
.prime-pax-htx p { margin: 0; color: #667085; font-size: 13px; line-height: 1.8; }
.prime-pax-search { display: flex; align-items: center; gap: 8px; height: 46px; margin: 0 0 14px; padding: 0 14px; border-radius: 13px; background: #f5f7fa; color: #98a2b3; }
.prime-pax-search[hidden] { display: none; }
.prime-pax-search input { flex: 1; min-width: 0; height: 100%; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 14px !important; color: #101828; }
.prime-pax-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.prime-pax-list > .prime-pax-emptybox, .prime-pax-list > .prime-pax-loading { grid-column: 1 / -1; }
.prime-pax-card { display: flex; flex-direction: column; gap: 12px; padding: 14px; border: 1px solid #e8ebf0; border-radius: 18px; background: linear-gradient(180deg, #fff, #fafbfd); transition: border-color .15s, box-shadow .15s, transform .15s; }
.prime-pax-card:hover { border-color: var(--pc); box-shadow: 0 12px 26px -16px var(--pc); transform: translateY(-2px); }
.prime-pax-card-top { display: flex; align-items: center; gap: 12px; }
.prime-pax-card-act { display: flex; gap: 8px; padding-top: 12px; border-top: 1px solid #eef1f5; }
.prime-pax-ic { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 10px !important; border: 0 !important; border-radius: 10px !important; background: #f2f4f7 !important; color: #344054 !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer; transition: background .15s; }
.prime-pax-ic:hover { background: var(--pcs) !important; color: var(--pc) !important; }
.prime-pax-ic.is-del { color: #b42318 !important; background: #fef3f2 !important; }
.prime-pax-ic.is-del:hover { background: #fee4e2 !important; color: #b42318 !important; }
@media (max-width: 640px) { .prime-pax { padding: 14px; border-radius: 18px; } .prime-pax-head { flex-wrap: wrap; } .prime-pax-head .prime-pax-btn { width: 100%; } .prime-pax-list { grid-template-columns: 1fr; } }

/* dialogs (picker + form) */
.prime-pax-sheet { position: fixed; inset: 0; z-index: 100010; padding: 16px; display: flex; align-items: center; justify-content: center; background: rgba(16, 24, 40, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.prime-pax-sheet-box { width: 100%; max-width: 440px; max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 24px; box-shadow: 0 30px 70px rgba(16, 24, 40, .35); overflow: hidden; animation: prime-pax-up .24s cubic-bezier(.2,.8,.25,1) both; }
@keyframes prime-pax-up { from { transform: translateY(24px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.prime-pax-dhead { display: flex; align-items: center; gap: 12px; padding: 18px 18px 14px; }
.prime-pax-dic { flex: none; width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: var(--pcs); color: var(--pc); font-size: 20px; }
.prime-pax-dtx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.prime-pax-dtx strong { font-size: 16.5px; font-weight: 800; color: #101828; }
.prime-pax-dtx small { color: #667085; font-size: 12.5px; }
.prime-pax-x { flex: none; align-self: flex-start; width: 34px; height: 34px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #f2f4f7 !important; color: #475467 !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer; }
.prime-pax-sheet-list { overflow-y: auto; padding: 4px 16px 6px; display: flex; flex-direction: column; gap: 10px; }
.prime-pax-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px !important; border: 1.5px solid #e8ebf0 !important; border-radius: 16px !important; background: #fff !important; text-align: right; cursor: pointer; color: #98a2b3; transition: border-color .15s, box-shadow .15s, transform .15s, color .15s; }
.prime-pax-item:hover:not(:disabled) { border-color: var(--pc) !important; box-shadow: 0 10px 22px -14px var(--pc); transform: translateY(-1px); color: var(--pc); }
.prime-pax-item:disabled { opacity: .55; cursor: not-allowed; }
.prime-pax-foot { padding: 12px 16px 18px; }
.prime-pax-addnew { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px; padding: 0 16px !important; border: 0 !important; border-radius: 16px !important; background: #0b1f5c !important; color: #fff !important; font-size: 14.5px !important; font-weight: 700 !important; cursor: pointer; box-shadow: 0 10px 20px -10px #0b1f5c !important; transition: background .15s, transform .15s; }
.prime-pax-addnew:hover:not(:disabled) { background: #102a75 !important; transform: translateY(-1px); }
.prime-pax-addnew:disabled { opacity: .5; }
.prime-pax-body { padding: 4px 18px 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.prime-pax-f { display: flex; flex-direction: column; gap: 7px; font-size: 13px; color: #475467; font-weight: 700; }
.prime-pax-f[hidden] { display: none; }
.prime-pax-f input { height: 48px; padding: 0 14px; border: 1.5px solid #e4e7ec; border-radius: 13px; font-size: 15px; background: #fafbfc; color: #101828; transition: border-color .15s, box-shadow .15s, background .15s; }
.prime-pax-f input:focus { outline: 0; background: #fff; border-color: var(--pc); box-shadow: 0 0 0 4px var(--pcs); }
.prime-pax-seg { display: flex; gap: 4px; padding: 4px; border-radius: 13px; background: #f2f4f7; }
.prime-pax-seg button { flex: 1; min-height: 38px; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: #475467 !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer; transition: background .15s, color .15s; }
.prime-pax-seg button.is-on { background: var(--pc) !important; color: #fff !important; box-shadow: 0 6px 14px -8px var(--pc); }
.prime-pax-err { min-height: 18px; color: #b42318; font-size: 13px; }
.prime-pax-save { width: 100%; }

/* login popup */
.prime-pax-login { position: fixed; inset: 0; z-index: 100020; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(16, 24, 40, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.prime-pax-login[hidden] { display: none; }
.prime-pax-login-box { position: relative; width: 100%; max-width: 400px; max-height: 92vh; overflow-y: auto; padding: 28px 22px 22px; background: #fff; border-radius: 22px; box-shadow: 0 24px 60px rgba(16, 24, 40, .32); animation: prime-pax-up .22s cubic-bezier(.2,.8,.25,1) both; }
.prime-pax-login-box .prime-pax-x { position: absolute; top: 12px; left: 12px; }
.prime-pax-login-top { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; margin-bottom: 16px; }
.prime-pax-login-ic { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--prime_card_accent_soft, #eef3fc); color: var(--prime_card_accent, #082c86); }
.prime-pax-login-top strong { font-size: 17px; font-weight: 800; color: #101828; }
.prime-pax-login-top p { margin: 0; color: #667085; font-size: 13.5px; line-height: 1.8; }
.prime-pax-login-body { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 64px; padding: 16px; text-align: center; border: 1.5px solid #dbe3f3; border-radius: 16px; background: #f7f9fe; }
.prime-pax-login-body a, .prime-pax-login-body button { font-weight: 700; }
.prime-pax-login-body form { margin: 0; }
/* the shortcode opened its own popup: only that popup is shown */
.prime-pax-login.is-handoff { background: transparent; pointer-events: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.prime-pax-login.is-handoff .prime-pax-login-box { background: none; box-shadow: none; padding: 0; animation: none; }
.prime-pax-login.is-handoff .prime-pax-login-top, .prime-pax-login.is-handoff .prime-pax-x, .prime-pax-login.is-handoff .prime-pax-login-body > *:not([style*="visibility"]) { visibility: hidden; }
.prime-pax-hdr .prime-wz-pax-title { margin: 0 !important; display: inline; }
/* while the login plugin's own popup is on screen, nothing of our frame may remain (the grey/white strip under it) */
.prime-pax-login.is-handoff .prime-pax-login-body { background: none !important; border-color: transparent !important; box-shadow: none !important; }
.prime-pax-login.is-handoff .prime-pax-login-body > * { flex-shrink: 0; }
.prime-pax-login-body { cursor: pointer; }
.prime-pax-login-body a, .prime-pax-login-body button, .prime-pax-login-body input { cursor: pointer; }
