/* FlexiKayak mobile app shell — UI only. No booking/payment/business rules. */
:root{--fk-app-blue:#0b57d0;--fk-app-ink:#10213b;--fk-app-bg:#f5f7fb;--fk-safe-bottom:env(safe-area-inset-bottom,0px)}
@media (max-width: 767px){
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(72px + var(--fk-safe-bottom))!important;background:var(--fk-app-bg);overscroll-behavior-y:contain}
  button,.btn,a,input,select,textarea{touch-action:manipulation}
  .btn,.form-control,.form-select,.custom-select-trigger{min-height:48px;border-radius:14px!important}
  .form-control,.form-select{font-size:16px!important}

  /* Homepage: put booking search at the first useful mobile position. */
  .search-overlay-center-matrix .custom-search-layout-container{display:flex!important;flex-direction:column!important}
  .search-overlay-center-matrix .search-card{order:1!important;margin:8px 0 14px!important;padding:16px!important;border-radius:22px!important;box-shadow:0 14px 36px rgba(15,23,42,.20)!important}
  .search-overlay-center-matrix .graphic-hero-title{order:2!important;margin:10px 4px 8px!important;font-size:1.45rem!important;line-height:1.2!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.55)!important}
  .search-overlay-center-matrix .corporate-info-dual-matrix{order:3!important;margin:8px 0 12px!important;padding:14px!important;border-radius:18px!important;background:rgba(15,23,42,.60)!important;border:1px solid rgba(255,255,255,.15)!important;backdrop-filter:blur(8px)}
  .search-card .row{gap:10px!important}
  .search-card label{font-size:11px!important;letter-spacing:.45px;color:#475569!important}
  .search-card .custom-select-trigger,.search-card input,.search-card select{background:#f8fafc!important;border:1px solid #dbe3ef!important;box-shadow:none!important}
  .search-card button[type="submit"]{min-height:52px!important;font-size:15px!important;border-radius:16px!important;box-shadow:0 8px 20px rgba(11,87,208,.22)}
  #activityDropdownPanel{position:fixed!important;left:12px!important;right:12px!important;top:82px!important;width:auto!important;max-height:68vh!important;border-radius:18px!important;padding:10px!important;z-index:99999!important;box-shadow:0 20px 60px rgba(15,23,42,.25)!important}
  #innerActivitySearch{height:46px!important;font-size:16px!important;border-radius:12px!important;padding:8px 12px!important}
  #customOptionsList{max-height:54vh!important}
  .custom-option-item{padding:12px 10px!important;font-size:15px!important;border-bottom:1px solid #eef2f7}

  /* Activity detail: booking card appears before long content on phones. */
  .activity-detail-layout{display:flex!important;flex-direction:column!important}
  .activity-detail-layout>.col-lg-4{order:-1!important;width:100%!important}
  .activity-detail-layout>.col-lg-8{order:1!important;width:100%!important}
  #activity-booking-card{margin:0 0 18px!important;border-radius:22px!important;padding:18px!important;box-shadow:0 12px 32px rgba(15,23,42,.12)!important;border:1px solid #e8edf5}
  #activity-booking-card .price-big{font-size:1.7rem!important}
  #activity-booking-card .btn-booking-main{min-height:54px!important;border-radius:16px!important}
  .main-img-wrap{margin-bottom:18px!important;border-radius:20px!important;overflow:hidden}

  /* Checkout/booking pages: app-like cards and thumb-friendly controls. */
  .booking-layout{display:block!important}
  .card-box{border-radius:20px!important;padding:18px!important;margin-bottom:14px!important;box-shadow:0 8px 24px rgba(15,23,42,.08)!important}
  .card-title{font-size:18px!important;margin-bottom:16px!important}
  .submit-btn{min-height:54px!important;border-radius:16px!important;font-size:16px!important}
  table{max-width:100%}

  /* Bottom app navigation injected by mobile-app.js. */
  .fk-app-nav{position:fixed;left:8px;right:8px;bottom:calc(8px + var(--fk-safe-bottom));z-index:100000;background:rgba(255,255,255,.96);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 38px rgba(15,23,42,.20);border-radius:20px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;backdrop-filter:blur(14px)}
  .fk-app-nav a,.fk-app-nav button{appearance:none;border:0;background:transparent;color:#516078;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;font-size:10px;font-weight:700;padding:2px}
  .fk-app-nav i{font-size:19px;line-height:1}
  .fk-app-nav .is-active,.fk-app-nav a:active,.fk-app-nav button:active{color:var(--fk-app-blue);background:#eef5ff;border-radius:14px}
  .fk-install-hint{position:fixed;left:14px;right:14px;bottom:calc(84px + var(--fk-safe-bottom));z-index:100001;background:#10213b;color:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 15px 40px rgba(15,23,42,.30);font-size:13px;line-height:1.45}
  .fk-install-hint button{float:right;border:0;background:transparent;color:#fff;font-size:20px;min-height:auto;padding:0 0 0 10px}
}
@media (min-width:768px){.fk-app-nav,.fk-install-hint{display:none!important}}
@media (display-mode:standalone){body{user-select:none}.fk-install-only{display:none!important}}

/* Mobile readability + installed-app nav refinement (UI only). */
@media (max-width: 767px){
  /* Keep the dark DMC panel readable on small screens. */
  .search-overlay-center-matrix .corporate-info-dual-matrix,
  .search-overlay-center-matrix .corporate-info-dual-matrix .brand-huge-title,
  .search-overlay-center-matrix .corporate-info-dual-matrix .brand-sub-para,
  .search-overlay-center-matrix .corporate-info-dual-matrix .bullet-text,
  .search-overlay-center-matrix .corporate-info-dual-matrix p,
  .search-overlay-center-matrix .corporate-info-dual-matrix h2,
  .search-overlay-center-matrix .corporate-info-dual-matrix h3,
  .search-overlay-center-matrix .corporate-info-dual-matrix span:not(.bullet-star){color:#f8fafc!important}
  .search-overlay-center-matrix .corporate-info-dual-matrix .brand-sub-para{color:#cbd5e1!important;opacity:1!important}
  .search-overlay-center-matrix .corporate-info-dual-matrix .bullet-text{color:#f1f5f9!important;opacity:1!important}
  .search-overlay-center-matrix .corporate-info-dual-matrix .bullet-star,
  .search-overlay-center-matrix .corporate-info-dual-matrix .bullet-star i{color:#fbbf24!important}

  /* Explore sheet used by the fourth bottom-nav slot after installation. */
  .fk-explore-sheet{position:fixed;left:14px;right:14px;bottom:calc(84px + var(--fk-safe-bottom));z-index:100002;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:20px;padding:12px;box-shadow:0 18px 48px rgba(15,23,42,.28)}
  .fk-explore-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px;font-size:15px;font-weight:800;color:#10213b}
  .fk-explore-sheet__close{border:0;background:transparent;color:#64748b;font-size:24px;line-height:1;padding:0 4px;min-height:auto!important}
  .fk-explore-sheet__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .fk-explore-sheet__grid a{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px;border-radius:15px;background:#f8fafc;border:1px solid #e2e8f0;color:#10213b;text-decoration:none;font-size:13px;font-weight:800}
  .fk-explore-sheet__grid a i{font-size:20px;color:var(--fk-app-blue)}
}
