.kfl-wrap{--kfl-radius:14px;font-family:inherit;color:var(--global-palette4);width:100%;max-width:1150px;margin:1.5em auto;box-sizing:border-box;scroll-margin-top:90px}
.kfl-wrap *{box-sizing:border-box}
.kfl-wrap [hidden]{display:none !important}
.kfl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kfl-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px;padding:18px 20px;background:var(--global-palette9);border:2px solid var(--global-palette1);border-radius:var(--kfl-radius);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.kfl-filter-group{display:flex;flex-direction:column;gap:6px;flex:1 1 240px;min-width:0}
.kfl-filter-group label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--global-palette1)}
.kfl-select{position:relative}
.kfl-select::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--global-palette1);border-bottom:2px solid var(--global-palette1);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.kfl-wrap .kfl-select select{display:block;width:100%;height:50px;margin:0;padding:0 44px 0 16px;border-radius:12px;border:2px solid var(--global-palette7);background:var(--global-palette9);color:var(--global-palette3);font-size:1rem;font-weight:600;line-height:1.2;-webkit-appearance:none;appearance:none;cursor:pointer;outline:none;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}
.kfl-wrap .kfl-select select:hover,.kfl-wrap .kfl-select select:focus,.kfl-wrap .kfl-select select.is-active{border-color:var(--global-palette1)}
.kfl-wrap .kfl-select select:focus{box-shadow:0 0 0 3px rgba(0,0,0,.1)}
.kfl-wrap .kfl-clear{height:50px;padding:0 22px;border-radius:25px;border:2px solid var(--global-palette1);background:transparent;color:var(--global-palette1);font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:none;transition:background .2s ease,color .2s ease}
.kfl-wrap .kfl-clear:hover,.kfl-wrap .kfl-clear:focus{background:var(--global-palette1);color:#fff;border-color:var(--global-palette1);box-shadow:none}
.kfl-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 4px 4px;font-size:.9rem;color:var(--global-palette5)}
.kfl-count{font-weight:600}
.kfl-size{display:flex;align-items:center;gap:8px;font-weight:600;margin:0}
.kfl-wrap .kfl-size .kfl-select select{height:38px;width:86px;padding:0 30px 0 12px;font-size:.9rem;border-radius:10px}
.kfl-size .kfl-select::after{right:12px;width:6px;height:6px}
.kfl-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.kfl-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0 12px;margin:0;border:0}
.kfl-table thead th{text-align:left;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--global-palette5);padding:0 14px 2px;border:0;background:transparent;white-space:nowrap}
.kfl-table tbody td{background:var(--global-palette9);padding:16px 14px;border:0;border-top:1px solid var(--global-palette7);border-bottom:1px solid var(--global-palette7);vertical-align:middle;font-size:.95rem;color:var(--global-palette4);transition:background .2s ease}
.kfl-table tbody td:first-child{border-left:1px solid var(--global-palette7);border-radius:var(--kfl-radius) 0 0 var(--kfl-radius)}
.kfl-table tbody td:last-child{border-right:1px solid var(--global-palette7);border-radius:0 var(--kfl-radius) var(--kfl-radius) 0}
.kfl-table tbody tr{box-shadow:0 2px 8px rgba(0,0,0,.05);border-radius:var(--kfl-radius)}
.kfl-table tbody tr:hover td{background:var(--global-palette7)}
.kfl-type{width:48px;text-align:center;color:var(--global-palette3)}
.kfl-type svg{width:22px;height:22px;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kfl-city{font-weight:700;color:var(--global-palette3)}
.kfl-code{display:block;font-weight:500;font-size:.75rem;color:var(--global-palette5);letter-spacing:.05em}
.kfl-airline{color:var(--global-palette4)}
.kfl-date{font-weight:600;white-space:nowrap;color:var(--global-palette4)}
.kfl-table tbody td.kfl-price{font-weight:700;font-size:1.1rem;color:var(--global-palette1);white-space:nowrap}
.kfl-disc{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:12px;background:#16a34a;color:#fff;font-size:.72rem;font-weight:700;vertical-align:middle}
.kfl-stop{color:var(--global-palette5)}
.kfl-stop small{display:block;font-size:.75rem}
.kfl-hid{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--global-palette5)}
.kfl-act{position:relative}
.kfl-has-rib .kfl-act{padding-right:54px}
.kfl-rib{position:absolute;top:-1px;right:-1px;width:84px;height:84px;overflow:hidden;border-top-right-radius:var(--kfl-radius);pointer-events:none;z-index:2}
.kfl-badge{display:block;text-align:center;color:#fff !important;font-size:.64rem;font-weight:800;letter-spacing:.02em;line-height:18px;text-decoration:none !important;white-space:nowrap}
.kfl-badge--rib{position:absolute;top:18px;right:-30px;width:112px;height:18px;transform:rotate(45deg);background:linear-gradient(135deg,var(--global-palette1),var(--global-palette2));box-shadow:0 2px 6px rgba(0,0,0,.25);pointer-events:auto}
.kfl-badge--pill{display:inline-block;position:relative;top:-9px;margin-left:8px;padding:3px 10px;border-radius:12px;background:var(--global-palette2);font-size:.68rem;line-height:1.3;vertical-align:top}
a.kfl-badge:hover{filter:brightness(1.12)}
.kfl-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}
.kfl-btn{display:inline-block;padding:9px 20px;border-radius:25px;font-size:.88rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none !important;border:2px solid var(--global-palette1);transition:background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer}
.kfl-btn--primary{background:var(--global-palette1);color:#fff !important}
.kfl-btn--primary:hover{background:var(--global-palette2);border-color:var(--global-palette2)}
.kfl-btn--outline{background:transparent;color:var(--global-palette1) !important}
.kfl-btn--outline:hover{background:var(--global-palette1);color:#fff !important}
.kfl-status{text-align:center;padding:32px 16px;color:var(--global-palette5);background:var(--global-palette9);border:1px solid var(--global-palette7);border-radius:var(--kfl-radius)}
.kfl-status--error{color:#b42318}
.kfl-pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 4px}
.kfl-wrap .kfl-pg{min-width:42px;height:42px;margin:0;padding:0 14px;border-radius:21px;border:2px solid var(--global-palette7);background:var(--global-palette9);color:var(--global-palette3);font-size:.9rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:none;transition:border-color .2s ease,color .2s ease,background .2s ease}
.kfl-wrap .kfl-pg:hover,.kfl-wrap .kfl-pg:focus{background:var(--global-palette9);border-color:var(--global-palette1);color:var(--global-palette1);box-shadow:none}
.kfl-wrap .kfl-pg.is-current,.kfl-wrap .kfl-pg.is-current:hover{background:var(--global-palette1);border-color:var(--global-palette1);color:#fff;cursor:default}
.kfl-wrap .kfl-pg:disabled,.kfl-wrap .kfl-pg:disabled:hover{opacity:.4;cursor:not-allowed;background:var(--global-palette9);border-color:var(--global-palette7);color:var(--global-palette3)}
.kfl-pg-gap{padding:0 4px;color:var(--global-palette5)}
.kfl-pg-of{display:none;font-weight:600;color:var(--global-palette5)}
.kfl-note{margin-top:10px;font-size:.82rem;font-style:italic;color:var(--global-palette5)}
.kfl-compact .kfl-scroll{overflow-x:visible}
.kfl-compact .kfl-table{display:block;min-width:0;border-spacing:0}
.kfl-compact .kfl-table thead{display:none}
.kfl-compact .kfl-table tbody{display:block}
.kfl-compact .kfl-table tbody tr{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:8px 12px;align-items:center;margin:0 0 12px;padding:16px;background:var(--global-palette9);border:1px solid var(--global-palette7);border-radius:var(--kfl-radius);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.kfl-compact .kfl-table tbody td,.kfl-compact .kfl-table tbody td:first-child,.kfl-compact .kfl-table tbody td:last-child{display:block;width:auto;padding:0;border:0;border-radius:0;background:transparent;font-size:.9rem}
.kfl-compact .kfl-table tbody tr:hover td{background:transparent}
.kfl-compact .kfl-o{grid-column:1;grid-row:1}
.kfl-compact .kfl-type{grid-column:2;grid-row:1;text-align:center}
.kfl-compact .kfl-d{grid-column:3;grid-row:1;text-align:right}
.kfl-compact .kfl-has-badge .kfl-d{padding-right:36px}
.kfl-compact .kfl-stop{grid-column:1/3;grid-row:2}
.kfl-compact .kfl-airline{grid-column:3;grid-row:2;text-align:right}
.kfl-compact .kfl-dep{grid-column:1/3;grid-row:3}
.kfl-compact .kfl-ret{grid-column:3;grid-row:3;text-align:right}
.kfl-compact .kfl-table tbody td.kfl-city{font-size:1.05rem}
.kfl-compact .kfl-table tbody td.kfl-price{grid-column:1/3;grid-row:4;align-self:center;font-size:2rem;font-weight:800;line-height:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.kfl-compact .kfl-table tbody td.kfl-price::after{content:" USD";font-size:.7rem;font-weight:600;color:var(--global-palette5);order:1}
.kfl-compact .kfl-disc{order:2;margin-left:0;align-self:center}
.kfl-compact .kfl-badge--pill{order:3;top:0;margin-left:0;align-self:flex-start}
.kfl-compact .kfl-act{position:static;grid-column:3;grid-row:4;align-self:stretch}
.kfl-compact .kfl-rib{top:0;right:0}
.kfl-compact .kfl-actions{flex-direction:column;gap:8px;height:100%}
.kfl-compact .kfl-actions .kfl-btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 8px;font-size:.82rem}
.kfl-compact .kfl-date{white-space:normal}
.kfl-compact .kfl-date::before{content:attr(data-label) ": ";font-weight:500;color:var(--global-palette5)}
.kfl-compact .kfl-table tbody td.kfl-empty{display:none}
.kfl-compact .kfl-filters{padding:16px}
.kfl-compact .kfl-clear{width:100%}
.kfl-compact .kfl-pg-num{display:none}
.kfl-compact .kfl-pg-num.is-current{display:inline-block}
.kfl-compact .kfl-pg-gap{display:none}
.kfl-compact .kfl-pg-of{display:inline}