.flight-card{border:1px solid #e5eaf2;box-shadow:0 3px 14px #15315806;border-radius:18px;margin-bottom:18px;overflow:hidden}
.card-top{background:white;padding:18px 24px;color:#66758c;gap:12px}
.card-top strong{color:#172e4c;font-size:15px}
.card-core{padding:8px 24px 22px;gap:28px}
.leg-label{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1.4px;color:#718097;margin-top:10px}
.segment{padding:10px 0 16px}
.segment strong{font-size:25px}
.segment small{font-size:12px}
.offer{border-left:1px solid #edf0f5;padding-left:26px;min-width:190px;justify-content:center;gap:9px}
.offer .price{font-size:29px;letter-spacing:-1px}
.offer small{color:#6a7890;line-height:1.7}
.offer .primary{margin-top:10px;border-radius:10px;padding:13px 20px}
.card-footer{border-top:1px solid #edf0f5;background:#fbfcfe;padding:12px 24px;font-size:11px}
.airport-warning{color:#865817;background:#fff7e7;padding:8px 12px;border-radius:8px;font-size:12px}
button:focus-visible{outline:3px solid #91b6ff;outline-offset:3px}
dialog::backdrop{background:#11294266;backdrop-filter:blur(4px)}
button:disabled{opacity:.55}
.skeleton-card{padding:26px;border:1px solid #e5eaf2;border-radius:18px;background:white;margin-bottom:18px}
.skeleton-card i{display:block;height:20px;margin:18px 0;background:linear-gradient(90deg,#edf1f7,#f8faff,#edf1f7);background-size:200%;animation:shimmer 1.8s infinite;border-radius:7px}
.skeleton-card i:first-child{width:45%}
.loading-tail{padding:18px;color:#6a7890;text-align:center;font-size:13px}
@keyframes shimmer{to{background-position:-200%}}
@media(max-width:650px){.card-top{padding:15px;flex-wrap:wrap}
.card-core{padding:0 15px 18px;gap:15px}
.offer{border-left:0;border-top:1px solid #edf0f5;padding:16px 0 0;min-width:0}
.card-footer{padding:12px 15px}
.segment strong{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.skeleton-card i,#freshness.busy::before{animation:none}
}
.segments{padding:0;gap:0;align-content:center}
.card-core{grid-template-columns:minmax(0,1fr) 210px}
.offer{padding:16px 0 16px 24px}
.segment{grid-template-columns:100px minmax(60px,1fr) 100px}
.segment small{display:block}
.destination:has(img){overflow:hidden}
#travel-photo img{object-fit:cover}
@media(max-width:650px){.card-core{grid-template-columns:1fr}
.offer{padding:15px 0 0}
.segment{grid-template-columns:78px minmax(45px,1fr) 78px;gap:10px}
}
.leg-price{text-align:right;font-size:13px;font-weight:700;color:#334e70;margin:-8px 0 14px}
.segment small.changed-airport{color:#a54b0b;font-weight:750;background:#fff2e5;border-radius:5px;padding:3px 5px;display:inline-block}
#modal:has(.offers-dialog){width:min(740px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:30px}
.offers-dialog .provider-offer{grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;padding:22px 0}
.agency-title{display:grid;gap:7px;min-width:0}
.agency-title strong{font-size:18px;word-break:normal;overflow-wrap:normal}
.agency-title span,.agency-title small{font-size:13px;color:#65748a}
.agency-price{white-space:nowrap;align-self:start;font-size:21px}
.agency-baggage{grid-column:1/-1;font-size:12px;color:#65748a;line-height:1.8}
.offers-dialog .provider-offer .primary{width:auto;justify-self:end;margin:0;min-width:160px;border-radius:10px}
#search-errors{padding:16px 20px;margin:10px 0 20px;border:1px solid #e5d6bf;border-radius:12px;background:#fffbf5;font-size:13px;color:#72502b}
#search-errors summary{cursor:pointer;font-weight:650}
#search-errors p{line-height:1.6}
@media(max-width:500px){#modal:has(.offers-dialog){padding:22px}
.offers-dialog .provider-offer{gap:12px}
.agency-title strong{font-size:16px}
.agency-price{font-size:18px}
.offers-dialog .provider-offer .primary{width:100%}
}
.search-button{justify-content:center;text-align:center}
.offers-dialog .provider-offer a.primary{display:flex;align-items:center;justify-content:center;text-align:center}
.flight-card{transform:scale(.985);transform-origin:top center;margin-bottom:4px}
.card-core{padding-top:4px;padding-bottom:16px}
.card-top{padding-top:14px;padding-bottom:14px}
.segment{padding-bottom:10px}
.segment strong{font-size:22px}
.offer .price{font-size:25px}
.offer{min-width:175px}
.stars{display:flex;gap:7px;margin:22px 0}
.stars button{border:0;background:none;color:#c4cbd5;font-size:34px;line-height:1;padding:0;cursor:pointer}
.stars button:hover,.stars button:focus{color:#f5a623}
.stars button:focus-visible{outline:2px solid #165ddf;border-radius:4px}
#feedback-dialog{width:min(370px,calc(100vw - 32px));border:0;border-radius:16px;padding:24px;text-align:center}
#feedback-dialog h2{font-size:20px}
#feedback-dialog p{color:#66758c;font-size:13px}
#feedback-dialog>[data-feedback-later]{border:0;background:none;color:#165ddf;font-size:13px;padding:8px}
.provider-toggle{width:100%;padding:14px;text-align:left;background:white;border:1px solid #dce4ef;border-radius:10px;color:#223b5b}
.picker-head{display:flex;align-items:center;justify-content:space-between;padding-right:30px}
.picker-head h2{font-size:23px}
.picker-head .close{position:absolute;top:18px;right:18px}
.provider-actions,.calendar-actions{display:flex;justify-content:space-between;gap:12px;margin:18px 0}
.provider-actions button,.calendar-actions>button:not(.primary){background:none;border:0;color:#165ddf;padding:8px}
.provider-actions button:focus-visible{outline:3px solid #91b6ff;outline-offset:3px}
#provider-dialog{width:min(460px,calc(100vw - 24px));border:0;border-radius:20px;padding:26px;max-height:85vh}
#provider-search{width:100%;padding:13px;border:1px solid #dce4ef;border-radius:10px}
#providers{max-height:42vh;overflow:auto;margin-bottom:20px}
#providers label{padding:12px 4px;border-bottom:1px solid #edf0f5;margin:0}
#providers label[hidden]{display:none}
#providers>small{display:none}
#provider-apply{width:100%;border-radius:10px}
.date-display{border:0;background:none;text-align:left;color:#142d4e;padding:0;font:inherit;font-size:13px;font-weight:650;width:100%;min-height:28px}
#calendar-dialog{width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto;border:0;border-radius:22px;padding:28px}
.calendar-tabs{display:flex;background:#f4f7fc;border-radius:12px;padding:5px;gap:6px}
.calendar-tabs button{flex:1;background:transparent;border:1px solid transparent;border-radius:9px;padding:10px;text-align:left;color:#64748b}
.calendar-tabs strong{display:block;color:#172e4c;margin-top:5px}
.calendar-tabs button[aria-pressed=true]{background:white;border-color:#c9dbfa;box-shadow:0 2px 8px #15315809}
.calendar-nav{display:flex;justify-content:space-between;margin-top:15px}
.calendar-nav button{width:36px;height:36px;background:white;border:1px solid #dce4ef;border-radius:50%}
.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.calendar-month h3{text-align:center;font-size:16px;margin:4px 0 20px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:5px}
.calendar-grid .weekday{text-align:center;font-size:11px;color:#77869b;padding-bottom:12px}
.calendar-grid button{aspect-ratio:1;border:0;background:white;color:#1d3452;border-radius:9px;font-weight:600}
.calendar-grid button:hover:not(:disabled){background:#e9f1ff}
.calendar-grid button.in-range{background:#edf4ff;border-radius:0}
.calendar-grid button.selected{background:#165ddf!important;color:white}
.calendar-grid button:disabled{color:#c6ced9;cursor:default}
.calendar-actions{border-top:1px solid #edf0f5;padding-top:18px;margin-bottom:0}
.calendar-actions .primary{border-radius:10px;min-width:130px}
@media(max-width:650px){.calendar-months{grid-template-columns:1fr;gap:30px}
#calendar-dialog{padding:20px}
#provider-dialog{margin:auto;padding:20px}
.calendar-grid button{max-height:48px}
.calendar-actions{position:sticky;bottom:-20px;background:white;padding-bottom:10px}
}
.calendar-actions .primary{width:auto;margin-top:0}
.airport-picker{width:100%;border:0;background:none;text-align:left;color:#172e4c;font:inherit;font-weight:650;padding:4px 0}
.airport-picker:focus:not(:focus-visible){outline:none}
.field:has(.airport-picker:focus):not(:has(.airport-picker:focus-visible)){box-shadow:none;border-color:#dce4ef}
#airport-dialog{width:min(460px,calc(100vw - 24px));border:0;border-radius:20px;padding:25px}
.airport-options{display:grid;gap:8px;margin-top:20px}
.airport-options button{display:flex;justify-content:space-between;align-items:center;border:1px solid #e6ebf3;background:#fff;border-radius:12px;padding:17px;color:#213b5c;text-align:left}
.airport-options button:hover{background:#f5f8fc}
.airport-options button[aria-pressed=true]{background:#eef3f9;border-color:#c5d1df}
.airport-options strong{font-size:12px;color:#6a7a90}
