
.fcp-wrap{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.fcp-hero{background:var(--fcp-hero-bg);padding:60px 16px 40px;border-radius:18px;position:relative;overflow:hidden}
.fcp-hero:after{content:"";position:absolute;left:50%;top:120px;transform:translateX(-50%);width:900px;height:420px;opacity:.08;background:radial-gradient(circle at center, var(--fcp-primary) 0, transparent 60%);border-radius:50%}
.fcp-hero-inner{max-width:980px;margin:0 auto;position:relative;z-index:2;text-align:center}
.fcp-hero-title{font-size:34px;line-height:1.2;margin:0 0 8px;color:#0f172a}
.fcp-hero-subtitle{margin:0 auto 18px;max-width:720px;color:#334155;font-size:13px}
.fcp-form{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:#fff;border-radius:14px;padding:12px;box-shadow:0 18px 40px rgba(15,23,42,.10)}
.fcp-field{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;min-width:170px;background:#fff}
.fcp-field input,.fcp-field select{border:none;outline:none;background:transparent;width:100%;font-size:14px}
.fcp-icon{opacity:.65}
.fcp-search{width:44px;height:44px;border-radius:10px;border:none;background:var(--fcp-primary);color:#fff;cursor:pointer;font-size:16px}
.fcp-advanced{width:100%;margin-top:10px}
.fcp-adv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.fcp-dg{justify-content:center}
.fcp-hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px auto 0;max-width:900px}
.fcp-feature{display:flex;gap:10px;align-items:center;justify-content:center;color:#0f172a}
.fcp-ficon{width:34px;height:34px;border-radius:10px;background:#ffffffaa;display:flex;align-items:center;justify-content:center}
.fcp-ftxt{font-size:12px;color:#334155;max-width:220px;text-align:left}

.fcp-results{max-width:980px;margin:22px auto 0;padding:0 16px}
.fcp-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fcp-results-head h3{margin:0;font-size:18px;color:#0f172a}
.fcp-note{display:inline-flex;align-items:center;border-radius:999px;background:#e7fff4;color:#0f7a52;padding:8px 12px;font-size:12px;border:1px solid #b7f0d6}

.fcp-card{background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:14px 14px;margin-top:12px}
.fcp-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.fcp-carrier{display:flex;gap:10px;align-items:center}
.fcp-badge{width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,var(--fcp-primary),var(--fcp-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}
.fcp-carrier-name{font-weight:700;color:#0f172a}
.fcp-route{color:#475569;font-size:12px;margin-top:2px}
.fcp-price{text-align:right;min-width:160px}
.fcp-price .amt{font-size:24px;font-weight:800;color:#0f172a}
.fcp-price .valid{font-size:11px;color:#64748b;margin-top:2px;white-space:nowrap}

.fcp-line{margin-top:10px;display:flex;align-items:center;gap:10px;color:#64748b;font-size:12px}
.fcp-line .side{min-width:120px;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcp-dots{flex:1;height:2px;background-image:linear-gradient(to right, var(--fcp-primary) 50%, rgba(0,0,0,0) 0%);background-size:10px 2px;background-repeat:repeat-x;opacity:.8}
.fcp-meta{display:flex;gap:14px;flex-wrap:wrap;color:#475569;font-size:12px;margin-top:10px}
.fcp-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center;justify-content:space-between}
.fcp-select{display:flex;gap:8px;align-items:center;font-size:12px;color:#334155}
.fcp-btn{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;text-decoration:none;color:#0f172a;font-size:12px}
.fcp-btn-primary{background:var(--fcp-primary);border-color:var(--fcp-primary);color:#fff}
.fcp-breakdown{margin-top:10px;border-top:1px solid #eef2f7;padding-top:10px;display:none}
.fcp-card.open .fcp-breakdown{display:block}
.fcp-breakdown ul{list-style:none;padding:0;margin:6px 0 0}
.fcp-breakdown li{display:flex;justify-content:space-between;font-size:12px;color:#334155;padding:4px 0}

.fcp-loading,.fcp-error{margin-top:12px;padding:12px;border-radius:12px}
.fcp-loading{background:#f1fff9}
.fcp-error{background:#fff1f2;color:#9f1239}

.fcp-actions{max-width:980px;margin:14px auto 0;padding:0 16px;display:flex;gap:10px;flex-wrap:wrap}
.fcp-booking-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999}
.fcp-modal-card{background:#fff;border-radius:16px;max-width:420px;width:100%;box-shadow:0 24px 60px rgba(15,23,42,.25);overflow:hidden}
.fcp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eef2f7}
.fcp-close{border:none;background:transparent;cursor:pointer;font-size:16px}
.fcp-modal-body{padding:14px;display:grid;gap:10px}
.fcp-modal-body input,.fcp-modal-body textarea{width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}
.fcp-modal-body textarea{min-height:90px;resize:vertical}

@media (max-width:900px){
  .fcp-adv-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .fcp-hero-title{font-size:26px}
  .fcp-form{justify-content:stretch}
  .fcp-field{min-width:100%}
  .fcp-search{width:100%}
  .fcp-hero-features{grid-template-columns:1fr}
  .fcp-price{min-width:auto}
}
