/* AIR FLY responsive UI - desktop cleanup + refined mobile typography */

/* Desktop: keep the original navigation clean and keep mobile-only UI out of layout */
@media (min-width: 901px){
  .header{
    position:sticky!important;top:0!important;z-index:9999!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
    align-items:center!important;
    column-gap:24px!important;
    padding:14px 4%!important;
    min-height:78px!important;
  }
  .header .logo{margin:0!important;white-space:nowrap!important;font-size:27px!important;line-height:1!important}
  .header>nav:not(.mobile-service-links){display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:20px!important;flex-wrap:nowrap!important;min-width:0!important;padding:0!important;overflow:visible!important}
  .header>nav:not(.mobile-service-links) a{white-space:nowrap!important;padding:7px 1px!important;font-size:14px!important}
  .header .language-switcher{display:flex!important;align-items:center!important;margin:0!important;white-space:nowrap!important}
  .header .language-switcher select{font-size:14px!important;padding:8px 10px!important}
  .header .desktop-contact{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;min-width:205px!important;font-size:13px!important;line-height:1.35!important}
  .header .desktop-contact a{color:var(--ink)!important;text-decoration:none!important;white-space:nowrap!important}
  .header .desktop-contact a:hover{color:var(--blue2)!important}
  .header .desktop-contact strong{font-size:12px!important;color:var(--blue)!important}
  .header>.mobile-service-links,.header>.mobile-menu-toggle,.header>.mobile-menu-panel,.header>.mobile-contact-bar,.header>.mobile-language-switcher{display:none!important}
}

/* Laptop desktop: slightly tighter navigation */
@media (min-width:901px) and (max-width:1199px){
  .header{column-gap:15px!important;padding-left:3%!important;padding-right:3%!important}
  .header>nav:not(.mobile-service-links){gap:13px!important}
  .header>nav:not(.mobile-service-links) a{font-size:13px!important}
  .header .desktop-contact{min-width:180px!important;font-size:12px!important}
}

