/* =========================
   FINAL MOBILE CSS (Clean)
   - Desktop untouched
   - Mobile search + result card
   - Mobile full-screen seat modal header + body spacing
   ========================= */

/* =========================
   MOBILE: Search + Results UI
   ========================= */
@media (max-width: 768px){

  /* Container padding */
  .flyup-ftbs-fe-scratch{padding:10px;margin:10px auto;}

  /* Search form: stacked */
  .flyup-ftbs-fe-scratch__form{padding:14px;border-radius:16px;}
  .flyup-ftbs-fe-row label{font-size:12px;}
  .flyup-ftbs-fe-row select,
  .flyup-ftbs-fe-row input{height:46px;border-radius:12px;}
  .flyup-ftbs-fe-datewrap{gap:10px;}
  .flyup-ftbs-fe-quickbtn{height:44px;border-radius:10px;font-weight:800;}
  .flyup-ftbs-fe-search{height:46px;border-radius:12px;font-weight:900;}

  /* Trip card: compact layout */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__head{
    display:grid !important;
    grid-template-columns:76px 1fr !important;
    grid-template-rows:auto auto !important; /* row1: date+fare, row2: content */
    column-gap:12px !important;
    row-gap:8px !important;
    align-items:start !important;
    align-content:start !important;
    padding-top:0 !important;
    min-height:0 !important;
    height:auto !important;
  }

  /* Top row: Date left, Cost right */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__rightmeta{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    position:static !important;

    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;

    width:100% !important;
    margin:0 0 8px 0 !important;
    padding:0 !important;

    background:none !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__datepill{
    display:inline-block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    font-size:13px !important;
    font-weight:500 !important;
    color:#64748b !important;
    line-height:1.1 !important;
  }

  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__fare{
    display:inline-block !important;
    padding:0 !important;
    margin:0 !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    font-size:18px !important;
    font-weight:900 !important;
    color:#0f172a !important;
    white-space:nowrap !important;
    text-align:right !important;
    line-height:1.1 !important;
  }

  /* Kill any theme pseudo bars */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__datepill:before,
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__datepill:after,
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__fare:before,
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__fare:after{
    content:none !important;
    display:none !important;
  }

  /* Content row */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__avatar,
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__avatar--ph{
    grid-column:1 !important;
    grid-row:2 !important;
    width:76px !important;
    height:76px !important;
    border-radius:12px !important;
    object-fit:cover !important;
    margin:0 !important;
    align-self:start !important;
    max-width:76px !important;
    max-height:76px !important;
  }

  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__headtext{
    grid-column:2 !important;
    grid-row:2 !important;
    display:block !important;
    min-width:0 !important;
  }

  /* Text sizes (kept as your preferred) */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__route{font-size:16px !important; line-height:1.15 !important; margin:0 !important; padding:0 !important;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__sub{margin:4px 0 0 0 !important; padding:0 !important; line-height:1.15 !important;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__busname{font-size:14px !important; margin:6px 0 0 0 !important; padding:0 !important; line-height:1.15 !important;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__meta{font-size:12px !important; margin:6px 0 0 0 !important; padding:0 !important; line-height:1.15 !important;}

  /* Stats + amenities full width */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__stats,
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__amenities{
    grid-column:1 / -1 !important;
    width:100% !important;
  }

  /* Amenities one line (no scroll) */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__amenities{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    font-size:12px !important;
    margin:6px 0 12px 0 !important;
  }
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__amenities .flyup-ftbs-amen{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /* Trip card padding + spacing */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__card{padding:14px !important; position:relative;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__meta{margin-bottom:10px !important;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__stats{margin:8px 0 10px 0 !important;}

  /* Tabs inline small (scroll if needed) */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__tabs{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px !important;
    margin-top:10px !important;
  }
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__tab{
    flex:0 0 auto !important;
    height:34px !important;
    padding:0 10px !important;
    font-size:11px !important;
    border-radius:10px !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  /* Book Now full width bottom */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__booknow{
    width:100% !important;
    display:block !important;
    margin-top:12px !important;
    height:48px !important;
    border-radius:14px !important;
    font-size:16px !important;
    font-weight:900 !important;
  }

  /* Primary button in card */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__btnok{
    width:100%;
    justify-content:center;
    padding:12px 14px;
    border-radius:12px;
    font-weight:900;
  }

  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__chips{gap:8px;}
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__chip{font-size:12px;padding:8px 10px;border-radius:10px;}
}

/* =========================
   MOBILE: Full Screen Modal (Seat Modal)
   ========================= */
@media (max-width: 768px){

  /* true full-screen (no side gap) */
  .flyup-ftbs-fe-seat--modal.is-open{
    position:fixed !important;
    inset:0 !important;
    transform:none !important;
    width:100vw !important;
    height:100vh !important;
    max-height:100vh !important;
    border-radius:0 !important;
    overflow:auto !important;
  }

  /* App-like fixed header */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__head{
    display:flex !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:52px !important;
    padding:0 12px !important;
    background:#fff !important;
    border-bottom:1px solid #e5e7eb !important;
    z-index:100001 !important;
    align-items:center !important;
  }

  /* Hide title + default close */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__title{display:none !important;}
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__close{display:none !important;}

  /* Tools area: timer center, close right */
  .flyup-ftbs-fe-seat--modal .ftbs-seat__tools{
    position:fixed !important;
    top:10px !important;
    left:0 !important;
    right:0 !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    z-index:10070 !important;
  }

  /* Remove back + brand for simple header */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__back{display:none !important;}
  .flyup-ftbs-fe-seat--modal .ftbs-seat__brand,
  .flyup-ftbs-fe-seat--modal .ftbs-seat__brandph{display:none !important;}

  /* Timer */
  .flyup-ftbs-fe-seat--modal .ftbs-seat-timerbox{
    position:static !important;
    min-width:0 !important;
    padding:8px 10px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    pointer-events:auto !important;
  }
  .flyup-ftbs-fe-seat--modal .ftbs-seat-timerbox__label{
    display:inline !important;
    font-size:12px !important;
    margin:0 !important;
    font-weight:800 !important;
  }
  .flyup-ftbs-fe-seat--modal .ftbs-seat-timerbox__value{
    display:inline !important;
    font-size:18px !important;
    margin:0 !important;
    font-weight:900 !important;
  }

  /* Custom close button (right) */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__xclose{
    position:fixed !important;
    top:10px !important;
    right:12px !important;
    width:44px !important;
    height:44px !important;
    pointer-events:auto !important;
    z-index:10075 !important;
  }

  /* Body spacing for fixed header + footer buttons */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__body{
    padding-top:calc(56px + env(safe-area-inset-top)) !important;
    padding-bottom:calc(190px + env(safe-area-inset-bottom)) !important;
    padding-left:12px !important;
    padding-right:12px !important;
    border-radius:0 !important;
  }

  /* Stack 3 columns into one */
  .flyup-ftbs-fe-scratch .ftbs-seat__layout{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:0 !important;
  }

  /* Seat buttons slightly smaller on mobile */
  .flyup-ftbs-fe-scratch .ftbs-seat-btn{width:40px;height:34px;border-radius:12px;font-size:12px;}
  .flyup-ftbs-fe-scratch .ftbs-seat-side{min-width:112px;}
  .flyup-ftbs-fe-scratch .ftbs-seat-passage{min-width:54px;}

  /* Passenger + summary cards full width */
  .flyup-ftbs-fe-scratch .ftbs-seat__summarycard,
  .flyup-ftbs-fe-scratch .flyup-ftbs-fe-seat__passengers{
    width:100% !important;
  }
}

/* prevent background scroll when modal open */
body.ftbs-modal-open{overflow:hidden !important;}

/* =========================
   Extra small phones polish
   ========================= */
@media (max-width: 640px){
  .flyup-ftbs-fe-scratch .ftbs-seat-driver{display:none !important;}
  .flyup-ftbs-fe-scratch .ftbs-drive-side-label{
    display:flex;
    justify-content:flex-end;
    font-size:12px;
    font-weight:800;
    letter-spacing:.2px;
    color:#6b7280;
    margin:0 4px 8px 0;
  }

  .flyup-ftbs-fe-scratch .ftbs-legend-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
  }
  .flyup-ftbs-fe-scratch .ftbs-legend-list li{
    margin:0 !important;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:14px;
  }
  .flyup-ftbs-fe-scratch .ftbs-legend-list .ftbs-legend-count{
    margin-left:auto;
  }

  .flyup-ftbs-fe-scratch .ftbs-e-ticket-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
  }
  .flyup-ftbs-fe-scratch .ftbs-e-ticket-actions .ftbs-fe-print-btn,
  .flyup-ftbs-fe-scratch .ftbs-e-ticket-actions .ftbs-fe-download-btn{
    flex:1 1 calc(50% - 12px);
    min-width:140px;
    font-size:14px;
    padding:12px 14px;
    border-radius:12px;
  }

  .flyup-ftbs-fe-scratch .ftbs-seat__copyright{
    margin-top:18px;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}

/* =========================
   Legacy popup header + passenger footer (kept)
   ========================= */
@media (max-width:768px){
  .flyup-ftbs-seatmodal__header{
    position:relative;
    padding-top:38px;
    text-align:center;
  }
  .flyup-ftbs-seatmodal__timer{
    position:absolute;
    top:-18px;
    left:50%;
    transform:translateX(-50%);
    z-index:20;
    background:#f4b400;
    color:#111;
    font-weight:600;
    border-radius:20px;
    padding:6px 14px;
    font-size:14px;
  }
  .flyup-ftbs-seatmodal__close{
    position:absolute;
    right:12px;
    top:10px;
    z-index:21;
  }
  .flyup-ftbs-seatmodal__header h3,
  .flyup-ftbs-seatmodal__header .close-text{
    display:none;
  }

  .flyup-ftbs-passenger-box{padding-bottom:40px;}
  .flyup-ftbs-passenger-box input{position:relative;z-index:2;}
  .flyup-ftbs-passenger-footer{
    position:relative;
    margin-top:10px;
    opacity:.7;
    font-size:12px;
  }
}

/* =========================
   MOBILE: Fixed footer copyright (Seat Modal)
   Always visible on top
   ========================= */
@media (max-width: 768px){

  .flyup-ftbs-fe-seat--modal .ftbs-seat__copyright{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;

    height:auto !important;
    line-height:1.4 !important;

    text-align:center !important;
    font-size:11px !important;

    opacity:.95 !important;
    background:#ffffff !important;

    padding:6px 10px !important;

    z-index:10080 !important; /* above modal tools/close */

    box-shadow:0 -2px 8px rgba(0,0,0,0.08) !important;

    pointer-events:none !important;
  }

  /* prevent overlap with fixed footer banner */
  .flyup-ftbs-fe-seat--modal .flyup-ftbs-fe-seat__body{
    padding-bottom:calc(230px + env(safe-area-inset-bottom)) !important;
  }
}

/* Small spacing tune for right column like mockup */
.flyup-ftbs-fe-seat--modal .ftbs-seat__right .ftbs-seat__summarycard{
  margin-bottom:14px !important;
}

/* Mobile/tablet: ensure layout stacks into 1 column (modal body grid) */
@media (max-width: 1024px){
  .flyup-ftbs-fe-seat--modal .ftbs-seat__layout{
    grid-template-columns:1fr !important;
  }
}
/* =========================
   MOBILE: Force Book Now to new last row
   ========================= */
@media (max-width:768px){

  /* Make tabs container proper flex */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__tabs{

    display:flex !important;
    flex-wrap:wrap !important;   /* allow next row */

    gap:8px !important;

  }

  /* Tabs normal inline */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__tab{

    flex:0 0 auto !important;

    height:34px !important;
    padding:0 10px !important;

    font-size:11px !important;

  }

  /* Book Now forced new row */
  .flyup-ftbs-fe-scratch .flyup-ftbs-trip__booknow{

    flex:0 0 100% !important;   /* THIS is main fix */

    width:100% !important;

    margin-top:12px !important;

    height:48px !important;

    border-radius:14px !important;

    font-size:16px !important;
    font-weight:900 !important;

    display:block !important;

  }

}