.fpf-wrap{--fpf-accent:#c8102e;max-width:820px;margin:24px auto;font-family:inherit;color:#1d2330}
.fpf-wrap *{box-sizing:border-box}
.fpf-form{background:#fff;border:1px solid #e3e6ec;border-radius:14px;padding:22px;box-shadow:0 6px 24px rgba(20,30,60,.06)}
.fpf-trip{display:flex;gap:18px;margin-bottom:14px;font-weight:600}
.fpf-trip label{cursor:pointer;display:flex;align-items:center;gap:6px}
.fpf-row{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap;align-items:flex-end}
.fpf-route{align-items:flex-start}
.fpf-route .fpf-swap{margin-top:24px}
.fpf-field{flex:1 1 180px;display:flex;flex-direction:column;gap:5px}
.fpf-field.fpf-small{flex:0 1 130px}
.fpf-field label{font-size:13px;font-weight:600;color:#5a6272}
.fpf-field input,.fpf-field select{height:46px;padding:0 12px;border:1px solid #cfd4dd;border-radius:9px;font-size:16px;background:#fff;color:inherit;width:100%}
.fpf-field input:focus,.fpf-field select:focus{outline:none;border-color:var(--fpf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fpf-accent) 18%,transparent)}
.fpf-swap{height:46px;width:46px;flex:0 0 46px;border:1px solid #cfd4dd;border-radius:50%;background:#f6f7fa;font-size:18px;cursor:pointer;color:#1d2330}
.fpf-swap:hover{border-color:var(--fpf-accent);color:var(--fpf-accent)}
.fpf-submit{width:100%;height:52px;border:0;border-radius:10px;background:var(--fpf-accent);color:#fff;font-size:17px;font-weight:700;cursor:pointer}
.fpf-submit:hover{filter:brightness(1.08)}
.fpf-error{color:#b3261e;background:#fdecea;border-radius:8px;padding:10px 12px;margin:0 0 12px;font-size:14px}
.fpf-results{margin-top:22px}
.fpf-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fpf-results-head h3{margin:0;font-size:20px}
.fpf-open-all{border:1px solid var(--fpf-accent);color:var(--fpf-accent);background:#fff;border-radius:8px;padding:9px 14px;font-weight:600;cursor:pointer}
.fpf-open-all:hover{background:var(--fpf-accent);color:#fff}
.fpf-summary{color:#5a6272;margin:8px 0 14px;font-size:14px}
.fpf-cards{display:flex;flex-direction:column;gap:18px}
.fpf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.fpf-card{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:96px;padding:16px;border:1px solid #e3e6ec;border-radius:12px;background:#fff;text-decoration:none!important;color:#1d2330!important;border-top:4px solid var(--c,#888);transition:transform .15s,box-shadow .15s}
.fpf-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,30,60,.1)}
.fpf-card-name{font-weight:700;font-size:17px}
.fpf-card-go{font-size:14px;font-weight:600;color:var(--c,#888)}
.fpf-site-google{--c:#1a73e8}.fpf-site-kayak{--c:#ff690f}.fpf-site-expedia{--c:#191e3b}.fpf-site-trip{--c:#287dfa}
.fpf-site-priceline{--c:#0068ef}.fpf-site-skyscanner{--c:#0062e3}.fpf-site-agoda{--c:#d6293d}
.fpf-tip{font-size:13px;color:#6b7280;background:#f6f7fa;border-radius:8px;padding:10px 12px;margin-top:16px;line-height:1.55}
@media (max-width:560px){.fpf-form{padding:16px}.fpf-swap{margin:0 auto;transform:rotate(90deg)}.fpf-route .fpf-field{flex-basis:100%}}
.fpf-list{display:flex;flex-direction:column;gap:8px}
.fpf-item{display:flex;gap:6px;align-items:center}
.fpf-item input{flex:1;min-width:0}
.fpf-remove{flex:0 0 36px;height:36px;border:1px solid #cfd4dd;border-radius:50%;background:#fff;color:#6b7280;font-size:20px;line-height:1;cursor:pointer}
.fpf-remove:hover{border-color:#b3261e;color:#b3261e}
.fpf-add{align-self:flex-start;margin-top:4px;border:1px dashed var(--fpf-accent);background:transparent;color:var(--fpf-accent);border-radius:8px;padding:7px 12px;font-size:14px;font-weight:600;cursor:pointer}
.fpf-add:hover{background:color-mix(in srgb,var(--fpf-accent) 8%,transparent)}
.fpf-group{border:1px solid #e3e6ec;border-radius:12px;padding:14px;background:#fafbfc}
.fpf-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.fpf-group-head h4{margin:0;font-size:16px}
.fpf-open-group{border:0;background:none;color:var(--fpf-accent);font-weight:600;font-size:14px;cursor:pointer;padding:4px 0}
.fpf-open-group:hover{text-decoration:underline}
.fpf-card-sub{font-size:13px;color:#5a6272}
@media (max-width:560px){.fpf-route .fpf-swap{margin:0 auto}}
.fpf-stops-field{flex:1 1 100%}
.fpf-stops{display:flex;flex-wrap:wrap;gap:8px}
.fpf-stops label{cursor:pointer;margin:0}
.fpf-stops input{position:absolute;opacity:0;pointer-events:none}
.fpf-stops span{display:inline-block;padding:10px 16px;border:1px solid #cfd4dd;border-radius:999px;font-size:15px;font-weight:600;color:#3a4150;background:#fff;transition:all .15s}
.fpf-stops label:hover span{border-color:var(--fpf-accent)}
.fpf-stops input:checked+span{background:var(--fpf-accent);border-color:var(--fpf-accent);color:#fff}
.fpf-stops input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--fpf-accent) 25%,transparent)}
/* v1.3 — recent airports, sections, more sites */
.fpf-recent{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 14px;font-size:13px}
.fpf-recent[hidden]{display:none}
.fpf-recent-label{color:#5a6272;font-weight:600;margin-right:2px}
.fpf-recent-chips{display:contents}
.fpf-chip{border:1px solid #cfd4dd;background:#f6f7fa;border-radius:999px;padding:5px 11px;font-size:13px;color:#1d2330;cursor:pointer}
.fpf-chip:hover{border-color:var(--fpf-accent);color:var(--fpf-accent);background:#fff}
.fpf-recent-clear{border:0;background:none;color:#6b7280;font-size:12px;text-decoration:underline;cursor:pointer;padding:4px}
.fpf-section+.fpf-section{margin-top:14px}
.fpf-section-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin:0 0 8px}
.fpf-card-home{min-height:84px;background:#fcfcfd}
.fpf-site-momondo{--c:#8b1e8f}.fpf-site-cheapflights{--c:#00a1de}.fpf-site-kiwi{--c:#00a991}
.fpf-site-booking{--c:#003580}.fpf-site-orbitz{--c:#0e3e6a}.fpf-site-travelocity{--c:#00274d}
.fpf-site-cheaptickets{--c:#e1251b}.fpf-site-cheapoair{--c:#f47920}.fpf-site-hopper{--c:#fa6866}
.fpf-site-naver{--c:#03c75a}.fpf-site-interpark{--c:#ef3e42}.fpf-site-hanatour{--c:#5e2b97}
.fpf-site-koreanair{--c:#00256c}.fpf-site-asiana{--c:#a7182a}.fpf-site-airpremia{--c:#1f2a44}
.fpf-site-united{--c:#005daa}.fpf-site-delta{--c:#c01933}.fpf-site-american{--c:#0078d2}
.fpf-site-alaska{--c:#01426a}.fpf-site-southwest{--c:#304cb2}.fpf-site-jal{--c:#cc0000}
.fpf-site-ana{--c:#13448f}.fpf-site-eva{--c:#00703c}.fpf-site-zipair{--c:#1a1a1a}
