/* FlightBookingCenter — original navy & yellow colours (same as the Tripobiz design).
   This file only styles the newer parts of the site (lead boxes, price alert, booking "why book" box,
   popular routes, route pages) in those colours, plus a phone padding fix. It does not recolour the site. */
:root{--sky:#15306b;--sky-d:#0b2447;--sky-soft:#eaf1ff;--sky-bg:#eef2f7;--coral:#f5b500;--coral-d:#e0a400}
/* ---------- Lead boxes: "Call me with a lower fare" and "Price alert" ---------- */
.fbc-lead{position:relative;font-family:inherit}
.fbc-lead-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
.fbc-lead-wrap.is-callback{background:linear-gradient(135deg,#FFF8E1,#FFFFFF 60%);border-color:#FFE08A}
.fbc-lead-wrap.is-price_alert{background:linear-gradient(135deg,#eef4ff,#FFFFFF 60%);border-color:#cfe0f5}
.fbc-lead-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.fbc-lead-h b{display:block;color:var(--ink);font-size:17px;line-height:1.25}
.fbc-lead-h p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.45}
.fbc-lead-ic{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;background:#FFEDB3}
.is-price_alert .fbc-lead-ic,.fbc-lead[data-kind=price_alert] .fbc-lead-ic{background:#dce8fb}
.fbc-lead-f{display:grid;gap:8px}
.fbc-lead-f.row{grid-template-columns:1fr 1fr auto}
.fbc-lead-f input{width:100%;border:1px solid #d5deea;border-radius:9px;padding:11px 12px;font:inherit;font-size:14.5px;background:#fff;color:var(--ink)}
.fbc-lead-f input:focus{outline:2px solid #9cbcea;border-color:var(--sky)}
.fbc-lead-f button{border:0;border-radius:9px;padding:11px 18px;font:inherit;font-weight:700;font-size:15px;cursor:pointer;background:var(--coral);color:#fff;white-space:nowrap}
.fbc-lead[data-kind=price_alert] .fbc-lead-f button{background:var(--sky)}
.fbc-lead-f button:disabled{opacity:.7;cursor:wait}
.fbc-lead-msg{font-size:13px;margin-top:6px;min-height:0}
.fbc-lead-msg.err{color:#B42318}
.fbc-lead-or{font-size:13px;color:var(--muted);margin-top:8px}
.fbc-lead-or a{color:var(--sky)}
.fbc-lead-done{display:flex;gap:10px;align-items:center;color:#0B6B3F;font-size:15px;padding:6px 0}
.fbc-lead-done span{width:30px;height:30px;border-radius:50%;background:#DDF5E8;display:flex;align-items:center;justify-content:center;font-weight:800}
@media(max-width:700px){.fbc-lead-f.row{grid-template-columns:1fr}}
.lf-inline{margin:0 0 16px}
.lf-inline .fbc-lead-wrap{padding:16px 18px}
.home-lead-sec{padding-top:0!important;padding-bottom:10px!important}
.home-lead .fbc-lead-wrap{max-width:900px;margin:0 auto}
.fbc-modal{position:fixed;inset:0;background:rgba(10,30,60,.55);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}
.fbc-modal-box{position:relative;background:#fff;border-radius:16px;max-width:430px;width:100%;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.fbc-modal-x{position:absolute;z-index:2;right:10px;top:8px;border:0;background:none;font-size:26px;line-height:1;color:#7A879A;cursor:pointer}

/* ---------- Booking page "why book" box (replaces the old timer) ---------- */
.bk-why{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:16px 18px;margin-bottom:16px}
.bk-why-h{font-weight:700;color:var(--ink);margin-bottom:8px}
.bk-why ul{list-style:none;margin:0;padding:0}
.bk-why li{position:relative;padding:4px 0 4px 24px;font-size:13.5px;color:var(--muted)}
.bk-why li:before{content:'\2713';position:absolute;left:0;top:3px;width:17px;height:17px;border-radius:50%;background:#DDF5E8;color:#0B6B3F;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}

/* ---------- Home: popular routes ---------- */
.poproutes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.poproutes{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.poproutes{grid-template-columns:1fr}}
.poproute{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;transition:.15s}
.poproute:hover{border-color:#9cbcea;box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.poproute .pr-codes{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sky)}
.poproute .pr-codes i{font-style:normal;opacity:.7}
.poproute b{color:var(--ink);font-size:15px}
.poproute small{color:var(--coral-d);font-weight:600}

/* ---------- Route pages (/flights/new-york-to-miami/) ---------- */
.rt-search{background:#fff;border-radius:16px;padding:16px;margin-top:22px;box-shadow:0 20px 50px rgba(11,36,71,.25);color:var(--ink)}
.rt-trip{display:flex;gap:20px;font-weight:600;font-size:14px;margin-bottom:10px}
.rt-trip label{display:flex;gap:6px;align-items:center;cursor:pointer}
.rt-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr .9fr auto;gap:10px;align-items:stretch}
.rt-f{display:flex;flex-direction:column;justify-content:center;border:1px solid #d5deea;border-radius:10px;padding:7px 12px;min-height:56px;background:#fff}
.rt-f span{font-size:11.5px;color:var(--muted);font-weight:600}
.rt-f b{font-size:14.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-f input,.rt-f select{border:0;padding:0;font:inherit;font-size:14.5px;color:var(--ink);background:transparent;width:100%;min-height:24px}
html body main .rt-go{min-height:56px;padding:0 24px;font-size:16px}
@media(max-width:900px){.rt-grid{grid-template-columns:1fr 1fr}.rt-go{grid-column:1/-1}}
.rt-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 22px}
.rt-facts div{background:var(--sky-soft);border-radius:12px;padding:12px 14px}
.rt-facts span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.rt-facts b{color:var(--ink);font-size:15.5px}
@media(max-width:700px){.rt-facts{grid-template-columns:1fr 1fr}}
.rt-faq{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0;background:#fff}
.rt-faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.rt-faq p{margin:8px 0 0}
.rt-links{columns:2;padding-left:18px}
@media(max-width:560px){.rt-links{columns:1}}
.rt-side{display:flex;flex-direction:column;gap:16px;align-self:start;position:sticky;top:20px}
.tp-side{background:#fff;border-radius:12px;padding:12px;border:1px solid var(--line)}
.rt-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.rt-hub{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rt-hub{grid-template-columns:1fr}}
.rt-hub-c{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.rt-hub-c h2{font-size:1.1rem;margin:0 0 10px}
.rt-hub-c ul{list-style:none;margin:0;padding:0}
.rt-hub-c li a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #EEF2F7;text-decoration:none;color:var(--ink);font-weight:600}
.rt-hub-c li:last-child a{border-bottom:0}
.rt-hub-c small{color:var(--muted);font-weight:500;white-space:nowrap}

/* "wrap section" blocks lost their side padding (the section padding overrode it), so text touched the screen edge on phones */
html body .wrap.section{padding-left:1rem;padding-right:1rem}
@media(min-width:640px){html body .wrap.section{padding-left:1.5rem;padding-right:1.5rem}}
@media(min-width:1024px){html body .wrap.section{padding-left:2rem;padding-right:2rem}}

/* original yellow buttons use dark text */
.fbc-lead-f button{color:#1a2b4a}
.fbc-lead[data-kind=price_alert] .fbc-lead-f button{color:#fff}
.poproute small{color:#b07f00}
/* own home-page photo (CRM > Website > Settings > Home page photo), shown with a navy tint; without one the original navy hero stays */
.hero[style*="--hero-img"]{background-image:linear-gradient(120deg,rgba(11,36,71,.85),rgba(21,48,107,.7) 60%,rgba(29,66,137,.6)),var(--hero-img);background-size:cover;background-position:center 45%}

/* ---------- Header (all pages): call strip + white bar with menu and call button ---------- */
.fh-strip{background:#0b1f3a;color:#dbe5f5;font-size:13px}
.fh-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px;flex-wrap:wrap}
.fh-strip-l{font-weight:600;letter-spacing:.01em}
.fh-strip-r{display:flex;gap:18px;align-items:center}
.fh-strip a{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.fh-strip a:hover{color:#ffc72c}
.fh{background:#fff;box-shadow:0 2px 14px rgba(11,36,71,.09);position:sticky;top:0;z-index:900}
.fh .wrap{display:flex;align-items:center;gap:22px;min-height:78px}
.fh-logo{flex-shrink:0;display:flex;align-items:center;text-decoration:none}
.fh-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.fh-nav a{color:#15306b;font-weight:600;font-size:15px;padding:10px 13px;border-radius:8px;text-decoration:none;position:relative;white-space:nowrap}
.fh-nav a:after{content:'';position:absolute;left:13px;right:13px;bottom:4px;height:3px;border-radius:3px;background:#f5b500;transform:scaleX(0);transition:transform .2s}
.fh-nav a:hover:after,.fh-nav a.on:after{transform:scaleX(1)}
.fh-nav a.on{color:#0b2447;font-weight:700}
.fh-call{display:flex;align-items:center;gap:10px;background:#f5b500;color:#0b2447;border-radius:999px;padding:7px 18px 7px 7px;text-decoration:none;box-shadow:0 6px 16px rgba(245,181,0,.35);flex-shrink:0;transition:background .2s}
.fh-call:hover{background:#ffc72c}
.fh-call-ic{width:38px;height:38px;border-radius:50%;background:#0b2447;color:#ffc72c;display:flex;align-items:center;justify-content:center}
.fh-call-ic svg{width:17px;height:17px}
.fh-call-t{display:flex;flex-direction:column;line-height:1.15}
.fh-call-t small{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85}
.fh-call-t b{font-size:17px;font-weight:800}
.fh-burger{display:none;width:44px;height:44px;border:1px solid #d6e0ef;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;flex-shrink:0}
.fh-burger span{display:block;width:20px;height:2px;background:#15306b;border-radius:2px;transition:.2s}
@media(max-width:1180px){.fh-nav a{padding:10px 9px;font-size:14px}.fh-nav a:after{left:9px;right:9px}.fh .wrap{gap:14px}}
@media(max-width:1020px){
  .fh-burger{display:flex}
  .fh-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:8px 16px 16px;box-shadow:0 14px 30px rgba(11,36,71,.15);border-top:1px solid #e6ecf5;gap:0;margin:0}
  .fh-nav a{padding:13px 6px;border-bottom:1px solid #eef2f7;border-radius:0;font-size:15.5px}
  .fh-nav a:after{display:none}
  .fh-nav a.on{color:#0b2447;box-shadow:inset 3px 0 0 #f5b500;padding-left:12px}
  body.fh-open .fh-nav{display:flex}
  body.fh-open .fh-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.fh-open .fh-burger span:nth-child(2){opacity:0}
  body.fh-open .fh-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .fh-call{margin-left:auto}
}
@media(max-width:640px){
  .fh .wrap{min-height:64px;gap:10px}
  .fh-strip{font-size:12px}.fh-strip .wrap{justify-content:center;min-height:32px}.fh-strip-l,.fh-mail{display:none}
  .fh-call{padding:0;box-shadow:none;background:none}.fh-call-t{display:none}.fh-call-ic{width:44px;height:44px;background:#f5b500;color:#0b2447}
}
/* Inner pages (About, Contact, policies, blog, destinations…): banner in the same style as the home page */
#main>.hero{background-color:#0b2447;background-image:linear-gradient(115deg,rgba(8,23,46,.95) 0%,rgba(21,48,107,.86) 60%,rgba(21,48,107,.65) 100%),url('/assets/img/hero-sky.svg');background-size:cover;background-position:center 70%}
#main>.hero h1:after{content:'';display:block;width:60px;height:4px;border-radius:4px;background:#f5b500;margin-top:12px}

/* ---------- Footer (all pages): About · Quick Links · Contact Info, Top Destination row, cards, copyright ---------- */
.ff{background:#0b1f3a;color:#d5deee;padding:54px 0 24px;margin-top:0;font-size:15px}
.ff a{color:#e8eefa;text-decoration:none}
.ff a:hover{color:#f5b500}
.ff-cols{display:grid;grid-template-columns:1.6fr 1fr 1.25fr;gap:44px}
.ff h4{color:#fff;font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0 0 18px}
.ff-about p{margin:0;line-height:1.85;color:#d5deee}
.ff-more{color:#f5b500!important;font-weight:600;white-space:nowrap}
.ff-more:hover{text-decoration:underline}
.ff-links,.ff-contact{list-style:none;margin:0;padding:0}
.ff-links li{margin:0 0 12px}
.ff-links a{display:inline-flex;align-items:center;gap:10px}
.ff-links a:before{content:'\203A';font-size:20px;line-height:1;color:#f5b500}
.ff-contact li{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;line-height:1.5}
.ff-contact i{flex:0 0 18px;color:#f5b500;padding-top:3px;display:flex}
.ff-contact span,.ff-contact a{word-break:break-word}
.ff-dest{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin:36px 0 0;padding:20px 0;line-height:2;font-size:14.5px}
.ff-dest b{color:#fff;font-size:17px;margin-right:10px}
.ff-dest a{white-space:nowrap}
.ff-sep{margin:0 5px;color:rgba(255,255,255,.55)}
.ff-pay{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:28px 0 18px}
.ff-card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;width:66px;height:42px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.ff-card svg{width:52px;height:auto}
.ff-copy{text-align:center;font-size:14.5px;color:#c4cfe3}
@media(max-width:900px){.ff-cols{grid-template-columns:1fr 1fr;gap:32px}.ff-about{grid-column:1/-1}}
@media(max-width:560px){.ff{padding:40px 0 90px}.ff-cols{grid-template-columns:1fr;gap:26px}.ff h4{font-size:17px;margin-bottom:12px}.ff-dest{font-size:14px}.ff-sep{margin:0 3px}.ff-copy{font-size:13px}}
/* Sitemap page */
.smap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.smap-sec{background:#fff;border:1px solid #e1e8f3;border-radius:14px;padding:20px 22px;box-shadow:0 6px 16px rgba(11,36,71,.06)}
.smap-sec h2{font-size:19px;color:#0b2447;margin:0 0 12px;padding-bottom:10px;border-bottom:3px solid #f5b500;display:inline-block}
.smap-sec ul{list-style:none;margin:0;padding:0}
.smap-sec li{margin:0 0 9px}
.smap-sec a{color:#15306b;font-weight:600;text-decoration:none;display:inline-flex;gap:8px}
.smap-sec a:before{content:'\203A';color:#f5b500;font-weight:800}
.smap-sec a:hover{color:#0b2447;text-decoration:underline}
@media(max-width:900px){.smap{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.smap{grid-template-columns:1fr}}
/* Photos inside page text always fit the screen (phones: no side-by-side floats) */
.prose img{max-width:100%;height:auto}
.prose figure{margin:22px 0;max-width:100%}
.prose iframe,.prose video{max-width:100%}
@media(max-width:640px){.prose img.img-left,.prose img.img-right,.prose img.img-md,.prose img.img-sm{float:none;max-width:100%;margin:16px auto}}
