/* FirstMyTrip mobile app layer — desktop intentionally untouched. */
.fmt-mobile-dock{display:none}
@media(max-width:760px){
  html{scroll-padding-bottom:82px}
  body.fmt-flights-page{background:#f4f8ff;padding-bottom:74px!important;overflow-x:hidden}
  .fmt-app{min-height:100vh;background:#f4f8ff;padding-bottom:74px}
  .fmt-container{width:calc(100% - 24px)!important}
  .fmt-global-header{position:sticky!important;top:0!important;z-index:9990!important;height:64px!important;border-bottom:1px solid #e2ebf6!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px)}
  .fmt-global-header .fmt-header-inner{gap:8px!important;justify-content:space-between!important}
  .fmt-global-header .fmt-brand{width:158px!important;flex:0 0 158px!important;margin:0!important}
  .fmt-global-header .fmt-brand img{width:100%!important;height:48px!important;object-fit:contain!important;object-position:left center!important}
  .fmt-header-spacer{display:none!important}
  .fmt-header-utilities{display:flex!important;margin-left:auto!important}
  .fmt-header-utilities .fmt-utilities-top{display:none!important}
  .fmt-global-header .fmt-login{display:grid!important;width:38px!important;height:38px!important;padding:0!important;place-items:center!important;border:0!important;border-radius:50%!important;background:#eaf3ff!important;color:transparent!important;font-size:0!important;overflow:hidden!important}
  .fmt-global-header .fmt-login:before{content:'●';color:#0b62d8;font-size:18px;line-height:1}
  .fmt-mobile-menu-button{display:grid!important;width:38px!important;height:38px!important;padding:0!important;place-items:center!important;border:1px solid #d9e5f3!important;border-radius:50%!important;background:#fff!important;color:#0b3b77!important;font-size:18px!important}
  .fmt-service-navigation.is-open{top:64px!important;z-index:9995!important;grid-template-columns:repeat(3,1fr)!important;padding:12px!important;border-radius:0 0 18px 18px!important}
  .fmt-hero{padding:0 0 22px!important;background:linear-gradient(180deg,#e8f5ff 0,#f4f8ff 100%)!important}
  .fmt-hero-image{height:205px!important;object-fit:cover!important;object-position:left center!important}
  .fmt-search-wrap{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;margin:-38px auto 0!important}
  .fmt-search-card{padding:10px 12px 14px!important;border:1px solid #dbe7f5!important;border-radius:22px!important;background:#fff!important;box-shadow:0 16px 38px rgba(14,58,111,.16)!important}
  .fmt-trip-tabs{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;height:auto!important;min-height:50px!important;padding:4px!important;gap:4px!important;border-radius:14px!important;background:#eff5fc!important}
  .fmt-trip-tabs label{min-height:42px!important;border-radius:11px!important}
  .fmt-trip-tabs label:nth-child(3){display:flex!important}
  .fmt-trip-tabs span{font-size:11px!important;text-align:center!important}
  .fmt-search-grid{display:grid!important;grid-template-columns:1fr 42px 1fr!important;gap:9px!important;margin-top:12px!important;border:0!important}
  .fmt-field{min-width:0!important;padding:10px 11px!important;border:1px solid #dce7f4!important;border-radius:13px!important;background:#fff!important}
  .fmt-airport-field{grid-column:auto!important;min-height:91px!important}
  .fmt-airport-field:first-child{grid-column:1/2!important}
  .fmt-airport-field:nth-of-type(2){grid-column:3/4!important}
  .fmt-search-grid>span[aria-hidden]{display:none!important}
  .fmt-search-grid .fmt-airport-field:first-child .fmt-swap{position:absolute!important;right:-30px!important;top:50%!important;width:36px!important;height:36px!important;margin:0!important;transform:translateY(-50%)!important;border-radius:50%!important;z-index:8!important}
  .fmt-field input,.fmt-traveller-toggle{font-size:14px!important;min-height:31px!important}
  .fmt-field small{font-size:9px!important}
  .fmt-departure{grid-column:1/2!important;min-height:76px!important}
  .fmt-return{grid-column:3/4!important;min-height:76px!important}
  .fmt-traveller{grid-column:1/-1!important;min-height:74px!important}
  .fmt-search-button{grid-column:1/-1!important;min-height:56px!important;border-radius:14px!important;font-size:16px!important;box-shadow:0 10px 24px rgba(7,102,230,.25)!important}
  .fmt-fare-row{gap:7px!important;margin-inline:-2px!important;overflow-x:auto!important;scrollbar-width:none!important}
  .fmt-fare-row::-webkit-scrollbar{display:none}
  .fmt-fare-row span{padding:7px 9px!important;font-size:10px!important}
  .fmt-traveller-panel{left:12px!important;right:12px!important;bottom:84px!important;border-radius:22px!important;padding:18px!important}
  .fmt-section{padding-top:28px!important;padding-bottom:34px!important}
  .fmt-section-heading h2{font-size:24px!important}
  .fmt-banner-grid{display:flex!important;gap:12px!important;margin-right:-12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .fmt-banner-grid::-webkit-scrollbar{display:none}
  .fmt-banner-grid article{flex:0 0 82%!important;height:210px!important;scroll-snap-align:start!important}
  .fmt-benefits>.fmt-container{grid-template-columns:1fr 1fr!important;padding:18px 0!important}
  .fmt-footer{padding-bottom:92px!important}
  .fmt-mobile-dock{position:fixed;z-index:99999;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:70px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #dae5f2;background:rgba(255,255,255,.98);box-shadow:0 -8px 28px rgba(7,35,70,.10);backdrop-filter:blur(18px)}
  .fmt-mobile-dock a{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;color:#536781;text-decoration:none;font-size:9px;font-weight:750}
  .fmt-mobile-dock i{display:grid;width:31px;height:29px;place-items:center;border-radius:10px;font-style:normal;font-size:20px;line-height:1}
  .fmt-mobile-dock a.is-active{color:#0868f4}
  .fmt-mobile-dock a.is-active i{background:#e9f3ff;color:#0868f4}
  .fmt-mobile-dock a.is-active:after{content:'';position:absolute;bottom:-4px;width:24px;height:3px;border-radius:4px;background:#0868f4}

  /* Hotels: native-app mobile presentation. */
  .fmt-hotel-page{padding-bottom:74px!important;background:#f4f8ff!important;overflow:hidden!important}
  .fmt-hotel-page .fmt-hotel-hero{min-height:auto!important;padding-bottom:22px!important;background:linear-gradient(180deg,#e7f4ff,#f4f8ff)!important}
  .fmt-hotel-page .fmt-hotel-hero-image{position:relative!important;height:225px!important;object-fit:cover!important;object-position:center!important}
  .fmt-hotel-page .fmt-hotel-hero-overlay{height:225px!important;background:linear-gradient(90deg,rgba(3,28,62,.76),rgba(3,28,62,.16))!important}
  .fmt-hotel-page .fmt-hotel-hero-content{position:absolute!important;top:0!important;min-height:225px!important;padding:28px 0 55px!important;align-items:center!important}
  .fmt-hotel-page .fmt-hotel-hero-copy{width:78%!important;padding:0!important}
  .fmt-hotel-page .fmt-hotel-hero-copy h1{font-size:31px!important;line-height:1.08!important;color:#fff!important;text-shadow:0 3px 18px rgba(0,0,0,.22)!important}
  .fmt-hotel-page .fmt-hotel-hero-copy>p{font-size:11px!important;line-height:1.45!important;color:rgba(255,255,255,.94)!important}
  .fmt-hotel-page .fmt-hotel-search-wrap{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;margin:-38px auto 0!important}
  .fmt-hotel-page .fmt-hotel-search-card{padding:9px 12px 14px!important;border:1px solid #d9e6f4!important;border-radius:22px!important;background:#fff!important;box-shadow:0 16px 38px rgba(14,58,111,.16)!important}
  .fmt-hotel-mobile-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin-bottom:12px!important;padding:4px!important;border-radius:14px!important;background:#eff5fc!important}
  .fmt-hotel-mobile-tabs a{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:11px;color:#536781;font-size:13px;font-weight:850;text-decoration:none}
  .fmt-hotel-mobile-tabs a.is-active{background:#fff;color:#0868f4;box-shadow:0 5px 14px rgba(13,58,110,.10)}
  .fmt-hotel-mobile-tabs a.is-active:after{content:'';position:absolute;left:20px;right:20px;bottom:0;height:3px;border-radius:4px;background:#0868f4}
  .fmt-hotel-page .fmt-hotel-search-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;min-height:0!important;margin:0!important;border:0!important;overflow:visible!important}
  .fmt-hotel-page .fmt-hotel-field{display:block!important;min-height:79px!important;padding:11px!important;border:1px solid #d8e4f2!important;border-radius:13px!important;background:#fff!important}
  .fmt-hotel-page .fmt-hotel-destination-field,.fmt-hotel-page .fmt-hotel-guests-field{grid-column:1/-1!important}
  .fmt-hotel-page .fmt-hotel-field label{font-size:9px!important}
  .fmt-hotel-page .fmt-hotel-field input,.fmt-hotel-page .fmt-hotel-guests-toggle{font-size:14px!important}
  .fmt-hotel-page .fmt-hotel-search-button{grid-column:1/-1!important;width:100%!important;height:56px!important;min-height:56px!important;margin:0!important;border-radius:14px!important;font-size:16px!important;box-shadow:0 10px 24px rgba(7,102,230,.24)!important}
  .fmt-hotel-page .fmt-hotel-suggestions,.fmt-hotel-page .fmt-hotel-guests-panel{bottom:84px!important;border-radius:21px!important;box-shadow:0 0 0 100vmax rgba(5,25,52,.45),0 22px 52px rgba(5,28,60,.24)!important}
  .fmt-hotel-landing{padding:24px 12px 38px!important}
  .fmt-hotel-trust{display:flex!important;gap:9px!important;margin:0 -12px 28px 0!important;padding:2px 0!important;border:0!important;box-shadow:none!important;overflow-x:auto!important;scrollbar-width:none!important}
  .fmt-hotel-trust::-webkit-scrollbar{display:none}
  .fmt-hotel-trust>div{flex:0 0 70%!important;padding:14px!important;border:1px solid #dce7f4!important;border-radius:14px!important;background:#fff!important}
  .fmt-landing-head{display:block!important;margin-bottom:14px!important}
  .fmt-landing-head h2{font-size:23px!important}
  .fmt-destination-grid{display:flex!important;gap:12px!important;margin:0 -12px 30px 0!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .fmt-destination-grid::-webkit-scrollbar{display:none}
  .fmt-destination-card{flex:0 0 78%!important;height:205px!important;scroll-snap-align:start!important;border-radius:17px!important}
  .fmt-hotel-assurance{grid-template-columns:1fr!important;gap:10px!important;padding:13px!important;border-radius:18px!important}
  .fmt-hotel-assurance>div{padding:17px!important}
}
@media(min-width:761px){.fmt-hotel-mobile-tabs{display:none}}
@media(max-width:370px){
  .fmt-global-header .fmt-brand{width:140px!important;flex-basis:140px!important}
  .fmt-trip-tabs span{font-size:10px!important}
  .fmt-field{padding:9px!important}
  .fmt-mobile-dock span{font-size:8px}
}
