.flight-loader { padding:0; border:1px solid #ffffff30; border-radius:24px; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; background:#fff; color:#143254; box-shadow:0 32px 110px #00132b66; }
.flight-loader::backdrop { background:#03172bcc; backdrop-filter:blur(7px); }
.flight-loader-sky { height:218px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 50% 100%,#246696,#123957 65%,#08233e); }
.flight-loader-globe { position:absolute; width:138px; height:138px; left:50%; top:28px; transform:translateX(-50%); border-radius:50%; background:#ffffff06; box-shadow:0 0 40px #75c7ff12; }
.flight-loader-globe svg { width:100%; height:100%; stroke:#a0d5f64a; stroke-width:1; }
.flight-loader-orbit { position:absolute; width:172px; height:172px; left:calc(50% - 86px); top:11px; border:1px dashed #c3e5ff40; border-radius:50%; animation:flight-orbit 7s linear infinite; }
.flight-loader-orbit > span { position:absolute; width:37px; height:37px; top:8px; right:9px; color:#ffc44c; filter:drop-shadow(0 4px 8px #001d4270); transform:rotate(80deg); }
.flight-loader-orbit svg { width:100%; height:100%; }
.flight-loader-brand { position:absolute; bottom:17px; width:100%; text-align:center; color:white; font-size:.69rem; font-weight:800; letter-spacing:.16em; }
.flight-loader-brand > span { display:block; color:#a6c9e2; font-size:.47rem; letter-spacing:.19em; margin-top:5px; font-weight:500; }
.flight-loader-star { position:absolute; width:4px; height:4px; border-radius:50%; background:#ffcf69; box-shadow:0 0 12px #ffcf6990; }
.flight-loader-star--one { left:18%; top:27%; }
.flight-loader-star--two { right:16%; top:46%; width:3px; height:3px; }
.flight-loader-star--three { left:27%; top:67%; width:2px; height:2px; }
.flight-loader-cloud { position:absolute; width:62px; height:13px; border-radius:30px; background:#cae9ff13; }
.flight-loader-cloud::before { content:""; position:absolute; width:26px; height:26px; border-radius:50%; bottom:0; left:15px; background:inherit; }
.flight-loader-cloud--one { left:26px; bottom:64px; }
.flight-loader-cloud--two { right:20px; top:49px; transform:scale(.75); }
.flight-loader-content { text-align:center; padding:29px 32px 22px; }
.flight-loader-eyebrow { font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; color:#a66d08; font-weight:750; }
.flight-loader h2 { font-size:1.55rem; font-weight:750; letter-spacing:-.035em; margin:10px 0 19px; color:#0c2948; }
.flight-loader-route { display:flex; justify-content:center; align-items:center; gap:17px; font-size:1.3rem; font-weight:750; }
.flight-loader-route > span { overflow-wrap:anywhere; max-width:42%; }
.flight-loader-route svg { width:29px; height:24px; color:#b18a40; flex-shrink:0; }
.flight-loader-meta { color:#677c92; font-size:.74rem; margin:7px 0 23px; }
.flight-loader-message { font-size:.82rem; color:#344e68; line-height:1.6; margin:0 0 14px; min-height:2.6em; }
.flight-loader-progress { height:4px; background:#edf2f7; border-radius:4px; overflow:hidden; width:85%; margin:0 auto; }
.flight-loader-progress > span { display:block; height:100%; width:38%; background:linear-gradient(90deg,#ffe6a3,#f3ad16); border-radius:inherit; animation:flight-search-sweep 1.9s ease-in-out infinite; }
.flight-loader-note { margin:18px 0 13px; font-size:.71rem; color:#718197; line-height:1.7; }
.flight-loader-cancel { background:transparent; border:0; padding:8px 14px; color:#526a82; text-decoration:underline; text-underline-offset:4px; font-size:.73rem; border-radius:5px; }
.flight-loader-cancel:hover { color:#153c65; background:#f3f6fa; }
.flight-loader-cancel:focus-visible { outline:2px solid #2b6d9f; outline-offset:2px; }
@keyframes flight-orbit { to { transform:rotate(360deg); } }
@keyframes flight-search-sweep { 0% { transform:translateX(-110%); } 100% { transform:translateX(365%); } }
@media (max-width:480px) { .flight-loader-sky { height:194px; } .flight-loader-brand { bottom:9px; } .flight-loader-content { padding:23px 22px 17px; } .flight-loader h2 { font-size:1.35rem; } }
@media (max-height:660px) { .flight-loader-sky { height:140px; } .flight-loader-globe { transform:translateX(-50%) scale(.65); top:-15px; } .flight-loader-orbit { width:114px; height:114px; left:calc(50% - 57px); top:-2px; } .flight-loader-brand { bottom:9px; } .flight-loader-content { padding-top:18px; } .flight-loader-meta { margin-bottom:13px; } }
@media (prefers-reduced-motion:reduce) { .flight-loader-orbit, .flight-loader-progress > span { animation:none; } .flight-loader-progress > span { width:100%; opacity:.55; } }
.flight-loader [hidden] { display:none!important; }
