/* Small fixes loaded after all other styles (safe to upload on its own) */

/* Flight list filters: the box stays in view while scrolling, below the sticky menu bar,
   and scrolls inside itself when it is taller than the screen, so every sector can be reached. */
.tl-side{top:96px;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#d3c7a8 transparent;border-radius:12px}
.tl-side::-webkit-scrollbar{width:6px}
.tl-side::-webkit-scrollbar-thumb{background:#d3c7a8;border-radius:6px}
.tl-side::-webkit-scrollbar-track{background:transparent}
/* the sectors list no longer needs its own small scroll box inside the filter box */
.tl-side .tl-fscroll{max-height:none;overflow:visible}
/* keep "Apply filters" visible at the bottom of the box */
.tl-side .tl-fbtns{position:sticky;bottom:-16px;background:#fff;padding:10px 0 4px;margin-bottom:-4px;border-top:1px solid var(--line,#e6e1d3)}
@media (max-width:860px){.tl-side{position:static;max-height:none;overflow:visible}.tl-side .tl-fbtns{position:static;border-top:0}}

/* Ticket: the booking agent's logo and details at the top, airline PNR in a clear box */
.v-agent img{width:auto;max-width:150px;height:62px;object-fit:contain}
.v-initials{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;flex:none;background:#0d2b4e;color:#e6c584;font:700 20px Inter,Arial,sans-serif;letter-spacing:.04em}
.v-pnr{display:inline-block;text-align:center;border:2px solid #0d2b4e;border-radius:10px;padding:6px 16px 8px;margin-bottom:8px}
.v-pnr span{font-size:11px!important;text-transform:uppercase;letter-spacing:.1em;color:#5c6672}
.v-pnr strong{font:700 1.6rem/1.1 Inter,Arial,sans-serif!important;letter-spacing:.12em;color:#0d2b4e;margin:2px 0 0!important}
.v-pnr.is-pending{border-style:dashed;border-color:#c9973b}
.v-pnr.is-pending strong{font-size:1.1rem!important;letter-spacing:.04em;color:#a06a10}
.v-ref b{color:#0d2b4e}

/* Agency profile page */
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;max-width:1040px;margin:0 auto}
.profile-grid .form-card{max-width:none;margin:0}
.logo-now{display:flex;align-items:center;gap:12px;margin:4px 0 10px}
.logo-now img{height:56px;max-width:150px;object-fit:contain;border:1px solid #e6e1d3;border-radius:8px;padding:4px;background:#fff}
.logo-now span{font-size:12.5px;color:#5c6672}
.phone-row{display:flex;gap:8px}
.ticket-preview h3{margin-top:0}
.tp-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border:1px solid #e6e1d3;border-bottom:2px solid #0d2b4e;border-radius:10px;padding:16px;margin:12px 0;background:#fff}
.tp-brand{display:flex;gap:12px;align-items:center;min-width:0}
.tp-brand img{height:52px;max-width:120px;object-fit:contain}
.tp-initials{width:50px;height:50px;border-radius:10px;display:grid;place-items:center;flex:none;background:#0d2b4e;color:#e6c584;font:700 17px Inter,Arial,sans-serif}
.tp-brand strong{display:block;font-family:Lora,Georgia,serif;color:#0d2b4e;font-size:1.05rem}
.tp-brand span{display:block;font-size:12px;color:#5c6672}
.tp-pnr{text-align:center;border:2px solid #0d2b4e;border-radius:8px;padding:4px 10px;flex:none}
.tp-pnr span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#5c6672}
.tp-pnr strong{font:700 1.05rem Inter,Arial,sans-serif;letter-spacing:.1em;color:#0d2b4e}
@media (max-width:860px){.profile-grid{grid-template-columns:1fr}}

/* Payment popup after a booking (includes/payment_popup.php) */
.pp{border:0;padding:0;border-radius:16px;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 30px 70px rgba(7,26,48,.35);color:#1b2430;font-family:Inter,Arial,sans-serif}
.pp::backdrop{background:rgba(7,18,32,.62);backdrop-filter:blur(2px)}
.pp[open]{animation:ppIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes ppIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.pp-head{display:flex;align-items:center;gap:14px;padding:20px 22px;background:linear-gradient(120deg,#071a30,#0d2b4e);color:#fff;position:sticky;top:0;z-index:1}
.pp-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#1a7a45;color:#fff;flex:none}
.pp-kicker{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e6c584}
.pp-head h2{margin:2px 0 0;font:700 1.2rem/1.3 Inter,Arial,sans-serif;color:#fff}
.pp-x{margin-left:auto;background:rgba(255,255,255,.12);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;flex:none}
.pp-x:hover{background:rgba(255,255,255,.22)}
.pp-body{padding:20px 22px 6px}
.pp-due{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #e3ded2;border-radius:12px;overflow:hidden}
.pp-due>div{padding:10px 14px;background:#f5f7fa;border-right:1px solid #e3ded2}
.pp-due>div:last-child{border-right:0}
.pp-due span{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#5c6672}
.pp-due strong{display:block;font-size:1.05rem;color:#0d2b4e;margin-top:2px}
.pp-timer .countdown{display:inline-block;margin-top:3px;background:#fdeceb;color:#a93226;border-radius:20px;padding:3px 10px;font-weight:700;font-size:13px}
.pp-notice{margin:14px 0 4px;padding:12px 14px 12px 16px;border-radius:10px;background:#fff6e8;border:1px solid #f1d9ab;border-left:4px solid #c0392b}
.pp-notice strong{display:block;color:#a93226;font-size:13.5px}
.pp-notice p{margin:4px 0 0;font-size:13px;line-height:1.55;color:#4a3a1c}
.pp-h{margin:16px 0 8px;font:700 12px Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0d2b4e}
.pp-accounts{display:grid;grid-template-columns:1fr;gap:10px}
.pp-acc{border:1px solid #e3ded2;border-radius:12px;padding:12px 14px;background:#fff}
.pp-bank{display:block;color:#0d2b4e;font-size:14.5px;margin-bottom:4px}
.pp-acc p{margin:4px 0;font-size:13px;display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:6px}
.pp-acc p span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#5c6672}
.pp-copy-val{font-family:ui-monospace,Consolas,monospace;font-size:13px;letter-spacing:.01em;word-break:break-all}
.pp-copy{border:1px solid #c9973b;background:#fff;color:#8a5b0c;border-radius:6px;padding:2px 9px;font:600 11.5px Inter,Arial,sans-serif;cursor:pointer}
.pp-copy.ok{background:#1a7a45;border-color:#1a7a45;color:#fff}
.pp-none{font-size:13.5px;color:#5c6672}
.pp-steps{margin:14px 0 6px;padding-left:20px;font-size:13px;color:#3b4552}
.pp-steps li{margin:3px 0}
.pp-extra{font-size:12.5px;color:#5c6672;margin:6px 0 0}
.pp-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:14px 22px 18px;border-top:1px solid #eee;margin-top:10px;background:#fcfbf8;position:sticky;bottom:0}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;font:700 13.5px Inter,Arial,sans-serif;text-decoration:none;cursor:pointer;border:1.5px solid transparent}
.pp-wa{background:#1fa855;color:#fff}.pp-wa:hover{background:#178a45}
.pp-line{border-color:#0d2b4e;color:#0d2b4e;background:#fff}
.pp-ok{background:#c9973b;color:#20160a}.pp-ok:hover{background:#e6c584}
@media (max-width:560px){.pp-due{grid-template-columns:1fr}.pp-due>div{border-right:0;border-bottom:1px solid #e3ded2}.pp-foot{justify-content:stretch}.pp-btn{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){.pp[open]{animation:none}}

/* Admin bookings: supplier badge (admin only) */
.sup-badge{display:inline-block;font-size:11.5px;font-weight:700;border-radius:20px;padding:3px 10px;border:1px solid transparent;white-space:nowrap}
.sup-api{background:#e7f6ee;color:#16683a;border-color:#bfe3cc}
.sup-csv{background:#fff4e2;color:#8a5b0c;border-color:#f0d7a6}
.sup-own{background:#e9eff8;color:#0d2b4e;border-color:#cad7ea}
.sup-fact em{font-style:normal;font-size:12px;color:#5c6672}
.sup-fact small{font-size:12px;color:#5c6672}