/* ============================================================
   Experts Business First — corporate travel landing
   Scoped to .ebf-home.ebf-ctpage. Reuses homepage tokens/bands.
   Form field names, IDs and submission are unchanged.
   ============================================================ */

.ebf-ctpage{background:var(--ebf-cream,#F3EEE4);color:var(--ebf-navy);overflow-x:clip}
.ebf-ctpage .container{width:min(1280px,92vw);margin-inline:auto}

.ebf-ctpage .ebf-hero h1{max-width:16ch}
.ebf-ctpage .ebf-hero__inner--solo{padding-bottom:clamp(2.4rem,5vw,3.4rem)}

/* Thin accent bands — beat homepage refine section padding */
.ebf-home.ebf-ctpage > section.ebf-ct-creds,
.ebf-home.ebf-ctpage > section.ebf-ct-duty{
  padding-top:1.15rem;
  padding-bottom:1.15rem;
}

/* ------------------------------------------------------------
   1. CREDENTIALS — coral / gold band
   ------------------------------------------------------------ */
.ebf-ct-creds{
  background:var(--gold,var(--ebf-gold,#EB6C6F));
  color:#fff;
}
.ebf-ct-creds__row{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.ebf-ct-creds__row li{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.2rem;
  padding:.35rem 1rem;
  border-right:1px solid rgba(255,255,255,.28);
}
.ebf-ct-creds__row li:last-child{border-right:0}
.ebf-ct-creds__row b{
  display:block;
  font-size:1.05rem;
  font-weight:750;
  letter-spacing:.04em;
  color:#fff;
}
.ebf-ct-creds__row small{
  display:block;
  font-size:.78rem;
  color:rgba(255,255,255,.88);
  line-height:1.35;
}

/* ------------------------------------------------------------
   2. INTRO — white band (homepage .ebf-why)
   ------------------------------------------------------------ */
.ebf-ctpage .ebf-why__quote{
  margin:1.4rem 0 0;
  padding:1.05rem 1.15rem 1.05rem 1.25rem;
  border-left:3px solid var(--gold,var(--ebf-gold));
  background:var(--gold-tint,#FDF0F0);
  border-radius:0 14px 14px 0;
}
.ebf-ctpage .ebf-why__quote p{
  margin:0;
  font-family:var(--display);
  font-style:italic;
  font-size:1.08rem;
  line-height:1.45;
  color:var(--ebf-navy);
}

/* ------------------------------------------------------------
   3. FEATURES — cream band (homepage .ebf-prio)
   ------------------------------------------------------------ */
.ebf-ctpage .ebf-prio .ebf-sec-head{text-align:center;max-width:46rem;margin-left:auto;margin-right:auto}
.ebf-ctpage .ebf-prio__grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ebf-ctpage .ebf-prio__card{
  cursor:default;
  min-height:188px;
}
.ebf-ctpage .ebf-prio__card:hover{transform:translateY(-3px)}

/* ------------------------------------------------------------
   4. SERVICES — white band
   ------------------------------------------------------------ */
.ebf-ct-services{background:#fff}
.ebf-ct-services__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.6rem,4vw,2.8rem);
  align-items:center;
}
.ebf-ct-services__visual{margin:0}
.ebf-ct-services__visual img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius:20px;
  display:block;
  background:#182430;
}
.ebf-ct-services__cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem 1.4rem;
  margin-top:1.2rem;
}
.ebf-ct-services__group h3{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:0 0 .55rem;
  font-size:1.05rem;
  color:var(--ebf-navy);
}
.ebf-ct-services__group h3 svg{
  width:20px;
  height:20px;
  color:var(--gold,var(--ebf-gold));
  flex-shrink:0;
}
.ebf-ct-services__group ul{
  list-style:none;
  margin:0;
  padding:0;
}
.ebf-ct-services__group li{
  position:relative;
  padding-left:1.15rem;
  margin:.32rem 0;
  color:var(--ebf-text);
  font-size:.95rem;
  line-height:1.45;
}
.ebf-ct-services__group li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold,var(--ebf-gold));
}
.ebf-ct-services__mgmt{grid-column:1/-1}

/* ------------------------------------------------------------
   5. INDICATIVE FARES — navy band
   ------------------------------------------------------------ */
.ebf-ct-fares{background:var(--ebf-navy-deep,#0E1822);color:#fff}
.ebf-ct-fares .ebf-sec-head{max-width:44rem;margin-left:auto;margin-right:auto;text-align:center}
.ebf-ct-fares__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.ebf-ct-fares__card{
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  min-height:100%;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.ebf-ct-fares__card:hover{
  transform:translateY(-4px);
  border-color:rgba(235,108,111,.45);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.ebf-ct-fares__card img{
  width:100%;
  height:150px;
  object-fit:cover;
  display:block;
  background:#182430;
}
.ebf-ct-fares__body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.ebf-ct-fares__route{
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold,var(--ebf-gold));
  font-weight:750;
}
.ebf-ct-fares__card h3{
  margin:0;
  color:#fff;
  font-size:1.35rem;
  font-weight:500;
}
.ebf-ct-fares__fare{
  margin-top:auto;
  padding-top:.7rem;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.6rem;
}
.ebf-ct-fares__fare b{
  font-family:var(--display);
  font-size:1.45rem;
  font-weight:500;
  color:var(--gold,var(--ebf-gold));
  letter-spacing:-.02em;
}
.ebf-ct-fares__fare small{color:rgba(255,255,255,.72);font-size:.78rem}
.ebf-ct-fares__fine{
  margin:1.2rem 0 0;
  text-align:center;
  color:rgba(255,255,255,.7);
  font-size:.86rem;
}

/* ------------------------------------------------------------
   6. DUTY OF CARE — coral / gold band
   ------------------------------------------------------------ */
.ebf-ct-duty{background:var(--gold,var(--ebf-gold,#EB6C6F));color:#fff}
.ebf-ct-duty__row{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) auto;
  gap:1.2rem 2rem;
  align-items:center;
}
.ebf-ct-duty h2{margin:0 0 .4rem;color:#fff;font-size:clamp(1.45rem,2.6vw,2.1rem)}
.ebf-ct-duty p{margin:0;color:rgba(255,255,255,.9);max-width:62ch}
.ebf-ct-duty .btn-navy{background:var(--navy-950,#3F1013)!important}

/* ------------------------------------------------------------
   7. FORM — homepage enquiry chrome
   ------------------------------------------------------------ */
.ebf-ctpage .enquiry{position:relative}
.ebf-ctpage .enq-grid{align-items:end}
.ebf-ctpage .enq-field.is-invalid,
.ebf-ctpage .enq-field:has(.is-invalid){border-color:#C0261B;box-shadow:0 0 0 3px rgba(192,38,27,.12)}
.ebf-ctpage .invalid-feedback{display:block;color:#C0261B;font-size:.78rem;margin:.35rem 0 0}
.ebf-ctpage .alert-success{
  margin:0 0 1rem;
  padding:.85rem 1rem;
  border-radius:12px;
  background:#E8F5EE;
  border:1px solid rgba(47,107,79,.28);
  color:var(--ebf-navy);
}
.ebf-ctpage .btn-loading{display:none}
.ebf-ctpage .ct-submit.is-loading .btn-text{display:none}
.ebf-ctpage .ct-submit.is-loading .btn-loading{display:inline}
.ebf-ctpage .ct-submit:disabled{opacity:.72;cursor:wait}

@media (max-width:991px){
  .ebf-ct-creds__row{grid-template-columns:1fr 1fr}
  .ebf-ct-creds__row li:nth-child(odd){border-bottom:1px solid rgba(255,255,255,.22)}
  .ebf-ct-creds__row li:nth-child(1),
  .ebf-ct-creds__row li:nth-child(2){border-right:1px solid rgba(255,255,255,.28)}
  .ebf-ct-creds__row li:nth-child(2){border-right:0}
  .ebf-ct-creds__row li:nth-child(4){border-right:0}
  .ebf-ctpage .ebf-prio__grid{grid-template-columns:1fr 1fr}
  .ebf-ct-services__grid,
  .ebf-ct-duty__row{grid-template-columns:1fr}
  .ebf-ct-fares__grid{grid-template-columns:1fr 1fr}
  .ebf-ct-services__visual img{height:280px}
  .ebf-ct-duty{text-align:left}
}
@media (max-width:640px){
  .ebf-ctpage .ebf-prio__grid,
  .ebf-ct-services__cols,
  .ebf-ct-fares__grid,
  .ebf-ctpage .enq-grid{grid-template-columns:1fr}
  .ebf-ct-services__mgmt{grid-column:auto}
  .ebf-ct-creds__row{grid-template-columns:1fr}
  .ebf-ct-creds__row li{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:.7rem 0}
  .ebf-ct-creds__row li:last-child{border-bottom:0}
}