/* Refined mobile: smaller than the previous version, but still clearly readable */
@media (max-width: 900px){
  html{font-size:16px!important;overflow-x:hidden}
  body{font-size:16px!important;line-height:1.58!important;overflow-x:hidden}
  p,li,.lead,.muted,.content,.content p,.seo-localized-intro,.feature span,.result,.card-body{font-size:16px!important;line-height:1.58!important}
  h1,.hero h1{font-size:clamp(30px,8.5vw,40px)!important;line-height:1.12!important;margin-bottom:12px!important}
  h2,.section h2{font-size:27px!important;line-height:1.2!important;margin-bottom:10px!important}
  h3,.card h3,.result h3{font-size:21px!important;line-height:1.28!important}
  h4{font-size:18px!important}
  .section{padding:32px 5%!important}
  .hero{padding:38px 5%!important;min-height:420px!important}
  .hero p{font-size:17px!important;line-height:1.55!important}
  input,select,textarea{font-size:16px!important;min-height:46px}
  button,.btn{font-size:16px!important;min-height:46px;padding:11px 15px!important}
  .top{font-size:13px!important;line-height:1.35!important;padding:7px 4%!important}
  .header{position:sticky!important;top:0!important;z-index:9999!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-rows:auto auto auto!important;gap:0!important;padding:0!important;min-height:0!important;box-shadow:0 3px 15px rgba(0,0,0,.14)!important}
  .header .logo{font-size:26px!important;line-height:1!important;padding:12px 14px!important;grid-column:1!important;grid-row:1!important;min-width:0!important}
  .mobile-language-switcher{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:7px 4px!important;min-width:82px!important}
  .mobile-language-switcher span{font-size:18px!important;line-height:1!important}
  .mobile-language-switcher select{width:78px!important;min-height:40px!important;height:40px!important;margin:0!important;padding:5px 22px 5px 7px!important;border:1px solid #cfd9e5!important;border-radius:8px!important;background:#fff!important;color:#182230!important;font-size:13px!important;font-weight:700!important;line-height:1.1!important}
  .mobile-language-switcher select:focus{outline:2px solid rgba(10,43,94,.2)!important}
  .header>nav:not(.mobile-service-links),.header>.language-switcher,.header>.google-translate-hidden,.header>.mobile-menu,.header>.desktop-contact{display:none!important}
  .mobile-contact-bar{grid-column:1/-1;grid-row:3;display:flex!important;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;background:#061d42;color:#fff;padding:7px 6px;font-size:13px!important;font-weight:800;line-height:1.25;border-top:1px solid rgba(255,255,255,.12)}
  .mobile-contact-bar a{color:#fff!important;text-decoration:none!important;white-space:nowrap}
  .mobile-menu-toggle{display:flex!important;grid-column:3!important;grid-row:1!important;align-items:center;justify-content:center;width:46px!important;height:46px!important;margin:7px 9px 7px 0!important;border:0!important;border-radius:8px!important;background:#0a2b5e!important;color:#fff!important;font-size:26px!important;line-height:1!important}
  .mobile-service-links{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important;padding:5px!important;background:#fff!important;border-top:1px solid #e1e7ef!important;border-bottom:1px solid #d9e2ec!important}
  .mobile-service-links a{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:43px!important;padding:6px 4px!important;border:1px solid #d9e2ec!important;border-radius:8px!important;background:#f7f9fc!important;color:#0a2b5e!important;font-size:14px!important;font-weight:800!important;line-height:1.12!important;text-align:center!important;white-space:normal!important}
  .mobile-service-links a span{font-size:17px!important}.mobile-service-links a b{font-size:14px!important}
  .mobile-menu-panel{display:none;position:absolute!important;left:8px!important;right:8px!important;top:106px!important;background:#fff!important;border:1px solid #cfd9e5!important;border-radius:12px!important;padding:8px!important;box-shadow:0 15px 40px rgba(0,0,0,.22)!important;max-height:calc(100vh - 120px)!important;overflow:auto!important;z-index:10000!important}
  .mobile-menu-panel.open{display:block!important}
  .mobile-menu-panel>a{display:block!important;padding:12px 10px!important;border-bottom:1px solid #edf1f5!important;font-size:16px!important;font-weight:700!important;line-height:1.3!important;color:#182230!important}
  .mobile-contact-box{margin-top:9px!important;padding:12px!important;background:#eef6ff!important;border-radius:9px!important;font-size:15px!important;line-height:1.55!important}
  .mobile-contact-box strong{font-size:16px!important}.mobile-contact-box a{display:block!important;padding:4px 0!important;font-size:15px!important;color:#0a2b5e!important}
  .searchgrid,.grid,.features,.destinations,.result-layout,.booking,.split,.enquiry-layout{grid-template-columns:1fr!important}
  .result{display:block!important}.result img{width:100%!important;height:auto!important;max-height:260px!important}.result .side{align-items:stretch!important;margin-top:12px}
  .phone-row{grid-template-columns:1fr!important}

  /* Mobile images: preserve the complete source image instead of cropping it. */
  img{max-width:100%!important;height:auto!important;display:block!important}
  .card img,.result img,.crm-product-card .result-image img,.crm-auto-grid .crm-product-card .result-image img{
    width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4f6f8!important;border-radius:9px!important
  }
  .destination{height:auto!important;min-height:0!important;overflow:hidden!important}
  .destination img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4f6f8!important}
  .split img{width:100%!important;height:auto!important;object-fit:contain!important}
  .hero{background-size:100% auto!important;background-repeat:no-repeat!important;background-position:center top!important}
}
@media(max-width:420px){
  body{font-size:15.5px!important}
  p,li,.lead,.muted,.content,.content p,.seo-localized-intro,.feature span,.result,.card-body{font-size:15.5px!important;line-height:1.55!important}
  h1,.hero h1{font-size:clamp(29px,8.8vw,36px)!important}
  h2,.section h2{font-size:25px!important}
  h3,.card h3,.result h3{font-size:20px!important}
  .hero{min-height:400px!important;padding:34px 5%!important}
  .mobile-contact-bar{font-size:12.5px!important}.mobile-language-switcher{min-width:76px!important;padding-left:2px!important;padding-right:2px!important}.mobile-language-switcher select{width:72px!important;font-size:12px!important;padding-left:5px!important;padding-right:18px!important}.mobile-service-links a,.mobile-service-links a b{font-size:13.5px!important}.mobile-service-links a span{font-size:16px!important}.mobile-menu-panel>a{font-size:15px!important}
}

/* Filter sidebar removed from service result pages */
.result-layout.no-filters{grid-template-columns:1fr!important}
.result-layout.no-filters>.filters{display:none!important}
