:root {
   --sky-top: #EAF0FF;
   --sky-bot: #FAFBFF;
   --ink: #12142B;
   --muted: #666B85;
   --line: rgba(18, 20, 43, 0.08);

   --navy-brand: #0B1B4D;
   --sky-blue: #2E6DA6;
   --gold-accent: #C9952F;
   --gold-light: #E8C97A;
   --footer-ink: #081436;

   --glass-bg: rgba(255, 255, 255, 0.6);
   --glass-bg-strong: rgba(255, 255, 255, 0.78);
   --glass-border: rgba(255, 255, 255, 0.9);

   --font-display: 'Space Grotesk', 'Inter', sans-serif;
   --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
   --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

   --radius-sm: 12px;
   --radius: 20px;
   --radius-lg: 28px;

   --shadow-soft: 0 20px 50px -25px rgba(18, 20, 43, 0.35);
   --shadow-card: 0 14px 34px -18px rgba(18, 20, 43, 0.28);

   /* single source of truth for the search-card control height,
      used by both inputs and the search button so they always match */
   --control-h: 48px;
}
.fm-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 9px 17px;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    white-space: nowrap;
}
.fm-btn-primary, .fm-btn-secondary:hover {
    background: linear-gradient(135deg, var(--navy-brand), var(--sky-blue));
    color: #fff;
    box-shadow: 0 10px 24px -10px rgba(11, 27, 77, 0.6);
}
.fm-btn-secondary {
    box-shadow: 0 16px 30px -12px rgb(231 176 80 / 52%);
    background: #e7b050;
    color: #fff;
}
.fm-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px -12px rgb(231 176 80 / 52%);
    background: #e7b050;
}
.flight-sugg{border-bottom:1px dotted #e6e6e6;padding:10px 0 5px;margin:0;font-size:12px}.ui-menu-item-wrapper.ui-state-active img,.hotel-sugg.ui-state-active img{filter:invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%)}.flight-sugg:hover{background:#eee}.flight-sugg p{margin:0;font-weight:600}.flight-suggestion{margin-top:0;margin-right:5px;float:left;padding-left:0}.flight-sugg span{border:1px solid #07265a;padding:5px 16px;cursor:pointer;border-radius:5px;color:#07265a;font-size:12px;line-height:2.5}.flight-sugg .sub-state{padding-left:24px;font-weight:400}.ui-menu .ui-menu-item .flight-sugg.ui-menu-item-wrapper.ui-state-active{border:none;background-color:#153366!important;border-bottom:1px solid #ccc;color:#ffffff!important}.ui-menu .ui-menu-item .flight-sugg.ui-menu-item-wrapper{padding:10px}.ui-menu.ui-widget-content li div.flight-sugg{padding:0}.ui-menu.ui-widget-content li div.flight-sugg:hover{background-color:#12142b5e;color:#004680}.ui-menu .ui-menu-item .ui-menu-item-wrapper.flight-sugg{background-color:#fff}.hotel-sugg{border-bottom:1px dotted #e6e6e6;padding:10px 0 5px;margin:0;font-size:12px}.hotel-sugg:hover{background-color:#eee}.hotel-sugg p{margin:0;font-weight:600;font-size:12px}.hotel-suggestion{margin-top:7px;margin-right:7px;float:left;padding-left:0}.hotel-sugg span{border:1px solid #07265a;padding:5px 10px;cursor:pointer;border-radius:5px;color:#07265a;font-size:12px;display:block;text-align:center;width:100%}.hotel-sugg .sub-state{padding-left:24px;font-weight:400;font-size:12px}.hotel-sugg.ui-menu-item-wrapper.ui-state-active{background:#eee!important;color:#333!important;border:1px solid #ddd!important}.ui-menu .ui-menu-item .hotel-sugg.ui-menu-item-wrapper.ui-state-active{border:none;background-color:#eee;border-bottom:1px solid #ccc;color:#000}.ui-menu .ui-menu-item .hotel-sugg.ui-menu-item-wrapper{padding:5px 20px}.ui-menu.ui-widget-content li div.hotel-sugg{padding:0}.ui-menu.ui-widget-content li div.hotel-sugg:hover{background-color:#153366!important;border-bottom:1px solid #ccc;color:#ffffff!important}.ui-menu.ui-widget-content li .hotel-sugg div:hover,.ui-menu.ui-widget-content li:hover .hotel-sugg div{background-color:#153366!important;color:#ffffff!important}.ui-menu .ui-menu-item .ui-menu-item-wrapper.hotel-sugg{background-color:#fff}.ui-menu.ui-widget-content li .hotel-sugg div{background-color:#fff;padding:0}.hotel-sugg.ui-menu-item-wrapper.ui-state-active div{background-color:unset!important}.flight-sugg.ui-menu-item-wrapper.ui-state-active,.hotel-sugg.ui-menu-item-wrapper.ui-state-active{background-color:#153366!important;color:#ffffff!important}.hotel-sugg.ui-menu-item-wrapper.ui-state-active span{border:1px solid #fff;color:#fff}.ui-menu .flight-sugg-div.ui-menu-item-wrapper{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-flow:row nowrap;flex-flow:row nowrap;padding:5px 10px;border-bottom:1px solid #ccc}.flight-sugg-div .flight-sugg-img{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-flow:column nowrap;width:20px;min-width:20px;max-width:20px;margin-right:5px}.flight-sugg-div .flight-airport-name{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-flow:column nowrap;min-width:80%;width:80%}.flight-sugg-div .flight-sugg-img img{max-height:16px;width:16px;margin-top:5px}.ui-menu .flight-sugg-div.ui-menu-item-wrapper.ui-state-active,.ui-menu .flight-sugg-div.ui-menu-item-wrapper:hover{background-color:#eee!important}.flight-sugg-div .flight-airport-code p,.flight-sugg-div .flight-airport-name p{margin:0;color:#333!important}.flight-sugg-div .flight-airport-code p,.flight-sugg-div .flight-airport-name .airport-name{font-weight:700}.flight-sugg-div .flight-airport-code{flex-basis:100%;text-align:right}