/* ===== UI Polish v1.2.8.0 (Trip card + Modal) ===== */
.flyup-ftbs-trip{background:#fff;}
.flyup-ftbs-trip__grid{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:stretch;}
.flyup-ftbs-trip__right{display:flex;justify-content:flex-end;align-items:stretch;}
.flyup-ftbs-trip__img,.flyup-ftbs-trip__imgph{width:220px;max-width:220px;height:160px;border-radius:12px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6;}
.flyup-ftbs-trip__imgph:after{content:'Bus photo';display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:#6b7280;}
.flyup-ftbs-trip__actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.flyup-ftbs-trip__btn{padding:10px 14px;border-radius:10px;border:0;background:#f97316;color:#fff;cursor:pointer;font-weight:700;}
.flyup-ftbs-trip__btn:hover{opacity:.92}
.flyup-ftbs-trip__details-btn{padding:10px 14px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;font-weight:700;}
.flyup-ftbs-trip__details-btn:hover{background:#f9fafb}

.flyup-ftbs-trip__chips{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.flyup-ftbs-chip{display:inline-flex;gap:8px;align-items:center;border:1px solid #e5e7eb;background:#f9fafb;border-radius:999px;padding:6px 10px;font-size:12px;color:#111827;}
.flyup-ftbs-chip span{color:#6b7280}
.flyup-ftbs-chip b{font-weight:800}

.flyup-ftbs-trip__details{margin-top:12px;border-top:1px dashed #e5e7eb;padding-top:12px;}
.flyup-ftbs-trip__details-grid{display:grid;grid-template-columns:1fr 240px;gap:14px;align-items:start;}
.flyup-ftbs-trip__subttl{font-size:12px;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;}
.flyup-ftbs-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;margin:0 8px 8px 0;}
.flyup-ftbs-trip__muted{font-size:12px;color:#6b7280;}
.flyup-ftbs-trip__text{font-size:13px;color:#111827;white-space:pre-wrap;}
.flyup-ftbs-trip__gallery{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.flyup-ftbs-trip__thumb{width:72px;height:56px;border-radius:10px;object-fit:cover;border:1px solid #e5e7eb;background:#f3f4f6;}

@media (max-width:860px){
  .flyup-ftbs-trip__grid{grid-template-columns:1fr;}
  .flyup-ftbs-trip__right{justify-content:flex-start;}
  .flyup-ftbs-trip__img,.flyup-ftbs-trip__imgph{width:100%;max-width:none;height:180px;}
  .flyup-ftbs-trip__details-grid{grid-template-columns:1fr;}
}

/* Modal */
.flyup-ftbs-fe-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter: blur(2px);
  z-index:9998;
}
.flyup-ftbs-fe-seat--modal.is-open{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(1280px, calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow:auto;
  z-index:9999;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
body.ftbs-fe-modal-open{overflow:hidden;}

/* Seat header area (match mockup: tools on top-right) */
.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__head{gap:10px;border-bottom:0;padding:0;background:transparent;position:sticky;top:0;z-index:2;}
.flyup-ftbs-fe-seat--modal .ftbs-seat__tools{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:12px 12px 0 12px;}
.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__close{
  background:#ef4444;border-color:#ef4444;color:#fff;font-weight:900;
  border-radius:999px;padding:8px 18px;box-shadow:0 10px 24px rgba(239,68,68,.25);
}
.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__close:hover{filter:brightness(.98)}


.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__xclose{
  display:none;
  width:40px;height:40px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#ffffff;
  color:#111827;
  font-size:22px;
  line-height:1;
  font-weight:900;
  align-items:center;
  justify-content:center;
}
.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__xclose:hover{filter:brightness(.98)}

@media (max-width: 768px){
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__close{display:none;}
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__xclose{display:inline-flex;}

  /* Mobile-only positioning (do NOT affect desktop)
     - X close: top-right fixed
     - Hold timer: bottom-left floating like mockup
  */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__xclose{
    position:fixed;
    top:18px;
    right:18px;
    z-index:10060;
    width:44px;
    height:44px;
    border-radius:14px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
  }
  .flyup-ftbs-fe-seat--modal .ftbs-seat-timerbox--head{
    position:fixed;
    left:18px;
    bottom:18px;
    z-index:10060;
    min-width:140px;
  }
}
/* Make the body area look like a clean canvas */
.flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__body{padding:12px 12px 16px 12px;background:#f8fafc;}

/* Trip header inside modal */
.flyup-ftbs-fe-scratch .ftbs-seat-triphead{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.flyup-ftbs-fe-scratch .ftbs-seat-triphead__route{font-size:18px;font-weight:800;color:#111827;}
.flyup-ftbs-fe-scratch .ftbs-seat-triphead__meta{margin-top:4px;font-size:13px;color:#374151;}
.flyup-ftbs-fe-scratch .ftbs-seat-timerbox{
  background:#facc15;border:1px solid #eab308;border-radius:14px;
  padding:10px 12px;min-width:120px;text-align:center;
}
.flyup-ftbs-fe-seat--modal .ftbs-seat-timerbox--head{min-width:118px;border-radius:14px;box-shadow:0 10px 24px rgba(234,179,8,.20)}
.flyup-ftbs-fe-scratch .ftbs-seat-timerbox__value{font-size:20px;font-weight:900;color:#111827;background:transparent;border:0;padding:0;}
.flyup-ftbs-fe-scratch .ftbs-seat-timerbox__label{font-size:12px;font-weight:800;color:#111827;opacity:.8;margin-top:2px;}

/* Legend pills */
.flyup-ftbs-fe-seat__legend{padding:10px 14px 0 14px;gap:8px;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 10px;border:1px solid rgba(0,0,0,.08);font-weight:700;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend i{width:10px;height:10px;border-radius:3px;background:currentColor;opacity:.85;display:inline-block;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-available{color:#065f46;background:#d1fae5;border-color:#34d399;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-selected{color:#fff;background:#111827;border-color:#111827;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-locked{color:#92400e;background:#fff3cd;border-color:#ffecb5;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-booked{color:#991b1b;background:#fecaca;border-color:#f87171;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-reserved{color:#374151;background:#e5e7eb;border-color:#9ca3af;}
.flyup-ftbs-fe-scratch .ftbs-seat-legend.ftbs-seat-na{color:#fff;background:#8b5a2b;border-color:#8b5a2b;}

/* Make seat colors immune to theme button styles */
.flyup-ftbs-fe-scratch .ftbs-seat-btn,
.flyup-ftbs-fe-scratch .ftbs-seat-available,
.flyup-ftbs-fe-scratch .ftbs-seat-selected,
.flyup-ftbs-fe-scratch .ftbs-seat-locked,
.flyup-ftbs-fe-scratch .ftbs-seat-booked,
.flyup-ftbs-fe-scratch .ftbs-seat-reserved,
.flyup-ftbs-fe-scratch .ftbs-seat-na{
  box-shadow:none !important;
}
.flyup-ftbs-fe-scratch .ftbs-seat-available{background:#d1fae5 !important;border-color:#34d399 !important;color:#065f46 !important;}
.flyup-ftbs-fe-scratch .ftbs-seat-selected{background:#111827 !important;border-color:#111827 !important;color:#fff !important;}
.flyup-ftbs-fe-scratch .ftbs-seat-locked{background:#fff3cd !important;border-color:#ffecb5 !important;color:#92400e !important;}
.flyup-ftbs-fe-scratch .ftbs-seat-booked{background:#fecaca !important;border-color:#f87171 !important;color:#991b1b !important;}
.flyup-ftbs-fe-scratch .ftbs-seat-reserved{background:#e5e7eb !important;border-color:#9ca3af !important;color:#374151 !important;}
.flyup-ftbs-fe-scratch .ftbs-seat-na{background:#8b5a2b !important;border-color:#8b5a2b !important;color:#fff !important;}


/* ===== UI Polish v1.2.8.3 (Seat center + Passenger modern + Details) ===== */

/* Seat layout wrapper: center the map and give left breathing space */
.flyup-ftbs-fe-seat__gridwrap{
  padding: 14px 18px 18px 18px;
}
.flyup-ftbs-fe-seat__grid{
  max-width: 920px;
  margin: 0 auto;
  padding-left: 16px; /* small left padding as requested */
}

/* Center main seat map (A / passage / B) */
.flyup-ftbs-fe-scratch .ftbs-seat-main{align-items:center;}
.flyup-ftbs-fe-scratch .ftbs-seat-row{justify-content:center;}
.flyup-ftbs-fe-scratch .ftbs-seat-side{min-width:140px;}
.flyup-ftbs-fe-scratch .ftbs-seat-passage{flex:.32;min-width:56px;}

/* Passenger form modern */
.flyup-ftbs-fe-seat__passengers{
  padding: 14px 18px 18px 18px;
  border-top: 1px solid #f1f5f9;
}
.flyup-ftbs-fe-seat__passengers h4{
  margin: 8px 0 12px;
  font-size: 18px;
  font-weight: 900;
  color:#111827;
}
.flyup-ftbs-fe-pass-row{margin-bottom:10px;}
.flyup-ftbs-fe-pass-row label{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#374151;
  margin-bottom:6px;
}
.flyup-ftbs-fe-pass-row input{
  width:100%;
  height:44px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  font-size:14px;
  outline:none;
}
.flyup-ftbs-fe-pass-row input:focus{
  background:#fff;
  border-color:#f97316;
  box-shadow:0 0 0 3px rgba(249,115,22,.18);
}
.flyup-ftbs-fe-confirm{
  height:46px;
  border-radius:12px;
  font-weight:900;
}

/* Trip Details: keep image height fixed even when accordion opens */
.flyup-ftbs-trip__details-right .flyup-ftbs-trip__img{
  width:100% !important;
  max-width:100% !important;
  height:160px !important;
  max-height:160px !important;
  object-fit:cover !important;
}
@media (max-width: 860px){
  .flyup-ftbs-trip__details-right .flyup-ftbs-trip__img{
    height:180px !important;
    max-height:180px !important;
  }
}

/* Amenities: nice grid */
.flyup-ftbs-trip__amenities{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.flyup-ftbs-badge{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:7px 10px;
  font-weight:800;
}

/* Gallery thumbs clickable */
.flyup-ftbs-trip__thumb{
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease;
}
.flyup-ftbs-trip__thumb:hover{
  transform: translateY(-1px) scale(1.02);
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}
.flyup-ftbs-trip__img{
  cursor:pointer;
}

/* Simple Lightbox */
.flyup-ftbs-fe-scratch .ftbs-fe-lightbox{
  position:fixed; inset:0;
  background:rgba(0,0,0,.72);
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.flyup-ftbs-fe-scratch .ftbs-fe-lightbox__inner{
  max-width:min(1100px, 96vw);
  max-height:90vh;
  position:relative;
}
.flyup-ftbs-fe-scratch .ftbs-fe-lightbox__img{
  width:100%;
  height:auto;
  max-height:90vh;
  object-fit:contain;
  border-radius:12px;
  background:#111;
}
.flyup-ftbs-fe-scratch .ftbs-fe-lightbox__close{
  position:absolute;
  right:-10px; top:-10px;
  width:42px;height:42px;
  border-radius:999px;
  border:0;
  background:#fff;
  cursor:pointer;
  font-weight:900;
}


/* ===== UI Polish v1.2.8.4 (Premium modal layout) ===== */
.flyup-ftbs-fe-seat--modal.is-open{
  width:min(1120px, calc(100vw - 24px)) !important;
  border-radius:14px;
}
.flyup-ftbs-fe-seat__trip{padding:14px 18px 0 18px;}
.flyup-ftbs-fe-seat__legend{padding:10px 18px 0 18px;flex-wrap:wrap;}
.flyup-ftbs-fe-seat__gridwrap{padding:14px 18px 18px 18px;}
@media (min-width: 980px){
  .flyup-ftbs-fe-seat__gridwrap{
    float:left;
    width:62%;
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:14px;
    box-shadow:0 10px 26px rgba(0,0,0,.06);
  }
  .flyup-ftbs-fe-seat__passengers{
    float:right;
    width:36%;
    margin-top:14px;
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:14px;
    box-shadow:0 10px 26px rgba(0,0,0,.06);
  }
  .flyup-ftbs-fe-seat__summary{
    float:right;
    width:36%;
    margin:14px 0 0 0;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #eef2f7;
    background:#f8fafc;
    font-weight:900;
    color:#111827;
  }
  .flyup-ftbs-fe-seat--modal:after{content:"";display:block;clear:both;}
}
.flyup-ftbs-fe-seat__grid{max-width:none !important;margin:0 auto;}
.flyup-ftbs-fe-scratch .ftbs-seat-front{display:flex;gap:12px;align-items:stretch;}
.flyup-ftbs-fe-scratch .ftbs-seat-front .ftbs-seat-cabin,
.flyup-ftbs-fe-scratch .ftbs-seat-front .ftbs-seat-driver{box-shadow:0 6px 16px rgba(0,0,0,.05);}
.flyup-ftbs-fe-scratch .ftbs-seat-last{box-shadow:0 6px 16px rgba(0,0,0,.05);}
.flyup-ftbs-fe-scratch .ftbs-seat-btn{
  width:50px !important;
  height:44px !important;
  border-radius:12px !important;
  font-size:13px !important;
}
.flyup-ftbs-fe-scratch .ftbs-seat-passage{
  flex:.22 !important;
  min-width:44px !important;
  opacity:.45;
}
.flyup-ftbs-fe-confirm{
  width:100%;
  height:46px;
  background:#f97316;
  border:0;
  color:#fff;
}
.flyup-ftbs-fe-confirm:hover{opacity:.92}
.flyup-ftbs-seat-summary{display:none !important;}


/* ===== Trip card: always-show amenities row ===== */
.flyup-ftbs-trip__amen-row{margin-top:10px;}
.flyup-ftbs-trip__amenities{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.flyup-ftbs-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#fff;border:1px solid #e5e7eb;color:#111827;}

/* Hide Layout meta on cards (kept server-side too) */
.flyup-ftbs-trip__meta{opacity:.9}

/* Fix bus image height/width consistently (avoid stretching on Details open) */
.flyup-ftbs-trip__img,.flyup-ftbs-trip__imgph{
  width:260px !important;
  max-width:260px !important;
  height:260px !important;
  max-height:260px !important;
  object-fit:cover !important;
}
.flyup-ftbs-trip__right{align-items:flex-start !important;}
.flyup-ftbs-trip__details-right .flyup-ftbs-trip__media{width:260px;max-width:260px;}
.flyup-ftbs-trip__details-right{align-self:flex-start}

/* Gallery thumbs clickable */
.flyup-ftbs-trip__thumbbtn{border:0;background:transparent;padding:0;cursor:pointer;border-radius:10px;overflow:hidden;}
.flyup-ftbs-trip__thumbbtn:focus{outline:2px solid rgba(245,158,11,.5);outline-offset:2px;}
.flyup-ftbs-trip__thumb{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb;display:block;}

/* Lightbox */
.flyup-ftbs-lightbox{position:fixed;inset:0;z-index:999999;}
.flyup-ftbs-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);}
.flyup-ftbs-lightbox__panel{position:relative;max-width:920px;margin:5vh auto;background:#fff;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:14px;}
.flyup-ftbs-lightbox__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:10px;border:0;background:#f3f4f6;font-size:22px;cursor:pointer;}
.flyup-ftbs-lightbox__img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:10px;}
