/* Tasting flight builder */
.fl{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);margin-top:1em;align-items:start}
.fl[hidden]{display:none}
@media (min-width:900px){.fl{grid-template-columns:minmax(0,1fr) 340px}.fl-tray{position:sticky;top:90px}}
.fl-tools{display:grid;gap:10px;margin-bottom:12px}
.fl-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:rgba(22,24,20,.8);min-height:46px}
.fl-search input{flex:1;background:none;border:0;color:var(--text);font:inherit;min-height:44px;outline:none}
.fl-chips{display:flex;flex-wrap:wrap;gap:8px}
.fl-chip{font:inherit;font-size:.98rem;color:var(--cream);background:rgba(22,24,20,.88);border:1px solid var(--line);border-radius:999px;padding:.3em .9em;min-height:44px;cursor:pointer}
.fl-chip.is-on,.fl-chip:hover{background:var(--green-d);border-color:var(--green-l);color:#fff}
.fl-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fl-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;text-align:left;font:inherit;color:var(--text);background:rgba(22,24,20,.82);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-height:56px;cursor:pointer}
.fl-card:hover:not(:disabled){border-color:var(--green-l)}
.fl-card:disabled{opacity:.45;cursor:not-allowed}
.fl-main strong{display:block}
.fl-main small{color:var(--muted)}
.fl-p{font-family:var(--head);color:var(--green-l)}
.fl-act{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;border:1px solid var(--line);border-radius:999px;padding:.2em .8em}
.fl-item.is-on .fl-card{background:var(--green-d);border-color:var(--green-l);color:#fff}
.fl-item.is-on .fl-main small,.fl-item.is-on .fl-p{color:#e8f5ec}
.fl-tray{padding:16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;background:rgba(22,24,20,.9)}
.fl-tray h2{margin:0 0 .2em;font-size:1.4rem}
.fl-count{margin:0 0 .5em;color:var(--green-l);font-family:var(--head);letter-spacing:.05em}
.fl-sel{list-style:none;margin:0;padding:0}
.fl-s{display:flex;align-items:center;gap:8px;padding:.35em 0;border-top:1px solid rgba(255,239,202,.14)}
.fl-sn{flex:1}
.fl-sp{color:var(--green-l)}
.fl-rm{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--cream);font-size:1.2rem;cursor:pointer;line-height:1}
.fl-rm:hover{background:var(--green-d)}
.fl-total{font-family:var(--head);font-size:1.5rem;margin:.6em 0 .2em;color:var(--cream)}
.fl-hint{margin:.2em 0 .8em}
.fl-btns{display:flex;flex-wrap:wrap;gap:8px}
.fl-btns .btn[disabled]{opacity:.45;cursor:not-allowed}
.fl-msg{min-height:1.4em;margin:.6em 0 0;color:var(--green-l)}
.fl-bar{position:fixed;inset:0;z-index:2000;background:rgba(8,8,6,.97);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.fl-bc{width:min(560px,100%);text-align:center;color:#fff8ea}
.fl-bc h2{font-size:2.2rem;margin:0}
.fl-bn{color:rgba(255,248,234,.7);margin:.2em 0 1em}
.fl-bl{text-align:left;margin:0 0 1em;padding:0 0 0 1.6em;font-size:1.6rem}
.fl-bl li{padding:.3em 0;border-bottom:1px solid rgba(255,248,234,.2)}
.fl-bl small{display:block;font-size:1rem;color:rgba(255,248,234,.7)}
.fl-bt{font-family:var(--head);font-size:2rem;margin:.4em 0 1em}
html.fl-open{overflow:hidden}
