/* ==========================================================================
   Flight Masters - visual polish layer (31-Oct-2026)
   Loaded after the original stylesheets; keeps the brand (navy #032d66 / blue #004AAD / yellow #FFCC00)
   ========================================================================== */
:root{
  --fm-navy:#032d66; --fm-blue:#004AAD; --fm-blue-2:#0b5ed7; --fm-ink:#1b2430; --fm-muted:#5b6777;
  --fm-line:#e3e9f1; --fm-bg:#f5f8fc; --fm-yellow:#FFCC00; --fm-radius:12px;
  --fm-shadow:0 6px 24px rgba(3,45,102,.08);
  --fm-font:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --fm-head:"Montserrat","Open Sans",Arial,sans-serif;
}
html{ -webkit-text-size-adjust:100%; }
body{ font-family:var(--fm-font); color:var(--fm-ink); }
h1,h2,h3,h4,.headin{ font-family:var(--fm-head); }
img{ max-width:100%; height:auto; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{ outline:3px solid var(--fm-yellow); outline-offset:2px; }

/* ---- mobile horizontal overflow fix (page was 402px wide on a 390px phone) ---- */
html,body{ max-width:100%; overflow-x:hidden; }
@media (max-width:767px){
  .row{ margin-left:0; margin-right:0; }
  .container-fluid,.mainresponmobsec{ padding-left:12px; padding-right:12px; }
  .pd-pop{ width:auto !important; left:0 !important; }
  .fm-disclose{ font-size:12px; padding:8px 12px; }
  .mainhaderdiv .logoimg{ max-width:150px; }
  table{ max-width:100%; }
}

/* ---- top disclosure strip ---- */
.fm-disclose{ background:#0b1f33; color:#fff; letter-spacing:.1px; }

/* ---- header polish ---- */
.mainhaderdiv{ box-shadow:0 2px 10px rgba(3,45,102,.06); }
.anchornav{ font-family:var(--fm-head); font-weight:600; }
.hidmdxd .acksehqw{ background:linear-gradient(135deg,var(--fm-blue),var(--fm-navy)); padding:6px 14px; }

/* ---- deals: taxes & fees note ---- */
.fm-taxnote{ font-size:.6em; vertical-align:super; margin-left:2px; }
.fm-taxline{ font-size:12px; color:var(--fm-muted); font-weight:400; margin-top:2px; }
.fm-fare-note{ max-width:1100px; margin:0 auto 30px; padding:0 15px; font-size:13px; color:var(--fm-muted); text-align:center; clear:both; }
.poste{ border-radius:var(--fm-radius); transition:transform .2s ease, box-shadow .2s ease; }
.poste:hover{ transform:translateY(-3px); box-shadow:var(--fm-shadow); }
.headin{ font-weight:700; color:var(--fm-navy); }

/* ---- buttons ---- */
.fm-btn{ display:inline-block; background:var(--fm-blue); color:#fff !important; border:0; border-radius:999px; padding:10px 20px; font-weight:600; font-family:var(--fm-head); cursor:pointer; text-decoration:none !important; line-height:1.2; }
.fm-btn:hover{ background:var(--fm-navy); }
.fm-btn--ghost{ background:transparent; color:#fff !important; box-shadow:inset 0 0 0 2px rgba(255,255,255,.7); }
.fm-btn--ghost:hover{ background:rgba(255,255,255,.12); }
.fm-btn--small{ padding:6px 14px; font-size:13px; }

/* ---- content / policy pages ---- */
.fm-page{ background:var(--fm-bg); padding-bottom:40px; }
.fm-page__hero{ background:linear-gradient(135deg,var(--fm-navy),var(--fm-blue)); color:#fff; padding:44px 0 36px; margin-bottom:28px; }
.fm-page__hero h1{ color:#fff; font-size:clamp(26px,4vw,40px); font-weight:700; margin:0 0 8px; }
.fm-page__lede{ color:#dfe9f7 !important; font-size:17px; max-width:760px; margin:0; }
.fm-page__updated{ color:#b8cbe6 !important; font-size:13px; margin:10px 0 0; }
.fm-wrap{ max-width:1000px; margin:0 auto; padding:0 18px; }
.fm-prose{ background:#fff; border:1px solid var(--fm-line); border-radius:var(--fm-radius); box-shadow:var(--fm-shadow); padding:28px clamp(18px,4vw,40px); font-size:16px; line-height:1.7; }
.fm-prose h2{ font-size:22px; color:var(--fm-navy); margin:28px 0 10px; font-weight:700; }
.fm-prose h2:first-child{ margin-top:0; }
.fm-prose h3{ font-size:18px; color:var(--fm-navy); margin:18px 0 8px; }
.fm-prose p,.fm-prose li{ color:var(--fm-ink) !important; }
.fm-prose strong,.fm-prose b{ font-size:inherit !important; }
.fm-prose a{ color:var(--fm-blue); text-decoration:underline; }
.fm-list{ list-style:disc; padding-left:22px; margin:0 0 14px; }
.fm-list li{ margin:4px 0; }
.fm-steps{ padding-left:22px; }
.fm-steps li{ margin:8px 0; }
.fm-toc{ background:var(--fm-bg); border-radius:10px; padding:14px 18px; margin-bottom:20px; }
.fm-toc ol{ columns:2; column-gap:30px; margin:0; padding-left:20px; }
@media (max-width:600px){ .fm-toc ol{ columns:1; } }
.fm-callout{ background:#fff8db; border-left:4px solid var(--fm-yellow); padding:12px 16px; border-radius:8px; }
.fm-small{ font-size:13px; color:var(--fm-muted) !important; }
.fm-help-box{ margin-top:30px; background:var(--fm-bg); border-radius:10px; padding:16px 20px; }
.fm-help-box h2{ margin-top:0 !important; font-size:18px !important; }
.fm-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin:10px 0 20px; }
.fm-card{ border:1px solid var(--fm-line); border-radius:10px; padding:14px 16px; }
.fm-card h3{ margin:0 0 6px !important; }
.fm-table-wrap{ overflow-x:auto; }
.fm-table{ width:100%; border-collapse:collapse; font-size:14px; }
.fm-table th,.fm-table td{ border:1px solid var(--fm-line); padding:8px 10px; text-align:left; vertical-align:top; }
.fm-table th{ background:var(--fm-bg); }
.fm-faq__item{ border:1px solid var(--fm-line); border-radius:10px; margin:10px 0; background:#fff; }
.fm-faq__item summary{ cursor:pointer; padding:14px 18px; font-weight:600; font-family:var(--fm-head); color:var(--fm-navy); list-style:none; }
.fm-faq__item summary::-webkit-details-marker{ display:none; }
.fm-faq__item summary:after{ content:"+"; float:right; font-weight:700; }
.fm-faq__item[open] summary:after{ content:"\2212"; }
.fm-faq__item p{ padding:0 18px 14px; margin:0; }

/* ---- booking pages ---- */
.fm-pay-note{ background:#eef5ff; border:1px solid #cfe0fb; border-radius:10px; padding:14px 16px; margin:6px 0 12px; font-size:14px; line-height:1.6; }
.fm-pay-note p{ margin:0; color:var(--fm-ink) !important; }
.fm-note{ font-size:15px; color:var(--fm-ink); max-width:640px; margin:10px auto 0; text-align:center; }

/* ---- footer ---- */
.fm-footer{ background:#07253f; border-top:5px solid var(--fm-blue); color:#d7e3f2; margin-top:48px; padding:36px 0 0; clear:both; }
.fm-footer a{ color:#fff; }
.fm-footer a:hover{ color:var(--fm-yellow); }
.fm-footer__inner{ max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1.3fr 1fr 1.3fr; gap:28px; }
@media (max-width:767px){ .fm-footer__inner{ grid-template-columns:1fr; gap:18px; } .fm-footer{ padding-bottom:70px; } }
.fm-footer__brand{ font-family:var(--fm-head); color:#fff; font-size:26px; font-weight:700; margin:0 0 10px; }
.fm-footer__title{ font-family:var(--fm-head); color:#fff; font-size:17px; font-weight:700; margin:0 0 10px; }
.fm-footer__line{ margin:0 0 6px; font-size:14px; color:#d7e3f2 !important; }
.fm-footer ul{ list-style:none; margin:0; padding:0; }
.fm-footer li{ margin:0 0 6px; font-size:14px; }
.fm-footer__inner nav[aria-label="Legal"] ul{ columns:2; column-gap:20px; }
@media (max-width:400px){ .fm-footer__inner nav[aria-label="Legal"] ul{ columns:1; } }
.fm-footer__legal{ max-width:1200px; margin:26px auto 0; padding:18px 20px 22px; border-top:1px solid rgba(255,255,255,.15); font-size:13px; line-height:1.6; text-align:center; }
.fm-footer__legal p{ color:#c9d6e6 !important; margin:0 0 8px; }

/* ---- cookie banner ---- */
.fm-cookie{ position:fixed; left:12px; right:12px; bottom:12px; z-index:3000; max-width:760px; margin:0 auto; background:#0b1f33; color:#fff; border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.3); padding:16px 18px; display:none; }
.fm-cookie.is-open{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.fm-cookie[hidden]{ display:none !important; }
.fm-cookie p{ margin:0; flex:1 1 320px; font-size:14px; line-height:1.5; color:#fff !important; }
.fm-cookie a{ color:var(--fm-yellow); text-decoration:underline; }
.fm-cookie__btns{ display:flex; gap:8px; flex-wrap:wrap; }

/* ---- back to top ---- */
#toTop{ position:fixed; right:14px; bottom:84px; z-index:998; border-radius:50%; width:42px; height:42px; background:var(--fm-blue); color:#fff; border:0; box-shadow:var(--fm-shadow); }

/* ---- respect reduced motion ---- */
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* ---- overflow fixes found in browser tests (360 / 390 / 768 px) ---- */
.mainresponmobsec,.boking-inner,.paragaraph{ max-width:100%; box-sizing:border-box; }
@media (max-width:991px){
  .container{ max-width:100%; }
  .boking-inner,.paragaraph{ width:auto !important; }
  .mainresponmobsec{ width:auto !important; }
}
@media (max-width:767px){
  .wdhselkjhu{ width:auto !important; margin-left:12px !important; margin-right:12px !important; }
}
